From cc2133ba8e06b87426bcd992c376bb823ec3e878 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Mon, 21 Aug 2023 13:51:07 +0800 Subject: [PATCH] Clean up unused fields from EntityHeaderController Bug: 295260929 Test: manual - on pages with header Test: robo test Change-Id: Icebd63dbb5d3d44b4b46d3bececb8b65b30b4883 --- .../AccountHeaderPreferenceController.java | 2 +- .../accounts/AccountSyncSettings.java | 3 +- .../applications/AppInfoWithHeader.java | 3 +- .../applications/ProcessStatsDetail.java | 3 +- .../AppHeaderViewPreferenceController.java | 3 +- .../appinfo/AppLocaleDetails.java | 3 +- .../intentpicker/AppLaunchSettings.java | 3 +- .../HeaderPreferenceController.java | 3 +- .../BluetoothDetailsHeaderController.java | 11 ++----- .../BluetoothDeviceDetailsFragment.java | 2 +- .../usb/UsbDetailsHeaderController.java | 2 +- .../settings/datausage/AppDataUsage.java | 3 +- .../DataUsageSummaryPreferenceController.java | 3 -- .../AdbDeviceDetailsHeaderController.java | 2 +- .../aboutphone/MyDeviceInfoFragment.java | 3 +- .../fuelgauge/AdvancedPowerUsageDetail.java | 3 +- .../BatteryHeaderPreferenceController.java | 9 +----- .../batteryusage/PowerUsageSummary.java | 1 - ...onversationHeaderPreferenceController.java | 3 +- .../app/HeaderPreferenceController.java | 4 +-- ...tomaticRuleHeaderPreferenceController.java | 2 +- .../widget/EntityHeaderController.java | 29 +++-------------- .../WifiDetailPreferenceController2.java | 7 ++-- .../BluetoothDetailsHeaderControllerTest.java | 5 ++- .../usb/UsbDetailsHeaderControllerTest.java | 2 +- .../settings/datausage/AppDataUsageTest.java | 1 - ...aUsageSummaryPreferenceControllerTest.java | 26 --------------- .../AdvancedPowerUsageDetailTest.java | 4 --- ...BatteryHeaderPreferenceControllerTest.java | 1 - .../widget/EntityHeaderControllerTest.java | 32 ++++++++----------- .../WifiDetailPreferenceController2Test.java | 2 -- 31 files changed, 44 insertions(+), 136 deletions(-) diff --git a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java index 11fcaffb706..b466d2bbab5 100644 --- a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java +++ b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java @@ -95,6 +95,6 @@ public class AccountHeaderPreferenceController extends AbstractPreferenceControl .newInstance(mActivity, mHost, mHeaderPreference.findViewById(R.id.entity_header)) .setLabel(mAccount.name) .setIcon(helper.getDrawableForType(mContext, mAccount.type)) - .done(mActivity, true /* rebindButtons */); + .done(true /* rebindButtons */); } } diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index 83f89d8a135..80056a87d85 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -140,11 +140,10 @@ public class AccountSyncSettings extends AccountPreferenceBase { final Activity activity = getActivity(); final Preference pref = EntityHeaderController .newInstance(activity, this, null /* header */) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setIcon(getDrawableForType(mAccount.type)) .setLabel(mAccount.name) .setSummary(getLabelForType(mAccount.type)) - .done(activity, getPrefContext()); + .done(getPrefContext()); pref.setOrder(0); getPreferenceScreen().addPreference(pref); if (savedInstanceState != null && savedInstanceState.containsKey(UID_REQUEST_KEY)) { diff --git a/src/com/android/settings/applications/AppInfoWithHeader.java b/src/com/android/settings/applications/AppInfoWithHeader.java index 7bf9f6460ac..8645628863e 100644 --- a/src/com/android/settings/applications/AppInfoWithHeader.java +++ b/src/com/android/settings/applications/AppInfoWithHeader.java @@ -46,7 +46,6 @@ public abstract class AppInfoWithHeader extends AppInfoBase { final Activity activity = getActivity(); final Preference pref = EntityHeaderController .newInstance(activity, this, null /* header */) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setIcon(Utils.getBadgedIcon(getContext(), mPackageInfo.applicationInfo)) .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm)) .setSummary(mPackageInfo) @@ -55,7 +54,7 @@ public abstract class AppInfoWithHeader extends AppInfoBase { .setUid(mPackageInfo.applicationInfo.uid) .setHasAppInfoLink(true) .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE) - .done(activity, getPrefContext()); + .done(getPrefContext()); getPreferenceScreen().addPreference(pref); } } diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java index 266c1951301..de21a46a9b2 100644 --- a/src/com/android/settings/applications/ProcessStatsDetail.java +++ b/src/com/android/settings/applications/ProcessStatsDetail.java @@ -129,7 +129,6 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment { final Activity activity = getActivity(); final Preference pref = EntityHeaderController .newInstance(activity, this, null /* appHeader */) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setIcon(mApp.mUiTargetApp != null ? IconDrawableFactory.newInstance(activity).getBadgedIcon(mApp.mUiTargetApp) : new ColorDrawable(0)) @@ -140,7 +139,7 @@ public class ProcessStatsDetail extends SettingsPreferenceFragment { : UserHandle.USER_NULL) .setHasAppInfoLink(true) .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE) - .done(activity, getPrefContext()); + .done(getPrefContext()); getPreferenceScreen().addPreference(pref); } diff --git a/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java b/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java index 285493a16c9..554208769e3 100644 --- a/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java @@ -66,7 +66,6 @@ public class AppHeaderViewPreferenceController extends BasePreferenceController final Activity activity = mParent.getActivity(); mEntityHeaderController = EntityHeaderController .newInstance(activity, mParent, mHeader.findViewById(R.id.entity_header)) - .setRecyclerView(mParent.getListView(), mLifecycle) .setPackageName(mPackageName) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE) @@ -86,6 +85,6 @@ public class AppHeaderViewPreferenceController extends BasePreferenceController .setLabel(appEntry) .setIcon(appEntry) .setIsInstantApp(isInstantApp) - .done(activity, false /* rebindActions */); + .done(false /* rebindActions */); } } diff --git a/src/com/android/settings/applications/appinfo/AppLocaleDetails.java b/src/com/android/settings/applications/appinfo/AppLocaleDetails.java index 6144a73821c..1e7ca1e5802 100644 --- a/src/com/android/settings/applications/appinfo/AppLocaleDetails.java +++ b/src/com/android/settings/applications/appinfo/AppLocaleDetails.java @@ -137,7 +137,6 @@ public class AppLocaleDetails extends SettingsPreferenceFragment { final Activity activity = getActivity(); final Preference pref = EntityHeaderController .newInstance(activity, this, null /* header */) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setIcon(Utils.getBadgedIcon(getContext(), mApplicationInfo)) .setLabel(mApplicationInfo.loadLabel(getContext().getPackageManager())) .setIsInstantApp(AppUtils.isInstant(mApplicationInfo)) @@ -146,7 +145,7 @@ public class AppLocaleDetails extends SettingsPreferenceFragment { .setHasAppInfoLink(true) .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE) .setOrder(10) - .done(activity, getPrefContext()); + .done(getPrefContext()); getPreferenceScreen().addPreference(pref); } diff --git a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java index cc662aad2e9..cebb4f78689 100644 --- a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java +++ b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java @@ -200,7 +200,6 @@ public class AppLaunchSettings extends AppInfoBase implements final String summary = activity.getString(R.string.app_launch_top_intro_message); final Preference pref = EntityHeaderController .newInstance(activity, this, null /* header */) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setIcon(Utils.getBadgedIcon(mContext, mPackageInfo.applicationInfo)) .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm)) .setSummary(summary) // add intro text @@ -210,7 +209,7 @@ public class AppLaunchSettings extends AppInfoBase implements .setHasAppInfoLink(true) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE) - .done(activity, getPrefContext()); + .done(getPrefContext()); getPreferenceScreen().addPreference(pref); } diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java index 8ccf7ed7eef..b63626467ea 100644 --- a/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java +++ b/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java @@ -109,7 +109,6 @@ public class HeaderPreferenceController extends BasePreferenceController mHeaderController = EntityHeaderController.newInstance( mFragment.getActivity(), mFragment, pref.findViewById(R.id.entity_header)); pref = mHeaderController - .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle()) .setIcon(IconDrawableFactory.newInstance(mFragment.getActivity()) .getBadgedIcon(mPackageInfo.applicationInfo)) .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm)) @@ -122,7 +121,7 @@ public class HeaderPreferenceController extends BasePreferenceController .setHasAppInfoLink(true) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE) - .done(mFragment.getActivity(), mContext); + .done(mContext); pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE); } } diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java index 8f90b284392..5ffa8cf78da 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java @@ -29,8 +29,6 @@ import com.android.settings.R; import com.android.settings.widget.EntityHeaderController; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; -import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; -import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.widget.LayoutPreference; @@ -41,15 +39,10 @@ public class BluetoothDetailsHeaderController extends BluetoothDetailsController private static final String KEY_DEVICE_HEADER = "bluetooth_device_header"; private EntityHeaderController mHeaderController; - private LocalBluetoothManager mLocalManager; - private CachedBluetoothDeviceManager mDeviceManager; public BluetoothDetailsHeaderController(Context context, PreferenceFragmentCompat fragment, - CachedBluetoothDevice device, Lifecycle lifecycle, - LocalBluetoothManager bluetoothManager) { + CachedBluetoothDevice device, Lifecycle lifecycle) { super(context, fragment, device, lifecycle); - mLocalManager = bluetoothManager; - mDeviceManager = mLocalManager.getCachedDeviceManager(); } @Override @@ -87,7 +80,7 @@ public class BluetoothDetailsHeaderController extends BluetoothDetailsController protected void refresh() { if (isAvailable()) { setHeaderProperties(); - mHeaderController.done(mFragment.getActivity(), true /* rebindActions */); + mHeaderController.done(true /* rebindActions */); } } diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index f9afa5bbf03..bf8ed776de0 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -295,7 +295,7 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment if (mCachedDevice != null) { Lifecycle lifecycle = getSettingsLifecycle(); controllers.add(new BluetoothDetailsHeaderController(context, this, mCachedDevice, - lifecycle, mManager)); + lifecycle)); controllers.add(new BluetoothDetailsButtonsController(context, this, mCachedDevice, lifecycle)); controllers.add(new BluetoothDetailsCompanionAppsController(context, this, diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java index e151258c48a..39d7c751758 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java @@ -50,7 +50,7 @@ public class UsbDetailsHeaderController extends UsbDetailsController { protected void refresh(boolean connected, long functions, int powerRole, int dataRole) { mHeaderController.setLabel(mContext.getString(R.string.usb_pref)); mHeaderController.setIcon(mContext.getDrawable(R.drawable.ic_usb)); - mHeaderController.done(mFragment.getActivity(), true /* rebindActions */); + mHeaderController.done(true /* rebindActions */); } @Override diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java index e15ceade8dc..c14c01b3811 100644 --- a/src/com/android/settings/datausage/AppDataUsage.java +++ b/src/com/android/settings/datausage/AppDataUsage.java @@ -417,7 +417,6 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC final Activity activity = getActivity(); final Preference pref = EntityHeaderController .newInstance(activity, this, null /* header */) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setUid(uid) .setHasAppInfoLink(showInfoButton) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, @@ -425,7 +424,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC .setIcon(mIcon) .setLabel(mLabel) .setPackageName(pkg) - .done(activity, getPrefContext()); + .done(getPrefContext()); getPreferenceScreen().addPreference(pref); } diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java index a65e83233bb..26b921e5ec4 100644 --- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java +++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java @@ -33,7 +33,6 @@ import android.util.RecurrenceRule; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; -import androidx.recyclerview.widget.RecyclerView; import com.android.internal.util.CollectionUtils; import com.android.settings.R; @@ -162,8 +161,6 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc mEntityHeaderController = EntityHeaderController.newInstance((Activity) mContext, mFragment, null); } - RecyclerView view = mFragment.getListView(); - mEntityHeaderController.setRecyclerView(view, mLifecycle); } @VisibleForTesting diff --git a/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java b/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java index 7830bb978ae..1bb4f3cb355 100644 --- a/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java +++ b/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java @@ -82,7 +82,7 @@ public class AdbDeviceDetailsHeaderController extends AbstractPreferenceControll mEntityHeaderController .setIcon(mContext.getDrawable(com.android.internal.R.drawable.ic_bt_laptop)) .setLabel(mPairedDevice.name) - .done(mFragment.getActivity(), true); + .done(true); } } diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java index 5e5e2abce82..50b60973d5b 100644 --- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java +++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java @@ -183,7 +183,6 @@ public class MyDeviceInfoFragment extends DashboardFragment final Bundle bundle = getArguments(); final EntityHeaderController controller = EntityHeaderController .newInstance(context, this, headerView) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE); @@ -199,7 +198,7 @@ public class MyDeviceInfoFragment extends DashboardFragment com.android.settingslib.Utils.getUserIcon(getActivity(), userManager, info)); } - controller.done(context, true /* rebindActions */); + controller.done(true /* rebindActions */); } @Override diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 4ec1f7b6b21..994ad072357 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -316,7 +316,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final Bundle bundle = getArguments(); EntityHeaderController controller = EntityHeaderController .newInstance(context, this, appSnippet) - .setRecyclerView(getListView(), getSettingsLifecycle()) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE); @@ -337,7 +336,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements } controller.setSummary(getHeaderSummary(bundle)); - controller.done(context, true /* rebindActions */); + controller.done(true /* rebindActions */); } @VisibleForTesting diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java index d7f1f68886d..790ebc3da03 100644 --- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java @@ -35,7 +35,6 @@ import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.EntityHeaderController; import com.android.settingslib.Utils; -import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.widget.UsageProgressBarPreference; @@ -59,7 +58,6 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController private Activity mActivity; private PreferenceFragmentCompat mHost; - private Lifecycle mLifecycle; private BatteryTip mBatteryTip; private final PowerManager mPowerManager; @@ -78,10 +76,6 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController mHost = fragment; } - public void setLifecycle(Lifecycle lifecycle) { - mLifecycle = lifecycle; - } - @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); @@ -104,8 +98,7 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController @Override public void onStart() { - EntityHeaderController.newInstance(mActivity, mHost, null /* header view */) - .setRecyclerView(mHost.getListView(), mLifecycle); + EntityHeaderController.newInstance(mActivity, mHost, null /* header view */); } private CharSequence generateLabel(BatteryInfo info) { diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java index e93fb624186..3b9a1c9504e 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java @@ -142,7 +142,6 @@ public class PowerUsageSummary extends PowerUsageBase implements mBatteryHeaderPreferenceController = use(BatteryHeaderPreferenceController.class); mBatteryHeaderPreferenceController.setActivity(activity); mBatteryHeaderPreferenceController.setFragment(this); - mBatteryHeaderPreferenceController.setLifecycle(getSettingsLifecycle()); mBatteryTipPreferenceController = use(BatteryTipPreferenceController.class); mBatteryTipPreferenceController.setActivity(activity); diff --git a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java index 43b50c8bf15..2b2184e1053 100644 --- a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java +++ b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java @@ -89,8 +89,7 @@ public class ConversationHeaderPreferenceController extends NotificationPreferen .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE, EntityHeaderController.ActionType.ACTION_NONE) .setHasAppInfoLink(true) - .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle()) - .done(activity, mContext); + .done(mContext); pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE); pref.findViewById(R.id.entity_header).setBackground(null); diff --git a/src/com/android/settings/notification/app/HeaderPreferenceController.java b/src/com/android/settings/notification/app/HeaderPreferenceController.java index 7379d55395b..220e7b555f1 100644 --- a/src/com/android/settings/notification/app/HeaderPreferenceController.java +++ b/src/com/android/settings/notification/app/HeaderPreferenceController.java @@ -25,7 +25,6 @@ import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.view.View; -import androidx.annotation.VisibleForTesting; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; @@ -90,8 +89,7 @@ public class HeaderPreferenceController extends NotificationPreferenceController .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE, EntityHeaderController.ActionType.ACTION_NONE) .setHasAppInfoLink(true) - .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle()) - .done(activity, mContext); + .done(mContext); pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE); pref.findViewById(R.id.entity_header).setBackground(null); } diff --git a/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java b/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java index a0c33dfb4b8..95823febd6a 100644 --- a/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java @@ -76,7 +76,7 @@ public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModeP mController.setIcon(getIcon()) .setLabel(mRule.getName()) - .done(mFragment.getActivity(), false /* rebindActions */); + .done(false /* rebindActions */); } private Drawable getIcon() { diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java index bcd3f4be4f7..376bd223a77 100644 --- a/src/com/android/settings/widget/EntityHeaderController.java +++ b/src/com/android/settings/widget/EntityHeaderController.java @@ -38,13 +38,11 @@ import android.widget.TextView; import androidx.annotation.IntDef; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.RecyclerView; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.applications.ApplicationsState; -import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.widget.LayoutPreference; import java.lang.annotation.Retention; @@ -67,12 +65,9 @@ public class EntityHeaderController { private static final String TAG = "AppDetailFeature"; private final Context mAppContext; - private final Activity mActivity; private final Fragment mFragment; private final int mMetricsCategory; private final View mHeader; - private Lifecycle mLifecycle; - private RecyclerView mRecyclerView; private Drawable mIcon; private int mPrefOrder = -1000; private String mIconContentDescription; @@ -107,7 +102,6 @@ public class EntityHeaderController { } private EntityHeaderController(Activity activity, Fragment fragment, View header) { - mActivity = activity; mAppContext = activity.getApplicationContext(); mFragment = fragment; mMetricsCategory = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() @@ -121,12 +115,6 @@ public class EntityHeaderController { } } - public EntityHeaderController setRecyclerView(RecyclerView recyclerView, Lifecycle lifecycle) { - mRecyclerView = recyclerView; - mLifecycle = lifecycle; - return this; - } - /** * Set the icon in the header. Callers should also consider calling setIconContentDescription * to provide a description of this icon for accessibility purposes. @@ -181,13 +169,6 @@ public class EntityHeaderController { return this; } - public EntityHeaderController setSecondSummary(PackageInfo packageInfo) { - if (packageInfo != null) { - mSummary = packageInfo.versionName; - } - return this; - } - public EntityHeaderController setHasAppInfoLink(boolean hasAppInfoLink) { mHasAppInfoLink = hasAppInfoLink; return this; @@ -234,8 +215,8 @@ public class EntityHeaderController { /** * Done mutating entity header, rebinds everything and return a new {@link LayoutPreference}. */ - public LayoutPreference done(Activity activity, Context uiContext) { - final LayoutPreference pref = new LayoutPreference(uiContext, done(activity)); + public LayoutPreference done(Context uiContext) { + final LayoutPreference pref = new LayoutPreference(uiContext, done()); // Makes sure it's the first preference onscreen. pref.setOrder(mPrefOrder); pref.setSelectable(false); @@ -247,7 +228,7 @@ public class EntityHeaderController { /** * Done mutating entity header, rebinds everything (optionally skip rebinding buttons). */ - public View done(Activity activity, boolean rebindActions) { + public View done(boolean rebindActions) { ImageView iconView = mHeader.findViewById(R.id.entity_header_icon); if (iconView != null) { iconView.setImageDrawable(mIcon); @@ -303,8 +284,8 @@ public class EntityHeaderController { * Done mutating entity header, rebinds everything. */ @VisibleForTesting - View done(Activity activity) { - return done(activity, true /* rebindActions */); + View done() { + return done(true /* rebindActions */); } private void bindButton(ImageButton button, @ActionType int action) { diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java index 2e1bc31ee4f..6f6e6aa223d 100644 --- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java +++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java @@ -489,8 +489,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle mEntityHeaderController .setSummary(mWifiEntry.getSummary()) .setSecondSummary(getExpiryTimeSummary()) - .setRecyclerView(mFragment.getListView(), mLifecycle) - .done(mFragment.getActivity(), true /* rebind */); + .done(true /* rebind */); } } @@ -583,9 +582,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle Drawable wifiIcon = mIconInjector.getIcon(mShowX, mRssiSignalLevel); if (mEntityHeaderController != null) { - mEntityHeaderController - .setIcon(redrawIconForHeader(wifiIcon)).done(mFragment.getActivity(), - true /* rebind */); + mEntityHeaderController.setIcon(redrawIconForHeader(wifiIcon)).done(true /* rebind */); } Drawable wifiIconDark = wifiIcon.getConstantState().newDrawable().mutate(); diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java index 8be8b18c6ff..fcfe84b83c4 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java @@ -70,8 +70,7 @@ public class BluetoothDetailsHeaderControllerTest extends BluetoothDetailsContro when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager); when(mCachedDeviceManager.getSubDeviceSummary(mCachedDevice)).thenReturn("abc"); mController = - new BluetoothDetailsHeaderController(mContext, mFragment, mCachedDevice, mLifecycle, - mBluetoothManager); + new BluetoothDetailsHeaderController(mContext, mFragment, mCachedDevice, mLifecycle); mPreference = new LayoutPreference( mContext, com.android.settingslib.widget.R.layout.settings_entity_header); mPreference.setKey(mController.getPreferenceKey()); @@ -104,7 +103,7 @@ public class BluetoothDetailsHeaderControllerTest extends BluetoothDetailsContro verify(mHeaderController).setIconContentDescription(any(String.class)); verify(mHeaderController).setSummary(any(String.class)); verify(mHeaderController).setSecondSummary(any(String.class)); - verify(mHeaderController).done(mActivity, true); + verify(mHeaderController).done(true); } @Test diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java index 9078dd6f7fa..43bf6578f36 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java @@ -114,6 +114,6 @@ public class UsbDetailsHeaderControllerTest { DrawableTestHelper.assertDrawableResId(t, R.drawable.ic_usb); return true; })); - verify(mHeaderController).done(mActivity, true); + verify(mHeaderController).done(true); } } diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java index 9f957127f68..fa61a33ab35 100644 --- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java +++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java @@ -100,7 +100,6 @@ public class AppDataUsageTest { MockitoAnnotations.initMocks(this); ShadowEntityHeaderController.setUseMock(mHeaderController); - when(mHeaderController.setRecyclerView(any(), any())).thenReturn(mHeaderController); when(mHeaderController.setUid(anyInt())).thenReturn(mHeaderController); } diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java index c1f9ebdc42e..0fe59bc296a 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java @@ -40,14 +40,11 @@ import android.telephony.TelephonyManager; import android.util.RecurrenceRule; import androidx.fragment.app.FragmentActivity; -import androidx.preference.PreferenceFragmentCompat; -import androidx.recyclerview.widget.RecyclerView; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.shadow.ShadowEntityHeaderController; import com.android.settings.widget.EntityHeaderController; -import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.net.DataUsageController; import org.junit.After; @@ -91,13 +88,9 @@ public class DataUsageSummaryPreferenceControllerTest { private SubscriptionInfo mSubscriptionInfo; @Mock private SubscriptionPlan mSubscriptionPlan; - @Mock - private Lifecycle mLifecycle; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private EntityHeaderController mHeaderController; @Mock - private PreferenceFragmentCompat mPreferenceFragment; - @Mock private TelephonyManager mTelephonyManager; @Mock private PackageManager mPm; @@ -360,25 +353,6 @@ public class DataUsageSummaryPreferenceControllerTest { assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); } - @Test - public void testMobileData_entityHeaderSet() { - final RecyclerView recyclerView = new RecyclerView(mActivity); - - mController = spy(new DataUsageSummaryPreferenceController( - mDataUsageController, - mDataInfoController, - mNetworkTemplate, - mActivity, mLifecycle, mHeaderController, mPreferenceFragment, - mDefaultSubscriptionId)); - - when(mPreferenceFragment.getListView()).thenReturn(recyclerView); - - mController.onStart(); - - verify(mHeaderController) - .setRecyclerView(any(RecyclerView.class), any(Lifecycle.class)); - } - private DataUsageController.DataUsageInfo createTestDataUsageInfo(long now) { DataUsageController.DataUsageInfo info = new DataUsageController.DataUsageInfo(); info.carrier = CARRIER_NAME; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index ddce1f0b506..58274981603 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -47,7 +47,6 @@ import android.os.UserHandle; import androidx.fragment.app.FragmentActivity; import androidx.loader.app.LoaderManager; -import androidx.recyclerview.widget.RecyclerView; import com.android.settings.R; import com.android.settings.SettingsActivity; @@ -60,7 +59,6 @@ import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.instantapps.InstantAppDataProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; -import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.widget.FooterPreference; import com.android.settingslib.widget.LayoutPreference; import com.android.settingslib.widget.SelectorWithWidgetPreference; @@ -158,8 +156,6 @@ public class AdvancedPowerUsageDetailTest { doReturn(mLoaderManager).when(mFragment).getLoaderManager(); ShadowEntityHeaderController.setUseMock(mEntityHeaderController); - doReturn(mEntityHeaderController).when(mEntityHeaderController) - .setRecyclerView(nullable(RecyclerView.class), nullable(Lifecycle.class)); doReturn(mEntityHeaderController).when(mEntityHeaderController) .setButtonActions(anyInt(), anyInt()); doReturn(mEntityHeaderController).when(mEntityHeaderController) diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java index 4b097bb7498..41bcb889c48 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java @@ -127,7 +127,6 @@ public class BatteryHeaderPreferenceControllerTest { mLifecycle.addObserver(mController); mController.setActivity(mActivity); mController.setFragment(mPreferenceFragment); - mController.setLifecycle(mLifecycle); mController.mBatteryUsageProgressBarPref = mBatteryUsageProgressBarPref; mController.mBatteryStatusFeatureProvider = mBatteryStatusFeatureProvider; } diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java index ed0ff6d0110..bc816fa3de1 100644 --- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java @@ -84,7 +84,7 @@ public class EntityHeaderControllerTest { @Test public void testBuildView_constructedWithoutView_shouldCreateNewView() { mController = EntityHeaderController.newInstance(mActivity, mFragment, null); - View view = mController.done(mActivity); + View view = mController.done(); assertThat(view).isNotNull(); } @@ -92,7 +92,7 @@ public class EntityHeaderControllerTest { @Test public void testBuildView_withContext_shouldBuildPreferenceAllowedBelowDivider() { mController = EntityHeaderController.newInstance(mActivity, mFragment, null); - Preference preference = mController.done(mActivity, mShadowContext); + Preference preference = mController.done(mShadowContext); assertThat(preference instanceof LayoutPreference).isTrue(); assertThat(((LayoutPreference)preference).isAllowDividerBelow()).isTrue(); @@ -103,7 +103,7 @@ public class EntityHeaderControllerTest { View inputView = mLayoutInflater.inflate( com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */); mController = EntityHeaderController.newInstance(mActivity, mFragment, inputView); - View view = mController.done(mActivity); + View view = mController.done(); assertThat(view).isSameInstanceAs(inputView); } @@ -123,7 +123,7 @@ public class EntityHeaderControllerTest { mController.setSummary(testString); mController.setSecondSummary(testString); mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add_24dp)); - mController.done(mActivity); + mController.done(); assertThat(label).isNotNull(); assertThat(label.getText()).isEqualTo(testString); @@ -144,15 +144,11 @@ public class EntityHeaderControllerTest { when(mActivity.getApplicationContext()).thenReturn(mContext); mController = EntityHeaderController.newInstance(mActivity, mFragment, view); - mController.setEditListener(new View.OnClickListener() { - public void onClick(View v) { - // do nothing - } - }); + mController.setEditListener(v -> {/* do nothing */}); mController.setButtonActions( EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE, EntityHeaderController.ActionType.ACTION_NONE); - mController.done(mActivity); + mController.done(); final ImageButton button1 = view.findViewById(android.R.id.button1); assertThat(button1).isNotNull(); @@ -175,7 +171,7 @@ public class EntityHeaderControllerTest { mController.setButtonActions( EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE, EntityHeaderController.ActionType.ACTION_NONE); - mController.done(mActivity); + mController.done(); assertThat(view.findViewById(android.R.id.button1).getVisibility()).isEqualTo(View.GONE); assertThat(view.findViewById(android.R.id.button2).getVisibility()).isEqualTo(View.GONE); @@ -195,7 +191,7 @@ public class EntityHeaderControllerTest { .setButtonActions( EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE); - mController.done(mActivity); + mController.done(); assertThat(appLinks.findViewById(android.R.id.button1).getVisibility()) .isEqualTo(View.GONE); @@ -224,7 +220,7 @@ public class EntityHeaderControllerTest { .setButtonActions( EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE, EntityHeaderController.ActionType.ACTION_NONE); - mController.done(mActivity); + mController.done(); appLinks.findViewById(com.android.settingslib.widget.R.id.entity_header_content) .performClick(); @@ -241,7 +237,7 @@ public class EntityHeaderControllerTest { String description = "Fake Description"; mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add_24dp)); mController.setIconContentDescription(description); - mController.done(mActivity); + mController.done(); assertThat(view.findViewById(R.id.entity_header_icon).getContentDescription().toString()) .isEqualTo(description); } @@ -254,7 +250,7 @@ public class EntityHeaderControllerTest { mController = EntityHeaderController.newInstance(mActivity, mFragment, view); String description = "Fake Description"; mController.setIconContentDescription(description); - mController.done(mActivity); + mController.done(); assertThat(view.findViewById(R.id.entity_header_icon).getContentDescription().toString()) .isEqualTo(description); } @@ -269,7 +265,7 @@ public class EntityHeaderControllerTest { .setButtonActions( EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE, EntityHeaderController.ActionType.ACTION_NONE); - mController.done(mActivity); + mController.done(); assertThat(appLinks.findViewById(android.R.id.button1).getVisibility()) .isEqualTo(View.VISIBLE); @@ -284,7 +280,7 @@ public class EntityHeaderControllerTest { final View header = mLayoutInflater.inflate( com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */); mController = EntityHeaderController.newInstance(mActivity, mFragment, header); - mController.done(mActivity); + mController.done(); View installType = header.findViewById(com.android.settingslib.widget.R.id.install_type); assertThat(installType.getVisibility()).isEqualTo(View.GONE); @@ -297,7 +293,7 @@ public class EntityHeaderControllerTest { com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */); mController = EntityHeaderController.newInstance(mActivity, mFragment, header); mController.setIsInstantApp(true); - mController.done(mActivity); + mController.done(); TextView label = header.findViewById(com.android.settingslib.widget.R.id.install_type); assertThat(label.getVisibility()).isEqualTo(View.VISIBLE); diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java index dcd9b36bdc0..7c9f6655ee5 100644 --- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java +++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java @@ -299,8 +299,6 @@ public class WifiDetailPreferenceController2Test { ShadowEntityHeaderController.setUseMock(mMockHeaderController); // builder pattern - when(mMockHeaderController.setRecyclerView(mMockFragment.getListView(), mLifecycle)) - .thenReturn(mMockHeaderController); when(mMockHeaderController.setSummary(nullable(String.class))) .thenReturn(mMockHeaderController); when(mMockHeaderController.setSecondSummary(nullable(String.class)))