From 8591f26fa30f8b7f52100152862bd6727974e124 Mon Sep 17 00:00:00 2001 From: Sanket Padawe Date: Fri, 14 Oct 2016 15:41:52 -0700 Subject: [PATCH] Fix multi-sim popup issue in data usage. + Avoid sending popup dialog when data is enabled on currently active data sim. Bug: 31736014 Change-Id: I60e9e049f546cb176283bc4c4e20cb2d3e7ac386 --- .../settings/datausage/CellDataPreference.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java index b6daa4ad98e..510d8a1bdfb 100644 --- a/src/com/android/settings/datausage/CellDataPreference.java +++ b/src/com/android/settings/datausage/CellDataPreference.java @@ -111,11 +111,10 @@ public class CellDataPreference extends CustomDialogPreference implements Templa @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 @@ public class CellDataPreference extends CustomDialogPreference implements Templa // 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);