Fix multi-sim popup issue in data usage. am: 8591f26fa3
am: d8fc77122b

Change-Id: Idbe5e19e8ce5660e4a056b28917fccca5477cc9e
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index b6daa4a..510d8a1 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -111,11 +111,10 @@
     @Override
     protected void performClick(View view) {
         MetricsLogger.action(getContext(), MetricsEvent.ACTION_CELL_DATA_TOGGLE, !mChecked);
+        final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(
+                mSubId);
+        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
         if (mChecked) {
-            final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(
-                    mSubId);
-            final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
-
             // If the device is single SIM or is enabling data on the active data SIM then forgo
             // the pop-up.
             if (!Utils.showSimCardTile(getContext()) ||
@@ -136,6 +135,12 @@
             // If we are showing the Sim Card tile then we are a Multi-Sim device.
             if (Utils.showSimCardTile(getContext())) {
                 mMultiSimDialog = true;
+                if (nextSir != null && currentSir != null &&
+                        currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
+                    setMobileDataEnabled(true);
+                    disableDataForOtherSubscriptions(mSubId);
+                    return;
+                }
                 super.performClick(view);
             } else {
                 setMobileDataEnabled(true);