diff --git a/services/core/java/com/android/server/power/ShutdownThread.java b/services/core/java/com/android/server/power/ShutdownThread.java index 5f3da070cb65f..da1138771e390 100644 --- a/services/core/java/com/android/server/power/ShutdownThread.java +++ b/services/core/java/com/android/server/power/ShutdownThread.java @@ -430,10 +430,10 @@ public final class ShutdownThread extends Thread { } try { - radioOff = phone == null || !phone.isRadioOn(); + radioOff = phone == null || !phone.needMobileRadioShutdown(); if (!radioOff) { - Log.w(TAG, "Turning off radio..."); - phone.setRadio(false); + Log.w(TAG, "Turning off cellular radios..."); + phone.shutdownMobileRadios(); } } catch (RemoteException ex) { Log.e(TAG, "RemoteException during radio shutdown", ex); @@ -456,7 +456,7 @@ public final class ShutdownThread extends Thread { } if (!radioOff) { try { - radioOff = !phone.isRadioOn(); + radioOff = !phone.needMobileRadioShutdown(); } catch (RemoteException ex) { Log.e(TAG, "RemoteException during radio shutdown", ex); radioOff = true; @@ -472,7 +472,7 @@ public final class ShutdownThread extends Thread { Log.e(TAG, "RemoteException during NFC shutdown", ex); nfcOff = true; } - if (radioOff) { + if (nfcOff) { Log.i(TAG, "NFC turned off."); } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 22c09f0289949..b1c3c4ab4f3eb 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -793,5 +793,16 @@ interface ITelephony { * positive value success, data length of response */ int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); -} + /** + * Check if any mobile Radios need to be shutdown. + * + * @return true is any mobile radio needs to be shutdown + */ + boolean needMobileRadioShutdown(); + + /** + * Shutdown Mobile Radios + */ + void shutdownMobileRadios(); +} diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java index a8a90579adb05..e730bde2f9175 100644 --- a/telephony/java/com/android/internal/telephony/RILConstants.java +++ b/telephony/java/com/android/internal/telephony/RILConstants.java @@ -287,7 +287,10 @@ cat include/telephony/ril.h | \ int RIL_REQUEST_ALLOW_DATA = 123; int RIL_REQUEST_GET_HARDWARE_CONFIG = 124; int RIL_REQUEST_SIM_AUTHENTICATION = 125; + int RIL_REQUEST_GET_DC_RT_INFO = 126; + int RIL_REQUEST_SET_DC_RT_INFO_RATE = 127; int RIL_REQUEST_SET_DATA_PROFILE = 128; + int RIL_REQUEST_SHUTDOWN = 129; int RIL_UNSOL_RESPONSE_BASE = 1000; int RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED = 1000;