Add settings to control Extended Access mode.
This CL adds settings (and two toggle controls) that help configure how trust (from Trust Agents) should be interpreted by the platform, allowing them to function in a purely extend unlock mode (where they can extend how long an already unlocked device stays unlocked, but cannot unlock a locked device). These are temporary settings to help with dogfooding the new behavior, and will eventually be removed. b/120871688 below is the tracking bug to remove them. Bug: 111435975 Bug: 120871688 Test: Tested with SmartLock modalities to confirm behavior in both legacy and extend unlock modes is WAI. Change-Id: If25098520ba98e82c98cc51fb226d8f2ce1aba80
This commit is contained in:
@@ -798,6 +798,17 @@
|
|||||||
<string name="lockdown_settings_title">Show lockdown option</string>
|
<string name="lockdown_settings_title">Show lockdown option</string>
|
||||||
<!-- Text shown for the description of the lockdown option -->
|
<!-- Text shown for the description of the lockdown option -->
|
||||||
<string name="lockdown_settings_summary">Display power button option that turns off Smart Lock, fingerprint unlocking, and notifications on the lock screen</string>
|
<string name="lockdown_settings_summary">Display power button option that turns off Smart Lock, fingerprint unlocking, and notifications on the lock screen</string>
|
||||||
|
|
||||||
|
<!-- Text shown for the title of the extend unlock mode option for trust agents [CHAR LIMIT=40] -->
|
||||||
|
<string name="trust_agents_extend_unlock_title">SmartLock only extends unlock</string>
|
||||||
|
<!-- Text shown for the description of the extend unlock mode option [CHAR LIMIT=NONE] -->
|
||||||
|
<string name="trust_agents_extend_unlock_summary">If enabled, SmartLock will keep your device unlocked for longer, but can no longer unlock a locked device.</string>
|
||||||
|
|
||||||
|
<!-- Text shown for the title of the lock when trust lost option [CHAR LIMIT=40] -->
|
||||||
|
<string name="trust_lost_locks_screen_title">Lock screen when trust is lost</string>
|
||||||
|
<!-- Text shown for the description of the lock when trust lost option [CHAR LIMIT=NONE -->
|
||||||
|
<string name="trust_lost_locks_screen_summary">If enabled, the device will lock when the last trust agent loses trust</string>
|
||||||
|
|
||||||
<!-- Text shown for summary of owner info setting (if none set) [CHAR LIMIT=40]-->
|
<!-- Text shown for summary of owner info setting (if none set) [CHAR LIMIT=40]-->
|
||||||
<string name="owner_info_settings_summary">None</string>
|
<string name="owner_info_settings_summary">None</string>
|
||||||
<!-- Description of how many characters are used in owner info [CHAR LIMIT=40]-->
|
<!-- Description of how many characters are used in owner info [CHAR LIMIT=40]-->
|
||||||
|
@@ -40,4 +40,17 @@
|
|||||||
android:key="power_button_instantly_locks"
|
android:key="power_button_instantly_locks"
|
||||||
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks" />
|
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks" />
|
||||||
|
|
||||||
|
<!-- Temporarily available to evaluate extend unlock mode for SmartLock -->
|
||||||
|
<SwitchPreference
|
||||||
|
android:key="security_setting_trust_agents_extend_unlock"
|
||||||
|
android:title="@string/trust_agents_extend_unlock_title"
|
||||||
|
android:summary="@string/trust_agents_extend_unlock_summary"
|
||||||
|
settings:controller="com.android.settings.security.trustagent.TrustAgentsExtendUnlockPreferenceController" />
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:key="security_setting_trust_lost_locks_screen"
|
||||||
|
android:title="@string/trust_lost_locks_screen_title"
|
||||||
|
android:summary="@string/trust_lost_locks_screen_summary"
|
||||||
|
settings:controller="com.android.settings.security.trustagent.TrustLostLocksScreenPreferenceController" />
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user