diff --git a/res/values/strings.xml b/res/values/strings.xml index b6d923953bf..6a5c7bbde65 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -798,6 +798,17 @@ Show lockdown option Display power button option that turns off Smart Lock, fingerprint unlocking, and notifications on the lock screen + + + SmartLock only extends unlock + + If enabled, SmartLock will keep your device unlocked for longer, but can no longer unlock a locked device. + + + Lock screen when trust is lost + + If enabled, the device will lock when the last trust agent loses trust + None diff --git a/res/xml/screen_lock_settings.xml b/res/xml/screen_lock_settings.xml index 43f96e92a3c..29c8de984cc 100644 --- a/res/xml/screen_lock_settings.xml +++ b/res/xml/screen_lock_settings.xml @@ -40,4 +40,17 @@ android:key="power_button_instantly_locks" android:title="@string/lockpattern_settings_enable_power_button_instantly_locks" /> - \ No newline at end of file + + + + + + diff --git a/src/com/android/settings/security/trustagent/TrustAgentsExtendUnlockPreferenceController.java b/src/com/android/settings/security/trustagent/TrustAgentsExtendUnlockPreferenceController.java new file mode 100644 index 00000000000..bfbebaff865 --- /dev/null +++ b/src/com/android/settings/security/trustagent/TrustAgentsExtendUnlockPreferenceController.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.security.trustagent; + +import android.content.Context; +import android.os.UserHandle; +import android.provider.Settings; + +import com.android.settings.core.TogglePreferenceController; + +public class TrustAgentsExtendUnlockPreferenceController extends TogglePreferenceController { + + public TrustAgentsExtendUnlockPreferenceController(Context context, String key) { + super(context, key); + } + + @Override + public int getAvailabilityStatus() { + return AVAILABLE; + } + + @Override + public boolean isChecked() { + return Settings.Secure.getInt(mContext.getContentResolver(), + Settings.Secure.TRUST_AGENTS_EXTEND_UNLOCK, 1) == 1; + } + + @Override + public boolean setChecked(boolean isChecked) { + Settings.Secure.putInt(mContext.getContentResolver(), + Settings.Secure.TRUST_AGENTS_EXTEND_UNLOCK, isChecked ? 1 : 0); + return true; + } +} diff --git a/src/com/android/settings/security/trustagent/TrustLostLocksScreenPreferenceController.java b/src/com/android/settings/security/trustagent/TrustLostLocksScreenPreferenceController.java new file mode 100644 index 00000000000..b5e0dd76ae2 --- /dev/null +++ b/src/com/android/settings/security/trustagent/TrustLostLocksScreenPreferenceController.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.security.trustagent; + +import android.content.Context; +import android.os.UserHandle; +import android.provider.Settings; + +import com.android.settings.core.TogglePreferenceController; + +public class TrustLostLocksScreenPreferenceController extends TogglePreferenceController { + + public TrustLostLocksScreenPreferenceController(Context context, String key) { + super(context, key); + } + + @Override + public int getAvailabilityStatus() { + return AVAILABLE; + } + + @Override + public boolean isChecked() { + return Settings.Secure.getInt(mContext.getContentResolver(), + Settings.Secure.LOCK_SCREEN_WHEN_TRUST_LOST, 1) == 1; + } + + @Override + public boolean setChecked(boolean isChecked) { + Settings.Secure.putInt(mContext.getContentResolver(), + Settings.Secure.LOCK_SCREEN_WHEN_TRUST_LOST, isChecked ? 1 : 0); + return true; + } +}