Use IconDrawableFactory in AppPreferenceRepository

Bug: 314757827
Test: manual - on AppDataUsage
Test: unit test
Change-Id: Ica559ce044ebddfa8bc3ce994f9266ea1aabbe84
This commit is contained in:
Chaohui Wang
2023-12-05 14:56:47 +08:00
parent bbbd0e640a
commit 015a98ac38
2 changed files with 13 additions and 5 deletions

View File

@@ -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 ->
@@ -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
}