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

Commit 980a3ce8 authored by Adrian Roos's avatar Adrian Roos Committed by Android (Google) Code Review
Browse files

Revert "Revert "Use TelecomManager.isInCall instead of TelephonyManager.getCallState""

This reverts commit a67a1d0c.

Reason for revert: Revert broke SystemUI

Bug: 257538981
Bug: 261505371
Change-Id: I8fbe872427bcd3e39b5304ed82194fcd78efe674
parent a67a1d0c
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.location.LocationManager;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.telecom.TelecomManager;
import android.util.AndroidException;
import android.util.ArraySet;
import android.util.Log;
@@ -2139,13 +2139,8 @@ public class UserManager {
                mContext.getContentResolver(),
                Settings.Global.ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED, 0) != 0;
        boolean isSystemUserUnlocked = isUserUnlocked(UserHandle.SYSTEM);
        boolean inCall = false;
        TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
        if (telephonyManager != null) {
            inCall = telephonyManager.getCallState() != TelephonyManager.CALL_STATE_IDLE;
        }
        boolean isUserSwitchDisallowed = hasUserRestrictionForUser(DISALLOW_USER_SWITCH, mUserId);
        return (allowUserSwitchingWhenSystemUserLocked || isSystemUserUnlocked) && !inCall
        return (allowUserSwitchingWhenSystemUserLocked || isSystemUserUnlocked) && !inCall()
                && !isUserSwitchDisallowed;
    }

@@ -2184,11 +2179,8 @@ public class UserManager {
            android.Manifest.permission.MANAGE_USERS,
            android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional = true)
    public @UserSwitchabilityResult int getUserSwitchability(UserHandle userHandle) {
        final TelephonyManager tm =
                (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);

        int flags = SWITCHABILITY_STATUS_OK;
        if (tm.getCallState() != TelephonyManager.CALL_STATE_IDLE) {
        if (inCall()) {
            flags |= SWITCHABILITY_STATUS_USER_IN_CALL;
        }
        if (hasUserRestrictionForUser(DISALLOW_USER_SWITCH, userHandle)) {
@@ -5622,6 +5614,11 @@ public class UserManager {
        }
    }

    private boolean inCall() {
        final TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
        return telecomManager != null && telecomManager.isInCall();
    }

    /* Cache key for anything that assumes that userIds cannot be re-used without rebooting. */
    private static final String CACHE_KEY_STATIC_USER_PROPERTIES = "cache_key.static_user_props";