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