Java 类android.app.admin.SystemUpdatePolicy 实例源码
项目:android-testdpc
文件:SystemUpdatePolicyFragment.java
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);
}
项目:android-testdpc
文件:SystemUpdatePolicyFragment.java
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());
}
}