Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6aaa5c8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make ZenIconLoader injectable (in SystemUI)" into main

parents 6faaf802 227548d9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -43,15 +43,18 @@ import java.util.function.Function;
abstract class AbstractZenModeHeaderController extends AbstractZenModePreferenceController {

    private final DashboardFragment mFragment;
    private final ZenIconLoader mIconLoader;
    private EntityHeaderController mHeaderController;
    @Nullable private ZenIcon.Key mCurrentIconKey;

    AbstractZenModeHeaderController(
            @NonNull Context context,
            @NonNull ZenIconLoader iconLoader,
            @NonNull String key,
            @NonNull DashboardFragment fragment) {
        super(context, key);
        mFragment = fragment;
        mIconLoader = iconLoader;
    }

    @Override
@@ -90,7 +93,7 @@ abstract class AbstractZenModeHeaderController extends AbstractZenModePreference
        if (!Objects.equal(mCurrentIconKey, zenMode.getIconKey())) {
            mCurrentIconKey = zenMode.getIconKey();
            FutureUtil.whenDone(
                    ZenIconLoader.getInstance().getIcon(mContext, zenMode),
                    mIconLoader.getIcon(mContext, zenMode),
                    icon -> {
                        checkNotNull(mHeaderController)
                                .setIcon(iconStylist.apply(icon.drawable()))
+3 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.notification.modes.ZenIconLoader;
import com.android.settingslib.notification.modes.ZenMode;
import com.android.settingslib.notification.modes.ZenModesBackend;

@@ -102,7 +103,8 @@ public abstract class ZenModeEditNameIconFragmentBase extends DashboardFragment
    protected final List<AbstractPreferenceController> createPreferenceControllers(
            Context context) {
        return ImmutableList.of(
                new ZenModeIconPickerIconPreferenceController(context, "chosen_icon", this),
                new ZenModeIconPickerIconPreferenceController(context, ZenIconLoader.getInstance(),
                        "chosen_icon", this),
                new ZenModeEditNamePreferenceController(context, "name", this::setModeName),
                new ZenModeIconPickerListPreferenceController(context, "icon_list",
                        this::setModeIcon),
+3 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import androidx.core.view.MenuProvider;

import com.android.settings.R;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.notification.modes.ZenIconLoader;
import com.android.settingslib.notification.modes.ZenMode;

import java.util.ArrayList;
@@ -54,7 +55,8 @@ public class ZenModeFragment extends ZenModeFragmentBase {
    @Override
    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
        List<AbstractPreferenceController> prefControllers = new ArrayList<>();
        prefControllers.add(new ZenModeHeaderController(context, "header", this));
        prefControllers.add(
                new ZenModeHeaderController(context, ZenIconLoader.getInstance(), "header", this));
        prefControllers.add(new ZenModeBlurbPreferenceController(context, "mode_blurb"));
        prefControllers.add(
                new ZenModeButtonPreferenceController(context, "activate", this, mBackend));
+4 −5
Original line number Diff line number Diff line
@@ -23,15 +23,14 @@ 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;

class ZenModeHeaderController extends AbstractZenModeHeaderController {

    ZenModeHeaderController(
            @NonNull  Context context,
            @NonNull String key,
            @NonNull DashboardFragment fragment) {
        super(context, key, fragment);
    ZenModeHeaderController(@NonNull Context context, @NonNull ZenIconLoader iconLoader,
            @NonNull String key, @NonNull DashboardFragment fragment) {
        super(context, iconLoader, key, fragment);
    }

    @Override
+4 −2
Original line number Diff line number Diff line
@@ -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
Loading