private void setSystemUpdatePolicy() {
SystemUpdatePolicy newPolicy;
switch (mSystemUpdatePolicySelection.getCheckedRadioButtonId()) {
case R.id.system_update_policy_automatic:
newPolicy = SystemUpdatePolicy.createAutomaticInstallPolicy();
break;
case R.id.system_update_policy_Windowed:
newPolicy = SystemUpdatePolicy.createWindowedInstallPolicy(
mMaintenanceStart,mMaintenanceEnd);
break;
case R.id.system_update_policy_postpone:
newPolicy = SystemUpdatePolicy.createPostponeInstallPolicy();
break;
case R.id.system_update_policy_none:
default:
newPolicy = null;
}
mDpm.setSystemUpdatePolicy(DeviceAdminReceiver.getComponentName(getActivity()),newPolicy);
}
private void reloadSystemUpdatePolicy() {
SystemUpdatePolicy policy = mDpm.getSystemUpdatePolicy();
String policyDescription = "UnkNown";
if (policy == null) {
policyDescription = "None";
mSystemUpdatePolicySelection.check(R.id.system_update_policy_none);
mMaintenanceWindowDetails.setVisibility(View.INVISIBLE);
} else {
switch (policy.getPolicyType()) {
case SystemUpdatePolicy.TYPE_INSTALL_AUTOMATIC:
policyDescription = "Automatic";
mSystemUpdatePolicySelection.check(R.id.system_update_policy_automatic);
mMaintenanceWindowDetails.setVisibility(View.INVISIBLE);
break;
case SystemUpdatePolicy.TYPE_INSTALL_WINDOWED: {
mMaintenanceStart = policy.getInstallWindowStart();
mMaintenanceEnd = policy.getInstallWindowEnd();
policyDescription = String.format("Windowed: %s-%s",formatMinutes(mMaintenanceStart),formatMinutes(mMaintenanceEnd));
updateMaintenanceWindowdisplay();
mSystemUpdatePolicySelection.check(R.id.system_update_policy_Windowed);
mMaintenanceWindowDetails.setVisibility(View.VISIBLE);
break;
}
case SystemUpdatePolicy.TYPE_POSTPONE:
policyDescription = "Postpone";
mSystemUpdatePolicySelection.check(R.id.system_update_policy_postpone);
mMaintenanceWindowDetails.setVisibility(View.INVISIBLE);
break;
}
}
mCurrentSystemUpdatePolicy.setText(policyDescription);
}
项目:cosu
文件:LockedActivity.java
private void setDefaultCosuPolicies(boolean active){
// set user restrictions
setUserRestriction(UserManager.disALLOW_SAFE_BOOT,active);
setUserRestriction(UserManager.disALLOW_FACTORY_RESET,active);
setUserRestriction(UserManager.disALLOW_ADD_USER,active);
setUserRestriction(UserManager.disALLOW_MOUNT_PHYSICAL_MEDIA,active);
setUserRestriction(UserManager.disALLOW_ADJUST_VOLUME,active);
// disable keyguard and status bar
mDevicePolicyManager.setKeyguarddisabled(mAdminComponentName,active);
mDevicePolicyManager.setStatusBardisabled(mAdminComponentName,active);
// enable STAY_ON_WHILE_PLUGGED_IN
enableStayOnWhilePluggedIn(active);
// set system update policy
if (active){
mDevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName,SystemUpdatePolicy.createWindowedInstallPolicy(60,120));
} else {
mDevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName,null);
}
// set this Activity as a lock task package
mDevicePolicyManager.setLockTaskPackages(mAdminComponentName,active ? new String[]{getPackageName()} : new String[]{});
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MAIN);
intentFilter.addCategory(Intent.CATEGORY_HOME);
intentFilter.addCategory(Intent.CATEGORY_DEFAULT);
if (active) {
// set Cosu activity as home intent receiver so that it is started
// on reboot
mDevicePolicyManager.addPersistentPreferredActivity(
mAdminComponentName,intentFilter,new ComponentName(
getPackageName(),LockedActivity.class.getName()));
} else {
mDevicePolicyManager.clearPackagePersistentPreferredActivities(
mAdminComponentName,getPackageName());
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。