Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ca36f40 authored by Yu-Han Yang's avatar Yu-Han Yang
Browse files

Log permission mismatch with 128s emergency extension

Bug: 145793324
Test: on device
Change-Id: Iea685e407aebe1fb77bb57c9df9f8034f9641d58
parent e97e0c8e
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -252,10 +252,23 @@ public class GpsNetInitiatedHandler {
     * @return true if is considered in user initiated emergency mode for NI purposes
     */
    public boolean getInEmergency() {
        return getInEmergency(mEmergencyExtensionMillis);
    }

    /**
     * Determines whether device is in user-initiated emergency session with the given extension
     * time.
     *
     * @return true if is considered in user initiated emergency mode for NI purposes within the
     * given extension time.
     *
     * @see {@link #getInEmergency()}
     */
    public boolean getInEmergency(long emergencyExtensionMillis) {
        boolean isInEmergencyExtension =
                (mCallEndElapsedRealtimeMillis > 0)
                        && ((SystemClock.elapsedRealtime() - mCallEndElapsedRealtimeMillis)
                        < mEmergencyExtensionMillis);
                        < emergencyExtensionMillis);
        boolean isInEmergencyCallback = mTelephonyManager.getEmergencyCallbackMode();
        boolean isInEmergencySmsMode = mTelephonyManager.isInEmergencySmsMode();
        return mIsInEmergencyCall || isInEmergencyCallback || isInEmergencyExtension
+2 −1
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ class GnssVisibilityControl {
    // Wakelocks
    private static final String WAKELOCK_KEY = TAG;
    private static final long WAKELOCK_TIMEOUT_MILLIS = 60 * 1000;
    private static final long EMERGENCY_EXTENSION_FOR_MISMATCH = 128 * 1000;
    private final PowerManager.WakeLock mWakeLock;

    private final AppOpsManager mAppOps;
@@ -601,7 +602,7 @@ class GnssVisibilityControl {
            isPermissionMismatched = true;
        }

        if (!mNiHandler.getInEmergency()) {
        if (!mNiHandler.getInEmergency(EMERGENCY_EXTENSION_FOR_MISMATCH)) {
            Log.w(TAG, "Emergency state mismatch. Device currently not in user initiated emergency"
                    + " session. Notification: " + nfwNotification);
            isPermissionMismatched = true;