Merge "Fixed that telephony registry service reference incorrectly assigned" into oc-mr1-dev

This commit is contained in:
TreeHugger Robot
2017-09-25 17:23:08 +00:00
committed by Android (Google) Code Review

View File

@@ -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 */
@@ -3506,6 +3499,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
@@ -3545,12 +3542,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
}
}