Use proper DashboardFragment APIs for SecuritySettingsV2
Next CL will add tests. Bug: 32953042 Test: TODO Change-Id: I0cb0e4eb216d3e9408675486f1cd73ba82d8ca36
This commit is contained in:
@@ -47,6 +47,7 @@
|
|||||||
<Preference
|
<Preference
|
||||||
android:key="lockscreen_preferences"
|
android:key="lockscreen_preferences"
|
||||||
android:title="@string/lockscreen_settings_title"
|
android:title="@string/lockscreen_settings_title"
|
||||||
|
android:summary="@string/summary_placeholder"
|
||||||
android:fragment="com.android.settings.security.LockscreenDashboardFragment" />
|
android:fragment="com.android.settings.security.LockscreenDashboardFragment" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
@@ -77,6 +78,7 @@
|
|||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="visiblepattern_profile"
|
android:key="visiblepattern_profile"
|
||||||
|
android:summary="@string/summary_placeholder"
|
||||||
android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile" />
|
android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
@@ -95,8 +97,8 @@
|
|||||||
<Preference
|
<Preference
|
||||||
android:key="location"
|
android:key="location"
|
||||||
android:title="@string/location_settings_title"
|
android:title="@string/location_settings_title"
|
||||||
android:fragment="com.android.settings.location.LocationSettings">
|
android:summary="@string/summary_placeholder"
|
||||||
</Preference>
|
android:fragment="com.android.settings.location.LocationSettings" />
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="show_password"
|
android:key="show_password"
|
||||||
@@ -109,14 +111,16 @@
|
|||||||
android:order="40"
|
android:order="40"
|
||||||
android:key="security_settings_device_admin_category">
|
android:key="security_settings_device_admin_category">
|
||||||
|
|
||||||
<Preference android:key="manage_device_admin"
|
<Preference
|
||||||
|
android:key="manage_device_admin"
|
||||||
android:title="@string/manage_device_admin"
|
android:title="@string/manage_device_admin"
|
||||||
android:persistent="false"
|
android:summary="@string/summary_placeholder"
|
||||||
android:fragment="com.android.settings.DeviceAdminSettings" />
|
android:fragment="com.android.settings.DeviceAdminSettings" />
|
||||||
|
|
||||||
<Preference android:key="enterprise_privacy"
|
<Preference
|
||||||
|
android:key="enterprise_privacy"
|
||||||
android:title="@string/enterprise_privacy_settings"
|
android:title="@string/enterprise_privacy_settings"
|
||||||
android:persistent="false"
|
android:summary="@string/summary_placeholder"
|
||||||
android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings" />
|
android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
@@ -144,7 +148,7 @@
|
|||||||
android:order="70"
|
android:order="70"
|
||||||
android:key="manage_trust_agents"
|
android:key="manage_trust_agents"
|
||||||
android:title="@string/manage_trust_agents"
|
android:title="@string/manage_trust_agents"
|
||||||
android:persistent="false"
|
android:summary="@string/summary_placeholder"
|
||||||
android:fragment="com.android.settings.security.trustagent.TrustAgentSettings" />
|
android:fragment="com.android.settings.security.trustagent.TrustAgentSettings" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
|
@@ -218,6 +218,10 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
preference.setSummary(tile.summary);
|
preference.setSummary(tile.summary);
|
||||||
} else if (tile.metaData != null
|
} else if (tile.metaData != null
|
||||||
&& tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
|
&& tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
|
||||||
|
// Set a placeholder summary before starting to fetch real summary, this is necessary
|
||||||
|
// to avoid preference height change.
|
||||||
|
preference.setSummary(R.string.summary_placeholder);
|
||||||
|
|
||||||
ThreadUtils.postOnBackgroundThread(() -> {
|
ThreadUtils.postOnBackgroundThread(() -> {
|
||||||
final Map<String, IContentProvider> providerMap = new ArrayMap<>();
|
final Map<String, IContentProvider> providerMap = new ArrayMap<>();
|
||||||
final String uri = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI);
|
final String uri = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI);
|
||||||
|
@@ -75,7 +75,7 @@ import com.android.settings.print.PrintSettingsFragment;
|
|||||||
import com.android.settings.security.EncryptionAndCredential;
|
import com.android.settings.security.EncryptionAndCredential;
|
||||||
import com.android.settings.security.LockscreenDashboardFragment;
|
import com.android.settings.security.LockscreenDashboardFragment;
|
||||||
import com.android.settings.security.ScreenPinningSettings;
|
import com.android.settings.security.ScreenPinningSettings;
|
||||||
import com.android.settings.security.SecuritySettings;
|
import com.android.settings.security.SecuritySettingsV2;
|
||||||
import com.android.settings.security.screenlock.ScreenLockSettings;
|
import com.android.settings.security.screenlock.ScreenLockSettings;
|
||||||
import com.android.settings.sim.SimSettings;
|
import com.android.settings.sim.SimSettings;
|
||||||
import com.android.settings.support.SupportDashboardActivity;
|
import com.android.settings.support.SupportDashboardActivity;
|
||||||
@@ -135,7 +135,7 @@ public final class SearchIndexableResources {
|
|||||||
addIndex(LocationSettings.class);
|
addIndex(LocationSettings.class);
|
||||||
addIndex(LocationMode.class);
|
addIndex(LocationMode.class);
|
||||||
addIndex(ScanningSettings.class);
|
addIndex(ScanningSettings.class);
|
||||||
addIndex(SecuritySettings.class);
|
addIndex(SecuritySettingsV2.class);
|
||||||
addIndex(ScreenLockSettings.class);
|
addIndex(ScreenLockSettings.class);
|
||||||
addIndex(EncryptionAndCredential.class);
|
addIndex(EncryptionAndCredential.class);
|
||||||
addIndex(ScreenPinningSettings.class);
|
addIndex(ScreenPinningSettings.class);
|
||||||
@@ -179,5 +179,7 @@ public final class SearchIndexableResources {
|
|||||||
private SearchIndexableResources() {
|
private SearchIndexableResources() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Collection<Class> providerValues() { return sProviders;}
|
public static Collection<Class> providerValues() {
|
||||||
|
return sProviders;
|
||||||
|
}
|
||||||
}
|
}
|
@@ -30,7 +30,6 @@ import android.text.TextUtils;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.password.ChooseLockGeneric;
|
import com.android.settings.password.ChooseLockGeneric;
|
||||||
import com.android.settings.widget.GearPreference;
|
|
||||||
|
|
||||||
public class ChangeProfileScreenLockPreferenceController extends
|
public class ChangeProfileScreenLockPreferenceController extends
|
||||||
ChangeScreenLockPreferenceController {
|
ChangeScreenLockPreferenceController {
|
||||||
@@ -42,12 +41,6 @@ public class ChangeProfileScreenLockPreferenceController extends
|
|||||||
super(context, host);
|
super(context, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onGearClick(GearPreference p) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isAvailable() {
|
public boolean isAvailable() {
|
||||||
if (mProfileChallengeUserId == UserHandle.USER_NULL ||
|
if (mProfileChallengeUserId == UserHandle.USER_NULL ||
|
||||||
!mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId)) {
|
!mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId)) {
|
||||||
|
@@ -79,13 +79,19 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
|
|||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mPreference = (RestrictedPreference) screen.findPreference(getPreferenceKey());
|
mPreference = (RestrictedPreference) screen.findPreference(getPreferenceKey());
|
||||||
if (mPreference != null && mPreference instanceof GearPreference) {
|
|
||||||
((GearPreference) mPreference).setOnGearClickListener(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
|
if (mPreference != null && mPreference instanceof GearPreference) {
|
||||||
|
if (mLockPatternUtils.isSecure(mUserId)
|
||||||
|
|| !mLockPatternUtils.isLockScreenDisabled(mUserId)) {
|
||||||
|
((GearPreference) mPreference).setOnGearClickListener(this);
|
||||||
|
} else {
|
||||||
|
((GearPreference) mPreference).setOnGearClickListener(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateSummary(preference, mUserId);
|
updateSummary(preference, mUserId);
|
||||||
disableIfPasswordQualityManaged(mUserId);
|
disableIfPasswordQualityManaged(mUserId);
|
||||||
if (!mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileChallengeUserId)) {
|
if (!mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileChallengeUserId)) {
|
||||||
@@ -148,6 +154,7 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mPreference.setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -66,7 +66,8 @@ public class EncryptionAndCredential extends DashboardFragment {
|
|||||||
Lifecycle lifecycle) {
|
Lifecycle lifecycle) {
|
||||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
final EncryptionStatusPreferenceController encryptStatusController =
|
final EncryptionStatusPreferenceController encryptStatusController =
|
||||||
new EncryptionStatusPreferenceController(context, PREF_KEY_ENCRYPTION_DETAIL_PAGE);
|
new EncryptionStatusPreferenceController(context,
|
||||||
|
PREF_KEY_ENCRYPTION_DETAIL_PAGE);
|
||||||
controllers.add(encryptStatusController);
|
controllers.add(encryptStatusController);
|
||||||
controllers.add(new PreferenceCategoryController(context,
|
controllers.add(new PreferenceCategoryController(context,
|
||||||
"encryption_and_credentials_status_category",
|
"encryption_and_credentials_status_category",
|
||||||
|
@@ -27,18 +27,32 @@ import com.android.internal.widget.LockPatternUtils;
|
|||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.notification.LockScreenNotificationPreferenceController;
|
import com.android.settings.notification.LockScreenNotificationPreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
|
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||||
|
|
||||||
public class LockScreenPreferenceController extends BasePreferenceController {
|
public class LockScreenPreferenceController extends BasePreferenceController implements
|
||||||
|
LifecycleObserver, OnResume {
|
||||||
|
|
||||||
static final String KEY_LOCKSCREEN_PREFERENCES = "lockscreen_preferences";
|
static final String KEY_LOCKSCREEN_PREFERENCES = "lockscreen_preferences";
|
||||||
|
|
||||||
private static final int MY_USER_ID = UserHandle.myUserId();
|
private static final int MY_USER_ID = UserHandle.myUserId();
|
||||||
private final LockPatternUtils mLockPatternUtils;
|
private final LockPatternUtils mLockPatternUtils;
|
||||||
|
private Preference mPreference;
|
||||||
|
|
||||||
public LockScreenPreferenceController(Context context) {
|
public LockScreenPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY_LOCKSCREEN_PREFERENCES);
|
super(context, KEY_LOCKSCREEN_PREFERENCES);
|
||||||
mLockPatternUtils = FeatureFactory.getFactory(context)
|
mLockPatternUtils = FeatureFactory.getFactory(context)
|
||||||
.getSecurityFeatureProvider().getLockPatternUtils(context);
|
.getSecurityFeatureProvider().getLockPatternUtils(context);
|
||||||
|
if (lifecycle != null) {
|
||||||
|
lifecycle.addObserver(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
|
super.displayPreference(screen);
|
||||||
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -54,12 +68,13 @@ public class LockScreenPreferenceController extends BasePreferenceController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void updateState(Preference preference) {
|
||||||
super.displayPreference(screen);
|
preference.setSummary(
|
||||||
final Preference lockscreenPreferences = screen.findPreference(getPreferenceKey());
|
|
||||||
if (lockscreenPreferences != null) {
|
|
||||||
lockscreenPreferences.setSummary(
|
|
||||||
LockScreenNotificationPreferenceController.getSummaryResource(mContext));
|
LockScreenNotificationPreferenceController.getSummaryResource(mContext));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
mPreference.setVisible(isAvailable());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,33 +1,28 @@
|
|||||||
package com.android.settings.security;
|
package com.android.settings.security;
|
||||||
|
|
||||||
import static com.android.settings.security.EncryptionStatusPreferenceController.PREF_KEY_ENCRYPTION_SECURITY_PAGE;
|
import static com.android.settings.security.EncryptionStatusPreferenceController
|
||||||
|
.PREF_KEY_ENCRYPTION_SECURITY_PAGE;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.os.UserManager;
|
|
||||||
import android.provider.SearchIndexableResource;
|
import android.provider.SearchIndexableResource;
|
||||||
import android.support.v7.preference.Preference;
|
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.dashboard.DashboardFeatureProvider;
|
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.dashboard.SummaryLoader;
|
import com.android.settings.dashboard.SummaryLoader;
|
||||||
import com.android.settings.enterprise.EnterprisePrivacyPreferenceController;
|
import com.android.settings.enterprise.EnterprisePrivacyPreferenceController;
|
||||||
import com.android.settings.enterprise.ManageDeviceAdminPreferenceController;
|
import com.android.settings.enterprise.ManageDeviceAdminPreferenceController;
|
||||||
import com.android.settings.location.LocationPreferenceController;
|
import com.android.settings.location.LocationPreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
|
||||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.security.trustagent.ManageTrustAgentsPreferenceController;
|
import com.android.settings.security.trustagent.ManageTrustAgentsPreferenceController;
|
||||||
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
||||||
|
import com.android.settings.widget.PreferenceCategoryController;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -43,59 +38,11 @@ public class SecuritySettingsV2 extends DashboardFragment {
|
|||||||
public static final int UNIFY_LOCK_CONFIRM_PROFILE_REQUEST = 129;
|
public static final int UNIFY_LOCK_CONFIRM_PROFILE_REQUEST = 129;
|
||||||
public static final int UNUNIFY_LOCK_CONFIRM_DEVICE_REQUEST = 130;
|
public static final int UNUNIFY_LOCK_CONFIRM_DEVICE_REQUEST = 130;
|
||||||
|
|
||||||
|
|
||||||
// Security status
|
|
||||||
private static final String KEY_SECURITY_STATUS = "security_status";
|
|
||||||
private static final String SECURITY_STATUS_KEY_PREFIX = "security_status_";
|
|
||||||
|
|
||||||
private static final int MY_USER_ID = UserHandle.myUserId();
|
|
||||||
|
|
||||||
private DashboardFeatureProvider mDashboardFeatureProvider;
|
|
||||||
private SecurityFeatureProvider mSecurityFeatureProvider;
|
|
||||||
private UserManager mUm;
|
|
||||||
|
|
||||||
private ChooseLockSettingsHelper mChooseLockSettingsHelper;
|
|
||||||
private LockPatternUtils mLockPatternUtils;
|
|
||||||
|
|
||||||
private int mProfileChallengeUserId;
|
|
||||||
|
|
||||||
private LocationPreferenceController mLocationController;
|
|
||||||
private ManageDeviceAdminPreferenceController mManageDeviceAdminPreferenceController;
|
|
||||||
private EnterprisePrivacyPreferenceController mEnterprisePrivacyPreferenceController;
|
|
||||||
private EncryptionStatusPreferenceController mEncryptionStatusPreferenceController;
|
|
||||||
private ManageTrustAgentsPreferenceController mManageTrustAgentsPreferenceController;
|
|
||||||
private ScreenPinningPreferenceController mScreenPinningPreferenceController;
|
|
||||||
private SimLockPreferenceController mSimLockPreferenceController;
|
|
||||||
private ShowPasswordPreferenceController mShowPasswordPreferenceController;
|
|
||||||
private TrustAgentListPreferenceController mTrustAgentListPreferenceController;
|
|
||||||
private LockScreenPreferenceController mLockScreenPreferenceController;
|
|
||||||
private ChangeScreenLockPreferenceController mChangeScreenLockPreferenceController;
|
|
||||||
private ChangeProfileScreenLockPreferenceController
|
|
||||||
mChangeProfileScreenLockPreferenceController;
|
|
||||||
private LockUnificationPreferenceController mLockUnificationPreferenceController;
|
|
||||||
private VisiblePatternProfilePreferenceController mVisiblePatternProfilePreferenceController;
|
|
||||||
private FingerprintStatusPreferenceController mFingerprintStatusPreferenceController;
|
|
||||||
private FingerprintProfileStatusPreferenceController
|
|
||||||
mFingerprintProfileStatusPreferenceController;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return MetricsProto.MetricsEvent.SECURITY;
|
return MetricsProto.MetricsEvent.SECURITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAttach(Context context) {
|
|
||||||
super.onAttach(context);
|
|
||||||
mSecurityFeatureProvider = FeatureFactory.getFactory(context).getSecurityFeatureProvider();
|
|
||||||
mLocationController = new LocationPreferenceController(context, getLifecycle());
|
|
||||||
mLockPatternUtils = mSecurityFeatureProvider.getLockPatternUtils(context);
|
|
||||||
mUm = UserManager.get(context);
|
|
||||||
mDashboardFeatureProvider = FeatureFactory.getFactory(context)
|
|
||||||
.getDashboardFeatureProvider(context);
|
|
||||||
|
|
||||||
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.security_settings_v2;
|
return R.xml.security_settings_v2;
|
||||||
@@ -106,7 +53,6 @@ public class SecuritySettingsV2 extends DashboardFragment {
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getHelpResource() {
|
public int getHelpResource() {
|
||||||
return R.string.help_url_security;
|
return R.string.help_url_security;
|
||||||
@@ -114,161 +60,7 @@ public class SecuritySettingsV2 extends DashboardFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
|
protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
|
||||||
mManageDeviceAdminPreferenceController
|
return buildPreferenceControllers(context, getLifecycle(), this /* host*/);
|
||||||
= new ManageDeviceAdminPreferenceController(context);
|
|
||||||
mEnterprisePrivacyPreferenceController
|
|
||||||
= new EnterprisePrivacyPreferenceController(context);
|
|
||||||
mManageTrustAgentsPreferenceController = new ManageTrustAgentsPreferenceController(context);
|
|
||||||
mScreenPinningPreferenceController = new ScreenPinningPreferenceController(context);
|
|
||||||
mSimLockPreferenceController = new SimLockPreferenceController(context);
|
|
||||||
mShowPasswordPreferenceController = new ShowPasswordPreferenceController(context);
|
|
||||||
mEncryptionStatusPreferenceController = new EncryptionStatusPreferenceController(
|
|
||||||
context, PREF_KEY_ENCRYPTION_SECURITY_PAGE);
|
|
||||||
mTrustAgentListPreferenceController = new TrustAgentListPreferenceController(getActivity(),
|
|
||||||
this /* host */, getLifecycle());
|
|
||||||
mLockScreenPreferenceController = new LockScreenPreferenceController(context);
|
|
||||||
mChangeScreenLockPreferenceController = new ChangeScreenLockPreferenceController(context,
|
|
||||||
this /* host */);
|
|
||||||
mChangeProfileScreenLockPreferenceController =
|
|
||||||
new ChangeProfileScreenLockPreferenceController(context, this /* host */);
|
|
||||||
mLockUnificationPreferenceController = new LockUnificationPreferenceController(context,
|
|
||||||
this /* host */);
|
|
||||||
mVisiblePatternProfilePreferenceController =
|
|
||||||
new VisiblePatternProfilePreferenceController(context);
|
|
||||||
mFingerprintStatusPreferenceController = new FingerprintStatusPreferenceController(context);
|
|
||||||
mFingerprintProfileStatusPreferenceController =
|
|
||||||
new FingerprintProfileStatusPreferenceController(context);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Important!
|
|
||||||
*
|
|
||||||
* Don't forget to update the SecuritySearchIndexProvider if you are doing any change in the
|
|
||||||
* logic or adding/removing preferences here.
|
|
||||||
*/
|
|
||||||
private PreferenceScreen createPreferenceHierarchy() {
|
|
||||||
final PreferenceScreen root = getPreferenceScreen();
|
|
||||||
mTrustAgentListPreferenceController.displayPreference(root);
|
|
||||||
mLockScreenPreferenceController.displayPreference(root);
|
|
||||||
mChangeScreenLockPreferenceController.displayPreference(root);
|
|
||||||
mChangeProfileScreenLockPreferenceController.displayPreference(root);
|
|
||||||
mLockUnificationPreferenceController.displayPreference(root);
|
|
||||||
mVisiblePatternProfilePreferenceController.displayPreference(root);
|
|
||||||
mFingerprintStatusPreferenceController.displayPreference(root);
|
|
||||||
mFingerprintProfileStatusPreferenceController.displayPreference(root);
|
|
||||||
|
|
||||||
mSimLockPreferenceController.displayPreference(root);
|
|
||||||
mScreenPinningPreferenceController.displayPreference(root);
|
|
||||||
|
|
||||||
// Advanced Security features
|
|
||||||
mManageTrustAgentsPreferenceController.displayPreference(root);
|
|
||||||
|
|
||||||
// PreferenceGroup securityStatusPreferenceGroup =
|
|
||||||
// (PreferenceGroup) root.findPreference(KEY_SECURITY_STATUS);
|
|
||||||
// final List<Preference> tilePrefs = mDashboardFeatureProvider.getPreferencesForCategory(
|
|
||||||
// getActivity(), getPrefContext(), getMetricsCategory(),
|
|
||||||
// CategoryKey.CATEGORY_SECURITY);
|
|
||||||
// int numSecurityStatusPrefs = 0;
|
|
||||||
// if (tilePrefs != null && !tilePrefs.isEmpty()) {
|
|
||||||
// for (Preference preference : tilePrefs) {
|
|
||||||
// if (!TextUtils.isEmpty(preference.getKey())
|
|
||||||
// && preference.getKey().startsWith(SECURITY_STATUS_KEY_PREFIX)) {
|
|
||||||
// // Injected security status settings are placed under the Security status
|
|
||||||
// // category.
|
|
||||||
// securityStatusPreferenceGroup.addPreference(preference);
|
|
||||||
// numSecurityStatusPrefs++;
|
|
||||||
// } else {
|
|
||||||
// // Other injected settings are placed under the Security preference screen.
|
|
||||||
// root.addPreference(preference);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (numSecurityStatusPrefs == 0) {
|
|
||||||
// root.removePreference(securityStatusPreferenceGroup);
|
|
||||||
// } else if (numSecurityStatusPrefs > 0) {
|
|
||||||
// // Update preference data with tile data. Security feature provider only updates the
|
|
||||||
// // data if it actually needs to be changed.
|
|
||||||
// mSecurityFeatureProvider.updatePreferences(getActivity(), root,
|
|
||||||
// mDashboardFeatureProvider.getTilesForCategory(
|
|
||||||
// CategoryKey.CATEGORY_SECURITY));
|
|
||||||
// }
|
|
||||||
|
|
||||||
mLocationController.displayPreference(root);
|
|
||||||
mManageDeviceAdminPreferenceController.updateState(
|
|
||||||
root.findPreference(mManageDeviceAdminPreferenceController.getPreferenceKey()));
|
|
||||||
mEnterprisePrivacyPreferenceController.displayPreference(root);
|
|
||||||
final Preference enterprisePrivacyPreference = root.findPreference(
|
|
||||||
mEnterprisePrivacyPreferenceController.getPreferenceKey());
|
|
||||||
mEnterprisePrivacyPreferenceController.updateState(enterprisePrivacyPreference);
|
|
||||||
|
|
||||||
return root;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
|
|
||||||
// Make sure we reload the preference hierarchy since some of these settings
|
|
||||||
// depend on others...
|
|
||||||
createPreferenceHierarchy();
|
|
||||||
|
|
||||||
final Preference visiblePatternProfilePref = getPreferenceScreen().findPreference(
|
|
||||||
mVisiblePatternProfilePreferenceController.getPreferenceKey());
|
|
||||||
if (visiblePatternProfilePref != null) {
|
|
||||||
visiblePatternProfilePref
|
|
||||||
.setOnPreferenceChangeListener(mVisiblePatternProfilePreferenceController);
|
|
||||||
mVisiblePatternProfilePreferenceController.updateState(visiblePatternProfilePref);
|
|
||||||
}
|
|
||||||
|
|
||||||
final Preference showPasswordPref = getPreferenceScreen().findPreference(
|
|
||||||
mShowPasswordPreferenceController.getPreferenceKey());
|
|
||||||
showPasswordPref.setOnPreferenceChangeListener(mShowPasswordPreferenceController);
|
|
||||||
mShowPasswordPreferenceController.updateState(showPasswordPref);
|
|
||||||
|
|
||||||
final Preference lockUnificationPref = getPreferenceScreen().findPreference(
|
|
||||||
mLockUnificationPreferenceController.getPreferenceKey());
|
|
||||||
lockUnificationPref.setOnPreferenceChangeListener(mLockUnificationPreferenceController);
|
|
||||||
mLockUnificationPreferenceController.updateState(lockUnificationPref);
|
|
||||||
|
|
||||||
final Preference changeDeviceLockPref = getPreferenceScreen().findPreference(
|
|
||||||
mChangeScreenLockPreferenceController.getPreferenceKey());
|
|
||||||
mChangeScreenLockPreferenceController.updateState(changeDeviceLockPref);
|
|
||||||
|
|
||||||
mFingerprintStatusPreferenceController.updateState(
|
|
||||||
getPreferenceScreen().findPreference(
|
|
||||||
mFingerprintStatusPreferenceController.getPreferenceKey()));
|
|
||||||
|
|
||||||
mFingerprintProfileStatusPreferenceController.updateState(
|
|
||||||
getPreferenceScreen().findPreference(
|
|
||||||
mFingerprintProfileStatusPreferenceController.getPreferenceKey()));
|
|
||||||
|
|
||||||
final Preference changeProfileLockPref = getPreferenceScreen().findPreference(
|
|
||||||
mChangeProfileScreenLockPreferenceController.getPreferenceKey());
|
|
||||||
mChangeProfileScreenLockPreferenceController.updateState(changeProfileLockPref);
|
|
||||||
|
|
||||||
final Preference encryptionStatusPref = getPreferenceScreen().findPreference(
|
|
||||||
mEncryptionStatusPreferenceController.getPreferenceKey());
|
|
||||||
mEncryptionStatusPreferenceController.updateState(encryptionStatusPref);
|
|
||||||
mTrustAgentListPreferenceController.onResume();
|
|
||||||
mLocationController.updateSummary();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceTreeClick(Preference preference) {
|
|
||||||
if (mTrustAgentListPreferenceController.handlePreferenceTreeClick(preference)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (mChangeScreenLockPreferenceController.handlePreferenceTreeClick(preference)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (mChangeProfileScreenLockPreferenceController.handlePreferenceTreeClick(preference)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
// If we didn't handle it, let preferences handle it.
|
|
||||||
return super.onPreferenceTreeClick(preference);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -276,38 +68,66 @@ public class SecuritySettingsV2 extends DashboardFragment {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
if (getPreferenceController(TrustAgentListPreferenceController.class)
|
||||||
|
.handleActivityResult(requestCode, resultCode)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (getPreferenceController(LockUnificationPreferenceController.class)
|
||||||
|
.handleActivityResult(requestCode, resultCode, data)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
if (mTrustAgentListPreferenceController.handleActivityResult(requestCode, resultCode)) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
if (mLockUnificationPreferenceController.handleActivityResult(
|
|
||||||
requestCode, resultCode, data)) {
|
void launchConfirmDeviceLockForUnification() {
|
||||||
return;
|
getPreferenceController(LockUnificationPreferenceController.class)
|
||||||
|
.launchConfirmDeviceLockForUnification();
|
||||||
}
|
}
|
||||||
createPreferenceHierarchy();
|
|
||||||
|
void unifyUncompliantLocks() {
|
||||||
|
getPreferenceController(LockUnificationPreferenceController.class).unifyUncompliantLocks();
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateUnificationPreference() {
|
||||||
|
getPreferenceController(LockUnificationPreferenceController.class).updateState(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
||||||
|
Lifecycle lifecycle, SecuritySettingsV2 host) {
|
||||||
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
|
controllers.add(new LocationPreferenceController(context, lifecycle));
|
||||||
|
controllers.add(new ManageDeviceAdminPreferenceController(context));
|
||||||
|
controllers.add(new EnterprisePrivacyPreferenceController(context));
|
||||||
|
controllers.add(new ManageTrustAgentsPreferenceController(context));
|
||||||
|
controllers.add(new ScreenPinningPreferenceController(context));
|
||||||
|
controllers.add(new SimLockPreferenceController(context));
|
||||||
|
controllers.add(new ShowPasswordPreferenceController(context));
|
||||||
|
controllers.add(new FingerprintStatusPreferenceController(context));
|
||||||
|
controllers.add(new EncryptionStatusPreferenceController(context,
|
||||||
|
PREF_KEY_ENCRYPTION_SECURITY_PAGE));
|
||||||
|
controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
|
||||||
|
controllers.add(new LockScreenPreferenceController(context, lifecycle));
|
||||||
|
controllers.add(new ChangeScreenLockPreferenceController(context, host));
|
||||||
|
|
||||||
|
final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
|
||||||
|
profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController(
|
||||||
|
context, host));
|
||||||
|
profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
|
||||||
|
profileSecurityControllers.add(new VisiblePatternProfilePreferenceController(
|
||||||
|
context, lifecycle));
|
||||||
|
profileSecurityControllers.add(new FingerprintProfileStatusPreferenceController(context));
|
||||||
|
controllers.add(new PreferenceCategoryController(context, "security_category_profile",
|
||||||
|
profileSecurityControllers));
|
||||||
|
controllers.addAll(profileSecurityControllers);
|
||||||
|
|
||||||
|
return controllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For Search. Please keep it in sync when updating "createPreferenceHierarchy()"
|
* For Search. Please keep it in sync when updating "createPreferenceHierarchy()"
|
||||||
*/
|
*/
|
||||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
new SecuritySearchIndexProvider();
|
new BaseSearchIndexProvider() {
|
||||||
|
|
||||||
void launchConfirmDeviceLockForUnification() {
|
|
||||||
mLockUnificationPreferenceController.launchConfirmDeviceLockForUnification();
|
|
||||||
}
|
|
||||||
|
|
||||||
void unifyUncompliantLocks() {
|
|
||||||
mLockUnificationPreferenceController.unifyUncompliantLocks();
|
|
||||||
}
|
|
||||||
|
|
||||||
void updateUnificationPreference() {
|
|
||||||
mLockUnificationPreferenceController.updateState(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class SecuritySearchIndexProvider extends BaseSearchIndexProvider {
|
|
||||||
|
|
||||||
// TODO (b/68001777) Refactor indexing to include all XML and block other settings.
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SearchIndexableResource> getXmlResourcesToIndex(
|
public List<SearchIndexableResource> getXmlResourcesToIndex(
|
||||||
@@ -319,7 +139,14 @@ public class SecuritySettingsV2 extends DashboardFragment {
|
|||||||
index.add(sir);
|
index.add(sir);
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AbstractPreferenceController> getPreferenceControllers(Context
|
||||||
|
context) {
|
||||||
|
return buildPreferenceControllers(context, null /* lifecycle */,
|
||||||
|
null /* host*/);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
static class SummaryProvider implements SummaryLoader.SummaryProvider {
|
static class SummaryProvider implements SummaryLoader.SummaryProvider {
|
||||||
|
|
||||||
|
@@ -21,13 +21,19 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.support.v7.preference.Preference;
|
||||||
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.TogglePreferenceController;
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
|
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||||
|
|
||||||
public class VisiblePatternProfilePreferenceController extends TogglePreferenceController {
|
public class VisiblePatternProfilePreferenceController extends TogglePreferenceController
|
||||||
|
implements LifecycleObserver, OnResume {
|
||||||
|
|
||||||
private static final String KEY_VISIBLE_PATTERN_PROFILE = "visiblepattern_profile";
|
private static final String KEY_VISIBLE_PATTERN_PROFILE = "visiblepattern_profile";
|
||||||
|
|
||||||
@@ -36,13 +42,18 @@ public class VisiblePatternProfilePreferenceController extends TogglePreferenceC
|
|||||||
private final int mUserId = UserHandle.myUserId();
|
private final int mUserId = UserHandle.myUserId();
|
||||||
private final int mProfileChallengeUserId;
|
private final int mProfileChallengeUserId;
|
||||||
|
|
||||||
public VisiblePatternProfilePreferenceController(Context context) {
|
private Preference mPreference;
|
||||||
|
|
||||||
|
public VisiblePatternProfilePreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY_VISIBLE_PATTERN_PROFILE);
|
super(context, KEY_VISIBLE_PATTERN_PROFILE);
|
||||||
mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||||
mLockPatternUtils = FeatureFactory.getFactory(context)
|
mLockPatternUtils = FeatureFactory.getFactory(context)
|
||||||
.getSecurityFeatureProvider()
|
.getSecurityFeatureProvider()
|
||||||
.getLockPatternUtils(context);
|
.getLockPatternUtils(context);
|
||||||
mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
|
mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
|
||||||
|
if (lifecycle != null) {
|
||||||
|
lifecycle.addObserver(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -69,4 +80,15 @@ public class VisiblePatternProfilePreferenceController extends TogglePreferenceC
|
|||||||
mLockPatternUtils.setVisiblePatternEnabled(isChecked, mProfileChallengeUserId);
|
mLockPatternUtils.setVisiblePatternEnabled(isChecked, mProfileChallengeUserId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
|
super.displayPreference(screen);
|
||||||
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
mPreference.setVisible(isAvailable());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.security.trustagent;
|
|||||||
import static com.android.settings.security.SecuritySettingsV2.CHANGE_TRUST_AGENT_SETTINGS;
|
import static com.android.settings.security.SecuritySettingsV2.CHANGE_TRUST_AGENT_SETTINGS;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
@@ -56,20 +57,18 @@ public class TrustAgentListPreferenceController extends AbstractPreferenceContro
|
|||||||
|
|
||||||
private final LockPatternUtils mLockPatternUtils;
|
private final LockPatternUtils mLockPatternUtils;
|
||||||
private final TrustAgentManager mTrustAgentManager;
|
private final TrustAgentManager mTrustAgentManager;
|
||||||
private final Activity mActivity;
|
|
||||||
private final SecuritySettingsV2 mHost;
|
private final SecuritySettingsV2 mHost;
|
||||||
|
|
||||||
private Intent mTrustAgentClickIntent;
|
private Intent mTrustAgentClickIntent;
|
||||||
private PreferenceCategory mSecurityCategory;
|
private PreferenceCategory mSecurityCategory;
|
||||||
|
|
||||||
public TrustAgentListPreferenceController(Activity activity, SecuritySettingsV2 host,
|
public TrustAgentListPreferenceController(Context context, SecuritySettingsV2 host,
|
||||||
Lifecycle lifecycle) {
|
Lifecycle lifecycle) {
|
||||||
super(activity);
|
super(context);
|
||||||
final SecurityFeatureProvider provider = FeatureFactory.getFactory(activity)
|
final SecurityFeatureProvider provider = FeatureFactory.getFactory(context)
|
||||||
.getSecurityFeatureProvider();
|
.getSecurityFeatureProvider();
|
||||||
mActivity = activity;
|
|
||||||
mHost = host;
|
mHost = host;
|
||||||
mLockPatternUtils = provider.getLockPatternUtils(activity);
|
mLockPatternUtils = provider.getLockPatternUtils(context);
|
||||||
mTrustAgentManager = provider.getTrustAgentManager();
|
mTrustAgentManager = provider.getTrustAgentManager();
|
||||||
if (lifecycle != null) {
|
if (lifecycle != null) {
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
@@ -90,6 +89,7 @@ public class TrustAgentListPreferenceController extends AbstractPreferenceContro
|
|||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
mSecurityCategory = (PreferenceCategory) screen.findPreference(PREF_KEY_SECURITY_CATEGORY);
|
mSecurityCategory = (PreferenceCategory) screen.findPreference(PREF_KEY_SECURITY_CATEGORY);
|
||||||
|
updateTrustAgents();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -112,7 +112,8 @@ public class TrustAgentListPreferenceController extends AbstractPreferenceContro
|
|||||||
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
|
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
|
||||||
return super.handlePreferenceTreeClick(preference);
|
return super.handlePreferenceTreeClick(preference);
|
||||||
}
|
}
|
||||||
final ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(mActivity, mHost);
|
final ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(
|
||||||
|
mHost.getActivity(), mHost);
|
||||||
mTrustAgentClickIntent = preference.getIntent();
|
mTrustAgentClickIntent = preference.getIntent();
|
||||||
boolean confirmationLaunched = helper.launchConfirmationActivity(
|
boolean confirmationLaunched = helper.launchConfirmationActivity(
|
||||||
CHANGE_TRUST_AGENT_SETTINGS, preference.getTitle());
|
CHANGE_TRUST_AGENT_SETTINGS, preference.getTitle());
|
||||||
@@ -127,6 +128,10 @@ public class TrustAgentListPreferenceController extends AbstractPreferenceContro
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
|
updateTrustAgents();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTrustAgents() {
|
||||||
if (mSecurityCategory == null) {
|
if (mSecurityCategory == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard
|
com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard
|
||||||
com.android.settings.search.indexing.FakeSettingsFragment
|
com.android.settings.search.indexing.FakeSettingsFragment
|
||||||
com.android.settings.security.SecuritySettingsV2
|
com.android.settings.security.SecuritySettings
|
@@ -23,6 +23,7 @@ import static com.android.settings.security.trustagent.TrustAgentListPreferenceC
|
|||||||
.PREF_KEY_TRUST_AGENT;
|
.PREF_KEY_TRUST_AGENT;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.Mockito.atLeastOnce;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
@@ -127,6 +128,6 @@ public class TrustAgentListPreferenceControllerTest {
|
|||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
|
|
||||||
verify(mCategory).addPreference(any(Preference.class));
|
verify(mCategory, atLeastOnce()).addPreference(any(Preference.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user