Make ZenIconLoader injectable (in SystemUI)

In settings, reduce calls to getInstance(), and pass it to preferences and their controllers instead.

Bug: 360399800
Test: atest ZenModesListItemPreferenceTest ZenModesListPreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: I318320575e3bd32b5d13a385fa644f8032484e1c
This commit is contained in:
Matías Hernández
2024-08-26 15:42:58 +02:00
parent 23513bf7fe
commit 227548d927
10 changed files with 59 additions and 30 deletions

View File

@@ -24,14 +24,16 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.notification.modes.ZenIconLoader;
import com.android.settingslib.notification.modes.ZenMode;
/** Controller used for displaying the currently-chosen icon at the top of the icon picker. */
class ZenModeIconPickerIconPreferenceController extends AbstractZenModeHeaderController {
ZenModeIconPickerIconPreferenceController(@NonNull Context context, @NonNull String key,
ZenModeIconPickerIconPreferenceController(@NonNull Context context,
@NonNull ZenIconLoader iconLoader, @NonNull String key,
@NonNull DashboardFragment fragment) {
super(context, key, fragment);
super(context, iconLoader, key, fragment);
}
@Override