diff options
author | Yang Wang <yangwangyw@google.com> | 2023-11-28 03:48:46 +0000 |
---|---|---|
committer | Yang Wang <yangwangyw@google.com> | 2023-12-06 18:58:34 +0000 |
commit | 2c648150e6cb0e3d8bde0473d89286704484d64f (patch) | |
tree | 20750f1ecfa740bf5eb67a2b033066a1980f852f | |
parent | e352d944e594fe406a9f93b572e9ba6a0245298c (diff) | |
download | OnDevicePersonalization-2c648150e6cb0e3d8bde0473d89286704484d64f.tar.gz |
Create platform side flag for trusted partner apps list.
Test: atest
Bug: b/315166405
Change-Id: Ie1b62591efd7b6e88871e36eab6d8e284c6a9c82
3 files changed, 45 insertions, 6 deletions
diff --git a/src/com/android/ondevicepersonalization/services/Flags.java b/src/com/android/ondevicepersonalization/services/Flags.java index 86615ac3..49104270 100644 --- a/src/com/android/ondevicepersonalization/services/Flags.java +++ b/src/com/android/ondevicepersonalization/services/Flags.java @@ -55,6 +55,11 @@ public interface Flags { */ int ISOLATED_SERVICE_DEADLINE_SECONDS = 30; + /** + * Default value for the list of trusted partner app names. + */ + String DEFAULT_TRUSTED_PARTNER_APPS_LIST = ""; + default boolean getGlobalKillSwitch() { return GLOBAL_KILL_SWITCH; } @@ -74,4 +79,8 @@ public interface Flags { default int getIsolatedServiceDeadlineSeconds() { return ISOLATED_SERVICE_DEADLINE_SECONDS; } + + default String getTrustedPartnerAppsList() { + return DEFAULT_TRUSTED_PARTNER_APPS_LIST; + } } diff --git a/src/com/android/ondevicepersonalization/services/PhFlags.java b/src/com/android/ondevicepersonalization/services/PhFlags.java index b253e044..b144116d 100644 --- a/src/com/android/ondevicepersonalization/services/PhFlags.java +++ b/src/com/android/ondevicepersonalization/services/PhFlags.java @@ -40,6 +40,8 @@ public final class PhFlags implements Flags { static final String KEY_ISOLATED_SERVICE_DEADLINE_SECONDS = "isolated_service_deadline_seconds"; + static final String KEY_TRUSTED_PARTNER_APPS_LIST = "trusted_partner_apps_list"; + // OnDevicePersonalization Namespace String from DeviceConfig class static final String NAMESPACE_ON_DEVICE_PERSONALIZATION = "on_device_personalization"; private static final PhFlags sSingleton = new PhFlags(); @@ -55,9 +57,9 @@ public final class PhFlags implements Flags { public boolean getGlobalKillSwitch() { // The priority of applying the flag values: PH (DeviceConfig), then hard-coded value. return DeviceConfig.getBoolean( - /* namespace= */ NAMESPACE_ON_DEVICE_PERSONALIZATION, - /* name= */ KEY_GLOBAL_KILL_SWITCH, - /* defaultValue= */ GLOBAL_KILL_SWITCH); + /* namespace= */ NAMESPACE_ON_DEVICE_PERSONALIZATION, + /* name= */ KEY_GLOBAL_KILL_SWITCH, + /* defaultValue= */ GLOBAL_KILL_SWITCH); } @Override @@ -67,9 +69,9 @@ public final class PhFlags implements Flags { } // The priority of applying the flag values: PH (DeviceConfig), then user hard-coded value. return DeviceConfig.getBoolean( - /* namespace= */ NAMESPACE_ON_DEVICE_PERSONALIZATION, - /* name= */ KEY_ENABLE_ONDEVICEPERSONALIZATION_APIS, - /* defaultValue= */ ENABLE_ONDEVICEPERSONALIZATION_APIS); + /* namespace= */ NAMESPACE_ON_DEVICE_PERSONALIZATION, + /* name= */ KEY_ENABLE_ONDEVICEPERSONALIZATION_APIS, + /* defaultValue= */ ENABLE_ONDEVICEPERSONALIZATION_APIS); } @Override @@ -104,4 +106,12 @@ public final class PhFlags implements Flags { /* name= */ KEY_ISOLATED_SERVICE_DEADLINE_SECONDS, /* defaultValue= */ ISOLATED_SERVICE_DEADLINE_SECONDS); } + + @Override + public String getTrustedPartnerAppsList() { + return DeviceConfig.getString( + /* namespace= */ NAMESPACE_ON_DEVICE_PERSONALIZATION, + /* name= */ KEY_TRUSTED_PARTNER_APPS_LIST, + /* defaultValue */ DEFAULT_TRUSTED_PARTNER_APPS_LIST); + } } diff --git a/tests/servicetests/src/com/android/ondevicepersonalization/services/PhFlagsTest.java b/tests/servicetests/src/com/android/ondevicepersonalization/services/PhFlagsTest.java index 4cada534..30d6a9a2 100644 --- a/tests/servicetests/src/com/android/ondevicepersonalization/services/PhFlagsTest.java +++ b/tests/servicetests/src/com/android/ondevicepersonalization/services/PhFlagsTest.java @@ -16,6 +16,7 @@ package com.android.ondevicepersonalization.services; +import static com.android.ondevicepersonalization.services.Flags.DEFAULT_TRUSTED_PARTNER_APPS_LIST; import static com.android.ondevicepersonalization.services.Flags.ENABLE_ONDEVICEPERSONALIZATION_APIS; import static com.android.ondevicepersonalization.services.Flags.ENABLE_PERSONALIZATION_STATUS_OVERRIDE; import static com.android.ondevicepersonalization.services.Flags.GLOBAL_KILL_SWITCH; @@ -24,6 +25,7 @@ import static com.android.ondevicepersonalization.services.PhFlags.KEY_ENABLE_ON import static com.android.ondevicepersonalization.services.PhFlags.KEY_ENABLE_PERSONALIZATION_STATUS_OVERRIDE; import static com.android.ondevicepersonalization.services.PhFlags.KEY_GLOBAL_KILL_SWITCH; import static com.android.ondevicepersonalization.services.PhFlags.KEY_PERSONALIZATION_STATUS_OVERRIDE_VALUE; +import static com.android.ondevicepersonalization.services.PhFlags.KEY_TRUSTED_PARTNER_APPS_LIST; import static com.google.common.truth.Truth.assertThat; @@ -133,4 +135,22 @@ public class PhFlagsTest { Flags phFlags = FlagsFactory.getFlags(); assertThat(phFlags.getPersonalizationStatusOverrideValue()).isEqualTo(phOverridingValue); } + + @Test + public void testGetTrustedPartnerAppsList() { + assertThat(FlagsFactory.getFlags().getTrustedPartnerAppsList()) + .isEqualTo(DEFAULT_TRUSTED_PARTNER_APPS_LIST); + + final String testTrustedPartnerAppsList = + "trusted_test_app_1, trusted_test_app_2, trusted_test_app_3"; + + DeviceConfig.setProperty( + DeviceConfig.NAMESPACE_ON_DEVICE_PERSONALIZATION, + KEY_TRUSTED_PARTNER_APPS_LIST, + testTrustedPartnerAppsList, + /* makeDefault */ false); + + assertThat(FlagsFactory.getFlags().getTrustedPartnerAppsList()) + .isEqualTo(testTrustedPartnerAppsList); + } } |