Add warning message when camera privacy lock is enabled for

smart auto rotate settings fragment

Test: locally with flame, make RunSettingsRoboTests -j$(nproc)
ROBOTEST_FILTER=SmartAutoRotateCameraStateControllerTest,SmartAutoRotateControllerTest

Bug: 177462182
Change-Id: If443bd2456f3fbe76876777be912b204a50f4088
This commit is contained in:
Abel Tesfaye
2021-03-12 21:43:16 +00:00
parent 1b82a33048
commit b7a66b3068
8 changed files with 249 additions and 3 deletions

View File

@@ -39,6 +39,7 @@ import android.provider.Settings;
import androidx.preference.Preference;
import com.android.settings.testutils.ResolveInfoBuilder;
import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
import org.junit.Before;
import org.junit.Test;
@@ -48,8 +49,10 @@ import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowSensorPrivacyManager.class)
public class SmartAutoRotateControllerTest {
private static final String PACKAGE_NAME = "package_name";
@@ -72,6 +75,7 @@ public class SmartAutoRotateControllerTest {
doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
Manifest.permission.CAMERA, PACKAGE_NAME);
mController = new SmartAutoRotateController(context, "test_key");
when(mController.isCameraLocked()).thenReturn(false);
doReturn(mController.getPreferenceKey()).when(mPreference).getKey();
final ResolveInfo resolveInfo = new ResolveInfoBuilder(PACKAGE_NAME).build();
@@ -105,6 +109,12 @@ public class SmartAutoRotateControllerTest {
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
}
@Test
public void getAvailabilityStatus_cameraDisabled_returnDisableDependentSetting() {
when(mController.isCameraLocked()).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
}
private void enableAutoRotation() {
Settings.System.putIntForUser(mContentResolver,
Settings.System.ACCELEROMETER_ROTATION, 1, UserHandle.USER_CURRENT);