Loading src/com/android/settings/homepage/SettingsHomepageActivity.java +9 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,15 @@ public class SettingsHomepageActivity extends FragmentActivity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Ensure device is provisioned in order to access Settings home // TODO(b/331254029): This should later be replaced in favor of an allowlist boolean unprovisioned = android.provider.Settings.Global.getInt(getContentResolver(), android.provider.Settings.Global.DEVICE_PROVISIONED, 0) == 0; if (unprovisioned) { Log.e(TAG, "Device is not provisioned, exiting Settings"); finish(); } mIsEmbeddingActivityEnabled = ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this); if (mIsEmbeddingActivityEnabled) { final UserManager um = getSystemService(UserManager.class); Loading tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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( Loading Loading
src/com/android/settings/homepage/SettingsHomepageActivity.java +9 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,15 @@ public class SettingsHomepageActivity extends FragmentActivity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Ensure device is provisioned in order to access Settings home // TODO(b/331254029): This should later be replaced in favor of an allowlist boolean unprovisioned = android.provider.Settings.Global.getInt(getContentResolver(), android.provider.Settings.Global.DEVICE_PROVISIONED, 0) == 0; if (unprovisioned) { Log.e(TAG, "Device is not provisioned, exiting Settings"); finish(); } mIsEmbeddingActivityEnabled = ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this); if (mIsEmbeddingActivityEnabled) { final UserManager um = getSystemService(UserManager.class); Loading
tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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( Loading