OSDN Git Service

Add hidden APIs to get the cached SignalStrength from SST
authorNathan Harold <nharold@google.com>
Sat, 11 Mar 2017 03:37:02 +0000 (19:37 -0800)
committernharold <nharold@google.com>
Wed, 10 May 2017 21:34:03 +0000 (21:34 +0000)
Add APIs in TelephonyManager to pull the SignalStrength that is
currently cached in ServiceStateTracker

Bug: 36133439
Test: tested with sl4a
Change-Id: I6adbecb8126a715da836fcde7f832fedb2f06bc3

telephony/java/android/telephony/TelephonyManager.java
telephony/java/com/android/internal/telephony/ITelephony.aidl

index 5985813..c0f1cb1 100644 (file)
@@ -6428,5 +6428,26 @@ public class TelephonyManager {
         }
         return false;
     }
+
+    /**
+     * Get the most recently available signal strength information.
+     *
+     * Get the most recent SignalStrength information reported by the modem. Due
+     * to power saving this information may not always be current.
+     * @return the most recent cached signal strength info from the modem
+     * @hide
+     */
+    @Nullable
+    public SignalStrength getSignalStrength() {
+        try {
+            ITelephony service = getITelephony();
+            if (service != null) {
+                return service.getSignalStrength(getSubId());
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error calling ITelephony#getSignalStrength", e);
+        }
+        return null;
+    }
 }
 
index f2e1e26..e7cd6d8 100644 (file)
@@ -31,6 +31,7 @@ import android.telephony.ModemActivityInfo;
 import android.telephony.NeighboringCellInfo;
 import android.telephony.RadioAccessFamily;
 import android.telephony.ServiceState;
+import android.telephony.SignalStrength;
 import android.telephony.TelephonyHistogram;
 import android.telephony.VisualVoicemailSmsFilterSettings;
 import com.android.ims.internal.IImsServiceController;
@@ -1293,4 +1294,15 @@ interface ITelephony {
      * @hide
      */
     boolean getEmergencyCallbackMode(int subId);
+
+    /**
+     * Get the most recently available signal strength information.
+     *
+     * Get the most recent SignalStrength information reported by the modem. Due
+     * to power saving this information may not always be current.
+     * @param subId Subscription index
+     * @return the most recent cached signal strength info from the modem
+     * @hide
+     */
+    SignalStrength getSignalStrength(int subId);
 }