Loading docs/html/work/cosu.jd +41 −33 Original line number Original line Diff line number Diff line Loading @@ -366,6 +366,17 @@ and implements the relevant COSU device management APIs: <pre> <pre> public class CosuActivity extends Activity { public class CosuActivity extends Activity { private ComponentName mAdminComponentName; private DevicePolicyManager mDevicePolicyManager; private PackageManager mPackageManager; private static final String Battery_PLUGGED_ANY = Integer.toString( BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS); private static final String DONT_STAY_ON = "0"; @Override @Override protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); Loading Loading @@ -398,12 +409,12 @@ public class CosuActivity extends Activity { } } private void setDefaultCosuPolicies(boolean active) { private void setDefaultCosuPolicies(boolean active) { // set managed configurations // set user restrictions setUserRestriction(DISALLOW_SAFE_BOOT, active); setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, active); setUserRestriction(DISALLOW_FACTORY_RESET, active); setUserRestriction(UserManager.DISALLOW_FACTORY_RESET, active); setUserRestriction(DISALLOW_ADD_USER, active); setUserRestriction(UserManager.DISALLOW_ADD_USER, active); setUserRestriction(DISALLOW_MOUNT_PHYSICAL_MEDIA, active); setUserRestriction(UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA, active); setUserRestriction(DISALLOW_ADJUST_VOLUME, active); setUserRestriction(UserManager.DISALLOW_ADJUST_VOLUME, active); // disable keyguard and status bar // disable keyguard and status bar mDevicePolicyManager.setKeyguardDisabled(mAdminComponentName, active); mDevicePolicyManager.setKeyguardDisabled(mAdminComponentName, active); Loading @@ -417,9 +428,9 @@ public class CosuActivity extends Activity { if (active){ if (active){ mDevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName, mDevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName, SystemUpdatePolicy.createWindowedInstallPolicy(60,120)); SystemUpdatePolicy.createWindowedInstallPolicy(60,120)); } else { DevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName, null); } } else // set this Activity as a lock task package // set this Activity as a lock task package Loading @@ -435,7 +446,7 @@ public class CosuActivity extends Activity { // on reboot // on reboot mDevicePolicyManager.addPersistentPreferredActivity( mDevicePolicyManager.addPersistentPreferredActivity( mAdminComponentName, intentFilter, new ComponentName( mAdminComponentName, intentFilter, new ComponentName( getPackageName(), CosuModeActivity.class.getName())) getPackageName(), CosuActivity.class.getName())); } else { } else { mDevicePolicyManager.clearPackagePersistentPreferredActivities( mDevicePolicyManager.clearPackagePersistentPreferredActivities( mAdminComponentName, getPackageName()); mAdminComponentName, getPackageName()); Loading @@ -457,15 +468,12 @@ public class CosuActivity extends Activity { mDevicePolicyManager.setGlobalSetting( mDevicePolicyManager.setGlobalSetting( mAdminComponentName, mAdminComponentName, Settings.Global.STAY_ON_WHILE_PLUGGED_IN, Settings.Global.STAY_ON_WHILE_PLUGGED_IN, BatteryManager.BATTERY_PLUGGED_AC Battery_PLUGGED_ANY); | BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS); } else { } else { mDevicePolicyManager.setGlobalSetting( mDevicePolicyManager.setGlobalSetting( mAdminComponentName, mAdminComponentName, Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0); Settings.Global.STAY_ON_WHILE_PLUGGED_IN, DONT_STAY_ON); } } } } // TODO: Implement the rest of the Activity // TODO: Implement the rest of the Activity Loading Loading
docs/html/work/cosu.jd +41 −33 Original line number Original line Diff line number Diff line Loading @@ -366,6 +366,17 @@ and implements the relevant COSU device management APIs: <pre> <pre> public class CosuActivity extends Activity { public class CosuActivity extends Activity { private ComponentName mAdminComponentName; private DevicePolicyManager mDevicePolicyManager; private PackageManager mPackageManager; private static final String Battery_PLUGGED_ANY = Integer.toString( BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS); private static final String DONT_STAY_ON = "0"; @Override @Override protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); Loading Loading @@ -398,12 +409,12 @@ public class CosuActivity extends Activity { } } private void setDefaultCosuPolicies(boolean active) { private void setDefaultCosuPolicies(boolean active) { // set managed configurations // set user restrictions setUserRestriction(DISALLOW_SAFE_BOOT, active); setUserRestriction(UserManager.DISALLOW_SAFE_BOOT, active); setUserRestriction(DISALLOW_FACTORY_RESET, active); setUserRestriction(UserManager.DISALLOW_FACTORY_RESET, active); setUserRestriction(DISALLOW_ADD_USER, active); setUserRestriction(UserManager.DISALLOW_ADD_USER, active); setUserRestriction(DISALLOW_MOUNT_PHYSICAL_MEDIA, active); setUserRestriction(UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA, active); setUserRestriction(DISALLOW_ADJUST_VOLUME, active); setUserRestriction(UserManager.DISALLOW_ADJUST_VOLUME, active); // disable keyguard and status bar // disable keyguard and status bar mDevicePolicyManager.setKeyguardDisabled(mAdminComponentName, active); mDevicePolicyManager.setKeyguardDisabled(mAdminComponentName, active); Loading @@ -417,9 +428,9 @@ public class CosuActivity extends Activity { if (active){ if (active){ mDevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName, mDevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName, SystemUpdatePolicy.createWindowedInstallPolicy(60,120)); SystemUpdatePolicy.createWindowedInstallPolicy(60,120)); } else { DevicePolicyManager.setSystemUpdatePolicy(mAdminComponentName, null); } } else // set this Activity as a lock task package // set this Activity as a lock task package Loading @@ -435,7 +446,7 @@ public class CosuActivity extends Activity { // on reboot // on reboot mDevicePolicyManager.addPersistentPreferredActivity( mDevicePolicyManager.addPersistentPreferredActivity( mAdminComponentName, intentFilter, new ComponentName( mAdminComponentName, intentFilter, new ComponentName( getPackageName(), CosuModeActivity.class.getName())) getPackageName(), CosuActivity.class.getName())); } else { } else { mDevicePolicyManager.clearPackagePersistentPreferredActivities( mDevicePolicyManager.clearPackagePersistentPreferredActivities( mAdminComponentName, getPackageName()); mAdminComponentName, getPackageName()); Loading @@ -457,15 +468,12 @@ public class CosuActivity extends Activity { mDevicePolicyManager.setGlobalSetting( mDevicePolicyManager.setGlobalSetting( mAdminComponentName, mAdminComponentName, Settings.Global.STAY_ON_WHILE_PLUGGED_IN, Settings.Global.STAY_ON_WHILE_PLUGGED_IN, BatteryManager.BATTERY_PLUGGED_AC Battery_PLUGGED_ANY); | BatteryManager.BATTERY_PLUGGED_USB | BatteryManager.BATTERY_PLUGGED_WIRELESS); } else { } else { mDevicePolicyManager.setGlobalSetting( mDevicePolicyManager.setGlobalSetting( mAdminComponentName, mAdminComponentName, Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0); Settings.Global.STAY_ON_WHILE_PLUGGED_IN, DONT_STAY_ON); } } } } // TODO: Implement the rest of the Activity // TODO: Implement the rest of the Activity Loading