Restrict Settings Homepage prior to provisioning

Bug: 327749022
Test: manual test
1. factory reset + launch Settings via ADB during Setup -> verify app closes
2. factory reset + bypass Setup + tap Settings icon in launcher -> verify app closes

Change-Id: I8cbe38109ebf88a0f68f3917e95468a81c6463c1
This commit is contained in:
Chris Antol
2024-03-25 23:49:35 +00:00
parent 6263205fa8
commit 70a5a0fd35
2 changed files with 28 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@@ -54,6 +55,7 @@ import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -80,11 +82,28 @@ public class SettingsHomepageActivityTest {
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Before
public void setup() {
Settings.Global.putInt(ApplicationProvider.getApplicationContext().getContentResolver(),
Settings.Global.DEVICE_PROVISIONED, 1);
}
@After
public void tearDown() {
ShadowPasswordUtils.reset();
}
@Test
public void launch_deviceUnprovisioned_finish() {
Settings.Global.putInt(ApplicationProvider.getApplicationContext().getContentResolver(),
Settings.Global.DEVICE_PROVISIONED, 0);
SettingsHomepageActivity activity = Robolectric.buildActivity(
SettingsHomepageActivity.class).create().get();
assertThat(activity.isFinishing()).isTrue();
}
@Test
public void launch_shouldHaveAnimationForIaFragment() {
final SettingsHomepageActivity activity = Robolectric.buildActivity(