diff options
| author | 2017-09-26 12:34:42 +0000 | |
|---|---|---|
| committer | 2017-09-26 12:34:42 +0000 | |
| commit | 75c2378ea0096e908b64430399165a682c46f81f (patch) | |
| tree | 0919e151a62494ab44ce6213ce120e7f7bf8330a | |
| parent | 65182320393418e1f6027e5d477c2c61b5b82597 (diff) | |
| parent | aeb6820f112b9d1bbf725cbeac8ee190a79dda6e (diff) | |
Merge "Fixed that telephony registry service reference incorrectly assigned" am: b0510407da
am: aeb6820f11
Change-Id: Ie788700dfe65037d80fb1a42ff3dae1030b37405
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 72707f04f6a1..450f485317ef 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -106,8 +106,6 @@ public class TelephonyManager { public static final String MODEM_ACTIVITY_RESULT_KEY = BatteryStats.RESULT_RECEIVER_CONTROLLER_KEY; - private static ITelephonyRegistry sRegistry; - /** * The allowed states of Wi-Fi calling. * @@ -178,11 +176,6 @@ public class TelephonyManager { mContext = context; } mSubscriptionManager = SubscriptionManager.from(mContext); - - if (sRegistry == null) { - sRegistry = ITelephonyRegistry.Stub.asInterface(ServiceManager.getService( - "telephony.registry")); - } } /** @hide */ @@ -3459,6 +3452,10 @@ public class TelephonyManager { return ITelecomService.Stub.asInterface(ServiceManager.getService(Context.TELECOM_SERVICE)); } + private ITelephonyRegistry getTelephonyRegistry() { + return ITelephonyRegistry.Stub.asInterface(ServiceManager.getService("telephony.registry")); + } + // // // PhoneStateListener @@ -3498,12 +3495,16 @@ public class TelephonyManager { if (listener.mSubId == null) { listener.mSubId = mSubId; } - sRegistry.listenForSubscriber(listener.mSubId, getOpPackageName(), - listener.callback, events, notifyNow); + + ITelephonyRegistry registry = getTelephonyRegistry(); + if (registry != null) { + registry.listenForSubscriber(listener.mSubId, getOpPackageName(), + listener.callback, events, notifyNow); + } else { + Rlog.w(TAG, "telephony registry not ready."); + } } catch (RemoteException ex) { // system process dead - } catch (NullPointerException ex) { - // system process dead } } |