Update to follow device policy changes.

This commit is contained in:
Dianne Hackborn
2010-01-27 19:25:48 -08:00
parent 61daf83ca8
commit 8cecf89cec
3 changed files with 39 additions and 13 deletions

View File

@@ -41,16 +41,16 @@ public class ChooseLockGeneric extends Activity {
if (mode == -1) {
mode = lockPatternUtils.getPasswordMode();
}
int minMode = mDPM.getPasswordMode();
int minMode = mDPM.getPasswordMode(null);
if (mode < minMode) {
mode = minMode;
}
if (mode >= DevicePolicyManager.PASSWORD_MODE_NUMERIC) {
int minLength = mDPM.getMinimumPasswordLength();
int minLength = mDPM.getPasswordMinimumLength(null);
if (minLength < 4) {
minLength = 4;
}
final int maxLength = 16;
final int maxLength = mDPM.getPasswordMaximumLength(mode);
Intent intent = new Intent().setClass(this, ChooseLockPassword.class);
intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, mode);
intent.putExtra(ChooseLockPassword.PASSWORD_MIN_KEY, minLength);

View File

@@ -66,8 +66,9 @@ public class DeviceAdminAdd extends Activity {
Button mActionButton;
View mSelectLayout;
ArrayList<DeviceAdminInfo> mAvailablePolicies
= new ArrayList<DeviceAdminInfo>();
final ArrayList<View> mAddingPolicies = new ArrayList<View>();
final ArrayList<View> mActivePolicies = new ArrayList<View>();
boolean mAdding;
@@ -191,6 +192,13 @@ public class DeviceAdminAdd extends Activity {
}
}
static void setViewVisibility(ArrayList<View> views, int visibility) {
final int N = views.size();
for (int i=0; i<N; i++) {
views.get(i).setVisibility(visibility);
}
}
void updateInterface() {
mAdminIcon.setImageDrawable(mDeviceAdmin.loadIcon(getPackageManager()));
mAdminName.setText(mDeviceAdmin.loadLabel(getPackageManager()));
@@ -207,19 +215,37 @@ public class DeviceAdminAdd extends Activity {
} else {
mAddMsg.setVisibility(View.GONE);
}
if (mDPM.isAdminActive(mDeviceAdmin.getComponent())) {
if (mActivePolicies.size() == 0) {
ArrayList<DeviceAdminInfo.PolicyInfo> policies = mDeviceAdmin.getUsedPolicies();
for (int i=0; i<policies.size(); i++) {
DeviceAdminInfo.PolicyInfo pi = policies.get(i);
mAdminPolicies.addView(AppSecurityPermissions.getPermissionItemView(
this, getText(pi.label), getText(pi.description), true));
View view = AppSecurityPermissions.getPermissionItemView(
this, getText(pi.label), "", true);
mActivePolicies.add(view);
mAdminPolicies.addView(view);
}
if (mDPM.isAdminActive(mDeviceAdmin.getComponent())) {
}
setViewVisibility(mActivePolicies, View.VISIBLE);
setViewVisibility(mAddingPolicies, View.GONE);
mAdminWarning.setText(getString(R.string.device_admin_status,
mDeviceAdmin.getActivityInfo().applicationInfo.loadLabel(getPackageManager())));
mTitle.setText(getText(R.string.active_device_admin_msg));
mActionButton.setText(getText(R.string.remove_device_admin));
mAdding = false;
} else {
if (mAddingPolicies.size() == 0) {
ArrayList<DeviceAdminInfo.PolicyInfo> policies = mDeviceAdmin.getUsedPolicies();
for (int i=0; i<policies.size(); i++) {
DeviceAdminInfo.PolicyInfo pi = policies.get(i);
View view = AppSecurityPermissions.getPermissionItemView(
this, getText(pi.label), getText(pi.description), true);
mAddingPolicies.add(view);
mAdminPolicies.addView(view);
}
}
setViewVisibility(mAddingPolicies, View.VISIBLE);
setViewVisibility(mActivePolicies, View.GONE);
mAdminWarning.setText(getString(R.string.device_admin_warning,
mDeviceAdmin.getActivityInfo().applicationInfo.loadLabel(getPackageManager())));
mTitle.setText(getText(R.string.add_device_admin_msg));

View File

@@ -224,7 +224,7 @@ public class SecuritySettings extends PreferenceActivity {
protected void handleUpdateUnlockMethod(final String value) {
if ("none".equals(value)) {
if (mDPM.getPasswordMode() == DevicePolicyManager.PASSWORD_MODE_UNSPECIFIED) {
if (mDPM.getPasswordMode(null) == DevicePolicyManager.PASSWORD_MODE_UNSPECIFIED) {
mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST);
}
} else {
@@ -236,7 +236,7 @@ public class SecuritySettings extends PreferenceActivity {
} else {
reqMode = LockPatternUtils.MODE_PATTERN;
}
int minMode = mDPM.getPasswordMode();
int minMode = mDPM.getPasswordMode(null);
if (reqMode < minMode) {
reqMode = minMode;
}