From b0e3ace8ca837e58dfbbc3a2422efc9ca5da2089 Mon Sep 17 00:00:00 2001 From: cretin45 Date: Wed, 4 Feb 2015 16:53:28 -0800 Subject: [PATCH] SetupWizard: Use TelephonyManager for checking/enabling mobile data Change-Id: I6135d9a92efea56a50f5200827e0734f974c4849 --- .../setupwizard/util/SetupWizardUtils.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java index 67c90f0..46ef681 100644 --- a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java +++ b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java @@ -83,29 +83,28 @@ public class SetupWizardUtils { } public static boolean isMobileDataEnabled(Context context) { - TelephonyManager tm = - (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - if (tm.isMultiSimEnabled()) { - int subscription = SubscriptionManager.getDefaultDataPhoneId(); - return android.provider.Settings.Global.getInt(context.getContentResolver(), - android.provider.Settings.Global.MOBILE_DATA + subscription, 0) != 0; - } else { - return android.provider.Settings.Global.getInt(context.getContentResolver(), - android.provider.Settings.Global.MOBILE_DATA, 0) != 0; + try { + TelephonyManager tm = + (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + return tm.getDataEnabled(); + } catch (Exception e) { + return false; } } public static void setMobileDataEnabled(Context context, boolean enabled) { TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - tm.setDataEnabled(enabled); if (tm.isMultiSimEnabled()) { - int subscription = SubscriptionManager.getDefaultDataPhoneId(); + int phoneId = SubscriptionManager.getDefaultDataPhoneId(); android.provider.Settings.Global.putInt(context.getContentResolver(), - android.provider.Settings.Global.MOBILE_DATA + subscription, enabled ? 1 : 0); + android.provider.Settings.Global.MOBILE_DATA + phoneId, enabled ? 1 : 0); + long subId = SubscriptionManager.getDefaultDataSubId(); + tm.setDataEnabledUsingSubId(subId, enabled); } else { android.provider.Settings.Global.putInt(context.getContentResolver(), android.provider.Settings.Global.MOBILE_DATA, enabled ? 1 : 0); + tm.setDataEnabled(enabled); } }