From f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9c Mon Sep 17 00:00:00 2001 From: Derek Tan Date: Tue, 8 Jul 2014 16:55:43 -0700 Subject: [PATCH] Different Mobile Network Settings screen for Nova multi-profile SIMs. Simplify the Mobile Network Settings screen regardless CDMA or GSM activeness to provide a unified experience for Nova users. For more details, please refer to b/15854628. Bug: 15854628 Change-Id: Ieba04eff49824aa09a056cd4fb142cbd268207a3 --- .../android/telephony/TelephonyManager.java | 69 +++++++++++++++++++ .../internal/telephony/ITelephony.aidl | 17 +++++ 2 files changed, 86 insertions(+) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index f136292ac88b0..4459c36042d24 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -3184,4 +3184,73 @@ public class TelephonyManager { Log.e(TAG, "Error calling ITelephony#setSystemDefault", e); } } + + /** + * Set whether Android should display a simplified Mobile Network Settings UI. + * The setting won't be persisted during power cycle. + *

+ * Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * + * @param enable true means enabling the simplified UI. + * + * @hide + */ + public void enableSimplifiedNetworkSettings(boolean enable) { + enableSimplifiedNetworkSettings(getDefaultSubscription(), enable); + } + + /** + * Set whether Android should display a simplified Mobile Network Settings UI. + * The setting won't be persisted during power cycle. + *

+ * Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * + * @param subId for which the simplified UI should be enabled or disabled. + * @param enable true means enabling the simplified UI. + * + * @hide + */ + public void enableSimplifiedNetworkSettings(long subId, boolean enable) { + try { + getITelephony().enableSimplifiedNetworkSettings(subId, enable); + } catch (RemoteException ex) { + } catch (NullPointerException ex) { + } + } + + /** + * Get whether a simplified Mobile Network Settings UI is enabled. + *

+ * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + * + * @return true if the simplified UI is enabled. + * + * @hide + */ + public boolean getSimplifiedNetworkSettingsEnabled() { + return getSimplifiedNetworkSettingsEnabled(getDefaultSubscription()); + } + + /** + * Get whether a simplified Mobile Network Settings UI is enabled. + *

+ * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + * + * @param subId for which the simplified UI should be enabled or disabled. + * @return true if the simplified UI is enabled. + * + * @hide + */ + public boolean getSimplifiedNetworkSettingsEnabled(long subId) { + try { + return getITelephony().getSimplifiedNetworkSettingsEnabled(subId); + } catch (RemoteException ex) { + } catch (NullPointerException ex) { + } + return false; + } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 72c5ffc434279..7f0203a2ea82a 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -658,5 +658,22 @@ interface ITelephony { * Similar to above, but check for pkg whose name is pkgname. */ int checkCarrierPrivilegesForPackage(String pkgname); + + /** + * Set whether Android should display a simplified Mobile Network Settings UI. + * The setting won't be persisted during power cycle. + * + * @param subId for which the simplified UI should be enabled or disabled. + * @param enable true means enabling the simplified UI. + */ + void enableSimplifiedNetworkSettings(long subId, boolean enable); + + /** + * Get whether a simplified Mobile Network Settings UI is enabled. + * + * @param subId for which the simplified UI should be enabled or disabled. + * @return true if the simplified UI is enabled. + */ + boolean getSimplifiedNetworkSettingsEnabled(long subId); }