From 3c355586a00f90163fb2548d7382c458f0525f9f Mon Sep 17 00:00:00 2001 From: Kangping Dong <wgtdkp@google.com> Date: Mon, 19 Feb 2024 22:09:13 +0800 Subject: [PATCH] [Thread] rename package name for Thread platform flags There are two Thread flag files in frameworks/base and packages/modules/Connectivity/thread. Both are currently using the same "com.android.net.thread.flags" package name for their flags. While all flags needs to be built in a aconfig_declarations target, two aconfig_declarations can't have the same package name: ``` FAILED: out/soong/build.aosp_arm.ninja cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" --soong_variables out/soong/soong.aosp_arm.variables -o out/soong/b uild.aosp_arm.ninja --globListDir aosp_arm --globFile out/soong/globs-aosp_arm.ninja -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.aosp_arm.build Android.bp 2 aconfig_declarations found for package com.android.net.thread.flags ``` To resolve this issue, this commit renames the platform flags to package name "android.net.thread.platform.flags". This commit is required by ag/26286387 Bug: 325886480 Merged-In: Icacf88f7c0aa499b4b29f4072ae58840f0b1761f Change-Id: Icacf88f7c0aa499b4b29f4072ae58840f0b1761f --- AconfigFlags.bp | 10 +++++----- core/java/android/content/Context.java | 4 +++- core/java/android/content/pm/PackageManager.java | 4 +++- core/java/android/net/thread/flags.aconfig | 2 +- core/java/android/os/UserManager.java | 4 +++- .../devicepolicy/DevicePolicyManagerService.java | 3 +-- 6 files changed, 16 insertions(+), 11 deletions(-) diff --git a/AconfigFlags.bp b/AconfigFlags.bp index 858620b41088..f44f5feff6dd 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -30,7 +30,7 @@ aconfig_declarations_group { "android.security.flags-aconfig-java", "com.android.hardware.camera2-aconfig-java", "com.android.hardware.input-aconfig-java", - "com.android.net.thread.flags-aconfig-java", + "com.android.net.thread.platform.flags-aconfig-java", "com.android.text.flags-aconfig-java", "com.android.window.flags.window-aconfig-java", // !!! KEEP THIS LIST ALPHABETICAL !!! @@ -241,8 +241,8 @@ aconfig_declarations { // Thread network aconfig_declarations { - name: "com.android.net.thread.flags-aconfig", - package: "com.android.net.thread.flags", + name: "com.android.net.thread.platform.flags-aconfig", + package: "com.android.net.thread.platform.flags", srcs: ["core/java/android/net/thread/flags.aconfig"], } @@ -254,8 +254,8 @@ java_aconfig_library { } java_aconfig_library { - name: "com.android.net.thread.flags-aconfig-java", - aconfig_declarations: "com.android.net.thread.flags-aconfig", + name: "com.android.net.thread.platform.flags-aconfig-java", + aconfig_declarations: "com.android.net.thread.platform.flags-aconfig", defaults: ["framework-minus-apex-aconfig-java-defaults"], } diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index bfb041cf3edd..fa812672839e 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -4767,7 +4767,9 @@ public abstract class Context { * @see android.net.thread.ThreadNetworkManager * @hide */ - @FlaggedApi(com.android.net.thread.flags.Flags.FLAG_THREAD_ENABLED_PLATFORM) + // TODO (b/325886480): update the flag to + // "com.android.net.thread.platform.flags.Flags.FLAG_THREAD_ENABLED_PLATFORM" + @FlaggedApi("com.android.net.thread.flags.thread_enabled_platform") @SystemApi public static final String THREAD_NETWORK_SERVICE = "thread_network"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index c943789c2e33..1cfdc78f6e2f 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -3756,7 +3756,9 @@ public abstract class PackageManager { * The device is capable of communicating with other devices via * <a href="https://www.threadgroup.org">Thread</a> networking protocol. */ - @FlaggedApi(com.android.net.thread.flags.Flags.FLAG_THREAD_ENABLED_PLATFORM) + // TODO (b/325886480): update the flag to + // "com.android.net.thread.platform.flags.Flags.FLAG_THREAD_ENABLED_PLATFORM" + @FlaggedApi("com.android.net.thread.flags.thread_enabled_platform") @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_THREAD_NETWORK = "android.hardware.thread_network"; diff --git a/core/java/android/net/thread/flags.aconfig b/core/java/android/net/thread/flags.aconfig index ff762d78c412..d679f9c3acb8 100644 --- a/core/java/android/net/thread/flags.aconfig +++ b/core/java/android/net/thread/flags.aconfig @@ -1,4 +1,4 @@ -package: "com.android.net.thread.flags" +package: "com.android.net.thread.platform.flags" # This file contains aconfig flags used from platform code # Flags used for module APIs must be in aconfig files under each modules diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index f60a8a48289c..0081d5edec07 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -1867,7 +1867,9 @@ public class UserManager { * @see DevicePolicyManager#clearUserRestriction(ComponentName, String) * @see #getUserRestrictions() */ - @FlaggedApi(com.android.net.thread.flags.Flags.FLAG_THREAD_USER_RESTRICTION_ENABLED) + // TODO (b/325886480): update the flag to + // "com.android.net.thread.platform.flags.Flags.FLAG_THREAD_USER_RESTRICTION_ENABLED" + @FlaggedApi("com.android.net.thread.flags.thread_user_restriction_enabled") public static final String DISALLOW_THREAD_NETWORK = "no_thread_network"; /** diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index b14d37df9892..aab14adecf9d 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -483,7 +483,6 @@ import com.android.internal.widget.PasswordValidationError; import com.android.modules.utils.TypedXmlPullParser; import com.android.modules.utils.TypedXmlSerializer; import com.android.net.module.util.ProxyUtils; -import com.android.net.thread.flags.Flags; import com.android.server.AlarmManagerInternal; import com.android.server.LocalManagerRegistry; import com.android.server.LocalServices; @@ -13836,7 +13835,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { UserManager.DISALLOW_SMS, new String[]{MANAGE_DEVICE_POLICY_SMS}); USER_RESTRICTION_PERMISSIONS.put( UserManager.DISALLOW_SYSTEM_ERROR_DIALOGS, new String[]{MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS}); - if (Flags.threadUserRestrictionEnabled()) { + if (com.android.net.thread.platform.flags.Flags.threadUserRestrictionEnabled()) { USER_RESTRICTION_PERMISSIONS.put( UserManager.DISALLOW_THREAD_NETWORK, new String[]{MANAGE_DEVICE_POLICY_THREAD_NETWORK}); -- GitLab