Clean up unused fields from EntityHeaderController

Bug: 295260929
Test: manual - on pages with header
Test: robo test
Change-Id: Icebd63dbb5d3d44b4b46d3bececb8b65b30b4883
This commit is contained in:
Chaohui Wang
2023-08-21 13:51:07 +08:00
parent 6bb80b42bf
commit cc2133ba8e
31 changed files with 44 additions and 136 deletions

View File

@@ -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 */);
}
}

View File

@@ -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)) {

View File

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

View File

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

View File

@@ -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 */);
}
}

View File

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

View File

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

View File

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

View File

@@ -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 */);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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);

View File

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

View File

@@ -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() {

View File

@@ -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) {

View File

@@ -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();