Merge "Clean up used EntityHeaderController" into main

This commit is contained in:
Chaohui Wang
2023-08-24 09:23:18 +00:00
committed by Android (Google) Code Review
10 changed files with 10 additions and 72 deletions

View File

@@ -154,10 +154,9 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
return controllers; return controllers;
} }
mSummaryController = mSummaryController =
new DataUsageSummaryPreferenceController(activity, this, new DataUsageSummaryPreferenceController(activity,
DataUsageUtils.getDefaultSubscriptionId(activity)); DataUsageUtils.getDefaultSubscriptionId(activity));
controllers.add(mSummaryController); controllers.add(mSummaryController);
getSettingsLifecycle().addObserver(mSummaryController);
return controllers; return controllers;
} }

View File

@@ -32,7 +32,6 @@ import android.util.RecurrenceRule;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import com.android.internal.util.CollectionUtils; import com.android.internal.util.CollectionUtils;
import com.android.settings.R; import com.android.settings.R;
@@ -40,9 +39,6 @@ import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.datausage.lib.DataUsageLib; import com.android.settings.datausage.lib.DataUsageLib;
import com.android.settings.network.ProxySubscriptionManager; import com.android.settings.network.ProxySubscriptionManager;
import com.android.settings.network.telephony.TelephonyBasePreferenceController; import com.android.settings.network.telephony.TelephonyBasePreferenceController;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
@@ -55,14 +51,12 @@ import java.util.concurrent.Future;
* framework and falls back to legacy usage data if none are available. * framework and falls back to legacy usage data if none are available.
*/ */
public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenceController public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenceController
implements PreferenceControllerMixin, LifecycleObserver, OnStart { implements PreferenceControllerMixin {
private static final String TAG = "DataUsageController"; private static final String TAG = "DataUsageController";
private static final String KEY = "status_header"; private static final String KEY = "status_header";
private static final long PETA = 1000000000000000L; private static final long PETA = 1000000000000000L;
private EntityHeaderController mEntityHeaderController;
private final PreferenceFragmentCompat mFragment;
protected DataUsageController mDataUsageController; protected DataUsageController mDataUsageController;
protected DataUsageInfoController mDataInfoController; protected DataUsageInfoController mDataInfoController;
private NetworkTemplate mDefaultTemplate; private NetworkTemplate mDefaultTemplate;
@@ -93,11 +87,9 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
private Future<Long> mHistoricalUsageLevel; private Future<Long> mHistoricalUsageLevel;
public DataUsageSummaryPreferenceController( public DataUsageSummaryPreferenceController(Activity activity, int subscriptionId) {
Activity activity, PreferenceFragmentCompat fragment, int subscriptionId) {
super(activity, KEY); super(activity, KEY);
mFragment = fragment;
init(subscriptionId); init(subscriptionId);
} }
@@ -137,27 +129,15 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
DataUsageInfoController dataInfoController, DataUsageInfoController dataInfoController,
NetworkTemplate defaultTemplate, NetworkTemplate defaultTemplate,
Activity activity, Activity activity,
EntityHeaderController entityHeaderController,
PreferenceFragmentCompat fragment,
int subscriptionId) { int subscriptionId) {
super(activity, KEY); super(activity, KEY);
mDataUsageController = dataUsageController; mDataUsageController = dataUsageController;
mDataInfoController = dataInfoController; mDataInfoController = dataInfoController;
mDefaultTemplate = defaultTemplate; mDefaultTemplate = defaultTemplate;
mHasMobileData = true; mHasMobileData = true;
mEntityHeaderController = entityHeaderController;
mFragment = fragment;
mSubId = subscriptionId; mSubId = subscriptionId;
} }
@Override
public void onStart() {
if (mEntityHeaderController == null) {
mEntityHeaderController =
EntityHeaderController.newInstance((Activity) mContext, mFragment, null);
}
}
@VisibleForTesting @VisibleForTesting
List<SubscriptionPlan> getSubscriptionPlans(int subscriptionId) { List<SubscriptionPlan> getSubscriptionPlans(int subscriptionId) {
return ProxySubscriptionManager.getInstance(mContext).get() return ProxySubscriptionManager.getInstance(mContext).get()

View File

@@ -21,7 +21,6 @@ import android.net.NetworkTemplate;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
@@ -34,9 +33,8 @@ import java.util.Set;
public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPreferenceController { public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPreferenceController {
final Set<String> mAllNetworkKeys; final Set<String> mAllNetworkKeys;
public WifiDataUsageSummaryPreferenceController( public WifiDataUsageSummaryPreferenceController(Activity activity, Set<String> allNetworkKeys) {
Activity activity, PreferenceFragmentCompat fragment, Set<String> allNetworkKeys) { super(activity, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
super(activity, fragment, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mAllNetworkKeys = new HashSet<>(allNetworkKeys); mAllNetworkKeys = new HashSet<>(allNetworkKeys);
} }

View File

@@ -15,7 +15,6 @@
package com.android.settings.fuelgauge; package com.android.settings.fuelgauge;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.icu.text.NumberFormat; import android.icu.text.NumberFormat;
@@ -25,7 +24,6 @@ import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
@@ -33,18 +31,14 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.Utils; import com.android.settingslib.Utils;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.widget.UsageProgressBarPreference; import com.android.settingslib.widget.UsageProgressBarPreference;
/** /**
* Controller that update the battery header view * Controller that update the battery header view
*/ */
public class BatteryHeaderPreferenceController extends BasePreferenceController public class BatteryHeaderPreferenceController extends BasePreferenceController
implements PreferenceControllerMixin, LifecycleObserver, OnStart, implements PreferenceControllerMixin, BatteryPreferenceController {
BatteryPreferenceController {
private static final String TAG = "BatteryHeaderPreferenceController"; private static final String TAG = "BatteryHeaderPreferenceController";
@VisibleForTesting @VisibleForTesting
@@ -56,8 +50,6 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
@VisibleForTesting @VisibleForTesting
UsageProgressBarPreference mBatteryUsageProgressBarPref; UsageProgressBarPreference mBatteryUsageProgressBarPref;
private Activity mActivity;
private PreferenceFragmentCompat mHost;
private BatteryTip mBatteryTip; private BatteryTip mBatteryTip;
private final PowerManager mPowerManager; private final PowerManager mPowerManager;
@@ -68,14 +60,6 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
.getBatteryStatusFeatureProvider(); .getBatteryStatusFeatureProvider();
} }
public void setActivity(Activity activity) {
mActivity = activity;
}
public void setFragment(PreferenceFragmentCompat fragment) {
mHost = fragment;
}
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);
@@ -96,11 +80,6 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
return AVAILABLE_UNSEARCHABLE; return AVAILABLE_UNSEARCHABLE;
} }
@Override
public void onStart() {
EntityHeaderController.newInstance(mActivity, mHost, null /* header view */);
}
private CharSequence generateLabel(BatteryInfo info) { private CharSequence generateLabel(BatteryInfo info) {
if (Utils.containsIncompatibleChargers(mContext, TAG)) { if (Utils.containsIncompatibleChargers(mContext, TAG)) {
return mContext.getString( return mContext.getString(

View File

@@ -140,8 +140,6 @@ public class PowerUsageSummary extends PowerUsageBase implements
final SettingsActivity activity = (SettingsActivity) getActivity(); final SettingsActivity activity = (SettingsActivity) getActivity();
mBatteryHeaderPreferenceController = use(BatteryHeaderPreferenceController.class); mBatteryHeaderPreferenceController = use(BatteryHeaderPreferenceController.class);
mBatteryHeaderPreferenceController.setActivity(activity);
mBatteryHeaderPreferenceController.setFragment(this);
mBatteryTipPreferenceController = use(BatteryTipPreferenceController.class); mBatteryTipPreferenceController = use(BatteryTipPreferenceController.class);
mBatteryTipPreferenceController.setActivity(activity); mBatteryTipPreferenceController.setActivity(activity);

View File

@@ -167,7 +167,7 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings impleme
}); });
return Arrays.asList( return Arrays.asList(
new DataUsageSummaryPreferenceController(getActivity(), this, mSubId), new DataUsageSummaryPreferenceController(getActivity(), mSubId),
new RoamingPreferenceController(context, KEY_ROAMING_PREF, getSettingsLifecycle(), new RoamingPreferenceController(context, KEY_ROAMING_PREF, getSettingsLifecycle(),
this, mSubId), this, mSubId),
new CallsDefaultSubscriptionController(context, KEY_CALLS_PREF, new CallsDefaultSubscriptionController(context, KEY_CALLS_PREF,

View File

@@ -434,7 +434,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
mDataUsageSummaryPref.setVisible(true); mDataUsageSummaryPref.setVisible(true);
mSummaryHeaderController = mSummaryHeaderController =
new WifiDataUsageSummaryPreferenceController(mFragment.getActivity(), new WifiDataUsageSummaryPreferenceController(mFragment.getActivity(),
mFragment, mWifiEntry.getWifiConfiguration().getAllNetworkKeys()); mWifiEntry.getWifiConfiguration().getAllNetworkKeys());
return; return;
} }

View File

@@ -135,7 +135,7 @@ public class DataUsageSummaryPreferenceControllerTest {
mDataUsageController, mDataUsageController,
mDataInfoController, mDataInfoController,
mNetworkTemplate, mNetworkTemplate,
mActivity, null, null, mDefaultSubscriptionId)); mActivity, mDefaultSubscriptionId));
doReturn(null).when(mController).getSubscriptionInfo( doReturn(null).when(mController).getSubscriptionInfo(
SubscriptionManager.INVALID_SUBSCRIPTION_ID); SubscriptionManager.INVALID_SUBSCRIPTION_ID);
doReturn(null).when(mController).getSubscriptionPlans( doReturn(null).when(mController).getSubscriptionPlans(

View File

@@ -72,8 +72,7 @@ public class WifiDataUsageSummaryPreferenceControllerTest {
doNothing().when(mSummaryPreference).setWifiMode(anyBoolean(), anyString(), anyBoolean()); doNothing().when(mSummaryPreference).setWifiMode(anyBoolean(), anyString(), anyBoolean());
doReturn(mDataUsageInfo).when(mDataUsageController).getDataUsageInfo(any()); doReturn(mDataUsageInfo).when(mDataUsageController).getDataUsageInfo(any());
mController = spy(new WifiDataUsageSummaryPreferenceController(mActivity, null, mController = spy(new WifiDataUsageSummaryPreferenceController(mActivity, mAllNetworkKeys));
mAllNetworkKeys));
doReturn(mDataUsageController).when(mController).createDataUsageController(any()); doReturn(mDataUsageController).when(mController).createDataUsageController(any());
} }

View File

@@ -23,7 +23,6 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.hardware.usb.UsbManager; import android.hardware.usb.UsbManager;
@@ -34,8 +33,6 @@ import android.os.BatteryManager;
import android.os.PowerManager; import android.os.PowerManager;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
@@ -47,7 +44,6 @@ import com.android.settings.testutils.BatteryTestUtils;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController; import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.testutils.shadow.ShadowUtils; import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settings.widget.EntityHeaderController; import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.UsageProgressBarPreference; import com.android.settingslib.widget.UsageProgressBarPreference;
import org.junit.After; import org.junit.After;
@@ -72,10 +68,6 @@ public class BatteryHeaderPreferenceControllerTest {
private static final String TIME_LEFT = "2h30min"; private static final String TIME_LEFT = "2h30min";
private static final String BATTERY_STATUS = "Charging"; private static final String BATTERY_STATUS = "Charging";
@Mock
private Activity mActivity;
@Mock
private PreferenceFragmentCompat mPreferenceFragment;
@Mock @Mock
private PreferenceScreen mPreferenceScreen; private PreferenceScreen mPreferenceScreen;
@Mock @Mock
@@ -97,15 +89,11 @@ public class BatteryHeaderPreferenceControllerTest {
private Context mContext; private Context mContext;
private ShadowPowerManager mShadowPowerManager; private ShadowPowerManager mShadowPowerManager;
private Intent mBatteryIntent; private Intent mBatteryIntent;
private LifecycleOwner mLifecycleOwner;
private Lifecycle mLifecycle;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner);
mContext = spy(RuntimeEnvironment.application); mContext = spy(RuntimeEnvironment.application);
when(mContext.getSystemService(UsbManager.class)).thenReturn(mUsbManager); when(mContext.getSystemService(UsbManager.class)).thenReturn(mUsbManager);
ShadowEntityHeaderController.setUseMock(mEntityHeaderController); ShadowEntityHeaderController.setUseMock(mEntityHeaderController);
@@ -124,9 +112,6 @@ public class BatteryHeaderPreferenceControllerTest {
mShadowPowerManager = Shadows.shadowOf(mContext.getSystemService(PowerManager.class)); mShadowPowerManager = Shadows.shadowOf(mContext.getSystemService(PowerManager.class));
mController = spy(new BatteryHeaderPreferenceController(mContext, PREF_KEY)); mController = spy(new BatteryHeaderPreferenceController(mContext, PREF_KEY));
mLifecycle.addObserver(mController);
mController.setActivity(mActivity);
mController.setFragment(mPreferenceFragment);
mController.mBatteryUsageProgressBarPref = mBatteryUsageProgressBarPref; mController.mBatteryUsageProgressBarPref = mBatteryUsageProgressBarPref;
mController.mBatteryStatusFeatureProvider = mBatteryStatusFeatureProvider; mController.mBatteryStatusFeatureProvider = mBatteryStatusFeatureProvider;
} }