From 8f0b2d15c6ac396ad4fb7c19b321efbf222005df Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Thu, 29 Jun 2023 22:40:33 +0800 Subject: [PATCH] Clean up Kotlin FeatureFactory.getFactory(context) Replace with featureFactory. Bug: 286764889 Test: m Settings Change-Id: I30bd2e9b25e1681d7694939dd8ec84fcd6fd7c08 --- .../ui/view/FingerprintEnrollmentActivity.kt | 6 ++---- .../ManufacturedYearPreferenceController.kt | 5 ++--- src/com/android/settings/overlay/FeatureFactory.kt | 10 +++++----- .../settings/spa/app/appinfo/AppCreateButton.kt | 6 +++--- .../settings/spa/app/appinfo/AppDisableButton.kt | 5 ++--- .../settings/spa/app/appinfo/AppSettingsPreference.kt | 4 ++-- .../settings/spa/app/appinfo/AppTimeSpentPreference.kt | 5 ++--- .../settings/spa/app/appinfo/PackageInfoPresenter.kt | 4 ++-- .../spa/app/specialaccess/AlarmsAndRemindersAppList.kt | 4 ++-- .../settings/spa/app/specialaccess/AllFilesAccess.kt | 4 ++-- .../spa/app/specialaccess/DisplayOverOtherApps.kt | 4 ++-- .../spa/app/specialaccess/MediaManagementApps.kt | 4 ++-- .../spa/app/specialaccess/ModifySystemSettings.kt | 4 ++-- 13 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt index c40ec96eaea..fd761981aa8 100644 --- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt +++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt @@ -78,7 +78,7 @@ import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewM import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FingerprintEnrollIntroAction import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollmentViewModel -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.google.android.setupdesign.util.ThemeHelper /** @@ -581,9 +581,7 @@ open class FingerprintEnrollmentActivity : FragmentActivity() { override val defaultViewModelCreationExtras: CreationExtras get() { - val fingerprintRepository = FeatureFactory - .getFactory(application) - .biometricsRepositoryProvider + val fingerprintRepository = featureFactory.biometricsRepositoryProvider .getFingerprintRepository(application)!! val credentialModel = CredentialModel(intent.extras, SystemClock.elapsedRealtimeClock()) diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt b/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt index 0b0eeb750ec..92d773363c6 100644 --- a/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt +++ b/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt @@ -17,13 +17,12 @@ package com.android.settings.deviceinfo.hardwareinfo import android.content.Context import com.android.settings.core.BasePreferenceController -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory /** Preference controller for Manufactured Year. */ class ManufacturedYearPreferenceController(context: Context, preferenceKey: String) : BasePreferenceController(context, preferenceKey) { - private val year: String? = - FeatureFactory.getFactory(context).hardwareInfoFeatureProvider.manufacturedYear + private val year: String? = featureFactory.hardwareInfoFeatureProvider.manufacturedYear override fun getAvailabilityStatus(): Int = if (!year.isNullOrEmpty()) AVAILABLE else UNSUPPORTED_ON_DEVICE diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt index d32ad7b9390..c7949bcddad 100644 --- a/src/com/android/settings/overlay/FeatureFactory.kt +++ b/src/com/android/settings/overlay/FeatureFactory.kt @@ -152,7 +152,7 @@ abstract class FeatureFactory { /** Returns a factory for creating feature controllers. */ @JvmStatic - val factory: FeatureFactory + val featureFactory: FeatureFactory get() = _factory ?: throw UnsupportedOperationException("No feature factory configured") private var _appContext: Context? = null @@ -171,13 +171,13 @@ abstract class FeatureFactory { /** Returns a factory for creating feature controllers. */ @Deprecated( - "Replace with factory without Context", + "Replace with featureFactory without Context", ReplaceWith( - "factory", - "com.android.settings.overlay.FeatureFactory.Companion.factory", + "featureFactory", + "com.android.settings.overlay.FeatureFactory.Companion.featureFactory", ) ) @JvmStatic - fun getFactory(context: Context?): FeatureFactory = factory + fun getFactory(context: Context?): FeatureFactory = featureFactory } } diff --git a/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt b/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt index 088680d9a0c..c9ad4229e53 100644 --- a/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt +++ b/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt @@ -18,6 +18,7 @@ package com.android.settings.spa.app.appinfo import android.app.settings.SettingsEnums import android.content.pm.ApplicationInfo +import android.widget.Toast import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Add import androidx.compose.runtime.Composable @@ -25,14 +26,13 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.rememberCoroutineScope import com.android.settings.R import com.android.settings.applications.manageapplications.CloneBackend -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider.getRoute import com.android.settingslib.spa.framework.compose.LocalNavController import com.android.settingslib.spa.widget.button.ActionButton import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import android.widget.Toast; class AppCreateButton(packageInfoPresenter: PackageInfoPresenter) { private val context = packageInfoPresenter.context @@ -54,7 +54,7 @@ class AppCreateButton(packageInfoPresenter: PackageInfoPresenter) { ) { val cloneBackend = CloneBackend.getInstance(context) - FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, + featureFactory.metricsFeatureProvider.action(context, SettingsEnums.ACTION_CREATE_CLONE_APP) val appLabel = app.loadLabel(context.packageManager) Toast.makeText(context, context.getString(R.string.cloned_app_creation_toast_summary, diff --git a/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt b/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt index a41a6971920..aebbdd9995f 100644 --- a/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt +++ b/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt @@ -25,7 +25,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import com.android.settings.R import com.android.settings.Utils -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spa.widget.button.ActionButton import com.android.settingslib.spa.widget.dialog.AlertDialogButton import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter @@ -43,8 +43,7 @@ class AppDisableButton( private val packageManager = context.packageManager private val userManager = context.userManager private val devicePolicyManager = context.devicePolicyManager - private val applicationFeatureProvider = - FeatureFactory.getFactory(context).getApplicationFeatureProvider(context) + private val applicationFeatureProvider = featureFactory.getApplicationFeatureProvider(context) @Composable fun getActionButton(app: ApplicationInfo): ActionButton? { diff --git a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt index 09957ca05a5..51bb8a92c31 100644 --- a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt @@ -27,9 +27,9 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import com.android.settings.R -import com.android.settings.overlay.FeatureFactory import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.model.app.resolveActionForApp @@ -78,7 +78,7 @@ private class AppSettingsPresenter( } private fun startActivity(activityInfo: ActivityInfo) { - FeatureFactory.getFactory(context).metricsFeatureProvider.action( + featureFactory.metricsFeatureProvider.action( SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_OPEN_APP_SETTING, AppInfoSettingsProvider.METRICS_CATEGORY, diff --git a/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt b/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt index 1ef893603c0..0f168fc057b 100644 --- a/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt +++ b/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.lifecycle.liveData import com.android.settings.R -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel @@ -60,8 +60,7 @@ private class AppTimeSpentPresenter( private val intent = Intent(Settings.ACTION_APP_USAGE_SETTINGS).apply { putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName) } - private val appFeatureProvider = FeatureFactory.getFactory(context) - .getApplicationFeatureProvider(context) + private val appFeatureProvider = featureFactory.getApplicationFeatureProvider(context) fun isAvailable() = context.packageManager.queryIntentActivitiesAsUser( intent, ResolveInfoFlags.of(0), app.userId diff --git a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt index 52c8ad7b160..099a274d478 100644 --- a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt +++ b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt @@ -25,7 +25,7 @@ import android.content.pm.PackageManager import android.os.UserHandle import android.util.Log import androidx.compose.runtime.Composable -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settings.spa.app.startUninstallActivity import com.android.settingslib.spa.framework.compose.LocalNavController import com.android.settingslib.spaprivileged.framework.common.activityManager @@ -51,7 +51,7 @@ class PackageInfoPresenter( private val coroutineScope: CoroutineScope, private val packageManagers: IPackageManagers = PackageManagers, ) { - private val metricsFeatureProvider = FeatureFactory.getFactory(context).metricsFeatureProvider + private val metricsFeatureProvider = featureFactory.metricsFeatureProvider private val userHandle = UserHandle.of(userId) val userContext by lazy { context.asUser(userHandle) } val userPackageManager: PackageManager by lazy { userContext.packageManager } diff --git a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt index 527c6d9bb96..d8d51eb54dc 100644 --- a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt +++ b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt @@ -26,7 +26,7 @@ import android.os.PowerExemptionManager import androidx.compose.runtime.Composable import androidx.compose.runtime.livedata.observeAsState import com.android.settings.R -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.IPackageManagers @@ -91,7 +91,7 @@ class AlarmsAndRemindersAppListModel( } private fun logPermissionChange(newAllowed: Boolean) { - FeatureFactory.getFactory(context).metricsFeatureProvider.action( + featureFactory.metricsFeatureProvider.action( SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_ALARMS_AND_REMINDERS_TOGGLE, SettingsEnums.ALARMS_AND_REMINDERS, diff --git a/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt b/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt index 16520fad635..d82045d17b4 100644 --- a/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt +++ b/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt @@ -21,7 +21,7 @@ import android.app.AppOpsManager import android.app.settings.SettingsEnums import android.content.Context import com.android.settings.R -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider @@ -49,6 +49,6 @@ class AllFilesAccessListModel(context: Context) : AppOpPermissionListModel(conte newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_ALLOW else -> SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_DENY } - FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "") + featureFactory.metricsFeatureProvider.action(context, category, "") } } diff --git a/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt b/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt index 7812675dbe9..26d74518411 100644 --- a/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt +++ b/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt @@ -21,7 +21,7 @@ import android.app.AppOpsManager import android.app.settings.SettingsEnums import android.content.Context import com.android.settings.R -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider @@ -48,6 +48,6 @@ class DisplayOverOtherAppsListModel(context: Context) : AppOpPermissionListModel newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_ALLOW else -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_DENY } - FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "") + featureFactory.metricsFeatureProvider.action(context, category, "") } } diff --git a/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt b/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt index e8935e64819..3e3457c2018 100644 --- a/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt +++ b/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt @@ -21,7 +21,7 @@ import android.app.AppOpsManager import android.app.settings.SettingsEnums import android.content.Context import com.android.settings.R -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider @@ -45,7 +45,7 @@ class MediaManagementAppsListModel(context: Context) : AppOpPermissionListModel( } private fun logPermissionChange(newAllowed: Boolean) { - FeatureFactory.getFactory(context).metricsFeatureProvider.action( + featureFactory.metricsFeatureProvider.action( SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_MEDIA_MANAGEMENT_APPS_TOGGLE, SettingsEnums.MEDIA_MANAGEMENT_APPS, diff --git a/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt b/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt index 668cc8cc129..4ab7f52cc29 100644 --- a/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt +++ b/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt @@ -21,7 +21,7 @@ import android.app.AppOpsManager import android.app.settings.SettingsEnums import android.content.Context import com.android.settings.R -import com.android.settings.overlay.FeatureFactory +import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider @@ -48,6 +48,6 @@ class ModifySystemSettingsListModel(context: Context) : AppOpPermissionListModel newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW else -> SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY } - FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "") + featureFactory.metricsFeatureProvider.action(context, category, "") } } \ No newline at end of file