Allow security controllers to be used in other fragments.

Bug: 180581209
Test: atest SettingsUnitTests
Test: make -j80 RunSettingsRoboTests

Change-Id: I70088eaab16dd64c1183e42e90346c6d2dcbe35b
This commit is contained in:
Simon Wingrove
2021-05-10 09:02:25 +01:00
parent a5d3b8a45c
commit 2c14d9e396
4 changed files with 14 additions and 9 deletions

View File

@@ -26,6 +26,7 @@ import android.text.TextUtils;
import androidx.preference.Preference; import androidx.preference.Preference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.SubSettingLauncher;
import com.android.settings.password.ChooseLockGeneric; import com.android.settings.password.ChooseLockGeneric;
@@ -36,7 +37,7 @@ public class ChangeProfileScreenLockPreferenceController extends
private static final String KEY_UNLOCK_SET_OR_CHANGE_PROFILE = "unlock_set_or_change_profile"; private static final String KEY_UNLOCK_SET_OR_CHANGE_PROFILE = "unlock_set_or_change_profile";
public ChangeProfileScreenLockPreferenceController(Context context, public ChangeProfileScreenLockPreferenceController(Context context,
SecuritySettings host) { SettingsPreferenceFragment host) {
super(context, host); super(context, host);
} }

View File

@@ -29,9 +29,9 @@ import com.android.settings.core.BasePreferenceController;
public class EncryptionStatusPreferenceController extends BasePreferenceController { public class EncryptionStatusPreferenceController extends BasePreferenceController {
static final String PREF_KEY_ENCRYPTION_DETAIL_PAGE = public static final String PREF_KEY_ENCRYPTION_DETAIL_PAGE =
"encryption_and_credentials_encryption_status"; "encryption_and_credentials_encryption_status";
static final String PREF_KEY_ENCRYPTION_SECURITY_PAGE = "encryption_and_credential"; public static final String PREF_KEY_ENCRYPTION_SECURITY_PAGE = "encryption_and_credential";
private final UserManager mUserManager; private final UserManager mUserManager;

View File

@@ -33,6 +33,7 @@ import androidx.preference.PreferenceScreen;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockscreenCredential; import com.android.internal.widget.LockscreenCredential;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.SubSettingLauncher;
@@ -67,7 +68,7 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
private final DevicePolicyManager mDpm; private final DevicePolicyManager mDpm;
private final LockPatternUtils mLockPatternUtils; private final LockPatternUtils mLockPatternUtils;
private final int mProfileUserId; private final int mProfileUserId;
private final SecuritySettings mHost; private final SettingsPreferenceFragment mHost;
private RestrictedSwitchPreference mUnifyProfile; private RestrictedSwitchPreference mUnifyProfile;
@@ -82,7 +83,7 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
mUnifyProfile = screen.findPreference(KEY_UNIFICATION); mUnifyProfile = screen.findPreference(KEY_UNIFICATION);
} }
public LockUnificationPreferenceController(Context context, SecuritySettings host) { public LockUnificationPreferenceController(Context context, SettingsPreferenceFragment host) {
super(context); super(context);
mHost = host; mHost = host;
mUm = context.getSystemService(UserManager.class); mUm = context.getSystemService(UserManager.class);
@@ -175,7 +176,10 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
.launch(); .launch();
} }
void startUnification() { /**
* Unify primary and profile locks.
*/
public void startUnification() {
// Confirm profile lock // Confirm profile lock
final String title = mContext.getString( final String title = mContext.getString(
R.string.unlock_set_unlock_launch_picker_title_profile); R.string.unlock_set_unlock_launch_picker_title_profile);

View File

@@ -31,11 +31,11 @@ import androidx.preference.PreferenceScreen;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.security.SecurityFeatureProvider; import com.android.settings.security.SecurityFeatureProvider;
import com.android.settings.security.SecuritySettings;
import com.android.settingslib.RestrictedPreference; import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -61,7 +61,7 @@ public class TrustAgentListPreferenceController extends AbstractPreferenceContro
private final LockPatternUtils mLockPatternUtils; private final LockPatternUtils mLockPatternUtils;
private final TrustAgentManager mTrustAgentManager; private final TrustAgentManager mTrustAgentManager;
private final SecuritySettings mHost; private final SettingsPreferenceFragment mHost;
private Intent mTrustAgentClickIntent; private Intent mTrustAgentClickIntent;
private PreferenceCategory mSecurityCategory; private PreferenceCategory mSecurityCategory;
@@ -69,7 +69,7 @@ public class TrustAgentListPreferenceController extends AbstractPreferenceContro
@VisibleForTesting @VisibleForTesting
final List<String> mTrustAgentsKeyList; final List<String> mTrustAgentsKeyList;
public TrustAgentListPreferenceController(Context context, SecuritySettings host, public TrustAgentListPreferenceController(Context context, SettingsPreferenceFragment host,
Lifecycle lifecycle) { Lifecycle lifecycle) {
super(context); super(context);
final SecurityFeatureProvider provider = FeatureFactory.getFactory(context) final SecurityFeatureProvider provider = FeatureFactory.getFactory(context)