Add data usage header to mobile network details page
As a part of the work for subscriptions UI improvements, we want to show data usage information at the top of the mobile network details page, and those details need to be specific to the particular subscription we're showing details for, even if that SIM isn't the current default one. This is useful for seeing data usage across your SIMs in dual-SIM devices. This CL adapts our already existing DataUsageSummaryPreferenceController class so that if can be used on any fragment instead of just the DataUsageSummary one, and changes it to take an explicit subscription id instead of assuming it should use the default one. Bug: 122670283 Test: make RunSettingsRoboTests Change-Id: I41e307b0f32580c73b08adec7cabf01c96d7e835
This commit is contained in:
@@ -34,7 +34,10 @@ import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.dashboard.RestrictedDashboardFragment;
|
||||
import com.android.settings.datausage.DataUsageSummaryPreferenceController;
|
||||
import com.android.settings.development.featureflags.FeatureFlagPersistent;
|
||||
import com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController;
|
||||
import com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController;
|
||||
import com.android.settings.network.telephony.gsm.AutoSelectPreferenceController;
|
||||
@@ -42,6 +45,7 @@ import com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenc
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.widget.PreferenceCategoryController;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -105,12 +109,23 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
|
||||
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
||||
mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID,
|
||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||
|
||||
if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
|
||||
mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
return Arrays.asList(
|
||||
new DataUsageSummaryPreferenceController(getActivity(), getSettingsLifecycle(),
|
||||
this, mSubId));
|
||||
}
|
||||
return Arrays.asList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
|
||||
use(MobileDataPreferenceController.class).init(getFragmentManager(), mSubId);
|
||||
use(RoamingPreferenceController.class).init(getFragmentManager(), mSubId);
|
||||
use(ApnPreferenceController.class).init(mSubId);
|
||||
@@ -163,7 +178,11 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment {
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return R.xml.mobile_network_settings;
|
||||
if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
|
||||
return R.xml.mobile_network_settings_v2;
|
||||
} else {
|
||||
return R.xml.mobile_network_settings;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user