From 3cdf5b9be9ec5577d52d22e6cb470ca1443375f9 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Mon, 17 Jul 2023 12:03:05 +0800 Subject: [PATCH] Remove context from enterprisePrivacyFeatureProvider EnterprisePrivacyFeatureProvider is created by using application context, no need pass context in when get. Bug: 286764889 Test: m Settings Change-Id: I346f2b0ccbb0590f26954603ab630132cd8be63f --- src/com/android/settings/Settings.java | 5 ++-- ...erpriseDisclosurePreferenceController.java | 4 +-- .../AdminActionPreferenceControllerBase.java | 4 +-- ...sOnVpnCurrentUserPreferenceController.java | 4 +-- ...VpnManagedProfilePreferenceController.java | 4 +-- .../CaCertsPreferenceControllerBase.java | 4 +-- .../enterprise/EnterprisePrivacySettings.java | 4 +-- ...etDefaultAppsListPreferenceController.java | 2 +- ...dPasswordWipePreferenceControllerBase.java | 4 +-- .../enterprise/ImePreferenceController.java | 4 +-- ...ManageDeviceAdminPreferenceController.java | 4 +-- .../PrivacyPreferenceControllerHelper.java | 4 +-- .../settings/overlay/FeatureFactory.kt | 4 +-- .../settings/overlay/FeatureFactoryImpl.kt | 25 ++++++++----------- .../WorkPolicyInfoPreferenceController.java | 2 +- ...orkPolicyInfoPreferenceControllerTest.java | 2 +- .../testutils/FakeFeatureFactory.java | 3 ++- .../settings/testutils/FakeFeatureFactory.kt | 7 ++---- .../testutils/FakeFeatureFactory.java | 3 ++- 19 files changed, 43 insertions(+), 50 deletions(-) diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 57d91f0a699..7cd4493c686 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -202,7 +202,7 @@ public class Settings extends SettingsActivity { private String getAlternativeFragmentName() { String alternativeFragmentClassname = null; final SecuritySettingsFeatureProvider securitySettingsFeatureProvider = - FeatureFactory.getFactory(this).getSecuritySettingsFeatureProvider(); + FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider(); if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) { alternativeFragmentClassname = securitySettingsFeatureProvider .getAlternativeSecuritySettingsFragmentClassname(); @@ -418,8 +418,7 @@ public class Settings extends SettingsActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (FeatureFactory.getFactory(this) - .getEnterprisePrivacyFeatureProvider(this) + if (FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider() .showParentalControls()) { finish(); } else if (!EnterprisePrivacySettings.isPageEnabled(this)) { diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java index ca0a0d6dd79..f7816bb3fd6 100644 --- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java +++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java @@ -35,8 +35,8 @@ public class EnterpriseDisclosurePreferenceController extends BasePreferenceCont public EnterpriseDisclosurePreferenceController(Context context, String key) { // Preference key doesn't matter as we are creating the preference in code. super(context, key); - mFeatureProvider = FeatureFactory.getFactory(mContext) - .getEnterprisePrivacyFeatureProvider(mContext); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); } @Override diff --git a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java index cf1b8a35a69..bdbdce96261 100644 --- a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java +++ b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java @@ -36,8 +36,8 @@ public abstract class AdminActionPreferenceControllerBase extends public AdminActionPreferenceControllerBase(Context context) { super(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); } protected abstract Date getAdminActionTimestamp(); diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java index f1f9a618825..b602791876f 100644 --- a/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java +++ b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java @@ -35,8 +35,8 @@ public class AlwaysOnVpnCurrentUserPreferenceController public AlwaysOnVpnCurrentUserPreferenceController(Context context) { super(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class); } diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java index a23af0cde5d..c545a280911 100644 --- a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java +++ b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java @@ -27,8 +27,8 @@ public class AlwaysOnVpnManagedProfilePreferenceController public AlwaysOnVpnManagedProfilePreferenceController(Context context) { super(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); } @Override diff --git a/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java b/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java index 936df255ea6..2e87cb9b432 100644 --- a/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java +++ b/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java @@ -31,8 +31,8 @@ public abstract class CaCertsPreferenceControllerBase public CaCertsPreferenceControllerBase(Context context) { super(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); } @Override diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java index a154dedfb8f..da1cb453970 100644 --- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java +++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java @@ -168,8 +168,8 @@ public class EnterprisePrivacySettings extends DashboardFragment { } public static boolean isPageEnabled(Context context) { - return FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context) + return FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider() .hasDeviceOwner(); } diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java index be5e5efb5aa..676d4ac4fb5 100644 --- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java +++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java @@ -71,7 +71,7 @@ public class EnterpriseSetDefaultAppsListPreferenceController extends mParent = parent; final FeatureFactory factory = FeatureFactory.getFeatureFactory(); mApplicationFeatureProvider = factory.getApplicationFeatureProvider(); - mEnterprisePrivacyFeatureProvider = factory.getEnterprisePrivacyFeatureProvider(context); + mEnterprisePrivacyFeatureProvider = factory.getEnterprisePrivacyFeatureProvider(); mUserFeatureProvider = factory.getUserFeatureProvider(); buildAppList(); } diff --git a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java index f008b189965..6bade7c91a7 100644 --- a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java +++ b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java @@ -31,8 +31,8 @@ public abstract class FailedPasswordWipePreferenceControllerBase public FailedPasswordWipePreferenceControllerBase(Context context) { super(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); } protected abstract int getMaximumFailedPasswordsBeforeWipe(); diff --git a/src/com/android/settings/enterprise/ImePreferenceController.java b/src/com/android/settings/enterprise/ImePreferenceController.java index 2adf52c7c15..ae47d218c13 100644 --- a/src/com/android/settings/enterprise/ImePreferenceController.java +++ b/src/com/android/settings/enterprise/ImePreferenceController.java @@ -34,8 +34,8 @@ public class ImePreferenceController extends AbstractPreferenceController implem public ImePreferenceController(Context context) { super(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); } @Override diff --git a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java index 90a1a1e8c9b..4b301d5fc38 100644 --- a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java +++ b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java @@ -31,8 +31,8 @@ public class ManageDeviceAdminPreferenceController extends BasePreferenceControl public ManageDeviceAdminPreferenceController(Context context, String key) { super(context, key); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class); } diff --git a/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java b/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java index e582fb00239..e54fbcb02a9 100644 --- a/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java +++ b/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java @@ -39,8 +39,8 @@ class PrivacyPreferenceControllerHelper { PrivacyPreferenceControllerHelper(Context context) { mContext = Objects.requireNonNull(context); - mFeatureProvider = FeatureFactory.getFactory(context) - .getEnterprisePrivacyFeatureProvider(context); + mFeatureProvider = FeatureFactory.getFeatureFactory() + .getEnterprisePrivacyFeatureProvider(); mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class); } diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt index eecec36fea4..267166b0865 100644 --- a/src/com/android/settings/overlay/FeatureFactory.kt +++ b/src/com/android/settings/overlay/FeatureFactory.kt @@ -86,9 +86,7 @@ abstract class FeatureFactory { abstract val applicationFeatureProvider: ApplicationFeatureProvider abstract val localeFeatureProvider: LocaleFeatureProvider - abstract fun getEnterprisePrivacyFeatureProvider( - context: Context, - ): EnterprisePrivacyFeatureProvider + abstract val enterprisePrivacyFeatureProvider: EnterprisePrivacyFeatureProvider abstract val searchFeatureProvider: SearchFeatureProvider abstract fun getSurveyFeatureProvider(context: Context): SurveyFeatureProvider? diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.kt b/src/com/android/settings/overlay/FeatureFactoryImpl.kt index 686bc0fdc82..2f0fe8b3d52 100644 --- a/src/com/android/settings/overlay/FeatureFactoryImpl.kt +++ b/src/com/android/settings/overlay/FeatureFactoryImpl.kt @@ -67,18 +67,6 @@ import com.android.settingslib.spaprivileged.framework.common.devicePolicyManage * [FeatureFactory] implementation for AOSP Settings. */ open class FeatureFactoryImpl : FeatureFactory() { - private val enterprisePrivacyFeatureProvider by lazy { - EnterprisePrivacyFeatureProviderImpl( - appContext, - appContext.devicePolicyManager, - appContext.packageManager, - UserManager.get(appContext), - appContext.getSystemService(ConnectivityManager::class.java), - appContext.getSystemService(VpnManager::class.java), - appContext.resources, - ) - } - private val contextualCardFeatureProvider by lazy { ContextualCardFeatureProviderImpl(appContext) } @@ -113,8 +101,17 @@ open class FeatureFactoryImpl : FeatureFactory() { override val localeFeatureProvider by lazy { LocaleFeatureProviderImpl() } - override fun getEnterprisePrivacyFeatureProvider(context: Context) = - enterprisePrivacyFeatureProvider + override val enterprisePrivacyFeatureProvider by lazy { + EnterprisePrivacyFeatureProviderImpl( + appContext, + appContext.devicePolicyManager, + appContext.packageManager, + UserManager.get(appContext), + appContext.getSystemService(ConnectivityManager::class.java), + appContext.getSystemService(VpnManager::class.java), + appContext.resources, + ) + } override val searchFeatureProvider: SearchFeatureProvider by lazy { SearchFeatureProviderImpl() diff --git a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java index 2d1d9e18564..d7203cb0424 100644 --- a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java +++ b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java @@ -34,7 +34,7 @@ public class WorkPolicyInfoPreferenceController extends BasePreferenceController public WorkPolicyInfoPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mEnterpriseProvider = - FeatureFactory.getFactory(context).getEnterprisePrivacyFeatureProvider(context); + FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider(); } @Override diff --git a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java index a983228255e..b9c80b0ef06 100644 --- a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java @@ -53,7 +53,7 @@ public class WorkPolicyInfoPreferenceControllerTest { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); - mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext); + mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(); SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class); } diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java index b8fa0bc65e5..0d7c0b1e9c7 100644 --- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -193,8 +193,9 @@ public class FakeFeatureFactory extends FeatureFactory { return localeFeatureProvider; } + @NotNull @Override - public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) { + public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() { return enterprisePrivacyFeatureProvider; } diff --git a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt index 7a17fe89f48..e5e49906921 100644 --- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt +++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt @@ -88,11 +88,8 @@ class FakeFeatureFactory : FeatureFactory() { override val localeFeatureProvider: LocaleFeatureProvider get() = TODO("Not yet implemented") - override fun getEnterprisePrivacyFeatureProvider( - context: Context, - ): EnterprisePrivacyFeatureProvider { - TODO("Not yet implemented") - } + override val enterprisePrivacyFeatureProvider: EnterprisePrivacyFeatureProvider + get() = TODO("Not yet implemented") override val searchFeatureProvider: SearchFeatureProvider get() = TODO("Not yet implemented") diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java index c2c485da9d5..90b4efec0e6 100644 --- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -192,8 +192,9 @@ public class FakeFeatureFactory extends FeatureFactory { return localeFeatureProvider; } + @NotNull @Override - public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) { + public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() { return enterprisePrivacyFeatureProvider; }