Loading services/core/java/com/android/server/TelephonyRegistry.java +20 −18 Original line number Original line Diff line number Diff line Loading @@ -759,47 +759,50 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { } } public void notifySignalStrengthForSubscriber(int subId, SignalStrength signalStrength) { public void notifySignalStrengthForSubscriber(int subId, SignalStrength signalStrength) { log("notifySignalStrengthForSubscriber: subId=" + subId + " signalStrength=" + signalStrength); if (!checkNotifyPermission("notifySignalStrength()")) { if (!checkNotifyPermission("notifySignalStrength()")) { log("notifySignalStrengthForSubscriber: permission check failure"); return; return; } } if (VDBG) { log("notifySignalStrengthForSubscriber: subId=" + subId + " signalStrength=" + signalStrength); toStringLogSSC("notifySignalStrengthForSubscriber"); toStringLogSSC("notifySignalStrengthForSubscriber"); } synchronized (mRecords) { synchronized (mRecords) { int phoneId = SubscriptionManager.getPhoneId(subId); int phoneId = SubscriptionManager.getPhoneId(subId); if (validatePhoneId(phoneId)) { if (validatePhoneId(phoneId)) { log("notifySignalStrengthForSubscriber: valid phoneId=" + phoneId); if (VDBG) log("notifySignalStrengthForSubscriber: valid phoneId=" + phoneId); mSignalStrength[phoneId] = signalStrength; mSignalStrength[phoneId] = signalStrength; for (Record r : mRecords) { for (Record r : mRecords) { if (VDBG) { log("notifySignalStrengthForSubscriber: r=" + r + " subId=" + subId log("notifySignalStrengthForSubscriber: r=" + r + " subId=" + subId + " phoneId=" + phoneId + " ss=" + signalStrength); + " phoneId=" + phoneId + " ss=" + signalStrength); } if (r.matchPhoneStateListenerEvent( if (r.matchPhoneStateListenerEvent( PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) && PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) && idMatch(r.subId, subId, phoneId)) { idMatch(r.subId, subId, phoneId)) { try { try { if (DBG) { log("notifySignalStrengthForSubscriber: callback.onSsS r=" + r log("notifySignalStrengthForSubscriber: callback.onSsS r=" + r + " subId=" + subId + " phoneId=" + phoneId + " subId=" + subId + " phoneId=" + phoneId + " ss=" + signalStrength); + " ss=" + signalStrength); } r.callback.onSignalStrengthsChanged(new SignalStrength(signalStrength)); r.callback.onSignalStrengthsChanged(new SignalStrength(signalStrength)); } catch (RemoteException ex) { } catch (RemoteException ex) { log("notifySignalStrengthForSubscriber: Exception while calling callback!!"); mRemoveList.add(r.binder); mRemoveList.add(r.binder); } } } else { log("notifySignalStrengthForSubscriber: no match for LISTEN_SIGNAL_STRENGTHS"); } } if (r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTH) && if (r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTH) && idMatch(r.subId, subId, phoneId)){ idMatch(r.subId, subId, phoneId)){ try { try { int gsmSignalStrength = signalStrength.getGsmSignalStrength(); int gsmSignalStrength = signalStrength.getGsmSignalStrength(); int ss = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength); int ss = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength); if (DBG) { log("notifySignalStrengthForSubscriber: callback.onSS r=" + r log("notifySignalStrengthForSubscriber: callback.onSS r=" + r + " subId=" + subId + " phoneId=" + phoneId + " subId=" + subId + " phoneId=" + phoneId + " gsmSS=" + gsmSignalStrength + " ss=" + ss); + " gsmSS=" + gsmSignalStrength + " ss=" + ss); } r.callback.onSignalStrengthChanged(ss); r.callback.onSignalStrengthChanged(ss); } catch (RemoteException ex) { } catch (RemoteException ex) { log("notifySignalStrengthForSubscriber: Exception in deprecated LISTEN_SIGNAL_STRENGTH"); mRemoveList.add(r.binder); mRemoveList.add(r.binder); } } } } Loading @@ -807,7 +810,6 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { } else { } else { log("notifySignalStrengthForSubscriber: invalid phoneId=" + phoneId); log("notifySignalStrengthForSubscriber: invalid phoneId=" + phoneId); } } log("notifySignalStrengthForSubscriber: done with all records"); handleRemoveListLocked(); handleRemoveListLocked(); } } broadcastSignalStrengthChanged(signalStrength, subId); broadcastSignalStrengthChanged(signalStrength, subId); Loading Loading
services/core/java/com/android/server/TelephonyRegistry.java +20 −18 Original line number Original line Diff line number Diff line Loading @@ -759,47 +759,50 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { } } public void notifySignalStrengthForSubscriber(int subId, SignalStrength signalStrength) { public void notifySignalStrengthForSubscriber(int subId, SignalStrength signalStrength) { log("notifySignalStrengthForSubscriber: subId=" + subId + " signalStrength=" + signalStrength); if (!checkNotifyPermission("notifySignalStrength()")) { if (!checkNotifyPermission("notifySignalStrength()")) { log("notifySignalStrengthForSubscriber: permission check failure"); return; return; } } if (VDBG) { log("notifySignalStrengthForSubscriber: subId=" + subId + " signalStrength=" + signalStrength); toStringLogSSC("notifySignalStrengthForSubscriber"); toStringLogSSC("notifySignalStrengthForSubscriber"); } synchronized (mRecords) { synchronized (mRecords) { int phoneId = SubscriptionManager.getPhoneId(subId); int phoneId = SubscriptionManager.getPhoneId(subId); if (validatePhoneId(phoneId)) { if (validatePhoneId(phoneId)) { log("notifySignalStrengthForSubscriber: valid phoneId=" + phoneId); if (VDBG) log("notifySignalStrengthForSubscriber: valid phoneId=" + phoneId); mSignalStrength[phoneId] = signalStrength; mSignalStrength[phoneId] = signalStrength; for (Record r : mRecords) { for (Record r : mRecords) { if (VDBG) { log("notifySignalStrengthForSubscriber: r=" + r + " subId=" + subId log("notifySignalStrengthForSubscriber: r=" + r + " subId=" + subId + " phoneId=" + phoneId + " ss=" + signalStrength); + " phoneId=" + phoneId + " ss=" + signalStrength); } if (r.matchPhoneStateListenerEvent( if (r.matchPhoneStateListenerEvent( PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) && PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) && idMatch(r.subId, subId, phoneId)) { idMatch(r.subId, subId, phoneId)) { try { try { if (DBG) { log("notifySignalStrengthForSubscriber: callback.onSsS r=" + r log("notifySignalStrengthForSubscriber: callback.onSsS r=" + r + " subId=" + subId + " phoneId=" + phoneId + " subId=" + subId + " phoneId=" + phoneId + " ss=" + signalStrength); + " ss=" + signalStrength); } r.callback.onSignalStrengthsChanged(new SignalStrength(signalStrength)); r.callback.onSignalStrengthsChanged(new SignalStrength(signalStrength)); } catch (RemoteException ex) { } catch (RemoteException ex) { log("notifySignalStrengthForSubscriber: Exception while calling callback!!"); mRemoveList.add(r.binder); mRemoveList.add(r.binder); } } } else { log("notifySignalStrengthForSubscriber: no match for LISTEN_SIGNAL_STRENGTHS"); } } if (r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTH) && if (r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTH) && idMatch(r.subId, subId, phoneId)){ idMatch(r.subId, subId, phoneId)){ try { try { int gsmSignalStrength = signalStrength.getGsmSignalStrength(); int gsmSignalStrength = signalStrength.getGsmSignalStrength(); int ss = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength); int ss = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength); if (DBG) { log("notifySignalStrengthForSubscriber: callback.onSS r=" + r log("notifySignalStrengthForSubscriber: callback.onSS r=" + r + " subId=" + subId + " phoneId=" + phoneId + " subId=" + subId + " phoneId=" + phoneId + " gsmSS=" + gsmSignalStrength + " ss=" + ss); + " gsmSS=" + gsmSignalStrength + " ss=" + ss); } r.callback.onSignalStrengthChanged(ss); r.callback.onSignalStrengthChanged(ss); } catch (RemoteException ex) { } catch (RemoteException ex) { log("notifySignalStrengthForSubscriber: Exception in deprecated LISTEN_SIGNAL_STRENGTH"); mRemoveList.add(r.binder); mRemoveList.add(r.binder); } } } } Loading @@ -807,7 +810,6 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { } else { } else { log("notifySignalStrengthForSubscriber: invalid phoneId=" + phoneId); log("notifySignalStrengthForSubscriber: invalid phoneId=" + phoneId); } } log("notifySignalStrengthForSubscriber: done with all records"); handleRemoveListLocked(); handleRemoveListLocked(); } } broadcastSignalStrengthChanged(signalStrength, subId); broadcastSignalStrengthChanged(signalStrength, subId); Loading