diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-23 01:07:33 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-23 01:07:33 +0000 |
commit | fcf1951b381497c07bfac48b7494bb7edaf92ce8 (patch) | |
tree | b0a8863864dc4052d14f1678b4eb3978fc587f61 | |
parent | b38f9488c1ca4a0dc5864885437074ab8daf25f9 (diff) | |
parent | 8d66f0da382ff60741fa436365fce3a95fac90e4 (diff) | |
download | Provision-android12L-d2-s3-release.tar.gz |
Snap for 7848193 from 8d66f0da382ff60741fa436365fce3a95fac90e4 to sc-d2-releaseandroid-12.1.0_r26android-12.1.0_r25android-12.1.0_r24android-12.1.0_r23android-12.1.0_r18android-12.1.0_r17android-12.1.0_r16android-12.1.0_r15android-12.1.0_r14android-12.1.0_r13android-12.1.0_r12android12L-d2-s8-releaseandroid12L-d2-s7-releaseandroid12L-d2-s6-releaseandroid12L-d2-s5-releaseandroid12L-d2-s4-releaseandroid12L-d2-s3-releaseandroid12L-d2-s2-releaseandroid12L-d2-s1-releaseandroid12L-d2-release
Change-Id: I262c19078422f6afedbd5ecd18bf7b02acdc32e7
-rw-r--r-- | src/com/android/car/provision/DefaultActivity.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/com/android/car/provision/DefaultActivity.java b/src/com/android/car/provision/DefaultActivity.java index 96e0045..b7cd163 100644 --- a/src/com/android/car/provision/DefaultActivity.java +++ b/src/com/android/car/provision/DefaultActivity.java @@ -42,6 +42,7 @@ import android.content.IntentFilter; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; +import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; @@ -73,6 +74,22 @@ import java.util.List; * <li>Add option to setup managed-provisioning mode. * <li>Sets car-specific properties. * </ul> + * + * <p>By default, it doesn't show the UI, unless the {@code persist.dev.car_provision.show_ui} + * property is set to {@code true}. For example, you can change it by running something like: + <pre><code> + adb root + adb shell setprop persist.dev.car_provision.show_ui true && \ + adb shell pm enable --user cur com.android.car.provision/.DefaultActivity &&\ + adb shell settings put secure --user cur user_setup_complete 0 && \ + adb shell settings put secure --user 0 user_setup_complete 0 &&\ + adb shell settings put global device_provisioned 0 &&\ + adb shell rm -f /data/system/device_policies_version &&\ + adb shell rm -f /data/system/device_policies.xml &&\ + adb shell rm -f /data/system/device_owner_2.xml ;\ + adb shell rm -f /data/system/users/`adb shell am get-current-user`/profile_owner.xml + adb shell stop && adb shell start + <code></pre> */ public final class DefaultActivity extends Activity { @@ -102,6 +119,8 @@ public final class DefaultActivity extends Activity { + ".DeviceAdminReceiver"; private static final String LOCAL_TEST_DPC_NAME = "TestDPC (local only)"; + private static final String SHOW_UI_SYSTEM_PROPERTY = "persist.dev.car_provision.show_ui"; + static { DpcInfo testDpc = new DpcInfo(TEST_DPC_NAME, TEST_DPC_PACKAGE, @@ -151,6 +170,13 @@ public final class DefaultActivity extends Activity { return; } + if (!showUi()) { + Log.w(TAG, "onCreate(): skipping UI because " + SHOW_UI_SYSTEM_PROPERTY + + " was not set to true"); + finishSetup(); + return; + } + DevicePolicyManager dpm = getSystemService(DevicePolicyManager.class); if (dpm.isDeviceManaged()) { Log.i(TAG, "onCreate(): skipping UI on managed device"); @@ -180,6 +206,16 @@ public final class DefaultActivity extends Activity { startMonitor(); } + private boolean showUi() { + boolean result = false; + try { + result = SystemProperties.getBoolean(SHOW_UI_SYSTEM_PROPERTY, false); + } catch (Exception e) { + Log.w(TAG, "error getting property " + SHOW_UI_SYSTEM_PROPERTY); + } + return result; + } + private void startMonitor() { Log.d(TAG, "startMonitor()"); registerReceiver(mDrivingStateExitReceiver, |