From 87da0245c03b1ea64ee1cdcb3b0aea11a740c24c 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 Merged-In: I841b947efda0016c003f54ecf7853624582abab9 (cherry picked from commit 7eca4afab4565ca1bd0f9827e93370885ba5ccea) --- .../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 41c43f5cf35c9..24d790a663c9e 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -10066,4 +10066,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 80f4070d631e4..c7061dfe25f1f 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1840,4 +1840,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. */