From 24f834d74505a77c0b490738e86643570f8ce831 Mon Sep 17 00:00:00 2001 From: Sanket Padawe Date: Thu, 8 Jan 2015 11:23:11 -0800 Subject: [PATCH] Fixed Cellular data toggling issue in settings for multisim Bug: 18916033 Bug: 18779784 Change-Id: Ifda57b5ae89268f921ee2b75b5b6d90d75514540 --- src/com/android/settings/DataUsageSummary.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 732d4c87e7b..2908829e270 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -993,9 +993,9 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable return isEnable; } - private void setMobileDataEnabled(boolean enabled) { + private void setMobileDataEnabled(int subId, boolean enabled) { if (LOGD) Log.d(TAG, "setMobileDataEnabled()"); - mTelephonyManager.setDataEnabled(enabled); + mTelephonyManager.setDataEnabled(subId, enabled); mMobileDataEnabled = enabled; updatePolicy(false); } @@ -1162,12 +1162,12 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable if (Utils.showSimCardTile(getActivity())) { handleMultiSimDataDialog(); } else { - setMobileDataEnabled(true); + setMobileDataEnabled(getSubId(currentTab), true); } } else { // disabling data; show confirmation dialog which eventually // calls setMobileDataEnabled() once user confirms. - ConfirmDataDisableFragment.show(DataUsageSummary.this); + ConfirmDataDisableFragment.show(DataUsageSummary.this, getSubId(mCurrentTab)); } } @@ -1185,7 +1185,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable // the pop-up. if (!Utils.showSimCardTile(context) || (nextSir != null && currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) { - setMobileDataEnabled(true); + setMobileDataEnabled(currentSir.getSubscriptionId(), true); updateBody(); return; } @@ -1204,7 +1204,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable @Override public void onClick(DialogInterface dialog, int id) { mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId()); - setMobileDataEnabled(true); + setMobileDataEnabled(currentSir.getSubscriptionId(), true); updateBody(); } }); @@ -2142,7 +2142,9 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable * Dialog to request user confirmation before disabling data. */ public static class ConfirmDataDisableFragment extends DialogFragment { - public static void show(DataUsageSummary parent) { + static int mSubId; + public static void show(DataUsageSummary parent, int subId) { + mSubId = subId; if (!parent.isAdded()) return; final ConfirmDataDisableFragment dialog = new ConfirmDataDisableFragment(); @@ -2163,7 +2165,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable final DataUsageSummary target = (DataUsageSummary) getTargetFragment(); if (target != null) { // TODO: extend to modify policy enabled flag. - target.setMobileDataEnabled(false); + target.setMobileDataEnabled(mSubId, false); } } });