From 7eca4afab4565ca1bd0f9827e93370885ba5ccea Mon Sep 17 00:00:00 2001 From: Nazanin Bakhshi Date: Wed, 30 Jan 2019 10:49:29 -0800 Subject: [PATCH] Add a method to determine if a reboot is required to alter the modem config Bug: 123101701 Test: sanity Change-Id: I841b947efda0016c003f54ecf7853624582abab9 --- .../android/telephony/TelephonyManager.java | 20 +++++++++++++++++++ .../internal/telephony/ITelephony.aidl | 4 ++++ .../telephony/TelephonyProperties.java | 7 +++++++ 3 files changed, 31 insertions(+) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index dfdec4db0c915..0e63b2b4db4d8 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -10239,4 +10239,24 @@ public class TelephonyManager { Rlog.e(TAG, "switchMultiSimConfig RemoteException", ex); } } + + /** + * Get whether reboot is required or not after making changes to modem configurations. + * @Return {@code True} if reboot is required after making changes to modem configurations, + * otherwise return {@code False}. + * + * @hide + */ + @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) + public boolean isRebootRequiredForModemConfigChange() { + try { + ITelephony service = getITelephony(); + if (service != null) { + return service.isRebootRequiredForModemConfigChange(); + } + } catch (RemoteException e) { + Log.e(TAG, "isRebootRequiredForModemConfigChange RemoteException", e); + } + return false; + } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 927c676aefe6a..62f9999bc924f 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1848,4 +1848,8 @@ interface ITelephony { * @hide */ int getNumOfActiveSims(); + /** + * Get if reboot is required upon altering modems configurations + */ + boolean isRebootRequiredForModemConfigChange(); } diff --git a/telephony/java/com/android/internal/telephony/TelephonyProperties.java b/telephony/java/com/android/internal/telephony/TelephonyProperties.java index 6567ea764b50b..603c4c2870d7b 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyProperties.java +++ b/telephony/java/com/android/internal/telephony/TelephonyProperties.java @@ -194,6 +194,13 @@ public interface TelephonyProperties */ static final String PROPERTY_MULTI_SIM_CONFIG = "persist.radio.multisim.config"; + /** + * Property to indicate if reboot is required when changing modems configurations + * Type: String(true, false) default is false; most devices don't need reboot + */ + String PROPERTY_REBOOT_REQUIRED_ON_MODEM_CHANGE = + "persist.radio.reboot_on_modem_change"; + /** * Property to store default subscription. */