Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35bf932e authored by Clara Bayarri's avatar Clara Bayarri Committed by Android (Google) Code Review
Browse files

Merge "Remove Secure Startup option from Security Settings" into nyc-dev

parents d2549ce6 b4d55a20
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -35,10 +35,5 @@
                android:title="@string/owner_info_settings_title"
                android:summary="@string/owner_info_settings_summary"/>

        <SwitchPreference
            android:key="require_cred_before_startup"
            android:title="@string/lockpattern_settings_require_cred_before_startup"
            android:summary="@string/lockpattern_settings_require_password_before_startup_summary"/>


</PreferenceScreen>
+0 −5
Original line number Diff line number Diff line
@@ -39,10 +39,5 @@
                android:title="@string/owner_info_settings_title"
                android:summary="@string/owner_info_settings_summary"/>

        <SwitchPreference
            android:key="require_cred_before_startup"
            android:title="@string/lockpattern_settings_require_cred_before_startup"
            android:summary="@string/lockpattern_settings_require_pattern_before_startup_summary"/>


</PreferenceScreen>
+0 −5
Original line number Diff line number Diff line
@@ -35,10 +35,5 @@
                android:title="@string/owner_info_settings_title"
                android:summary="@string/owner_info_settings_summary"/>

        <SwitchPreference
            android:key="require_cred_before_startup"
            android:title="@string/lockpattern_settings_require_cred_before_startup"
            android:summary="@string/lockpattern_settings_require_pin_before_startup_summary"/>


</PreferenceScreen>
+1 −34
Original line number Diff line number Diff line
@@ -986,10 +986,6 @@ public class SecuritySettings extends SettingsPreferenceFragment
                keys.add(KEY_MANAGE_TRUST_AGENTS);
            }

            if (!SecuritySubSettings.canChangeRequireCredentialBeforeStartup(context)) {
                keys.add(SecuritySubSettings.KEY_REQUIRE_CRED_BEFORE_STARTUP);
            }

            return keys;
        }
    }
@@ -1001,13 +997,10 @@ public class SecuritySettings extends SettingsPreferenceFragment
        private static final String KEY_LOCK_AFTER_TIMEOUT = "lock_after_timeout";
        private static final String KEY_OWNER_INFO_SETTINGS = "owner_info_settings";
        private static final String KEY_POWER_INSTANTLY_LOCKS = "power_button_instantly_locks";
        private static final String KEY_REQUIRE_CRED_BEFORE_STARTUP = "require_cred_before_startup";

        public static final int REQUEST_CHANGE_REQUIRE_CRED_FOR_START = 2;

        // These switch preferences need special handling since they're not all stored in Settings.
        private static final String SWITCH_PREFERENCE_KEYS[] = { KEY_LOCK_AFTER_TIMEOUT,
                KEY_VISIBLE_PATTERN, KEY_POWER_INSTANTLY_LOCKS, KEY_REQUIRE_CRED_BEFORE_STARTUP };
                KEY_VISIBLE_PATTERN, KEY_POWER_INSTANTLY_LOCKS };

        private TimeoutListPreference mLockAfter;
        private SwitchPreference mVisiblePattern;
@@ -1110,29 +1103,12 @@ public class SecuritySettings extends SettingsPreferenceFragment
                }
            }

            Preference requireCredForStartup = findPreference(KEY_REQUIRE_CRED_BEFORE_STARTUP);
            if (requireCredForStartup instanceof SwitchPreference) {
                ((SwitchPreference) requireCredForStartup).setChecked(
                        mLockPatternUtils.isCredentialRequiredToDecrypt(false));
                if (!canChangeRequireCredentialBeforeStartup(getContext())) {
                    removePreference(KEY_REQUIRE_CRED_BEFORE_STARTUP);
                }
            }

            for (int i = 0; i < SWITCH_PREFERENCE_KEYS.length; i++) {
                final Preference pref = findPreference(SWITCH_PREFERENCE_KEYS[i]);
                if (pref != null) pref.setOnPreferenceChangeListener(this);
            }
        }

        static boolean canChangeRequireCredentialBeforeStartup(Context context) {
            DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
            return UserManager.get(context).isAdminUser()
                    && UserManager.get(context).isPrimaryUser()
                    && StorageManager.isBlockEncrypted()
                    && !dpm.getDoNotAskCredentialsOnBoot();
        }

        private void setupLockAfterPreference() {
            // Compatible with pre-Froyo
            long currentTimeout = Settings.Secure.getLong(getContentResolver(),
@@ -1240,15 +1216,6 @@ public class SecuritySettings extends SettingsPreferenceFragment
                updateLockAfterPreferenceSummary();
            } else if (KEY_VISIBLE_PATTERN.equals(key)) {
                mLockPatternUtils.setVisiblePatternEnabled((Boolean) value, MY_USER_ID);
            } else if (KEY_REQUIRE_CRED_BEFORE_STARTUP.equals(key)) {
                Bundle extras = new Bundle();
                extras.putBoolean(
                        ChooseLockSettingsHelper.EXTRA_KEY_FOR_CHANGE_CRED_REQUIRED_FOR_BOOT, true);
                startFragment(this,
                        "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
                        R.string.lock_settings_picker_title, REQUEST_CHANGE_REQUIRE_CRED_FOR_START,
                        extras);
                return false;
            }
            return true;
        }