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

Commit 2a85e5cb authored by Abel Tesfaye's avatar Abel Tesfaye Committed by Automerger Merge Worker
Browse files

Merge "Gate QS smart-auto-rotate status with config flag" into udc-dev am:...

Merge "Gate QS smart-auto-rotate status with config flag" into udc-dev am: 55712d9d am: 2b17c802

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



Change-Id: Ic9b0a7f34bfe52a147ea7d84a4cae1ac22fc1243
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 31f3c46e 2b17c802
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ public class RotationLockTile extends QSTileImpl<BooleanState> implements
    private final SensorPrivacyManager mPrivacyManager;
    private final BatteryController mBatteryController;
    private final SettingObserver mSetting;
    private final boolean mAllowRotationResolver;

    @Inject
    public RotationLockTile(
@@ -105,6 +106,8 @@ public class RotationLockTile extends QSTileImpl<BooleanState> implements
            }
        };
        mBatteryController.observe(getLifecycle(), this);
        mAllowRotationResolver = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_allowRotationResolver);
    }

    @Override
@@ -145,7 +148,7 @@ public class RotationLockTile extends QSTileImpl<BooleanState> implements

        final boolean powerSave = mBatteryController.isPowerSave();
        final boolean cameraLocked = mPrivacyManager.isSensorPrivacyEnabled(CAMERA);
        final boolean cameraRotation =
        final boolean cameraRotation = mAllowRotationResolver &&
                !powerSave && !cameraLocked && hasSufficientPermission(mContext)
                        && mController.isCameraRotationEnabled();
        state.value = !rotationLocked;
+31 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.os.Handler;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableResources;

import com.android.internal.logging.MetricsLogger;
import com.android.systemui.R;
@@ -94,14 +95,18 @@ public class RotationLockTileTest extends SysuiTestCase {
    private RotationLockController mController;
    private TestableLooper mTestableLooper;
    private RotationLockTile mLockTile;
    private TestableResources mTestableResources;

    @Before
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
        mTestableLooper = TestableLooper.get(this);
        mTestableResources = mContext.getOrCreateTestableResources();

        when(mHost.getContext()).thenReturn(mContext);
        when(mHost.getUserContext()).thenReturn(mContext);
        mTestableResources.addOverride(com.android.internal.R.bool.config_allowRotationResolver,
                true);

        mController = new RotationLockControllerImpl(mRotationPolicyWrapper,
                mDeviceStateRotationLockSettingController, DEFAULT_SETTINGS);
@@ -207,6 +212,32 @@ public class RotationLockTileTest extends SysuiTestCase {
        assertEquals("", mLockTile.getState().secondaryLabel.toString());
    }

    @Test
    public void testSecondaryString_rotationResolverDisabled_isEmpty() {
        mTestableResources.addOverride(com.android.internal.R.bool.config_allowRotationResolver,
                false);
        mLockTile = new RotationLockTile(
                mHost,
                mUiEventLogger,
                mTestableLooper.getLooper(),
                new Handler(mTestableLooper.getLooper()),
                new FalsingManagerFake(),
                mMetricsLogger,
                mStatusBarStateController,
                mActivityStarter,
                mQSLogger,
                mController,
                mPrivacyManager,
                mBatteryController,
                new FakeSettings()
        );

        mLockTile.refreshState();
        mTestableLooper.processAllMessages();

        assertEquals("", mLockTile.getState().secondaryLabel.toString());
    }

    @Test
    public void testIcon_whenDisabled_isOffState() {
        QSTile.BooleanState state = new QSTile.BooleanState();