Loading src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt +7 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums import android.content.Context import android.content.Intent import android.content.IntentFilter import android.content.pm.FeatureFlags import android.content.pm.FeatureFlagsImpl import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.UserHandle Loading Loading @@ -50,6 +52,7 @@ class PackageInfoPresenter( val userId: Int, private val coroutineScope: CoroutineScope, private val packageManagers: IPackageManagers = PackageManagers, private val featureFlags: FeatureFlags = FeatureFlagsImpl(), ) { private val metricsFeatureProvider = featureFactory.metricsFeatureProvider private val userHandle = UserHandle.of(userId) Loading Loading @@ -141,9 +144,10 @@ class PackageInfoPresenter( private fun getPackageInfo() = packageManagers.getPackageInfoAsUser( packageName = packageName, flags = PackageManager.MATCH_ANY_USER or PackageManager.MATCH_DISABLED_COMPONENTS or PackageManager.GET_PERMISSIONS, flags = PackageManager.MATCH_ANY_USER.toLong() or PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or PackageManager.GET_PERMISSIONS.toLong() or if (featureFlags.archiving()) PackageManager.MATCH_ARCHIVED_PACKAGES else 0, userId = userId, ) } tests/spa_unit/src/com/android/settings/spa/app/appinfo/PackageInfoPresenterTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.app.ActivityManager import android.app.settings.SettingsEnums import android.content.Context import android.content.Intent import android.content.pm.FakeFeatureFlagsImpl import android.content.pm.Flags import android.content.pm.PackageManager import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 Loading Loading @@ -155,6 +157,41 @@ class PackageInfoPresenterTest { verifyAction(123) } @Test fun reloadPackageInfo_archivingDisabled() = runTest { coroutineScope { val fakeFeatureFlags = FakeFeatureFlagsImpl() fakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, false) val packageInfoPresenter = PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers, fakeFeatureFlags) packageInfoPresenter.reloadPackageInfo() } val flags = PackageManager.MATCH_ANY_USER.toLong() or PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or PackageManager.GET_PERMISSIONS.toLong() verify(packageManagers).getPackageInfoAsUser(PACKAGE_NAME, flags, USER_ID) } @Test fun reloadPackageInfo_archivingEnabled() = runTest { coroutineScope { val fakeFeatureFlags = FakeFeatureFlagsImpl() fakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, true) val packageInfoPresenter = PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers, fakeFeatureFlags) packageInfoPresenter.reloadPackageInfo() } val flags = PackageManager.MATCH_ANY_USER.toLong() or PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or PackageManager.GET_PERMISSIONS.toLong() or PackageManager.MATCH_ARCHIVED_PACKAGES verify(packageManagers).getPackageInfoAsUser(PACKAGE_NAME, flags, USER_ID) } private fun verifyAction(category: Int) { verify(metricsFeatureProvider).action(context, category, PACKAGE_NAME) } Loading Loading
src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt +7 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums import android.content.Context import android.content.Intent import android.content.IntentFilter import android.content.pm.FeatureFlags import android.content.pm.FeatureFlagsImpl import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.UserHandle Loading Loading @@ -50,6 +52,7 @@ class PackageInfoPresenter( val userId: Int, private val coroutineScope: CoroutineScope, private val packageManagers: IPackageManagers = PackageManagers, private val featureFlags: FeatureFlags = FeatureFlagsImpl(), ) { private val metricsFeatureProvider = featureFactory.metricsFeatureProvider private val userHandle = UserHandle.of(userId) Loading Loading @@ -141,9 +144,10 @@ class PackageInfoPresenter( private fun getPackageInfo() = packageManagers.getPackageInfoAsUser( packageName = packageName, flags = PackageManager.MATCH_ANY_USER or PackageManager.MATCH_DISABLED_COMPONENTS or PackageManager.GET_PERMISSIONS, flags = PackageManager.MATCH_ANY_USER.toLong() or PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or PackageManager.GET_PERMISSIONS.toLong() or if (featureFlags.archiving()) PackageManager.MATCH_ARCHIVED_PACKAGES else 0, userId = userId, ) }
tests/spa_unit/src/com/android/settings/spa/app/appinfo/PackageInfoPresenterTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import android.app.ActivityManager import android.app.settings.SettingsEnums import android.content.Context import android.content.Intent import android.content.pm.FakeFeatureFlagsImpl import android.content.pm.Flags import android.content.pm.PackageManager import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 Loading Loading @@ -155,6 +157,41 @@ class PackageInfoPresenterTest { verifyAction(123) } @Test fun reloadPackageInfo_archivingDisabled() = runTest { coroutineScope { val fakeFeatureFlags = FakeFeatureFlagsImpl() fakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, false) val packageInfoPresenter = PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers, fakeFeatureFlags) packageInfoPresenter.reloadPackageInfo() } val flags = PackageManager.MATCH_ANY_USER.toLong() or PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or PackageManager.GET_PERMISSIONS.toLong() verify(packageManagers).getPackageInfoAsUser(PACKAGE_NAME, flags, USER_ID) } @Test fun reloadPackageInfo_archivingEnabled() = runTest { coroutineScope { val fakeFeatureFlags = FakeFeatureFlagsImpl() fakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, true) val packageInfoPresenter = PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers, fakeFeatureFlags) packageInfoPresenter.reloadPackageInfo() } val flags = PackageManager.MATCH_ANY_USER.toLong() or PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or PackageManager.GET_PERMISSIONS.toLong() or PackageManager.MATCH_ARCHIVED_PACKAGES verify(packageManagers).getPackageInfoAsUser(PACKAGE_NAME, flags, USER_ID) } private fun verifyAction(category: Int) { verify(metricsFeatureProvider).action(context, category, PACKAGE_NAME) } Loading