Loading src/com/android/settings/datausage/lib/AppPreferenceRepository.kt +6 −3 Original line number Diff line number Diff line Loading @@ -19,10 +19,13 @@ package com.android.settings.datausage.lib import android.content.Context import android.content.pm.PackageManager import android.os.UserHandle import android.util.IconDrawableFactory import androidx.preference.Preference import com.android.settingslib.Utils class AppPreferenceRepository(private val context: Context) { class AppPreferenceRepository( private val context: Context, private val iconDrawableFactory: IconDrawableFactory = IconDrawableFactory.newInstance(context), ) { private val packageManager = context.packageManager fun loadAppPreferences(uids: List<Int>): List<Preference> = uids.flatMap { uid -> Loading @@ -38,7 +41,7 @@ class AppPreferenceRepository(private val context: Context) { private fun getPreference(packageName: String, userId: Int): Preference? = try { val app = packageManager.getApplicationInfoAsUser(packageName, 0, userId) Preference(context).apply { icon = Utils.getBadgedIcon(context, app) icon = iconDrawableFactory.getBadgedIcon(app) title = app.loadLabel(packageManager) isSelectable = false } Loading tests/spa_unit/src/com/android/settings/datausage/lib/AppPreferenceRepositoryTest.kt +7 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.graphics.drawable.Drawable import android.os.UserHandle import android.util.IconDrawableFactory import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat Loading @@ -43,7 +44,9 @@ class AppPreferenceRepositoryTest { on { packageManager } doReturn packageManager } private val repository = AppPreferenceRepository(context) private val mockIconDrawableFactory = mock<IconDrawableFactory>() private val repository = AppPreferenceRepository(context, mockIconDrawableFactory) @Test fun loadAppPreferences_packageNotFound_returnEmpty() { Loading @@ -61,9 +64,11 @@ class AppPreferenceRepositoryTest { @Test fun loadAppPreferences_packageFound_returnPreference() { val app = mock<ApplicationInfo> { on { loadUnbadgedIcon(any()) } doReturn UNBADGED_ICON on { loadLabel(any()) } doReturn LABEL } mockIconDrawableFactory.stub { on { getBadgedIcon(app) } doReturn UNBADGED_ICON } packageManager.stub { on { getApplicationInfoAsUser(PACKAGE_NAME, 0, UserHandle.getUserId(UID)) Loading Loading
src/com/android/settings/datausage/lib/AppPreferenceRepository.kt +6 −3 Original line number Diff line number Diff line Loading @@ -19,10 +19,13 @@ package com.android.settings.datausage.lib import android.content.Context import android.content.pm.PackageManager import android.os.UserHandle import android.util.IconDrawableFactory import androidx.preference.Preference import com.android.settingslib.Utils class AppPreferenceRepository(private val context: Context) { class AppPreferenceRepository( private val context: Context, private val iconDrawableFactory: IconDrawableFactory = IconDrawableFactory.newInstance(context), ) { private val packageManager = context.packageManager fun loadAppPreferences(uids: List<Int>): List<Preference> = uids.flatMap { uid -> Loading @@ -38,7 +41,7 @@ class AppPreferenceRepository(private val context: Context) { private fun getPreference(packageName: String, userId: Int): Preference? = try { val app = packageManager.getApplicationInfoAsUser(packageName, 0, userId) Preference(context).apply { icon = Utils.getBadgedIcon(context, app) icon = iconDrawableFactory.getBadgedIcon(app) title = app.loadLabel(packageManager) isSelectable = false } Loading
tests/spa_unit/src/com/android/settings/datausage/lib/AppPreferenceRepositoryTest.kt +7 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.graphics.drawable.Drawable import android.os.UserHandle import android.util.IconDrawableFactory import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat Loading @@ -43,7 +44,9 @@ class AppPreferenceRepositoryTest { on { packageManager } doReturn packageManager } private val repository = AppPreferenceRepository(context) private val mockIconDrawableFactory = mock<IconDrawableFactory>() private val repository = AppPreferenceRepository(context, mockIconDrawableFactory) @Test fun loadAppPreferences_packageNotFound_returnEmpty() { Loading @@ -61,9 +64,11 @@ class AppPreferenceRepositoryTest { @Test fun loadAppPreferences_packageFound_returnPreference() { val app = mock<ApplicationInfo> { on { loadUnbadgedIcon(any()) } doReturn UNBADGED_ICON on { loadLabel(any()) } doReturn LABEL } mockIconDrawableFactory.stub { on { getBadgedIcon(app) } doReturn UNBADGED_ICON } packageManager.stub { on { getApplicationInfoAsUser(PACKAGE_NAME, 0, UserHandle.getUserId(UID)) Loading