Merge "Fix issue with disable flags being set for the wrong user" into tm-qpr-dev am: 78e4e8ee17

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21487340

Change-Id: Id0d16659d008e90835ae4365d8afacccd0227af9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Winson Chung
2023-02-22 06:38:14 +00:00
committed by Automerger Merge Worker

View File

@@ -58,6 +58,7 @@ import android.hardware.biometrics.BiometricSourceType;
import android.media.AudioAttributes; import android.media.AudioAttributes;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.SoundPool; import android.media.SoundPool;
import android.os.Binder;
import android.os.Bundle; import android.os.Bundle;
import android.os.DeadObjectException; import android.os.DeadObjectException;
import android.os.Handler; import android.os.Handler;
@@ -66,6 +67,7 @@ import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock; import android.os.SystemClock;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.os.Trace; import android.os.Trace;
@@ -101,6 +103,7 @@ import com.android.internal.policy.IKeyguardDismissCallback;
import com.android.internal.policy.IKeyguardExitCallback; import com.android.internal.policy.IKeyguardExitCallback;
import com.android.internal.policy.IKeyguardStateCallback; import com.android.internal.policy.IKeyguardStateCallback;
import com.android.internal.policy.ScreenDecorationsUtils; import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.LatencyTracker; import com.android.internal.util.LatencyTracker;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardConstants; import com.android.keyguard.KeyguardConstants;
@@ -269,6 +272,8 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
private AlarmManager mAlarmManager; private AlarmManager mAlarmManager;
private AudioManager mAudioManager; private AudioManager mAudioManager;
private StatusBarManager mStatusBarManager; private StatusBarManager mStatusBarManager;
private final IStatusBarService mStatusBarService;
private final IBinder mStatusBarDisableToken = new Binder();
private final UserTracker mUserTracker; private final UserTracker mUserTracker;
private final SysuiStatusBarStateController mStatusBarStateController; private final SysuiStatusBarStateController mStatusBarStateController;
private final Executor mUiBgExecutor; private final Executor mUiBgExecutor;
@@ -1211,6 +1216,8 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
mPM = powerManager; mPM = powerManager;
mTrustManager = trustManager; mTrustManager = trustManager;
mUserSwitcherController = userSwitcherController; mUserSwitcherController = userSwitcherController;
mStatusBarService = IStatusBarService.Stub.asInterface(
ServiceManager.getService(Context.STATUS_BAR_SERVICE));
mKeyguardDisplayManager = keyguardDisplayManager; mKeyguardDisplayManager = keyguardDisplayManager;
mShadeController = shadeControllerLazy; mShadeController = shadeControllerLazy;
dumpManager.registerDumpable(getClass().getName(), this); dumpManager.registerDumpable(getClass().getName(), this);
@@ -2931,7 +2938,12 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
// TODO (b/155663717) After restart, status bar will not properly hide home button // TODO (b/155663717) After restart, status bar will not properly hide home button
// unless disable is called to show un-hide it once first // unless disable is called to show un-hide it once first
if (forceClearFlags) { if (forceClearFlags) {
mStatusBarManager.disable(flags); try {
mStatusBarService.disableForUser(flags, mStatusBarDisableToken,
mContext.getPackageName(), mUserTracker.getUserId());
} catch (RemoteException e) {
Log.d(TAG, "Failed to force clear flags", e);
}
} }
if (forceHideHomeRecentsButtons || isShowingAndNotOccluded()) { if (forceHideHomeRecentsButtons || isShowingAndNotOccluded()) {
@@ -2947,7 +2959,12 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
+ " --> flags=0x" + Integer.toHexString(flags)); + " --> flags=0x" + Integer.toHexString(flags));
} }
mStatusBarManager.disable(flags); try {
mStatusBarService.disableForUser(flags, mStatusBarDisableToken,
mContext.getPackageName(), mUserTracker.getUserId());
} catch (RemoteException e) {
Log.d(TAG, "Failed to set disable flags: " + flags, e);
}
} }
} }