diff options
author | Bonian Chen <bonianchen@google.com> | 2020-04-23 17:49:04 +0800 |
---|---|---|
committer | Bonian Chen <bonianchen@google.com> | 2020-04-23 17:51:14 +0800 |
commit | 29e37ceaa1028672160c74715a5840d51a7c96fb (patch) | |
tree | 046ab21ea40a393997e562580dc856d4d88938ab /src/com/android/settings/datausage | |
parent | 7585e6ac1fd4c195bed429c8186c9508b0c9e1a5 (diff) | |
download | packages_apps_Settings-29e37ceaa1028672160c74715a5840d51a7c96fb.tar.gz packages_apps_Settings-29e37ceaa1028672160c74715a5840d51a7c96fb.tar.bz2 packages_apps_Settings-29e37ceaa1028672160c74715a5840d51a7c96fb.zip |
[Settings] Fix CellDataPreferenceTest
Fix CellDataPreferenceTest
Bug: 154562715
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=CellDataPreferenceTest
Change-Id: Ia0ee0f5cd802ca9b6827bddcaf189c619d268074
Diffstat (limited to 'src/com/android/settings/datausage')
-rw-r--r-- | src/com/android/settings/datausage/CellDataPreference.java | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java index 4a49f333cb..6dc40e86aa 100644 --- a/src/com/android/settings/datausage/CellDataPreference.java +++ b/src/com/android/settings/datausage/CellDataPreference.java @@ -50,15 +50,12 @@ public class CellDataPreference extends CustomDialogPreferenceCompat public int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; public boolean mChecked; public boolean mMultiSimDialog; - @VisibleForTesting - ProxySubscriptionManager mProxySubscriptionMgr; private MobileDataEnabledListener mDataStateListener; public CellDataPreference(Context context, AttributeSet attrs) { super(context, attrs, TypedArrayUtils.getAttr(context, androidx.preference.R.attr.switchPreferenceStyle, android.R.attr.switchPreferenceStyle)); - mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(context); mDataStateListener = new MobileDataEnabledListener(context, this); } @@ -88,13 +85,15 @@ public class CellDataPreference extends CustomDialogPreferenceCompat public void onAttached() { super.onAttached(); mDataStateListener.start(mSubId); - mProxySubscriptionMgr.addActiveSubscriptionsListener(mOnSubscriptionsChangeListener); + getProxySubscriptionManager() + .addActiveSubscriptionsListener(mOnSubscriptionsChangeListener); } @Override public void onDetached() { mDataStateListener.stop(); - mProxySubscriptionMgr.removeActiveSubscriptionsListener(mOnSubscriptionsChangeListener); + getProxySubscriptionManager() + .removeActiveSubscriptionsListener(mOnSubscriptionsChangeListener); super.onDetached(); } @@ -104,8 +103,8 @@ public class CellDataPreference extends CustomDialogPreferenceCompat throw new IllegalArgumentException("CellDataPreference needs a SubscriptionInfo"); } - mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(getContext()); - mProxySubscriptionMgr.addActiveSubscriptionsListener(mOnSubscriptionsChangeListener); + getProxySubscriptionManager() + .addActiveSubscriptionsListener(mOnSubscriptionsChangeListener); if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) { mSubId = subId; @@ -115,6 +114,16 @@ public class CellDataPreference extends CustomDialogPreferenceCompat updateChecked(); } + @VisibleForTesting + ProxySubscriptionManager getProxySubscriptionManager() { + return ProxySubscriptionManager.getInstance(getContext()); + } + + @VisibleForTesting + SubscriptionInfo getActiveSubscriptionInfo(int subId) { + return getProxySubscriptionManager().getActiveSubscriptionInfo(subId); + } + private void updateChecked() { setChecked(getContext().getSystemService(TelephonyManager.class).getDataEnabled(mSubId)); } @@ -122,7 +131,7 @@ public class CellDataPreference extends CustomDialogPreferenceCompat private void updateEnabled() { // If this subscription is not active, for example, SIM card is taken out, we disable // the button. - setEnabled(mProxySubscriptionMgr.getActiveSubscriptionInfo(mSubId) != null); + setEnabled(getActiveSubscriptionInfo(mSubId) != null); } @Override @@ -130,9 +139,8 @@ public class CellDataPreference extends CustomDialogPreferenceCompat final Context context = getContext(); FeatureFactory.getFactory(context).getMetricsFeatureProvider() .action(context, SettingsEnums.ACTION_CELL_DATA_TOGGLE, !mChecked); - final SubscriptionInfo currentSir = mProxySubscriptionMgr.getActiveSubscriptionInfo( - mSubId); - final SubscriptionInfo nextSir = mProxySubscriptionMgr.getActiveSubscriptionInfo( + final SubscriptionInfo currentSir = getActiveSubscriptionInfo(mSubId); + final SubscriptionInfo nextSir = getActiveSubscriptionInfo( SubscriptionManager.getDefaultDataSubscriptionId()); if (mChecked) { setMobileDataEnabled(false); @@ -186,9 +194,8 @@ public class CellDataPreference extends CustomDialogPreferenceCompat private void showMultiSimDialog(Builder builder, DialogInterface.OnClickListener listener) { - final SubscriptionInfo currentSir = mProxySubscriptionMgr.getActiveSubscriptionInfo( - mSubId); - final SubscriptionInfo nextSir = mProxySubscriptionMgr.getActiveSubscriptionInfo( + final SubscriptionInfo currentSir = getActiveSubscriptionInfo(mSubId); + final SubscriptionInfo nextSir = getActiveSubscriptionInfo( SubscriptionManager.getDefaultDataSubscriptionId()); final String previousName = (nextSir == null) @@ -205,8 +212,7 @@ public class CellDataPreference extends CustomDialogPreferenceCompat } private void disableDataForOtherSubscriptions(int subId) { - final SubscriptionInfo subInfo = mProxySubscriptionMgr.getActiveSubscriptionInfo( - subId); + final SubscriptionInfo subInfo = getActiveSubscriptionInfo(subId); if (subInfo != null) { getContext().getSystemService(TelephonyManager.class).setDataEnabled(subId, false); } @@ -218,7 +224,7 @@ public class CellDataPreference extends CustomDialogPreferenceCompat return; } if (mMultiSimDialog) { - mProxySubscriptionMgr.get().setDefaultDataSubId(mSubId); + getProxySubscriptionManager().get().setDefaultDataSubId(mSubId); setMobileDataEnabled(true); disableDataForOtherSubscriptions(mSubId); } else { |