Loading core/java/com/android/internal/foldables/FoldGracePeriodProvider.javadeleted 100644 → 0 +0 −53 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.internal.foldables; import android.os.Build; import android.sysprop.FoldLockBehaviorProperties; import android.util.Slog; import com.android.internal.foldables.flags.Flags; import java.util.function.Supplier; /** * Wrapper class to access {@link FoldLockBehaviorProperties}. */ public class FoldGracePeriodProvider { private static final String TAG = "FoldGracePeriodProvider"; private final Supplier<Boolean> mFoldGracePeriodEnabled = Flags::foldGracePeriodEnabled; /** * Whether the fold grace period feature is enabled. */ public boolean isEnabled() { if ((Build.IS_ENG || Build.IS_USERDEBUG) && FoldLockBehaviorProperties.fold_grace_period_enabled().orElse(false)) { return true; } try { return mFoldGracePeriodEnabled.get(); } catch (Throwable ex) { Slog.i(TAG, "Flags not ready yet. Return false for " + Flags.FLAG_FOLD_GRACE_PERIOD_ENABLED, ex); return false; } } } core/java/com/android/internal/foldables/fold_lock_setting_flags.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -8,11 +8,3 @@ flag { bug: "274447767" is_fixed_read_only: true } flag { name: "fold_grace_period_enabled" namespace: "display_manager" description: "Feature flag for Folding Grace Period" bug: "308417021" is_fixed_read_only: true } core/sysprop/FoldLockBehaviorProperties.sysprop +0 −8 Original line number Diff line number Diff line Loading @@ -22,11 +22,3 @@ prop { scope: Internal access: Readonly } prop { api_name: "fold_grace_period_enabled" type: Boolean prop_name: "persist.fold_grace_period_enabled" scope: Internal access: Readonly } packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +1 −12 Original line number Diff line number Diff line Loading @@ -113,7 +113,6 @@ import androidx.annotation.Nullable; import com.android.compose.animation.scene.ObservableTransitionState; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.InstanceId; import com.android.internal.logging.UiEventLogger; Loading Loading @@ -388,9 +387,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreSt private final BiometricManager mBiometricManager; @Nullable private DeviceEntryFaceAuthInteractor mFaceAuthInteractor; @VisibleForTesting protected FoldGracePeriodProvider mFoldGracePeriodProvider = new FoldGracePeriodProvider(); private final DevicePostureController mDevicePostureController; private final TaskStackChangeListeners mTaskStackChangeListeners; private final IActivityTaskManager mActivityTaskManager; Loading Loading @@ -1433,11 +1429,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreSt * Whether the keyguard should be kept unlocked for the folding grace period. */ public boolean forceIsDismissibleIsKeepingDeviceUnlocked() { if (mFoldGracePeriodProvider.isEnabled()) { return mForceIsDismissible && isUnlockingWithForceKeyguardDismissibleAllowed(); } return false; } public boolean getUserHasTrust(int userId) { return !isTrustDisabled() && mUserHasTrust.get(userId) Loading Loading @@ -3919,10 +3912,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreSt private void setForceIsDismissibleKeyguard(boolean forceIsDismissible) { Assert.isMainThread(); if (!mFoldGracePeriodProvider.isEnabled()) { // never send updates if the feature isn't enabled return; } if (mKeyguardShowing && forceIsDismissible) { // never keep the device unlocked if the keyguard was already showing mLogger.d("Skip setting forceIsDismissibleKeyguard to true. " Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +3 −11 Original line number Diff line number Diff line Loading @@ -66,7 +66,6 @@ import android.window.RemoteTransitionStub; import android.window.TransitionInfo; import com.android.internal.annotations.GuardedBy; import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.internal.policy.IKeyguardDismissCallback; import com.android.internal.policy.IKeyguardDrawnCallback; import com.android.internal.policy.IKeyguardExitCallback; Loading Loading @@ -326,12 +325,6 @@ public class KeyguardService extends Service { private final KeyguardEnabledInteractor mKeyguardEnabledInteractor; private final KeyguardWakeDirectlyToGoneInteractor mKeyguardWakeDirectlyToGoneInteractor; private final KeyguardDismissInteractor mKeyguardDismissInteractor; private final Lazy<FoldGracePeriodProvider> mFoldGracePeriodProvider = new Lazy<>() { @Override public FoldGracePeriodProvider get() { return new FoldGracePeriodProvider(); } }; private final KeyguardServiceShowLockscreenInteractor mKeyguardServiceShowLockscreenInteractor; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; Loading Loading @@ -689,9 +682,8 @@ public class KeyguardService extends Service { public void showDismissibleKeyguard() { trace("showDismissibleKeyguard"); checkPermission(); if (mFoldGracePeriodProvider.get().isEnabled()) { mKeyguardInteractor.showDismissibleKeyguard(); } if (KeyguardWmStateRefactor.isEnabled()) { mKeyguardServiceShowLockscreenInteractor.onKeyguardServiceShowDismissibleKeyguard(); Loading @@ -699,7 +691,7 @@ public class KeyguardService extends Service { mKeyguardViewMediator.showDismissibleKeyguard(); } if (SceneContainerFlag.isEnabled() && mFoldGracePeriodProvider.get().isEnabled()) { if (SceneContainerFlag.isEnabled()) { mMainExecutor.execute(() -> mSceneInteractorLazy.get().changeScene( Scenes.Lockscreen, "KeyguardService.showDismissibleKeyguard")); } Loading Loading
core/java/com/android/internal/foldables/FoldGracePeriodProvider.javadeleted 100644 → 0 +0 −53 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.internal.foldables; import android.os.Build; import android.sysprop.FoldLockBehaviorProperties; import android.util.Slog; import com.android.internal.foldables.flags.Flags; import java.util.function.Supplier; /** * Wrapper class to access {@link FoldLockBehaviorProperties}. */ public class FoldGracePeriodProvider { private static final String TAG = "FoldGracePeriodProvider"; private final Supplier<Boolean> mFoldGracePeriodEnabled = Flags::foldGracePeriodEnabled; /** * Whether the fold grace period feature is enabled. */ public boolean isEnabled() { if ((Build.IS_ENG || Build.IS_USERDEBUG) && FoldLockBehaviorProperties.fold_grace_period_enabled().orElse(false)) { return true; } try { return mFoldGracePeriodEnabled.get(); } catch (Throwable ex) { Slog.i(TAG, "Flags not ready yet. Return false for " + Flags.FLAG_FOLD_GRACE_PERIOD_ENABLED, ex); return false; } } }
core/java/com/android/internal/foldables/fold_lock_setting_flags.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -8,11 +8,3 @@ flag { bug: "274447767" is_fixed_read_only: true } flag { name: "fold_grace_period_enabled" namespace: "display_manager" description: "Feature flag for Folding Grace Period" bug: "308417021" is_fixed_read_only: true }
core/sysprop/FoldLockBehaviorProperties.sysprop +0 −8 Original line number Diff line number Diff line Loading @@ -22,11 +22,3 @@ prop { scope: Internal access: Readonly } prop { api_name: "fold_grace_period_enabled" type: Boolean prop_name: "persist.fold_grace_period_enabled" scope: Internal access: Readonly }
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +1 −12 Original line number Diff line number Diff line Loading @@ -113,7 +113,6 @@ import androidx.annotation.Nullable; import com.android.compose.animation.scene.ObservableTransitionState; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.InstanceId; import com.android.internal.logging.UiEventLogger; Loading Loading @@ -388,9 +387,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreSt private final BiometricManager mBiometricManager; @Nullable private DeviceEntryFaceAuthInteractor mFaceAuthInteractor; @VisibleForTesting protected FoldGracePeriodProvider mFoldGracePeriodProvider = new FoldGracePeriodProvider(); private final DevicePostureController mDevicePostureController; private final TaskStackChangeListeners mTaskStackChangeListeners; private final IActivityTaskManager mActivityTaskManager; Loading Loading @@ -1433,11 +1429,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreSt * Whether the keyguard should be kept unlocked for the folding grace period. */ public boolean forceIsDismissibleIsKeepingDeviceUnlocked() { if (mFoldGracePeriodProvider.isEnabled()) { return mForceIsDismissible && isUnlockingWithForceKeyguardDismissibleAllowed(); } return false; } public boolean getUserHasTrust(int userId) { return !isTrustDisabled() && mUserHasTrust.get(userId) Loading Loading @@ -3919,10 +3912,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreSt private void setForceIsDismissibleKeyguard(boolean forceIsDismissible) { Assert.isMainThread(); if (!mFoldGracePeriodProvider.isEnabled()) { // never send updates if the feature isn't enabled return; } if (mKeyguardShowing && forceIsDismissible) { // never keep the device unlocked if the keyguard was already showing mLogger.d("Skip setting forceIsDismissibleKeyguard to true. " Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +3 −11 Original line number Diff line number Diff line Loading @@ -66,7 +66,6 @@ import android.window.RemoteTransitionStub; import android.window.TransitionInfo; import com.android.internal.annotations.GuardedBy; import com.android.internal.foldables.FoldGracePeriodProvider; import com.android.internal.policy.IKeyguardDismissCallback; import com.android.internal.policy.IKeyguardDrawnCallback; import com.android.internal.policy.IKeyguardExitCallback; Loading Loading @@ -326,12 +325,6 @@ public class KeyguardService extends Service { private final KeyguardEnabledInteractor mKeyguardEnabledInteractor; private final KeyguardWakeDirectlyToGoneInteractor mKeyguardWakeDirectlyToGoneInteractor; private final KeyguardDismissInteractor mKeyguardDismissInteractor; private final Lazy<FoldGracePeriodProvider> mFoldGracePeriodProvider = new Lazy<>() { @Override public FoldGracePeriodProvider get() { return new FoldGracePeriodProvider(); } }; private final KeyguardServiceShowLockscreenInteractor mKeyguardServiceShowLockscreenInteractor; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; Loading Loading @@ -689,9 +682,8 @@ public class KeyguardService extends Service { public void showDismissibleKeyguard() { trace("showDismissibleKeyguard"); checkPermission(); if (mFoldGracePeriodProvider.get().isEnabled()) { mKeyguardInteractor.showDismissibleKeyguard(); } if (KeyguardWmStateRefactor.isEnabled()) { mKeyguardServiceShowLockscreenInteractor.onKeyguardServiceShowDismissibleKeyguard(); Loading @@ -699,7 +691,7 @@ public class KeyguardService extends Service { mKeyguardViewMediator.showDismissibleKeyguard(); } if (SceneContainerFlag.isEnabled() && mFoldGracePeriodProvider.get().isEnabled()) { if (SceneContainerFlag.isEnabled()) { mMainExecutor.execute(() -> mSceneInteractorLazy.get().changeScene( Scenes.Lockscreen, "KeyguardService.showDismissibleKeyguard")); } Loading