aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Wang <yangwangyw@google.com>2023-11-28 03:48:46 +0000
committerYang Wang <yangwangyw@google.com>2023-12-06 18:58:34 +0000
commit2c648150e6cb0e3d8bde0473d89286704484d64f (patch)
tree20750f1ecfa740bf5eb67a2b033066a1980f852f
parente352d944e594fe406a9f93b572e9ba6a0245298c (diff)
downloadOnDevicePersonalization-2c648150e6cb0e3d8bde0473d89286704484d64f.tar.gz
Create platform side flag for trusted partner apps list.
Test: atest Bug: b/315166405 Change-Id: Ie1b62591efd7b6e88871e36eab6d8e284c6a9c82
-rw-r--r--src/com/android/ondevicepersonalization/services/Flags.java9
-rw-r--r--src/com/android/ondevicepersonalization/services/PhFlags.java22
-rw-r--r--tests/servicetests/src/com/android/ondevicepersonalization/services/PhFlagsTest.java20
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);
+ }
}