Loading res/xml/date_time_prefs.xml +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ android:title="@string/date_and_time" settings:keywords="@string/keywords_date_and_time"> <SwitchPreference android:key="auto_time" <com.android.settingslib.RestrictedSwitchPreference android:key="auto_time" android:title="@string/date_time_auto" android:summaryOn="@string/date_time_auto_summaryOn" android:summaryOff="@string/date_time_auto_summaryOff" Loading res/xml/security_settings_misc.xml +5 −7 Original line number Diff line number Diff line Loading @@ -64,10 +64,8 @@ android:title="@string/credentials_title" android:persistent="false"> <Preference android:key="credential_storage_type" <com.android.settingslib.RestrictedPreference android:key="credential_storage_type" android:title="@string/credential_storage_type" android:enabled="false" android:shouldDisableView="false" android:persistent="false" /> <Preference android:key="trusted_credentials" Loading @@ -82,7 +80,7 @@ android:persistent="false" android:fragment="com.android.settings.UserCredentialsSettings"/> <Preference android:key="credentials_install" <com.android.settingslib.RestrictedPreference android:key="credentials_install" android:title="@string/credentials_install" android:summary="@string/credentials_install_summary" android:persistent="false"> Loading @@ -91,9 +89,9 @@ android:targetPackage="com.android.certinstaller" android:targetClass="com.android.certinstaller.CertInstallerMain"/> </Preference> </com.android.settingslib.RestrictedPreference> <Preference android:key="credentials_reset" <com.android.settingslib.RestrictedPreference android:key="credentials_reset" android:title="@string/credentials_reset" android:summary="@string/credentials_reset_summary" android:persistent="false"> Loading @@ -102,7 +100,7 @@ android:targetPackage="com.android.settings" android:targetClass="com.android.settings.CredentialStorage"/> </Preference> </com.android.settingslib.RestrictedPreference> </PreferenceCategory> Loading res/xml/security_settings_picker.xml +5 −5 Original line number Diff line number Diff line Loading @@ -18,27 +18,27 @@ android:title="@string/lock_settings_picker_title" android:key="lock_settings_picker"> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_off" android:title="@string/unlock_set_unlock_off_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_none" android:title="@string/unlock_set_unlock_none_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_pattern" android:title="@string/unlock_set_unlock_pattern_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_pin" android:title="@string/unlock_set_unlock_pin_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_password" android:title="@string/unlock_set_unlock_password_title" android:persistent="false"/> Loading src/com/android/settings/ChooseLockGeneric.java +26 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,10 @@ import android.widget.Toast; import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedPreference; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class ChooseLockGeneric extends SettingsActivity { public static final String CONFIRM_CREDENTIALS = "confirm_credentials"; Loading Loading @@ -367,39 +371,60 @@ public class ChooseLockGeneric extends SettingsActivity { boolean hideDisabled) { final PreferenceScreen entries = getPreferenceScreen(); int adminEnforcedQuality = mDPM.getPasswordQuality(null); EnforcedAdmin enforcedAdmin = RestrictedLockUtils.checkIfPasswordQualityIsSet( getActivity()); for (int i = entries.getPreferenceCount() - 1; i >= 0; --i) { Preference pref = entries.getPreference(i); if (pref instanceof PreferenceScreen) { if (pref instanceof RestrictedPreference) { final String key = pref.getKey(); boolean enabled = true; boolean visible = true; boolean disabledByAdmin = false; if (KEY_UNLOCK_SET_OFF.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; if (getResources().getBoolean(R.bool.config_hide_none_security_option)) { enabled = false; visible = false; } disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; } else if (KEY_UNLOCK_SET_NONE.equals(key)) { if (mUserId != UserHandle.myUserId()) { // Swipe doesn't make sense for profiles. visible = false; } enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; } else if (KEY_UNLOCK_SET_PATTERN.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; } else if (KEY_UNLOCK_SET_PIN.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; } if (hideDisabled) { visible = enabled; } if (!visible) { entries.removePreference(pref); } else if (disabledByAdmin && enforcedAdmin != null) { ((RestrictedPreference) pref).setDisabledByAdmin(enforcedAdmin); } else if (!enabled) { // we need to setDisabledByAdmin to null first to disable the padlock // in case it was set earlier. ((RestrictedPreference) pref).setDisabledByAdmin(null); pref.setSummary(R.string.unlock_set_unlock_disabled_summary); pref.setEnabled(false); } else { ((RestrictedPreference) pref).setDisabledByAdmin(null); } } } Loading src/com/android/settings/DateTimeSettings.java +10 −12 Original line number Diff line number Diff line Loading @@ -39,11 +39,15 @@ import android.widget.TimePicker; import com.android.internal.logging.MetricsLogger; import com.android.settings.dashboard.SummaryLoader; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.datetime.ZoneGetter; import java.util.Calendar; import java.util.Date; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class DateTimeSettings extends SettingsPreferenceFragment implements OnSharedPreferenceChangeListener, TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener { Loading @@ -64,7 +68,7 @@ public class DateTimeSettings extends SettingsPreferenceFragment // have we been launched from the setup wizard? protected static final String EXTRA_IS_FIRST_RUN = "firstRun"; private SwitchPreference mAutoTimePref; private RestrictedSwitchPreference mAutoTimePref; private Preference mTimePref; private Preference mTime24Pref; private SwitchPreference mAutoTimeZonePref; Loading @@ -89,23 +93,17 @@ public class DateTimeSettings extends SettingsPreferenceFragment boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME); boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE); mAutoTimePref = (SwitchPreference) findPreference(KEY_AUTO_TIME); DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context .DEVICE_POLICY_SERVICE); if (dpm.getAutoTimeRequired()) { mAutoTimePref.setEnabled(false); // If Settings.Global.AUTO_TIME is false it will be set to true // by the device policy manager very soon. // Note that this app listens to that change. } mAutoTimePref = (RestrictedSwitchPreference) findPreference(KEY_AUTO_TIME); EnforcedAdmin admin = RestrictedLockUtils.checkIfAutoTimeRequired(getActivity()); mAutoTimePref.setDisabledByAdmin(admin); Intent intent = getActivity().getIntent(); boolean isFirstRun = intent.getBooleanExtra(EXTRA_IS_FIRST_RUN, false); mDummyDate = Calendar.getInstance(); // If device admin requires auto time device policy manager will set // Settings.Global.AUTO_TIME to true. Note that this app listens to that change. mAutoTimePref.setChecked(autoTimeEnabled); mAutoTimeZonePref = (SwitchPreference) findPreference(KEY_AUTO_TIME_ZONE); // Override auto-timezone if it's a wifi-only device or if we're still in setup wizard. Loading Loading
res/xml/date_time_prefs.xml +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ android:title="@string/date_and_time" settings:keywords="@string/keywords_date_and_time"> <SwitchPreference android:key="auto_time" <com.android.settingslib.RestrictedSwitchPreference android:key="auto_time" android:title="@string/date_time_auto" android:summaryOn="@string/date_time_auto_summaryOn" android:summaryOff="@string/date_time_auto_summaryOff" Loading
res/xml/security_settings_misc.xml +5 −7 Original line number Diff line number Diff line Loading @@ -64,10 +64,8 @@ android:title="@string/credentials_title" android:persistent="false"> <Preference android:key="credential_storage_type" <com.android.settingslib.RestrictedPreference android:key="credential_storage_type" android:title="@string/credential_storage_type" android:enabled="false" android:shouldDisableView="false" android:persistent="false" /> <Preference android:key="trusted_credentials" Loading @@ -82,7 +80,7 @@ android:persistent="false" android:fragment="com.android.settings.UserCredentialsSettings"/> <Preference android:key="credentials_install" <com.android.settingslib.RestrictedPreference android:key="credentials_install" android:title="@string/credentials_install" android:summary="@string/credentials_install_summary" android:persistent="false"> Loading @@ -91,9 +89,9 @@ android:targetPackage="com.android.certinstaller" android:targetClass="com.android.certinstaller.CertInstallerMain"/> </Preference> </com.android.settingslib.RestrictedPreference> <Preference android:key="credentials_reset" <com.android.settingslib.RestrictedPreference android:key="credentials_reset" android:title="@string/credentials_reset" android:summary="@string/credentials_reset_summary" android:persistent="false"> Loading @@ -102,7 +100,7 @@ android:targetPackage="com.android.settings" android:targetClass="com.android.settings.CredentialStorage"/> </Preference> </com.android.settingslib.RestrictedPreference> </PreferenceCategory> Loading
res/xml/security_settings_picker.xml +5 −5 Original line number Diff line number Diff line Loading @@ -18,27 +18,27 @@ android:title="@string/lock_settings_picker_title" android:key="lock_settings_picker"> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_off" android:title="@string/unlock_set_unlock_off_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_none" android:title="@string/unlock_set_unlock_none_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_pattern" android:title="@string/unlock_set_unlock_pattern_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_pin" android:title="@string/unlock_set_unlock_pin_title" android:persistent="false"/> <PreferenceScreen <com.android.settingslib.RestrictedPreference android:key="unlock_set_password" android:title="@string/unlock_set_unlock_password_title" android:persistent="false"/> Loading
src/com/android/settings/ChooseLockGeneric.java +26 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,10 @@ import android.widget.Toast; import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedPreference; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class ChooseLockGeneric extends SettingsActivity { public static final String CONFIRM_CREDENTIALS = "confirm_credentials"; Loading Loading @@ -367,39 +371,60 @@ public class ChooseLockGeneric extends SettingsActivity { boolean hideDisabled) { final PreferenceScreen entries = getPreferenceScreen(); int adminEnforcedQuality = mDPM.getPasswordQuality(null); EnforcedAdmin enforcedAdmin = RestrictedLockUtils.checkIfPasswordQualityIsSet( getActivity()); for (int i = entries.getPreferenceCount() - 1; i >= 0; --i) { Preference pref = entries.getPreference(i); if (pref instanceof PreferenceScreen) { if (pref instanceof RestrictedPreference) { final String key = pref.getKey(); boolean enabled = true; boolean visible = true; boolean disabledByAdmin = false; if (KEY_UNLOCK_SET_OFF.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; if (getResources().getBoolean(R.bool.config_hide_none_security_option)) { enabled = false; visible = false; } disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; } else if (KEY_UNLOCK_SET_NONE.equals(key)) { if (mUserId != UserHandle.myUserId()) { // Swipe doesn't make sense for profiles. visible = false; } enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; } else if (KEY_UNLOCK_SET_PATTERN.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; } else if (KEY_UNLOCK_SET_PIN.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX; } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; disabledByAdmin = adminEnforcedQuality > DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; } if (hideDisabled) { visible = enabled; } if (!visible) { entries.removePreference(pref); } else if (disabledByAdmin && enforcedAdmin != null) { ((RestrictedPreference) pref).setDisabledByAdmin(enforcedAdmin); } else if (!enabled) { // we need to setDisabledByAdmin to null first to disable the padlock // in case it was set earlier. ((RestrictedPreference) pref).setDisabledByAdmin(null); pref.setSummary(R.string.unlock_set_unlock_disabled_summary); pref.setEnabled(false); } else { ((RestrictedPreference) pref).setDisabledByAdmin(null); } } } Loading
src/com/android/settings/DateTimeSettings.java +10 −12 Original line number Diff line number Diff line Loading @@ -39,11 +39,15 @@ import android.widget.TimePicker; import com.android.internal.logging.MetricsLogger; import com.android.settings.dashboard.SummaryLoader; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.datetime.ZoneGetter; import java.util.Calendar; import java.util.Date; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class DateTimeSettings extends SettingsPreferenceFragment implements OnSharedPreferenceChangeListener, TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener { Loading @@ -64,7 +68,7 @@ public class DateTimeSettings extends SettingsPreferenceFragment // have we been launched from the setup wizard? protected static final String EXTRA_IS_FIRST_RUN = "firstRun"; private SwitchPreference mAutoTimePref; private RestrictedSwitchPreference mAutoTimePref; private Preference mTimePref; private Preference mTime24Pref; private SwitchPreference mAutoTimeZonePref; Loading @@ -89,23 +93,17 @@ public class DateTimeSettings extends SettingsPreferenceFragment boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME); boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE); mAutoTimePref = (SwitchPreference) findPreference(KEY_AUTO_TIME); DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context .DEVICE_POLICY_SERVICE); if (dpm.getAutoTimeRequired()) { mAutoTimePref.setEnabled(false); // If Settings.Global.AUTO_TIME is false it will be set to true // by the device policy manager very soon. // Note that this app listens to that change. } mAutoTimePref = (RestrictedSwitchPreference) findPreference(KEY_AUTO_TIME); EnforcedAdmin admin = RestrictedLockUtils.checkIfAutoTimeRequired(getActivity()); mAutoTimePref.setDisabledByAdmin(admin); Intent intent = getActivity().getIntent(); boolean isFirstRun = intent.getBooleanExtra(EXTRA_IS_FIRST_RUN, false); mDummyDate = Calendar.getInstance(); // If device admin requires auto time device policy manager will set // Settings.Global.AUTO_TIME to true. Note that this app listens to that change. mAutoTimePref.setChecked(autoTimeEnabled); mAutoTimeZonePref = (SwitchPreference) findPreference(KEY_AUTO_TIME_ZONE); // Override auto-timezone if it's a wifi-only device or if we're still in setup wizard. Loading