Merge changes from topic "b361144180-PreferenceControllerMixin" into main

* changes:
  Move ListAddMode PrefController key to constructor
  ZenModesListAdd extend BasePreferenceContoller
This commit is contained in:
Treehugger Robot
2024-09-17 17:28:27 +00:00
committed by Android (Google) Code Review
3 changed files with 12 additions and 16 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.notification.modes;
import android.app.Flags;
import android.app.NotificationManager;
import android.content.ComponentName;
import android.content.Context;
@@ -33,8 +34,8 @@ import androidx.annotation.WorkerThread;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.Utils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -49,8 +50,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Function;
class ZenModesListAddModePreferenceController extends AbstractPreferenceController {
class ZenModesListAddModePreferenceController extends BasePreferenceController {
private final ZenServiceListing mServiceListing;
private final OnAddModeListener mOnAddModeListener;
@@ -68,8 +68,9 @@ class ZenModesListAddModePreferenceController extends AbstractPreferenceControll
void onAvailableModeTypesForAdd(List<ModeType> types);
}
ZenModesListAddModePreferenceController(Context context, OnAddModeListener onAddModeListener) {
this(context, onAddModeListener, new ZenServiceListing(context),
ZenModesListAddModePreferenceController(Context context, String key,
OnAddModeListener onAddModeListener) {
this(context, key, onAddModeListener, new ZenServiceListing(context),
new ConfigurationActivityHelper(context.getPackageManager()),
context.getSystemService(NotificationManager.class), context.getPackageManager(),
applicationInfo -> Utils.getBadgedIcon(context, applicationInfo),
@@ -77,13 +78,13 @@ class ZenModesListAddModePreferenceController extends AbstractPreferenceControll
}
@VisibleForTesting
ZenModesListAddModePreferenceController(Context context,
ZenModesListAddModePreferenceController(Context context, String key,
OnAddModeListener onAddModeListener, ZenServiceListing serviceListing,
ConfigurationActivityHelper configurationActivityHelper,
NotificationManager notificationManager, PackageManager packageManager,
Function<ApplicationInfo, Drawable> appIconRetriever,
ExecutorService backgroundExecutor, Executor uiThreadExecutor) {
super(context);
super(context, key);
mOnAddModeListener = onAddModeListener;
mServiceListing = serviceListing;
mConfigurationActivityHelper = configurationActivityHelper;
@@ -95,13 +96,8 @@ class ZenModesListAddModePreferenceController extends AbstractPreferenceControll
}
@Override
public boolean isAvailable() {
return true;
}
@Override
public String getPreferenceKey() {
return "add_mode";
public int getAvailabilityStatus() {
return Flags.modesUi() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override

View File

@@ -58,7 +58,7 @@ public class ZenModesListFragment extends ZenModesFragmentBase {
ZenModesBackend backend, OnAddModeListener onAddModeListener) {
return ImmutableList.of(
new ZenModesListPreferenceController(context, backend, ZenIconLoader.getInstance()),
new ZenModesListAddModePreferenceController(context, onAddModeListener)
new ZenModesListAddModePreferenceController(context, "add_mode", onAddModeListener)
);
}

View File

@@ -85,7 +85,7 @@ public class ZenModesListAddModePreferenceControllerTest {
mContext = RuntimeEnvironment.getApplication();
Function<ApplicationInfo, Drawable> appIconRetriever = appInfo -> new ColorDrawable();
mController = new ZenModesListAddModePreferenceController(mContext, mListener,
mController = new ZenModesListAddModePreferenceController(mContext, "add_mode", mListener,
mZenServiceListing, mConfigurationActivityHelper, mNm, mPm, appIconRetriever,
MoreExecutors.newDirectExecutorService(), MoreExecutors.directExecutor());