Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +16 −1 Original line number Original line Diff line number Diff line Loading @@ -3588,10 +3588,25 @@ public class ServiceStateTracker extends Handler { // cancel previous post notification // cancel previous post notification notificationManager.cancel(notificationId); notificationManager.cancel(notificationId); } else { } else { boolean show = false; if (mNewSS.isEmergencyOnly() && notifyType == CS_EMERGENCY_ENABLED) { // if reg state is emergency only, always show restricted emergency notification. show = true; } else if (notifyType == CS_REJECT_CAUSE_ENABLED) { // always show notification due to CS reject irrespective of service state. show = true; } else if (mNewSS.getState() == ServiceState.STATE_IN_SERVICE) { // for non in service states, we have system UI and signal bar to indicate limited // service. No need to show notification again. This also helps to mitigate the // issue if phone go to OOS and camp to other networks and received restricted ind. show = true; } // update restricted state notification // update restricted state notification if (show) { notificationManager.notify(notificationId, mNotification); notificationManager.notify(notificationId, mNotification); } } } } } /** /** * Selects the resource ID, which depends on rejection cause that is sent by the network when CS * Selects the resource ID, which depends on rejection cause that is sent by the network when CS Loading Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +16 −1 Original line number Original line Diff line number Diff line Loading @@ -3588,10 +3588,25 @@ public class ServiceStateTracker extends Handler { // cancel previous post notification // cancel previous post notification notificationManager.cancel(notificationId); notificationManager.cancel(notificationId); } else { } else { boolean show = false; if (mNewSS.isEmergencyOnly() && notifyType == CS_EMERGENCY_ENABLED) { // if reg state is emergency only, always show restricted emergency notification. show = true; } else if (notifyType == CS_REJECT_CAUSE_ENABLED) { // always show notification due to CS reject irrespective of service state. show = true; } else if (mNewSS.getState() == ServiceState.STATE_IN_SERVICE) { // for non in service states, we have system UI and signal bar to indicate limited // service. No need to show notification again. This also helps to mitigate the // issue if phone go to OOS and camp to other networks and received restricted ind. show = true; } // update restricted state notification // update restricted state notification if (show) { notificationManager.notify(notificationId, mNotification); notificationManager.notify(notificationId, mNotification); } } } } } /** /** * Selects the resource ID, which depends on rejection cause that is sent by the network when CS * Selects the resource ID, which depends on rejection cause that is sent by the network when CS Loading