Add test case for new keyguard widget API
Change-Id: Ibcb19c15964f4ea4bad36ec102e9aed8b4ea9c41
This commit is contained in:
@@ -677,6 +677,12 @@
|
|||||||
<string name="enable_admin">Enable admin</string>
|
<string name="enable_admin">Enable admin</string>
|
||||||
<string name="device_capabilities_category">Device capabilities</string>
|
<string name="device_capabilities_category">Device capabilities</string>
|
||||||
<string name="disable_camera">Disable all device cameras</string>
|
<string name="disable_camera">Disable all device cameras</string>
|
||||||
|
<string name="disable_keyguard_widgets">Disable keyguard widgets</string>
|
||||||
|
<string name="disable_keyguard_secure_camera">Disable keyguard secure camera</string>
|
||||||
|
<string name="keyguard_widgets_disabled">Keyguard widgets disabled</string>
|
||||||
|
<string name="keyguard_widgets_enabled">Keyguard widgets enabled</string>
|
||||||
|
<string name="keyguard_secure_camera_disabled">Keyguard secure camera disabled</string>
|
||||||
|
<string name="keyguard_secure_camera_enabled">Keyguard secure camera enabled</string>
|
||||||
<string name="camera_disabled">Device cameras disabled</string>
|
<string name="camera_disabled">Device cameras disabled</string>
|
||||||
<string name="camera_enabled">Device cameras enabled</string>
|
<string name="camera_enabled">Device cameras enabled</string>
|
||||||
<string name="password_controls_category">Password controls</string>
|
<string name="password_controls_category">Password controls</string>
|
||||||
|
|||||||
@@ -35,6 +35,14 @@
|
|||||||
android:key="key_disable_camera"
|
android:key="key_disable_camera"
|
||||||
android:title="@string/disable_camera" />
|
android:title="@string/disable_camera" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="key_disable_keyguard_widgets"
|
||||||
|
android:title="@string/disable_keyguard_widgets" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="key_disable_keyguard_secure_camera"
|
||||||
|
android:title="@string/disable_keyguard_secure_camera" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<expire-password />
|
<expire-password />
|
||||||
<encrypted-storage />
|
<encrypted-storage />
|
||||||
<disable-camera />
|
<disable-camera />
|
||||||
|
<disable-keyguard-features />
|
||||||
</uses-policies>
|
</uses-policies>
|
||||||
</device-admin>
|
</device-admin>
|
||||||
<!-- END_INCLUDE(meta_data) -->
|
<!-- END_INCLUDE(meta_data) -->
|
||||||
|
|||||||
@@ -68,6 +68,9 @@ public class DeviceAdminSample extends PreferenceActivity {
|
|||||||
// The following keys are used to find each preference item
|
// The following keys are used to find each preference item
|
||||||
private static final String KEY_ENABLE_ADMIN = "key_enable_admin";
|
private static final String KEY_ENABLE_ADMIN = "key_enable_admin";
|
||||||
private static final String KEY_DISABLE_CAMERA = "key_disable_camera";
|
private static final String KEY_DISABLE_CAMERA = "key_disable_camera";
|
||||||
|
private static final String KEY_DISABLE_KEYGUARD_WIDGETS = "key_disable_keyguard_widgets";
|
||||||
|
private static final String KEY_DISABLE_KEYGUARD_SECURE_CAMERA
|
||||||
|
= "key_disable_keyguard_secure_camera";
|
||||||
|
|
||||||
private static final String KEY_CATEGORY_QUALITY = "key_category_quality";
|
private static final String KEY_CATEGORY_QUALITY = "key_category_quality";
|
||||||
private static final String KEY_SET_PASSWORD = "key_set_password";
|
private static final String KEY_SET_PASSWORD = "key_set_password";
|
||||||
@@ -245,6 +248,8 @@ public class DeviceAdminSample extends PreferenceActivity {
|
|||||||
// UI elements
|
// UI elements
|
||||||
private CheckBoxPreference mEnableCheckbox;
|
private CheckBoxPreference mEnableCheckbox;
|
||||||
private CheckBoxPreference mDisableCameraCheckbox;
|
private CheckBoxPreference mDisableCameraCheckbox;
|
||||||
|
private CheckBoxPreference mDisableKeyguardWidgetsCheckbox;
|
||||||
|
private CheckBoxPreference mDisableKeyguardSecureCameraCheckbox;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -254,6 +259,12 @@ public class DeviceAdminSample extends PreferenceActivity {
|
|||||||
mEnableCheckbox.setOnPreferenceChangeListener(this);
|
mEnableCheckbox.setOnPreferenceChangeListener(this);
|
||||||
mDisableCameraCheckbox = (CheckBoxPreference) findPreference(KEY_DISABLE_CAMERA);
|
mDisableCameraCheckbox = (CheckBoxPreference) findPreference(KEY_DISABLE_CAMERA);
|
||||||
mDisableCameraCheckbox.setOnPreferenceChangeListener(this);
|
mDisableCameraCheckbox.setOnPreferenceChangeListener(this);
|
||||||
|
mDisableKeyguardWidgetsCheckbox =
|
||||||
|
(CheckBoxPreference) findPreference(KEY_DISABLE_KEYGUARD_WIDGETS);
|
||||||
|
mDisableKeyguardWidgetsCheckbox.setOnPreferenceChangeListener(this);
|
||||||
|
mDisableKeyguardSecureCameraCheckbox =
|
||||||
|
(CheckBoxPreference) findPreference(KEY_DISABLE_KEYGUARD_SECURE_CAMERA);
|
||||||
|
mDisableKeyguardSecureCameraCheckbox.setOnPreferenceChangeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// At onResume time, reload UI with current values as required
|
// At onResume time, reload UI with current values as required
|
||||||
@@ -265,10 +276,20 @@ public class DeviceAdminSample extends PreferenceActivity {
|
|||||||
|
|
||||||
if (mAdminActive) {
|
if (mAdminActive) {
|
||||||
mDPM.setCameraDisabled(mDeviceAdminSample, mDisableCameraCheckbox.isChecked());
|
mDPM.setCameraDisabled(mDeviceAdminSample, mDisableCameraCheckbox.isChecked());
|
||||||
|
mDPM.setKeyguardDisabledFeatures(mDeviceAdminSample, createKeyguardDisabledFlag());
|
||||||
reloadSummaries();
|
reloadSummaries();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int createKeyguardDisabledFlag() {
|
||||||
|
int flags = DevicePolicyManager.KEYGUARD_DISABLE_FEATURES_NONE;
|
||||||
|
flags |= mDisableKeyguardWidgetsCheckbox.isChecked() ?
|
||||||
|
DevicePolicyManager.KEYGUARD_DISABLE_WIDGETS_ALL : 0;
|
||||||
|
flags |= mDisableKeyguardSecureCameraCheckbox.isChecked() ?
|
||||||
|
DevicePolicyManager.KEYGUARD_DISABLE_SECURE_CAMERA : 0;
|
||||||
|
return flags;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (super.onPreferenceChange(preference, newValue)) {
|
if (super.onPreferenceChange(preference, newValue)) {
|
||||||
@@ -295,6 +316,10 @@ public class DeviceAdminSample extends PreferenceActivity {
|
|||||||
} else if (preference == mDisableCameraCheckbox) {
|
} else if (preference == mDisableCameraCheckbox) {
|
||||||
mDPM.setCameraDisabled(mDeviceAdminSample, value);
|
mDPM.setCameraDisabled(mDeviceAdminSample, value);
|
||||||
reloadSummaries();
|
reloadSummaries();
|
||||||
|
} else if (preference == mDisableKeyguardWidgetsCheckbox
|
||||||
|
|| preference == mDisableKeyguardSecureCameraCheckbox) {
|
||||||
|
mDPM.setKeyguardDisabledFeatures(mDeviceAdminSample, createKeyguardDisabledFlag());
|
||||||
|
reloadSummaries();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -305,11 +330,25 @@ public class DeviceAdminSample extends PreferenceActivity {
|
|||||||
String cameraSummary = getString(mDPM.getCameraDisabled(mDeviceAdminSample)
|
String cameraSummary = getString(mDPM.getCameraDisabled(mDeviceAdminSample)
|
||||||
? R.string.camera_disabled : R.string.camera_enabled);
|
? R.string.camera_disabled : R.string.camera_enabled);
|
||||||
mDisableCameraCheckbox.setSummary(cameraSummary);
|
mDisableCameraCheckbox.setSummary(cameraSummary);
|
||||||
|
|
||||||
|
int disabled = mDPM.getKeyguardDisabledFeatures(mDeviceAdminSample);
|
||||||
|
|
||||||
|
String keyguardWidgetSummary = getString(
|
||||||
|
(disabled & DevicePolicyManager.KEYGUARD_DISABLE_WIDGETS_ALL) != 0 ?
|
||||||
|
R.string.keyguard_widgets_disabled : R.string.keyguard_widgets_enabled);
|
||||||
|
mDisableKeyguardWidgetsCheckbox.setSummary(keyguardWidgetSummary);
|
||||||
|
|
||||||
|
String keyguardSecureCameraSummary = getString(
|
||||||
|
(disabled & DevicePolicyManager.KEYGUARD_DISABLE_SECURE_CAMERA) != 0 ?
|
||||||
|
R.string.keyguard_secure_camera_disabled : R.string.keyguard_secure_camera_enabled);
|
||||||
|
mDisableKeyguardSecureCameraCheckbox.setSummary(keyguardSecureCameraSummary);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Updates the device capabilities area (dis/enabling) as the admin is (de)activated */
|
/** Updates the device capabilities area (dis/enabling) as the admin is (de)activated */
|
||||||
private void enableDeviceCapabilitiesArea(boolean enabled) {
|
private void enableDeviceCapabilitiesArea(boolean enabled) {
|
||||||
mDisableCameraCheckbox.setEnabled(enabled);
|
mDisableCameraCheckbox.setEnabled(enabled);
|
||||||
|
mDisableKeyguardWidgetsCheckbox.setEnabled(enabled);
|
||||||
|
mDisableKeyguardSecureCameraCheckbox.setEnabled(enabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user