From d7b70b883d3a1a6f83bd6f24e49cd9da0d74a4ed 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

(This is a cherry-pick of aosp/2968526 for resolving merge conflicts)

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
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       |  2 +-
 6 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/AconfigFlags.bp b/AconfigFlags.bp
index b782ad1241a5..14658e5d9e4f 100644
--- a/AconfigFlags.bp
+++ b/AconfigFlags.bp
@@ -82,7 +82,7 @@ aconfig_declarations_group {
         "com.android.media.flags.bettertogether-aconfig-java",
         "com.android.media.flags.editing-aconfig-java",
         "com.android.media.flags.projection-aconfig-java",
-        "com.android.net.thread.flags-aconfig-java",
+        "com.android.net.thread.platform.flags-aconfig-java",
         "com.android.server.flags.services-aconfig-java",
         "com.android.text.flags-aconfig-java",
         "com.android.window.flags.window-aconfig-java",
@@ -786,8 +786,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"],
 }
 
@@ -799,8 +799,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 e6e7fa883d54..13c3ededbcd7 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -4815,7 +4815,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 2a974ed6045d..7a015cd187ca 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3974,7 +3974,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 7873a76b519d..be17d7c0f0db 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -1920,7 +1920,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 d5d26beae596..9c48f2991267 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -13431,7 +13431,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 (com.android.net.thread.flags.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