summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/current.txt13
-rw-r--r--core/api/module-lib-current.txt1
-rw-r--r--core/api/system-current.txt5
-rw-r--r--core/java/android/net/NetworkPolicyManager.java1
-rw-r--r--core/java/android/net/vcn/IVcnManagementService.aidl3
-rw-r--r--core/java/android/net/vcn/VcnManager.java18
-rw-r--r--core/java/android/os/ServiceManagerNative.java4
-rw-r--r--core/java/android/print/PrintAttributes.java48
-rw-r--r--core/java/android/uwb/AdapterState.aidl38
-rw-r--r--core/java/android/uwb/AdapterStateListener.java63
-rw-r--r--core/java/android/uwb/IUwbAdapter.aidl13
-rw-r--r--core/java/android/uwb/IUwbAdapterStateCallbacks.aidl13
-rw-r--r--core/java/android/uwb/UwbManager.java48
-rw-r--r--core/java/android/view/animation/LayoutAnimationController.java4
-rw-r--r--core/jni/OWNERS6
-rw-r--r--core/jni/android_os_VintfObject.cpp29
-rw-r--r--core/res/res/values/strings.xml24
-rw-r--r--core/res/res/values/symbols.xml12
-rw-r--r--core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk6
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests2/Android.mk6
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyTestAppWithCorruptedDex/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests2/Android.mk4
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk3
-rw-r--r--core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk4
-rw-r--r--core/tests/overlaytests/host/test-apps/SignatureOverlay/Android.mk9
-rw-r--r--core/tests/overlaytests/host/test-apps/UpdateOverlay/Android.mk15
-rw-r--r--core/tests/uwbtests/src/android/uwb/AdapterStateListenerTest.java63
-rw-r--r--data/etc/platform.xml1
-rw-r--r--packages/CarSystemUI/tests/Android.mk3
-rw-r--r--packages/Connectivity/framework/api/system-current.txt6
-rw-r--r--packages/Connectivity/framework/src/android/net/NetworkCapabilities.java20
-rw-r--r--packages/Connectivity/framework/src/android/net/NetworkRequest.java4
-rw-r--r--packages/Shell/AndroidManifest.xml1
-rw-r--r--packages/SystemUI/tests/Android.mk3
-rw-r--r--packages/overlays/AccentColorAmethystOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorAquamarineOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorBlackOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorCarbonOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorCinnamonOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorGreenOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorOceanOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorOrchidOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorPaletteOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorPurpleOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorSandOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorSpaceOverlay/Android.mk3
-rw-r--r--packages/overlays/AccentColorTangerineOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationTallOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.mk3
-rw-r--r--packages/overlays/DisplayCutoutEmulationWideOverlay/Android.mk3
-rw-r--r--packages/overlays/FontNotoSerifSourceOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackCircularAndroidOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackCircularLauncherOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackCircularSettingsOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackCircularSystemUIOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackCircularThemePickerOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackFilledAndroidOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackFilledLauncherOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackFilledSettingsOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackFilledSystemUIOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackFilledThemePickerOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackKaiAndroidOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackKaiLauncherOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackKaiSettingsOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackKaiSystemUIOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackKaiThemePickerOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackRoundedAndroidOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackRoundedLauncherOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackRoundedSettingsOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackRoundedSystemUIOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackRoundedThemePickerOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackSamAndroidOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackSamLauncherOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackSamSettingsOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackSamSystemUIOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackSamThemePickerOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackVictorAndroidOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackVictorLauncherOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackVictorSettingsOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackVictorSystemUIOverlay/Android.mk3
-rw-r--r--packages/overlays/IconPackVictorThemePickerOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeHeartOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapePebbleOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeRoundedRectOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeSquareOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeSquircleOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeTaperedRectOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeTeardropOverlay/Android.mk3
-rw-r--r--packages/overlays/IconShapeVesselOverlay/Android.mk3
-rw-r--r--packages/overlays/NavigationBarMode2ButtonOverlay/Android.mk5
-rw-r--r--packages/overlays/NavigationBarMode3ButtonOverlay/Android.mk5
-rw-r--r--packages/overlays/NavigationBarModeGesturalOverlay/Android.mk5
-rw-r--r--packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.mk5
-rw-r--r--packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.mk5
-rw-r--r--packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.mk5
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java9
-rw-r--r--services/core/java/com/android/server/OWNERS2
-rw-r--r--services/core/java/com/android/server/VcnManagementService.java34
-rw-r--r--services/core/java/com/android/server/vcn/UnderlyingNetworkTracker.java8
-rw-r--r--telephony/java/android/telephony/CellIdentityNr.java2
-rw-r--r--tests/Camera2Tests/CameraToo/Android.mk3
-rw-r--r--tests/Camera2Tests/CameraToo/tests/Android.mk3
-rw-r--r--tests/Camera2Tests/SmartCamera/SimpleCamera/Android.mk3
-rw-r--r--tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk3
-rw-r--r--tests/CanvasCompare/Android.mk3
-rw-r--r--tests/LockTaskTests/Android.mk3
-rw-r--r--tests/SoundTriggerTests/Android.mk3
-rw-r--r--tests/net/common/java/android/net/NetworkCapabilitiesTest.java36
-rw-r--r--tests/net/java/com/android/server/ConnectivityServiceTest.java10
-rw-r--r--tests/vcn/java/com/android/server/VcnManagementServiceTest.java40
-rw-r--r--tests/vcn/java/com/android/server/vcn/UnderlyingNetworkTrackerTest.java4
-rw-r--r--tools/aapt2/integration-tests/MergeOnlyTest/App/Android.mk5
-rw-r--r--tools/aapt2/integration-tests/NamespaceTest/App/Android.mk3
-rw-r--r--tools/aapt2/integration-tests/NamespaceTest/Split/Android.mk3
-rw-r--r--tools/fonts/Android.bp9
124 files changed, 774 insertions, 128 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 7f11992a2378..4968a5f0b174 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -25719,6 +25719,7 @@ package android.net.vcn {
public class VcnManager {
method @RequiresPermission("carrier privileges") public void clearVcnConfig(@NonNull android.os.ParcelUuid) throws java.io.IOException;
+ method @NonNull public java.util.List<android.os.ParcelUuid> getConfiguredSubscriptionGroups();
method public void registerVcnStatusCallback(@NonNull android.os.ParcelUuid, @NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnStatusCallback);
method @RequiresPermission("carrier privileges") public void setVcnConfig(@NonNull android.os.ParcelUuid, @NonNull android.net.vcn.VcnConfig) throws java.io.IOException;
method public void unregisterVcnStatusCallback(@NonNull android.net.vcn.VcnManager.VcnStatusCallback);
@@ -31417,6 +31418,10 @@ package android.print {
method @NonNull public String getLabel(@NonNull android.content.pm.PackageManager);
method @IntRange(from=1) public int getWidthMils();
method public boolean isPortrait();
+ field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_C;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_D;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_E;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_F;
field public static final android.print.PrintAttributes.MediaSize ISO_A0;
field public static final android.print.PrintAttributes.MediaSize ISO_A1;
field public static final android.print.PrintAttributes.MediaSize ISO_A10;
@@ -31470,6 +31475,12 @@ package android.print {
field public static final android.print.PrintAttributes.MediaSize JPN_KAKU2;
field public static final android.print.PrintAttributes.MediaSize JPN_OUFUKU;
field public static final android.print.PrintAttributes.MediaSize JPN_YOU4;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_A;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_B;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_C;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_D;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_E;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_E1;
field public static final android.print.PrintAttributes.MediaSize NA_FOOLSCAP;
field public static final android.print.PrintAttributes.MediaSize NA_GOVT_LETTER;
field public static final android.print.PrintAttributes.MediaSize NA_INDEX_3X5;
@@ -31481,7 +31492,9 @@ package android.print {
field public static final android.print.PrintAttributes.MediaSize NA_LETTER;
field public static final android.print.PrintAttributes.MediaSize NA_MONARCH;
field public static final android.print.PrintAttributes.MediaSize NA_QUARTO;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize NA_SUPER_B;
field public static final android.print.PrintAttributes.MediaSize NA_TABLOID;
+ field @NonNull public static final android.print.PrintAttributes.MediaSize OE_PHOTO_L;
field public static final android.print.PrintAttributes.MediaSize OM_DAI_PA_KAI;
field public static final android.print.PrintAttributes.MediaSize OM_JUURO_KU_KAI;
field public static final android.print.PrintAttributes.MediaSize OM_PA_KAI;
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index b1e3e1464e3b..66ac74ac84d9 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -44,7 +44,6 @@ package android.net {
}
public class NetworkPolicyManager {
- method @NonNull public static String blockedReasonsToString(int);
method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getMultipathPreference(@NonNull android.net.Network);
method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getRestrictBackgroundStatus(int);
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index e376fb82f498..2e4043654d44 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -12606,12 +12606,15 @@ package android.uwb {
}
public static interface UwbManager.AdapterStateCallback {
- method public void onStateChanged(boolean, int);
+ method public void onStateChanged(int, int);
field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
+ field public static final int STATE_DISABLED = 0; // 0x0
+ field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
+ field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
}
}
diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java
index b074fada66bd..c1cd09e5f531 100644
--- a/core/java/android/net/NetworkPolicyManager.java
+++ b/core/java/android/net/NetworkPolicyManager.java
@@ -766,7 +766,6 @@ public class NetworkPolicyManager {
* blocked.
* @hide
*/
- @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@NonNull
public static String blockedReasonsToString(int blockedReasons) {
return DebugUtils.flagsToString(NetworkPolicyManager.class, "BLOCKED_", blockedReasons);
diff --git a/core/java/android/net/vcn/IVcnManagementService.aidl b/core/java/android/net/vcn/IVcnManagementService.aidl
index 5b79f7311b6d..e16f6b167750 100644
--- a/core/java/android/net/vcn/IVcnManagementService.aidl
+++ b/core/java/android/net/vcn/IVcnManagementService.aidl
@@ -24,12 +24,15 @@ import android.net.vcn.VcnConfig;
import android.net.vcn.VcnUnderlyingNetworkPolicy;
import android.os.ParcelUuid;
+import java.util.List;
+
/**
* @hide
*/
interface IVcnManagementService {
void setVcnConfig(in ParcelUuid subscriptionGroup, in VcnConfig config, in String opPkgName);
void clearVcnConfig(in ParcelUuid subscriptionGroup, in String opPkgName);
+ List<ParcelUuid> getConfiguredSubscriptionGroups(in String opPkgName);
void addVcnUnderlyingNetworkPolicyListener(in IVcnUnderlyingNetworkPolicyListener listener);
void removeVcnUnderlyingNetworkPolicyListener(in IVcnUnderlyingNetworkPolicyListener listener);
diff --git a/core/java/android/net/vcn/VcnManager.java b/core/java/android/net/vcn/VcnManager.java
index 344b20c036a0..9d1c1ff898e7 100644
--- a/core/java/android/net/vcn/VcnManager.java
+++ b/core/java/android/net/vcn/VcnManager.java
@@ -38,6 +38,7 @@ import java.io.IOException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Collections;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
@@ -162,6 +163,23 @@ public class VcnManager {
}
}
+ /**
+ * Retrieves the list of Subscription Groups for which a VCN Configuration has been set.
+ *
+ * <p>The returned list will include only subscription groups for which the carrier app is
+ * privileged, and which have an associated {@link VcnConfig}.
+ *
+ * @throws SecurityException if the caller is not running as the primary user
+ */
+ @NonNull
+ public List<ParcelUuid> getConfiguredSubscriptionGroups() {
+ try {
+ return mService.getConfiguredSubscriptionGroups(mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
// TODO(b/180537630): remove all VcnUnderlyingNetworkPolicyListener refs once Telephony is using
// the new VcnNetworkPolicyChangeListener API
/**
diff --git a/core/java/android/os/ServiceManagerNative.java b/core/java/android/os/ServiceManagerNative.java
index 60acc57d0cfe..755c35f4767a 100644
--- a/core/java/android/os/ServiceManagerNative.java
+++ b/core/java/android/os/ServiceManagerNative.java
@@ -94,6 +94,10 @@ class ServiceManagerProxy implements IServiceManager {
return mServiceManager.getDeclaredInstances(iface);
}
+ public String updatableViaApex(String name) throws RemoteException {
+ return mServiceManager.updatableViaApex(name);
+ }
+
public void registerClientCallback(String name, IBinder service, IClientCallback cb)
throws RemoteException {
throw new RemoteException();
diff --git a/core/java/android/print/PrintAttributes.java b/core/java/android/print/PrintAttributes.java
index e607ced63393..c19884805507 100644
--- a/core/java/android/print/PrintAttributes.java
+++ b/core/java/android/print/PrintAttributes.java
@@ -635,6 +635,50 @@ public final class PrintAttributes implements Parcelable {
public static final MediaSize NA_FOOLSCAP =
new MediaSize("NA_FOOLSCAP", "android",
R.string.mediasize_na_foolscap, 8000, 13000);
+ /** North America ANSI C media size: 17" x 22" (432mm x 559mm) */
+ public static final @NonNull MediaSize ANSI_C =
+ new MediaSize("ANSI_C", "android",
+ R.string.mediasize_na_ansi_c, 17000, 22000);
+ /** North America ANSI D media size: 22" x 34" (559mm x 864mm) */
+ public static final @NonNull MediaSize ANSI_D =
+ new MediaSize("ANSI_D", "android",
+ R.string.mediasize_na_ansi_d, 22000, 34000);
+ /** North America ANSI E media size: 34" x 44" (864mm x 1118mm) */
+ public static final @NonNull MediaSize ANSI_E =
+ new MediaSize("ANSI_E", "android",
+ R.string.mediasize_na_ansi_e, 34000, 44000);
+ /** North America ANSI F media size: 28" x 40" (711mm x 1016mm) */
+ public static final @NonNull MediaSize ANSI_F =
+ new MediaSize("ANSI_F", "android",
+ R.string.mediasize_na_ansi_f, 28000, 40000);
+ /** North America Arch A media size: 9" x 12" (229mm x 305mm) */
+ public static final @NonNull MediaSize NA_ARCH_A =
+ new MediaSize("NA_ARCH_A", "android",
+ R.string.mediasize_na_arch_a, 9000, 12000);
+ /** North America Arch B media size: 12" x 18" (305mm x 457mm) */
+ public static final @NonNull MediaSize NA_ARCH_B =
+ new MediaSize("NA_ARCH_B", "android",
+ R.string.mediasize_na_arch_b, 12000, 18000);
+ /** North America Arch C media size: 18" x 24" (457mm x 610mm) */
+ public static final @NonNull MediaSize NA_ARCH_C =
+ new MediaSize("NA_ARCH_C", "android",
+ R.string.mediasize_na_arch_c, 18000, 24000);
+ /** North America Arch D media size: 24" x 36" (610mm x 914mm) */
+ public static final @NonNull MediaSize NA_ARCH_D =
+ new MediaSize("NA_ARCH_D", "android",
+ R.string.mediasize_na_arch_d, 24000, 36000);
+ /** North America Arch E media size: 36" x 48" (914mm x 1219mm) */
+ public static final @NonNull MediaSize NA_ARCH_E =
+ new MediaSize("NA_ARCH_E", "android",
+ R.string.mediasize_na_arch_e, 36000, 48000);
+ /** North America Arch E1 media size: 30" x 42" (762mm x 1067mm) */
+ public static final @NonNull MediaSize NA_ARCH_E1 =
+ new MediaSize("NA_ARCH_E1", "android",
+ R.string.mediasize_na_arch_e1, 30000, 42000);
+ /** North America Super B media size: 13" x 19" (330mm x 483mm) */
+ public static final @NonNull MediaSize NA_SUPER_B =
+ new MediaSize("NA_SUPER_B", "android",
+ R.string.mediasize_na_super_b, 13000, 19000);
// Chinese
@@ -792,6 +836,10 @@ public final class PrintAttributes implements Parcelable {
public static final MediaSize JPN_YOU4 =
new MediaSize("JPN_YOU4", "android",
R.string.mediasize_japanese_you4, 4134, 9252);
+ /** Japanese Photo L media size: 89mm x 127mm (3.5 x 5") */
+ public static final @NonNull MediaSize OE_PHOTO_L =
+ new MediaSize("OE_PHOTO_L", "android",
+ R.string.mediasize_japanese_l, 3500, 5000);
private final @NonNull String mId;
/**@hide */
diff --git a/core/java/android/uwb/AdapterState.aidl b/core/java/android/uwb/AdapterState.aidl
new file mode 100644
index 000000000000..991f64a0c0ae
--- /dev/null
+++ b/core/java/android/uwb/AdapterState.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.uwb;
+
+/**
+ * @hide
+ */
+@Backing(type="int")
+enum AdapterState {
+ /**
+ * The state when UWB is disabled.
+ */
+ STATE_DISABLED,
+
+ /**
+ * The state when UWB is enabled but has no active sessions.
+ */
+ STATE_ENABLED_INACTIVE,
+
+ /**
+ * The state when UWB is enabled and has active sessions.
+ */
+ STATE_ENABLED_ACTIVE,
+} \ No newline at end of file
diff --git a/core/java/android/uwb/AdapterStateListener.java b/core/java/android/uwb/AdapterStateListener.java
index 8875af385238..b9900951591f 100644
--- a/core/java/android/uwb/AdapterStateListener.java
+++ b/core/java/android/uwb/AdapterStateListener.java
@@ -21,6 +21,7 @@ import android.os.Binder;
import android.os.RemoteException;
import android.util.Log;
import android.uwb.UwbManager.AdapterStateCallback;
+import android.uwb.UwbManager.AdapterStateCallback.State;
import android.uwb.UwbManager.AdapterStateCallback.StateChangedReason;
import java.util.HashMap;
@@ -40,7 +41,8 @@ public class AdapterStateListener extends IUwbAdapterStateCallbacks.Stub {
@StateChangedReason
private int mAdapterStateChangeReason = AdapterStateCallback.STATE_CHANGED_REASON_ERROR_UNKNOWN;
- private boolean mAdapterEnabledState = false;
+ @State
+ private int mAdapterState = AdapterStateCallback.STATE_DISABLED;
public AdapterStateListener(@NonNull IUwbAdapter adapter) {
mAdapter = adapter;
@@ -66,7 +68,7 @@ public class AdapterStateListener extends IUwbAdapterStateCallbacks.Stub {
mIsRegistered = true;
} catch (RemoteException e) {
Log.w(TAG, "Failed to register adapter state callback");
- executor.execute(() -> callback.onStateChanged(false,
+ executor.execute(() -> callback.onStateChanged(mAdapterState,
AdapterStateCallback.STATE_CHANGED_REASON_ERROR_UNKNOWN));
}
} else {
@@ -99,6 +101,42 @@ public class AdapterStateListener extends IUwbAdapterStateCallbacks.Stub {
}
}
+ /**
+ * Sets the adapter enabled state
+ *
+ * @param isEnabled value of new adapter state
+ */
+ public void setEnabled(boolean isEnabled) {
+ synchronized (this) {
+ if (!mIsRegistered) {
+ return;
+ } else {
+ try {
+ mAdapter.setEnabled(isEnabled);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Failed to set adapter state");
+ sendErrorState();
+ }
+ }
+ }
+ }
+
+ private void sendErrorState() {
+ synchronized (this) {
+ for (AdapterStateCallback callback: mCallbackMap.keySet()) {
+ Executor executor = mCallbackMap.get(callback);
+
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> callback.onStateChanged(
+ mAdapterState, mAdapterStateChangeReason));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+ }
+ }
+
private void sendCurrentState(@NonNull AdapterStateCallback callback) {
synchronized (this) {
Executor executor = mCallbackMap.get(callback);
@@ -106,7 +144,7 @@ public class AdapterStateListener extends IUwbAdapterStateCallbacks.Stub {
final long identity = Binder.clearCallingIdentity();
try {
executor.execute(() -> callback.onStateChanged(
- mAdapterEnabledState, mAdapterStateChangeReason));
+ mAdapterState, mAdapterStateChangeReason));
} finally {
Binder.restoreCallingIdentity(identity);
}
@@ -114,12 +152,13 @@ public class AdapterStateListener extends IUwbAdapterStateCallbacks.Stub {
}
@Override
- public void onAdapterStateChanged(boolean isEnabled, int reason) {
+ public void onAdapterStateChanged(int state, int reason) {
synchronized (this) {
@StateChangedReason int localReason =
convertToStateChangedReason(reason);
- mAdapterEnabledState = isEnabled;
+ @State int localState = convertToState(state);
mAdapterStateChangeReason = localReason;
+ mAdapterState = localState;
for (AdapterStateCallback cb : mCallbackMap.keySet()) {
sendCurrentState(cb);
}
@@ -146,4 +185,18 @@ public class AdapterStateListener extends IUwbAdapterStateCallbacks.Stub {
return AdapterStateCallback.STATE_CHANGED_REASON_ERROR_UNKNOWN;
}
}
+
+ private static @State int convertToState(@AdapterState int state) {
+ switch (state) {
+ case AdapterState.STATE_ENABLED_INACTIVE:
+ return AdapterStateCallback.STATE_ENABLED_INACTIVE;
+
+ case AdapterState.STATE_ENABLED_ACTIVE:
+ return AdapterStateCallback.STATE_ENABLED_ACTIVE;
+
+ case AdapterState.STATE_DISABLED:
+ default:
+ return AdapterStateCallback.STATE_DISABLED;
+ }
+ }
}
diff --git a/core/java/android/uwb/IUwbAdapter.aidl b/core/java/android/uwb/IUwbAdapter.aidl
index 30da248e9e87..5804d04bdba7 100644
--- a/core/java/android/uwb/IUwbAdapter.aidl
+++ b/core/java/android/uwb/IUwbAdapter.aidl
@@ -145,6 +145,19 @@ interface IUwbAdapter {
*/
void closeRanging(in SessionHandle sessionHandle);
+ /**
+ * Disables or enables UWB for a user
+ *
+ * The provided callback's IUwbAdapterStateCallbacks#onAdapterStateChanged
+ * function must be called immediately following state change.
+ *
+ * @param enabled value representing intent to disable or enable UWB. If
+ * true, any subsequent calls to #openRanging will be allowed. If false,
+ * all active ranging sessions will be closed and subsequent calls to
+ * #openRanging will be disallowed.
+ */
+ void setEnabled(boolean enabled);
+
/**
* The maximum allowed time to open a ranging session.
*/
diff --git a/core/java/android/uwb/IUwbAdapterStateCallbacks.aidl b/core/java/android/uwb/IUwbAdapterStateCallbacks.aidl
index d928eabae465..d3b34c632bcc 100644
--- a/core/java/android/uwb/IUwbAdapterStateCallbacks.aidl
+++ b/core/java/android/uwb/IUwbAdapterStateCallbacks.aidl
@@ -17,16 +17,17 @@
package android.uwb;
import android.uwb.StateChangeReason;
+import android.uwb.AdapterState;
/**
* @hide
*/
interface IUwbAdapterStateCallbacks {
/**
- * Called whenever the adapter state changes
- *
- * @param isEnabled true if the adapter is enabled, false otherwise
- * @param reason the reason that the state has changed
- */
- void onAdapterStateChanged(boolean isEnabled, StateChangeReason reason);
+ * Called whenever the adapter state changes
+ *
+ * @param state UWB state; enabled_active, enabled_inactive, or disabled.
+ * @param reason the reason that the state has changed
+ */
+ void onAdapterStateChanged(AdapterState state, StateChangeReason reason);
} \ No newline at end of file
diff --git a/core/java/android/uwb/UwbManager.java b/core/java/android/uwb/UwbManager.java
index 844bbbe7970b..9116c49d0764 100644
--- a/core/java/android/uwb/UwbManager.java
+++ b/core/java/android/uwb/UwbManager.java
@@ -70,6 +70,16 @@ public final class UwbManager {
@interface StateChangedReason {}
/**
+ * @hide
+ */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(value = {
+ STATE_ENABLED_INACTIVE,
+ STATE_ENABLED_ACTIVE,
+ STATE_DISABLED})
+ @interface State {}
+
+ /**
* Indicates that the state change was due to opening of first UWB session
*/
int STATE_CHANGED_REASON_SESSION_STARTED = 0;
@@ -95,22 +105,41 @@ public final class UwbManager {
int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4;
/**
+ * Indicates that UWB is disabled on device
+ */
+ int STATE_DISABLED = 0;
+ /**
+ * Indicates that UWB is enabled on device but has no active ranging sessions
+ */
+ int STATE_ENABLED_INACTIVE = 1;
+
+ /**
+ * Indicates that UWB is enabled and has active ranging session
+ */
+ int STATE_ENABLED_ACTIVE = 2;
+
+ /**
* Invoked when underlying UWB adapter's state is changed
* <p>Invoked with the adapter's current state after registering an
* {@link AdapterStateCallback} using
* {@link UwbManager#registerAdapterStateCallback(Executor, AdapterStateCallback)}.
*
- * <p>Possible values for the state to change are
+ * <p>Possible reasons for the state to change are
* {@link #STATE_CHANGED_REASON_SESSION_STARTED},
* {@link #STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED},
* {@link #STATE_CHANGED_REASON_SYSTEM_POLICY},
* {@link #STATE_CHANGED_REASON_SYSTEM_BOOT},
* {@link #STATE_CHANGED_REASON_ERROR_UNKNOWN}.
*
- * @param isEnabled true when UWB adapter is enabled, false when it is disabled
+ * <p>Possible values for the UWB state are
+ * {@link #STATE_ENABLED_INACTIVE},
+ * {@link #STATE_ENABLED_ACTIVE},
+ * {@link #STATE_DISABLED}.
+ *
+ * @param state the UWB state; inactive, active or disabled
* @param reason the reason for the state change
*/
- void onStateChanged(boolean isEnabled, @StateChangedReason int reason);
+ void onStateChanged(@State int state, @StateChangedReason int reason);
}
/**
@@ -241,4 +270,17 @@ public final class UwbManager {
@NonNull RangingSession.Callback callbacks) {
return mRangingManager.openSession(parameters, executor, callbacks);
}
+
+ /**
+ * Disables or enables UWB for a user
+ *
+ * @param enabled value representing intent to disable or enable UWB. If true any subsequent
+ * calls to IUwbAdapter#openRanging will be allowed. If false, all active ranging sessions will
+ * be closed and subsequent calls to IUwbAdapter#openRanging will be disallowed.
+ *
+ * @hide
+ */
+ public void setUwbEnabled(boolean enabled) {
+ mAdapterStateListener.setEnabled(enabled);
+ }
}
diff --git a/core/java/android/view/animation/LayoutAnimationController.java b/core/java/android/view/animation/LayoutAnimationController.java
index 7fa49c1a6c8f..e2b7519b1912 100644
--- a/core/java/android/view/animation/LayoutAnimationController.java
+++ b/core/java/android/view/animation/LayoutAnimationController.java
@@ -27,8 +27,8 @@ import android.view.ViewGroup;
import java.util.Random;
/**
- * A layout animation controller is used to animated a layout's, or a view
- * group's, children. Each child uses the same animation but for every one of
+ * A layout animation controller is used to animate the children of a layout or a view
+ * group. Each child uses the same animation but for every one of
* them, the animation starts at a different time. A layout animation controller
* is used by {@link android.view.ViewGroup} to compute the delay by which each
* child's animation start must be offset. The delay is computed by using
diff --git a/core/jni/OWNERS b/core/jni/OWNERS
index 07fb72905758..a3287c17e453 100644
--- a/core/jni/OWNERS
+++ b/core/jni/OWNERS
@@ -69,4 +69,8 @@ per-file android_graphics_* = file:/graphics/java/android/graphics/OWNERS
per-file Android.bp = file:/graphics/java/android/graphics/OWNERS
per-file AndroidRuntime.cpp = file:/graphics/java/android/graphics/OWNERS
# Although marked "view" this is mostly graphics stuff
-per-file android_view_* = file:/graphics/java/android/graphics/OWNERS \ No newline at end of file
+per-file android_view_* = file:/graphics/java/android/graphics/OWNERS
+
+# VINTF
+per-file android_os_VintfObject* = file:platform/system/libvintf:/OWNERS
+per-file android_os_VintfRuntimeInfo* = file:platform/system/libvintf:/OWNERS
diff --git a/core/jni/android_os_VintfObject.cpp b/core/jni/android_os_VintfObject.cpp
index 25ffbabd6199..4bd33a9cbd3b 100644
--- a/core/jni/android_os_VintfObject.cpp
+++ b/core/jni/android_os_VintfObject.cpp
@@ -40,12 +40,10 @@ namespace android {
using vintf::HalManifest;
using vintf::Level;
using vintf::SchemaType;
+using vintf::to_string;
+using vintf::toXml;
using vintf::VintfObject;
-using vintf::XmlConverter;
using vintf::Vndk;
-using vintf::gHalManifestConverter;
-using vintf::gCompatibilityMatrixConverter;
-using vintf::to_string;
template<typename V>
static inline jobjectArray toJavaStringArray(JNIEnv* env, const V& v) {
@@ -58,14 +56,13 @@ static inline jobjectArray toJavaStringArray(JNIEnv* env, const V& v) {
return ret;
}
-template<typename T>
-static void tryAddSchema(const std::shared_ptr<const T>& object, const XmlConverter<T>& converter,
- const std::string& description,
- std::vector<std::string>* cStrings) {
+template <typename T>
+static void tryAddSchema(const std::shared_ptr<const T>& object, const std::string& description,
+ std::vector<std::string>* cStrings) {
if (object == nullptr) {
LOG(WARNING) << __FUNCTION__ << "Cannot get " << description;
} else {
- cStrings->push_back(converter(*object));
+ cStrings->push_back(toXml(*object));
}
}
@@ -84,14 +81,12 @@ static jobjectArray android_os_VintfObject_report(JNIEnv* env, jclass)
{
std::vector<std::string> cStrings;
- tryAddSchema(VintfObject::GetDeviceHalManifest(), gHalManifestConverter,
- "device manifest", &cStrings);
- tryAddSchema(VintfObject::GetFrameworkHalManifest(), gHalManifestConverter,
- "framework manifest", &cStrings);
- tryAddSchema(VintfObject::GetDeviceCompatibilityMatrix(), gCompatibilityMatrixConverter,
- "device compatibility matrix", &cStrings);
- tryAddSchema(VintfObject::GetFrameworkCompatibilityMatrix(), gCompatibilityMatrixConverter,
- "framework compatibility matrix", &cStrings);
+ tryAddSchema(VintfObject::GetDeviceHalManifest(), "device manifest", &cStrings);
+ tryAddSchema(VintfObject::GetFrameworkHalManifest(), "framework manifest", &cStrings);
+ tryAddSchema(VintfObject::GetDeviceCompatibilityMatrix(), "device compatibility matrix",
+ &cStrings);
+ tryAddSchema(VintfObject::GetFrameworkCompatibilityMatrix(), "framework compatibility matrix",
+ &cStrings);
return toJavaStringArray(env, cStrings);
}
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 4a06671d9f27..7876dd2f8788 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -4645,6 +4645,28 @@
<string name="mediasize_na_quarto">Quarto</string>
<!-- North America Foolscap media (paper) size: 8" x 13" (203mm x 330mm) -->
<string name="mediasize_na_foolscap">Foolscap</string>
+ <!-- North America ANSI C media (paper) size: 17" x 22" (432mm x 559mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_ansi_c">ANSI C</string>
+ <!-- North America ANSI D media (paper) size: 22" x 34" (559mm x 864mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_ansi_d">ANSI D</string>
+ <!-- North America ANSI E media (paper) size: 34" x 44" (864mm x 1118mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_ansi_e">ANSI E</string>
+ <!-- North America ANSI F media (paper) size: 28" x 40" (711mm x 1016mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_ansi_f">ANSI F</string>
+ <!-- North America Arch A media (paper) size: 9" x 12" (229mm x 305mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_arch_a">Arch A</string>
+ <!-- North America Arch B media (paper) size: 12" x 18" (305mm x 457mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_arch_b">Arch B</string>
+ <!-- North America Arch C media (paper) size: 18" x 24" (457mm x 610mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_arch_c">Arch C</string>
+ <!-- North America Arch D media (paper) size: 24" x 36" (610mm x 914mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_arch_d">Arch D</string>
+ <!-- North America Arch E media (paper) size: 36" x 48" (914mm x 1219mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_arch_e">Arch E</string>
+ <!-- North America Arch E1 media (paper) size: 30" x 42" (762mm x 1067mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_arch_e1">Arch E1</string>
+ <!-- North America Super B media (paper) size: 13" x 19" (330mm x 483mm) [CHAR LIMIT=none] -->
+ <string name="mediasize_na_super_b">Super B</string>
<!-- Chinese Roc 8k media (paper) size: 270mm x 390mm (10.629" x 15.3543") -->
<string name="mediasize_chinese_roc_8k">ROC 8K</string>
@@ -4724,6 +4746,8 @@
<string name="mediasize_japanese_kaku2">Kaku2</string>
<!-- Japanese You4 media (paper) size: 105mm x 235mm (4.134" x 9.252") -->
<string name="mediasize_japanese_you4">You4</string>
+ <!-- Japanese Photo L (paper) size: 89mm x 127mm (3.5 x 5") [CHAR LIMIT=20] -->
+ <string name="mediasize_japanese_l">L</string>
<!-- Media (paper) size for specifying any paper size in portrait.-->
<string name="mediasize_unknown_portrait">Unknown portrait</string>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 2901de5b57a2..c06e7ded81f8 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1143,6 +1143,17 @@
<java-symbol type="string" name="mediasize_na_monarch" />
<java-symbol type="string" name="mediasize_na_quarto" />
<java-symbol type="string" name="mediasize_na_foolscap" />
+ <java-symbol type="string" name="mediasize_na_ansi_c" />
+ <java-symbol type="string" name="mediasize_na_ansi_d" />
+ <java-symbol type="string" name="mediasize_na_ansi_e" />
+ <java-symbol type="string" name="mediasize_na_ansi_f" />
+ <java-symbol type="string" name="mediasize_na_arch_a" />
+ <java-symbol type="string" name="mediasize_na_arch_b" />
+ <java-symbol type="string" name="mediasize_na_arch_c" />
+ <java-symbol type="string" name="mediasize_na_arch_d" />
+ <java-symbol type="string" name="mediasize_na_arch_e" />
+ <java-symbol type="string" name="mediasize_na_arch_e1" />
+ <java-symbol type="string" name="mediasize_na_super_b" />
<java-symbol type="string" name="mediasize_chinese_roc_8k" />
<java-symbol type="string" name="mediasize_chinese_roc_16k" />
<java-symbol type="string" name="mediasize_chinese_prc_1" />
@@ -1179,6 +1190,7 @@
<java-symbol type="string" name="mediasize_japanese_kahu" />
<java-symbol type="string" name="mediasize_japanese_kaku2" />
<java-symbol type="string" name="mediasize_japanese_you4" />
+ <java-symbol type="string" name="mediasize_japanese_l" />
<java-symbol type="string" name="network_partial_connectivity" />
<java-symbol type="string" name="network_partial_connectivity_detailed" />
<java-symbol type="string" name="reason_service_unavailable" />
diff --git a/core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk b/core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk
index cba9cbd79f7b..d9e61512115d 100644
--- a/core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk
+++ b/core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk
@@ -24,6 +24,9 @@ LOCAL_STATIC_JAVA_LIBRARIES := android-common mockwebserver junit
LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
LOCAL_PACKAGE_NAME := DownloadManagerTestApp
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_PRIVATE_PLATFORM_APIS := true
ifneq ($(TARGET_BUILD_VARIANT),user)
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
index cc2d8d256e6a..2d8556f2a3c7 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
@@ -26,6 +26,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 8
LOCAL_PACKAGE_NAME := MultiDexLegacyAndException
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_DEX_PREOPT := false
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
index fe7c944ebd30..d7af2d9c3cfe 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
@@ -26,6 +26,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 8
LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_DEX_PREOPT := false
@@ -59,6 +62,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 8
LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp2
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_DEX_PREOPT := false
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests/Android.mk
index 69ec5ceb1daf..236c7403aa8c 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests/Android.mk
@@ -26,6 +26,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 8
LOCAL_PACKAGE_NAME := MultiDexLegacyTestAppTests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_DEX_PREOPT := false
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests2/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests2/Android.mk
index 2dc30ea7c17b..6f6ccfe8dee7 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests2/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestAppTests2/Android.mk
@@ -26,6 +26,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := MultiDexLegacyTestAppTests2
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_DEX_PREOPT := false
@@ -49,6 +52,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 8
LOCAL_PACKAGE_NAME := MultiDexLegacyTestAppTests2-multidex
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_DEX_PREOPT := false
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestAppWithCorruptedDex/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestAppWithCorruptedDex/Android.mk
index a6f87ea2e5df..33a46ea980c1 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestAppWithCorruptedDex/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestAppWithCorruptedDex/Android.mk
@@ -23,6 +23,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 18
LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp_corrupted
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
index 3636c73ffc9c..efc06886bee4 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
@@ -23,6 +23,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 9
LOCAL_PACKAGE_NAME := MultiDexLegacyTestServices
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests2/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests2/Android.mk
index afbcd4675a78..3920fd64b03e 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests2/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests2/Android.mk
@@ -21,6 +21,9 @@ LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := MultiDexLegacyTestServicesTests2
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_JAVA_LIBRARIES := android-support-multidex
LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules
@@ -30,4 +33,3 @@ LOCAL_SDK_VERSION := 9
LOCAL_DEX_PREOPT := false
include $(BUILD_PACKAGE)
-
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
index 67f1fa574c07..2323ad98ac3d 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
@@ -23,6 +23,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 9
LOCAL_PACKAGE_NAME := MultiDexLegacyVersionedTestApp_v1
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
index 33871e527820..79a59063f702 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
@@ -23,6 +23,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 9
LOCAL_PACKAGE_NAME := MultiDexLegacyVersionedTestApp_v2
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
index 1b267ee93cce..521bad058693 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
@@ -23,6 +23,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SDK_VERSION := 9
LOCAL_PACKAGE_NAME := MultiDexLegacyVersionedTestApp_v3
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
@@ -43,4 +46,3 @@ $(mainDexList): $(full_classes_pre_proguard_jar) $(MAINDEXCLASSES) $(PROGUARD_DE
echo "com/android/framework/multidexlegacyversionedtestapp/MultiDexUpdateTest.class" >> $@
$(built_dex_intermediate): $(mainDexList)
-
diff --git a/core/tests/overlaytests/host/test-apps/SignatureOverlay/Android.mk b/core/tests/overlaytests/host/test-apps/SignatureOverlay/Android.mk
index f3c0abd8293f..b453cde925e4 100644
--- a/core/tests/overlaytests/host/test-apps/SignatureOverlay/Android.mk
+++ b/core/tests/overlaytests/host/test-apps/SignatureOverlay/Android.mk
@@ -19,6 +19,9 @@ my_package_prefix := com.android.server.om.hosttest.signature_overlay
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_NonPlatformSignatureOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_AAPT_FLAGS := --custom-package $(my_package_prefix)_bad
@@ -27,6 +30,9 @@ include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_PlatformSignatureStaticOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_CERTIFICATE := platform
@@ -37,6 +43,9 @@ include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_PlatformSignatureOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_CERTIFICATE := platform
diff --git a/core/tests/overlaytests/host/test-apps/UpdateOverlay/Android.mk b/core/tests/overlaytests/host/test-apps/UpdateOverlay/Android.mk
index 878f05d57662..77fc887e9493 100644
--- a/core/tests/overlaytests/host/test-apps/UpdateOverlay/Android.mk
+++ b/core/tests/overlaytests/host/test-apps/UpdateOverlay/Android.mk
@@ -18,6 +18,9 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := $(call all-java-files-under,src)
LOCAL_PACKAGE_NAME := OverlayHostTests_UpdateOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules
@@ -30,6 +33,9 @@ my_package_prefix := com.android.server.om.hosttest.framework_overlay
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_FrameworkOverlayV1
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_CERTIFICATE := platform
@@ -42,6 +48,9 @@ include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_FrameworkOverlayV2
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_CERTIFICATE := platform
@@ -56,6 +65,9 @@ my_package_prefix := com.android.server.om.hosttest.app_overlay
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_AppOverlayV1
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_AAPT_FLAGS := --custom-package $(my_package_prefix)_v1
@@ -67,6 +79,9 @@ include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := OverlayHostTests_AppOverlayV2
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_AAPT_FLAGS := --custom-package $(my_package_prefix)_v2
diff --git a/core/tests/uwbtests/src/android/uwb/AdapterStateListenerTest.java b/core/tests/uwbtests/src/android/uwb/AdapterStateListenerTest.java
index ce67ef7868e8..bdaf63021503 100644
--- a/core/tests/uwbtests/src/android/uwb/AdapterStateListenerTest.java
+++ b/core/tests/uwbtests/src/android/uwb/AdapterStateListenerTest.java
@@ -17,7 +17,6 @@
package android.uwb;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doThrow;
@@ -55,7 +54,7 @@ public class AdapterStateListenerTest {
Object[] args = invocation.getArguments();
IUwbAdapterStateCallbacks cb = (IUwbAdapterStateCallbacks) args[0];
try {
- cb.onAdapterStateChanged(false, StateChangeReason.UNKNOWN);
+ cb.onAdapterStateChanged(AdapterState.STATE_DISABLED, StateChangeReason.UNKNOWN);
} catch (RemoteException e) {
// Nothing to do
}
@@ -76,7 +75,7 @@ public class AdapterStateListenerTest {
private static void verifyCallbackStateChangedInvoked(
AdapterStateCallback callback, int numTimes) {
- verify(callback, times(numTimes)).onStateChanged(anyBoolean(), anyInt());
+ verify(callback, times(numTimes)).onStateChanged(anyInt(), anyInt());
}
@Test
@@ -151,7 +150,8 @@ public class AdapterStateListenerTest {
verifyCallbackStateChangedInvoked(callback, 1);
// Invoke a state change and ensure the callback is only called once
- adapterStateListener.onAdapterStateChanged(false, StateChangeReason.UNKNOWN);
+ adapterStateListener.onAdapterStateChanged(AdapterState.STATE_DISABLED,
+ StateChangeReason.UNKNOWN);
verifyCallbackStateChangedInvoked(callback, 2);
}
@@ -182,13 +182,15 @@ public class AdapterStateListenerTest {
verifyCallbackStateChangedInvoked(callback, 0);
// Manually invoke the callback and ensure callback is not invoked
- adapterStateListener.onAdapterStateChanged(false, StateChangeReason.UNKNOWN);
+ adapterStateListener.onAdapterStateChanged(AdapterState.STATE_DISABLED,
+ StateChangeReason.UNKNOWN);
verify(executor, times(2)).execute(any());
verifyCallbackStateChangedInvoked(callback, 0);
// Run the command that the executor receives
doAnswer(new ExecutorAnswer(true)).when(executor).execute(any());
- adapterStateListener.onAdapterStateChanged(false, StateChangeReason.UNKNOWN);
+ adapterStateListener.onAdapterStateChanged(AdapterState.STATE_DISABLED,
+ StateChangeReason.UNKNOWN);
verify(executor, times(3)).execute(any());
verifyCallbackStateChangedInvoked(callback, 1);
}
@@ -227,7 +229,8 @@ public class AdapterStateListenerTest {
}
// Invoke a state change and ensure all callbacks are invoked
- adapterStateListener.onAdapterStateChanged(true, StateChangeReason.ALL_SESSIONS_CLOSED);
+ adapterStateListener.onAdapterStateChanged(AdapterState.STATE_DISABLED,
+ StateChangeReason.ALL_SESSIONS_CLOSED);
for (AdapterStateCallback callback : callbacks) {
verifyCallbackStateChangedInvoked(callback, 2);
}
@@ -242,32 +245,36 @@ public class AdapterStateListenerTest {
adapterStateListener.register(getExecutor(), callback);
runStateChangeValue(StateChangeReason.ALL_SESSIONS_CLOSED,
- AdapterStateCallback.STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED);
+ AdapterState.STATE_ENABLED_INACTIVE,
+ AdapterStateCallback.STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED,
+ AdapterStateCallback.STATE_ENABLED_INACTIVE);
- runStateChangeValue(StateChangeReason.SESSION_STARTED,
- AdapterStateCallback.STATE_CHANGED_REASON_SESSION_STARTED);
+ runStateChangeValue(StateChangeReason.SESSION_STARTED, AdapterState.STATE_ENABLED_ACTIVE,
+ AdapterStateCallback.STATE_CHANGED_REASON_SESSION_STARTED,
+ AdapterStateCallback.STATE_ENABLED_ACTIVE);
- runStateChangeValue(StateChangeReason.SYSTEM_BOOT,
- AdapterStateCallback.STATE_CHANGED_REASON_SYSTEM_BOOT);
+ runStateChangeValue(StateChangeReason.SYSTEM_BOOT, AdapterState.STATE_DISABLED,
+ AdapterStateCallback.STATE_CHANGED_REASON_SYSTEM_BOOT,
+ AdapterStateCallback.STATE_DISABLED);
- runStateChangeValue(StateChangeReason.SYSTEM_POLICY,
- AdapterStateCallback.STATE_CHANGED_REASON_SYSTEM_POLICY);
+ runStateChangeValue(StateChangeReason.SYSTEM_POLICY, AdapterState.STATE_DISABLED,
+ AdapterStateCallback.STATE_CHANGED_REASON_SYSTEM_POLICY,
+ AdapterStateCallback.STATE_DISABLED);
- runStateChangeValue(StateChangeReason.UNKNOWN,
- AdapterStateCallback.STATE_CHANGED_REASON_ERROR_UNKNOWN);
+ runStateChangeValue(StateChangeReason.UNKNOWN, AdapterState.STATE_DISABLED,
+ AdapterStateCallback.STATE_CHANGED_REASON_ERROR_UNKNOWN,
+ AdapterStateCallback.STATE_DISABLED);
}
- private void runStateChangeValue(@StateChangeReason int reasonIn,
- @AdapterStateCallback.StateChangedReason int reasonOut) {
+ private void runStateChangeValue(@StateChangeReason int reasonIn, @AdapterState int stateIn,
+ @AdapterStateCallback.StateChangedReason int reasonOut,
+ @AdapterStateCallback.State int stateOut) {
AdapterStateListener adapterStateListener = new AdapterStateListener(mUwbAdapter);
AdapterStateCallback callback = mock(AdapterStateCallback.class);
adapterStateListener.register(getExecutor(), callback);
- adapterStateListener.onAdapterStateChanged(false, reasonIn);
- verify(callback, times(1)).onStateChanged(false, reasonOut);
-
- adapterStateListener.onAdapterStateChanged(true, reasonIn);
- verify(callback, times(1)).onStateChanged(true, reasonOut);
+ adapterStateListener.onAdapterStateChanged(stateIn, reasonIn);
+ verify(callback, times(1)).onStateChanged(stateOut, reasonOut);
}
@Test
@@ -280,7 +287,8 @@ public class AdapterStateListenerTest {
Object[] args = invocation.getArguments();
IUwbAdapterStateCallbacks cb = (IUwbAdapterStateCallbacks) args[0];
try {
- cb.onAdapterStateChanged(true, StateChangeReason.SESSION_STARTED);
+ cb.onAdapterStateChanged(AdapterState.STATE_ENABLED_ACTIVE,
+ StateChangeReason.SESSION_STARTED);
} catch (RemoteException e) {
// Nothing to do
}
@@ -291,7 +299,7 @@ public class AdapterStateListenerTest {
doAnswer(registerAnswer).when(mUwbAdapter).registerAdapterStateCallbacks(any());
adapterStateListener.register(getExecutor(), callback);
- verify(callback).onStateChanged(true,
+ verify(callback).onStateChanged(AdapterStateCallback.STATE_ENABLED_ACTIVE,
AdapterStateCallback.STATE_CHANGED_REASON_SESSION_STARTED);
}
@@ -302,10 +310,11 @@ public class AdapterStateListenerTest {
AdapterStateCallback callback2 = mock(AdapterStateCallback.class);
adapterStateListener.register(getExecutor(), callback1);
- adapterStateListener.onAdapterStateChanged(true, StateChangeReason.SYSTEM_BOOT);
+ adapterStateListener.onAdapterStateChanged(AdapterState.STATE_ENABLED_ACTIVE,
+ StateChangeReason.SYSTEM_BOOT);
adapterStateListener.register(getExecutor(), callback2);
- verify(callback2).onStateChanged(true,
+ verify(callback2).onStateChanged(AdapterStateCallback.STATE_ENABLED_ACTIVE,
AdapterStateCallback.STATE_CHANGED_REASON_SYSTEM_BOOT);
}
}
diff --git a/data/etc/platform.xml b/data/etc/platform.xml
index c51248dac767..915fb1eab859 100644
--- a/data/etc/platform.xml
+++ b/data/etc/platform.xml
@@ -190,6 +190,7 @@
<assign-permission name="android.permission.UPDATE_APP_OPS_STATS" uid="statsd" />
<assign-permission name="android.permission.REGISTER_STATS_PULL_ATOM" uid="gpu_service" />
+ <assign-permission name="android.permission.REGISTER_STATS_PULL_ATOM" uid="keystore" />
<split-permission name="android.permission.ACCESS_FINE_LOCATION">
<new-permission name="android.permission.ACCESS_COARSE_LOCATION" />
diff --git a/packages/CarSystemUI/tests/Android.mk b/packages/CarSystemUI/tests/Android.mk
index 1366568c3a66..02e6db201941 100644
--- a/packages/CarSystemUI/tests/Android.mk
+++ b/packages/CarSystemUI/tests/Android.mk
@@ -22,6 +22,9 @@ LOCAL_JACK_FLAGS := --multi-dex native
LOCAL_DX_FLAGS := --multi-dex
LOCAL_PACKAGE_NAME := CarSystemUITests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_COMPATIBILITY_SUITE := device-tests
diff --git a/packages/Connectivity/framework/api/system-current.txt b/packages/Connectivity/framework/api/system-current.txt
index de673ee9715e..935b09330c6c 100644
--- a/packages/Connectivity/framework/api/system-current.txt
+++ b/packages/Connectivity/framework/api/system-current.txt
@@ -275,7 +275,7 @@ package android.net {
method @NonNull public int[] getAdministratorUids();
method @Nullable public static String getCapabilityCarrierName(int);
method @Nullable public String getSsid();
- method @NonNull public java.util.Set<java.lang.Integer> getSubIds();
+ method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
method @NonNull public int[] getTransportTypes();
method public boolean isPrivateDnsBroken();
method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
@@ -306,7 +306,7 @@ package android.net {
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
- method @NonNull public android.net.NetworkCapabilities.Builder setSubIds(@NonNull java.util.Set<java.lang.Integer>);
+ method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
}
@@ -329,7 +329,7 @@ package android.net {
public static class NetworkRequest.Builder {
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
- method @NonNull public android.net.NetworkRequest.Builder setSubIds(@NonNull java.util.Set<java.lang.Integer>);
+ method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
}
public final class NetworkScore implements android.os.Parcelable {
diff --git a/packages/Connectivity/framework/src/android/net/NetworkCapabilities.java b/packages/Connectivity/framework/src/android/net/NetworkCapabilities.java
index a43dd15a8765..937a9d23933c 100644
--- a/packages/Connectivity/framework/src/android/net/NetworkCapabilities.java
+++ b/packages/Connectivity/framework/src/android/net/NetworkCapabilities.java
@@ -1733,7 +1733,7 @@ public final class NetworkCapabilities implements Parcelable {
combineSSIDs(nc);
combineRequestor(nc);
combineAdministratorUids(nc);
- combineSubIds(nc);
+ combineSubscriptionIds(nc);
}
/**
@@ -1755,7 +1755,7 @@ public final class NetworkCapabilities implements Parcelable {
&& (onlyImmutable || satisfiedByUids(nc))
&& (onlyImmutable || satisfiedBySSID(nc))
&& (onlyImmutable || satisfiedByRequestor(nc))
- && (onlyImmutable || satisfiedBySubIds(nc)));
+ && (onlyImmutable || satisfiedBySubscriptionIds(nc)));
}
/**
@@ -1852,7 +1852,7 @@ public final class NetworkCapabilities implements Parcelable {
&& equalsPrivateDnsBroken(that)
&& equalsRequestor(that)
&& equalsAdministratorUids(that)
- && equalsSubIds(that);
+ && equalsSubscriptionIds(that);
}
@Override
@@ -2329,7 +2329,7 @@ public final class NetworkCapabilities implements Parcelable {
* @hide
*/
@NonNull
- public NetworkCapabilities setSubIds(@NonNull Set<Integer> subIds) {
+ public NetworkCapabilities setSubscriptionIds(@NonNull Set<Integer> subIds) {
mSubIds = new ArraySet(Objects.requireNonNull(subIds));
return this;
}
@@ -2345,14 +2345,14 @@ public final class NetworkCapabilities implements Parcelable {
*/
@NonNull
@SystemApi
- public Set<Integer> getSubIds() {
+ public Set<Integer> getSubscriptionIds() {
return new ArraySet<>(mSubIds);
}
/**
* Tests if the subscription ID set of this network is the same as that of the passed one.
*/
- private boolean equalsSubIds(@NonNull NetworkCapabilities nc) {
+ private boolean equalsSubscriptionIds(@NonNull NetworkCapabilities nc) {
return Objects.equals(mSubIds, nc.mSubIds);
}
@@ -2361,7 +2361,7 @@ public final class NetworkCapabilities implements Parcelable {
* If specified in the request, the passed one need to have at least one subId and at least
* one of them needs to be in the request set.
*/
- private boolean satisfiedBySubIds(@NonNull NetworkCapabilities nc) {
+ private boolean satisfiedBySubscriptionIds(@NonNull NetworkCapabilities nc) {
if (mSubIds.isEmpty()) return true;
if (nc.mSubIds.isEmpty()) return false;
for (final Integer subId : nc.mSubIds) {
@@ -2378,7 +2378,7 @@ public final class NetworkCapabilities implements Parcelable {
* <p>If both subscription IDs are not equal, they belong to different subscription
* (or no subscription). In this case, it would not make sense to add them together.
*/
- private void combineSubIds(@NonNull NetworkCapabilities nc) {
+ private void combineSubscriptionIds(@NonNull NetworkCapabilities nc) {
if (!Objects.equals(mSubIds, nc.mSubIds)) {
throw new IllegalStateException("Can't combine two subscription ID sets");
}
@@ -2720,8 +2720,8 @@ public final class NetworkCapabilities implements Parcelable {
*/
@NonNull
@SystemApi
- public Builder setSubIds(@NonNull final Set<Integer> subIds) {
- mCaps.setSubIds(subIds);
+ public Builder setSubscriptionIds(@NonNull final Set<Integer> subIds) {
+ mCaps.setSubscriptionIds(subIds);
return this;
}
diff --git a/packages/Connectivity/framework/src/android/net/NetworkRequest.java b/packages/Connectivity/framework/src/android/net/NetworkRequest.java
index 07b6c7d5be6b..8c4f4193b50f 100644
--- a/packages/Connectivity/framework/src/android/net/NetworkRequest.java
+++ b/packages/Connectivity/framework/src/android/net/NetworkRequest.java
@@ -512,8 +512,8 @@ public class NetworkRequest implements Parcelable {
*/
@NonNull
@SystemApi
- public Builder setSubIds(@NonNull Set<Integer> subIds) {
- mNetworkCapabilities.setSubIds(subIds);
+ public Builder setSubscriptionIds(@NonNull Set<Integer> subIds) {
+ mNetworkCapabilities.setSubscriptionIds(subIds);
return this;
}
}
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index 760941220869..4a64d6b2ff95 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -461,6 +461,7 @@
<!-- Permission required for CTS test - CtsUwbTestCases -->
<uses-permission android:name="android.permission.UWB_PRIVILEGED" />
+ <uses-permission android:name="android.permission.UWB_RANGING" />
<!-- Permission required for CTS test - CtsAlarmManagerTestCases -->
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
diff --git a/packages/SystemUI/tests/Android.mk b/packages/SystemUI/tests/Android.mk
index 38da21e016ec..ff5165d4e7cf 100644
--- a/packages/SystemUI/tests/Android.mk
+++ b/packages/SystemUI/tests/Android.mk
@@ -22,6 +22,9 @@ LOCAL_JACK_FLAGS := --multi-dex native
LOCAL_DX_FLAGS := --multi-dex
LOCAL_PACKAGE_NAME := SystemUITests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_COMPATIBILITY_SUITE := device-tests
diff --git a/packages/overlays/AccentColorAmethystOverlay/Android.mk b/packages/overlays/AccentColorAmethystOverlay/Android.mk
index cd10ca3accda..53541583541e 100644
--- a/packages/overlays/AccentColorAmethystOverlay/Android.mk
+++ b/packages/overlays/AccentColorAmethystOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorAmethystOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorAquamarineOverlay/Android.mk b/packages/overlays/AccentColorAquamarineOverlay/Android.mk
index 09ae45019c97..8ef37d1b0513 100644
--- a/packages/overlays/AccentColorAquamarineOverlay/Android.mk
+++ b/packages/overlays/AccentColorAquamarineOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorAquamarineOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorBlackOverlay/Android.mk b/packages/overlays/AccentColorBlackOverlay/Android.mk
index 86d873dcab66..0e771f102109 100644
--- a/packages/overlays/AccentColorBlackOverlay/Android.mk
+++ b/packages/overlays/AccentColorBlackOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorBlackOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorCarbonOverlay/Android.mk b/packages/overlays/AccentColorCarbonOverlay/Android.mk
index 5641e8eba55c..f5b15efa3b80 100644
--- a/packages/overlays/AccentColorCarbonOverlay/Android.mk
+++ b/packages/overlays/AccentColorCarbonOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorCarbonOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorCinnamonOverlay/Android.mk b/packages/overlays/AccentColorCinnamonOverlay/Android.mk
index a8d3f10cfb9e..74709b8cfdaa 100644
--- a/packages/overlays/AccentColorCinnamonOverlay/Android.mk
+++ b/packages/overlays/AccentColorCinnamonOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorCinnamonOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorGreenOverlay/Android.mk b/packages/overlays/AccentColorGreenOverlay/Android.mk
index c3aa6a87a2f1..c663a9565cc5 100644
--- a/packages/overlays/AccentColorGreenOverlay/Android.mk
+++ b/packages/overlays/AccentColorGreenOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorGreenOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorOceanOverlay/Android.mk b/packages/overlays/AccentColorOceanOverlay/Android.mk
index 96fbee4bbe74..3edbddd8b64a 100644
--- a/packages/overlays/AccentColorOceanOverlay/Android.mk
+++ b/packages/overlays/AccentColorOceanOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorOceanOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorOrchidOverlay/Android.mk b/packages/overlays/AccentColorOrchidOverlay/Android.mk
index 352e36be8c82..5218e4b522cc 100644
--- a/packages/overlays/AccentColorOrchidOverlay/Android.mk
+++ b/packages/overlays/AccentColorOrchidOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorOrchidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorPaletteOverlay/Android.mk b/packages/overlays/AccentColorPaletteOverlay/Android.mk
index e207f61ce3db..481f0c90132a 100644
--- a/packages/overlays/AccentColorPaletteOverlay/Android.mk
+++ b/packages/overlays/AccentColorPaletteOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorPaletteOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorPurpleOverlay/Android.mk b/packages/overlays/AccentColorPurpleOverlay/Android.mk
index 29d5fc9c39b0..637cb90ec82a 100644
--- a/packages/overlays/AccentColorPurpleOverlay/Android.mk
+++ b/packages/overlays/AccentColorPurpleOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorPurpleOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorSandOverlay/Android.mk b/packages/overlays/AccentColorSandOverlay/Android.mk
index c37455af81df..32e9ab163f22 100644
--- a/packages/overlays/AccentColorSandOverlay/Android.mk
+++ b/packages/overlays/AccentColorSandOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorSandOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorSpaceOverlay/Android.mk b/packages/overlays/AccentColorSpaceOverlay/Android.mk
index cbddf6352aaa..c9bf443ef4ce 100644
--- a/packages/overlays/AccentColorSpaceOverlay/Android.mk
+++ b/packages/overlays/AccentColorSpaceOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorSpaceOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/AccentColorTangerineOverlay/Android.mk b/packages/overlays/AccentColorTangerineOverlay/Android.mk
index 0d676bba076d..1d23c83ec62f 100644
--- a/packages/overlays/AccentColorTangerineOverlay/Android.mk
+++ b/packages/overlays/AccentColorTangerineOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := AccentColorTangerineOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.mk
index c3e8642084a0..435465df1dab 100644
--- a/packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationCornerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.mk
index 09d158d3e1f3..1abeaa524db2 100644
--- a/packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationDoubleOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk
index 6d8fc2493506..4145371715ef 100644
--- a/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationHoleOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.mk
index 6a1c09c87e33..66395626e940 100644
--- a/packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationNarrowOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationTallOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationTallOverlay/Android.mk
index cbceff08ae5e..bf38e1ebbedb 100644
--- a/packages/overlays/DisplayCutoutEmulationTallOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationTallOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationTallOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.mk
index b6b6dd1c25bc..a2458d63e956 100644
--- a/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationWaterfallOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationWideOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationWideOverlay/Android.mk
index 82a076a88d9b..e5e8102ebeac 100644
--- a/packages/overlays/DisplayCutoutEmulationWideOverlay/Android.mk
+++ b/packages/overlays/DisplayCutoutEmulationWideOverlay/Android.mk
@@ -9,6 +9,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := DisplayCutoutEmulationWideOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/FontNotoSerifSourceOverlay/Android.mk b/packages/overlays/FontNotoSerifSourceOverlay/Android.mk
index 16a0173a4635..83d1ecc1d8bf 100644
--- a/packages/overlays/FontNotoSerifSourceOverlay/Android.mk
+++ b/packages/overlays/FontNotoSerifSourceOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := FontNotoSerifSourceOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackCircularAndroidOverlay/Android.mk b/packages/overlays/IconPackCircularAndroidOverlay/Android.mk
index d96185fa34ea..2a5bdf42389a 100644
--- a/packages/overlays/IconPackCircularAndroidOverlay/Android.mk
+++ b/packages/overlays/IconPackCircularAndroidOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackCircularAndroidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/Android.mk b/packages/overlays/IconPackCircularLauncherOverlay/Android.mk
index d736d7d666a5..24da2c350781 100644
--- a/packages/overlays/IconPackCircularLauncherOverlay/Android.mk
+++ b/packages/overlays/IconPackCircularLauncherOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackCircularLauncherOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackCircularSettingsOverlay/Android.mk b/packages/overlays/IconPackCircularSettingsOverlay/Android.mk
index ea2da30fba24..a3edd963421e 100644
--- a/packages/overlays/IconPackCircularSettingsOverlay/Android.mk
+++ b/packages/overlays/IconPackCircularSettingsOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackCircularSettingsOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackCircularSystemUIOverlay/Android.mk b/packages/overlays/IconPackCircularSystemUIOverlay/Android.mk
index 9045e8e58e6a..c5a32c637232 100644
--- a/packages/overlays/IconPackCircularSystemUIOverlay/Android.mk
+++ b/packages/overlays/IconPackCircularSystemUIOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackCircularSystemUIOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackCircularThemePickerOverlay/Android.mk b/packages/overlays/IconPackCircularThemePickerOverlay/Android.mk
index c2d472d541b8..64ac8cb0f377 100644
--- a/packages/overlays/IconPackCircularThemePickerOverlay/Android.mk
+++ b/packages/overlays/IconPackCircularThemePickerOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackCircularThemePickerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackFilledAndroidOverlay/Android.mk b/packages/overlays/IconPackFilledAndroidOverlay/Android.mk
index 78db7658aee1..bbe13d20d014 100644
--- a/packages/overlays/IconPackFilledAndroidOverlay/Android.mk
+++ b/packages/overlays/IconPackFilledAndroidOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackFilledAndroidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/Android.mk b/packages/overlays/IconPackFilledLauncherOverlay/Android.mk
index 16b8f526d2a2..c331c61f331b 100644
--- a/packages/overlays/IconPackFilledLauncherOverlay/Android.mk
+++ b/packages/overlays/IconPackFilledLauncherOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackFilledLauncherOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackFilledSettingsOverlay/Android.mk b/packages/overlays/IconPackFilledSettingsOverlay/Android.mk
index d4e90007e956..855d9d3b4a8d 100644
--- a/packages/overlays/IconPackFilledSettingsOverlay/Android.mk
+++ b/packages/overlays/IconPackFilledSettingsOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackFilledSettingsOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackFilledSystemUIOverlay/Android.mk b/packages/overlays/IconPackFilledSystemUIOverlay/Android.mk
index 35e157a268d5..36e9c5c59e88 100644
--- a/packages/overlays/IconPackFilledSystemUIOverlay/Android.mk
+++ b/packages/overlays/IconPackFilledSystemUIOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackFilledSystemUIOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackFilledThemePickerOverlay/Android.mk b/packages/overlays/IconPackFilledThemePickerOverlay/Android.mk
index 835d35e63efe..cab8916b809d 100644
--- a/packages/overlays/IconPackFilledThemePickerOverlay/Android.mk
+++ b/packages/overlays/IconPackFilledThemePickerOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackFilledThemePickerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackKaiAndroidOverlay/Android.mk b/packages/overlays/IconPackKaiAndroidOverlay/Android.mk
index 11bd8b8a3f2c..3df69622b853 100644
--- a/packages/overlays/IconPackKaiAndroidOverlay/Android.mk
+++ b/packages/overlays/IconPackKaiAndroidOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackKaiAndroidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackKaiLauncherOverlay/Android.mk b/packages/overlays/IconPackKaiLauncherOverlay/Android.mk
index 5209e53e1cfc..5a6da638da77 100644
--- a/packages/overlays/IconPackKaiLauncherOverlay/Android.mk
+++ b/packages/overlays/IconPackKaiLauncherOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackKaiLauncherOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackKaiSettingsOverlay/Android.mk b/packages/overlays/IconPackKaiSettingsOverlay/Android.mk
index 09c631c87d9a..61aaa012d924 100644
--- a/packages/overlays/IconPackKaiSettingsOverlay/Android.mk
+++ b/packages/overlays/IconPackKaiSettingsOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackKaiSettingsOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackKaiSystemUIOverlay/Android.mk b/packages/overlays/IconPackKaiSystemUIOverlay/Android.mk
index 5e55f7d8d3af..afef709ee5fc 100644
--- a/packages/overlays/IconPackKaiSystemUIOverlay/Android.mk
+++ b/packages/overlays/IconPackKaiSystemUIOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackKaiSystemUIOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackKaiThemePickerOverlay/Android.mk b/packages/overlays/IconPackKaiThemePickerOverlay/Android.mk
index d6927e6ee61f..2fc240b885b9 100644
--- a/packages/overlays/IconPackKaiThemePickerOverlay/Android.mk
+++ b/packages/overlays/IconPackKaiThemePickerOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackKaiThemePickerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackRoundedAndroidOverlay/Android.mk b/packages/overlays/IconPackRoundedAndroidOverlay/Android.mk
index 70d6fc44444c..7685ac624a82 100644
--- a/packages/overlays/IconPackRoundedAndroidOverlay/Android.mk
+++ b/packages/overlays/IconPackRoundedAndroidOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackRoundedAndroidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/Android.mk b/packages/overlays/IconPackRoundedLauncherOverlay/Android.mk
index 63de27fb18e0..ab4c9e7bfd31 100644
--- a/packages/overlays/IconPackRoundedLauncherOverlay/Android.mk
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackRoundedLauncherOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackRoundedSettingsOverlay/Android.mk b/packages/overlays/IconPackRoundedSettingsOverlay/Android.mk
index c59bf7da10aa..a17678bbbd39 100644
--- a/packages/overlays/IconPackRoundedSettingsOverlay/Android.mk
+++ b/packages/overlays/IconPackRoundedSettingsOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackRoundedSettingsOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackRoundedSystemUIOverlay/Android.mk b/packages/overlays/IconPackRoundedSystemUIOverlay/Android.mk
index 3b68c9209634..057a77335449 100644
--- a/packages/overlays/IconPackRoundedSystemUIOverlay/Android.mk
+++ b/packages/overlays/IconPackRoundedSystemUIOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackRoundedSystemUIOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackRoundedThemePickerOverlay/Android.mk b/packages/overlays/IconPackRoundedThemePickerOverlay/Android.mk
index 067efd6df0c3..ab514965d710 100644
--- a/packages/overlays/IconPackRoundedThemePickerOverlay/Android.mk
+++ b/packages/overlays/IconPackRoundedThemePickerOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackRoundedThemePickerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackSamAndroidOverlay/Android.mk b/packages/overlays/IconPackSamAndroidOverlay/Android.mk
index 3a65af10af09..66953e497686 100644
--- a/packages/overlays/IconPackSamAndroidOverlay/Android.mk
+++ b/packages/overlays/IconPackSamAndroidOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackSamAndroidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackSamLauncherOverlay/Android.mk b/packages/overlays/IconPackSamLauncherOverlay/Android.mk
index 766df22310f1..da0b590d9569 100644
--- a/packages/overlays/IconPackSamLauncherOverlay/Android.mk
+++ b/packages/overlays/IconPackSamLauncherOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackSamLauncherOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackSamSettingsOverlay/Android.mk b/packages/overlays/IconPackSamSettingsOverlay/Android.mk
index 32aa1accac4f..47d3a90a7da6 100644
--- a/packages/overlays/IconPackSamSettingsOverlay/Android.mk
+++ b/packages/overlays/IconPackSamSettingsOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackSamSettingsOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackSamSystemUIOverlay/Android.mk b/packages/overlays/IconPackSamSystemUIOverlay/Android.mk
index 9f65a4c1c275..a2a0f0a93d1a 100644
--- a/packages/overlays/IconPackSamSystemUIOverlay/Android.mk
+++ b/packages/overlays/IconPackSamSystemUIOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackSamSystemUIOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackSamThemePickerOverlay/Android.mk b/packages/overlays/IconPackSamThemePickerOverlay/Android.mk
index 032c9adc32b1..e2c554c54fb5 100644
--- a/packages/overlays/IconPackSamThemePickerOverlay/Android.mk
+++ b/packages/overlays/IconPackSamThemePickerOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackSamThemePickerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackVictorAndroidOverlay/Android.mk b/packages/overlays/IconPackVictorAndroidOverlay/Android.mk
index 9c900dacc78b..4535ae735a51 100644
--- a/packages/overlays/IconPackVictorAndroidOverlay/Android.mk
+++ b/packages/overlays/IconPackVictorAndroidOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackVictorAndroidOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackVictorLauncherOverlay/Android.mk b/packages/overlays/IconPackVictorLauncherOverlay/Android.mk
index ce10af873805..6d380c5a10d6 100644
--- a/packages/overlays/IconPackVictorLauncherOverlay/Android.mk
+++ b/packages/overlays/IconPackVictorLauncherOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackVictorLauncherOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackVictorSettingsOverlay/Android.mk b/packages/overlays/IconPackVictorSettingsOverlay/Android.mk
index ad8fc3d3784c..353cac10dbaf 100644
--- a/packages/overlays/IconPackVictorSettingsOverlay/Android.mk
+++ b/packages/overlays/IconPackVictorSettingsOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackVictorSettingsOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackVictorSystemUIOverlay/Android.mk b/packages/overlays/IconPackVictorSystemUIOverlay/Android.mk
index bd16eedd2990..6189a649458f 100644
--- a/packages/overlays/IconPackVictorSystemUIOverlay/Android.mk
+++ b/packages/overlays/IconPackVictorSystemUIOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackVictorSystemUIOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackVictorThemePickerOverlay/Android.mk b/packages/overlays/IconPackVictorThemePickerOverlay/Android.mk
index 3586d0a21ebb..96fd7ee1bb62 100644
--- a/packages/overlays/IconPackVictorThemePickerOverlay/Android.mk
+++ b/packages/overlays/IconPackVictorThemePickerOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconPackVictorThemePickerOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeHeartOverlay/Android.mk b/packages/overlays/IconShapeHeartOverlay/Android.mk
index 20fe71feac6f..33b3e19b3d5a 100644
--- a/packages/overlays/IconShapeHeartOverlay/Android.mk
+++ b/packages/overlays/IconShapeHeartOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeHeartOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapePebbleOverlay/Android.mk b/packages/overlays/IconShapePebbleOverlay/Android.mk
index c163bb91f76a..493bec79b524 100644
--- a/packages/overlays/IconShapePebbleOverlay/Android.mk
+++ b/packages/overlays/IconShapePebbleOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapePebbleOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeRoundedRectOverlay/Android.mk b/packages/overlays/IconShapeRoundedRectOverlay/Android.mk
index c6f00d1b5584..729b1c8b21da 100644
--- a/packages/overlays/IconShapeRoundedRectOverlay/Android.mk
+++ b/packages/overlays/IconShapeRoundedRectOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeRoundedRectOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeSquareOverlay/Android.mk b/packages/overlays/IconShapeSquareOverlay/Android.mk
index 602072126468..cd332014a042 100644
--- a/packages/overlays/IconShapeSquareOverlay/Android.mk
+++ b/packages/overlays/IconShapeSquareOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeSquareOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeSquircleOverlay/Android.mk b/packages/overlays/IconShapeSquircleOverlay/Android.mk
index 04409a544edf..579685e6c135 100644
--- a/packages/overlays/IconShapeSquircleOverlay/Android.mk
+++ b/packages/overlays/IconShapeSquircleOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeSquircleOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeTaperedRectOverlay/Android.mk b/packages/overlays/IconShapeTaperedRectOverlay/Android.mk
index 6f1bf2370a15..c92fa97bf3d6 100644
--- a/packages/overlays/IconShapeTaperedRectOverlay/Android.mk
+++ b/packages/overlays/IconShapeTaperedRectOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeTaperedRectOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeTeardropOverlay/Android.mk b/packages/overlays/IconShapeTeardropOverlay/Android.mk
index b127deabda4c..a8f3bbf13051 100644
--- a/packages/overlays/IconShapeTeardropOverlay/Android.mk
+++ b/packages/overlays/IconShapeTeardropOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeTeardropOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconShapeVesselOverlay/Android.mk b/packages/overlays/IconShapeVesselOverlay/Android.mk
index 0816e6f7800d..d43e4bae7319 100644
--- a/packages/overlays/IconShapeVesselOverlay/Android.mk
+++ b/packages/overlays/IconShapeVesselOverlay/Android.mk
@@ -24,6 +24,9 @@ LOCAL_PRODUCT_MODULE := true
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := IconShapeVesselOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/NavigationBarMode2ButtonOverlay/Android.mk b/packages/overlays/NavigationBarMode2ButtonOverlay/Android.mk
index 30477cceebcb..9a7aac0535ed 100644
--- a/packages/overlays/NavigationBarMode2ButtonOverlay/Android.mk
+++ b/packages/overlays/NavigationBarMode2ButtonOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_RRO_THEME := NavigationBarMode2Button
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := NavigationBarMode2ButtonOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
-include $(BUILD_RRO_PACKAGE) \ No newline at end of file
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/NavigationBarMode3ButtonOverlay/Android.mk b/packages/overlays/NavigationBarMode3ButtonOverlay/Android.mk
index 3d5a5a578c70..32c978b88bd0 100644
--- a/packages/overlays/NavigationBarMode3ButtonOverlay/Android.mk
+++ b/packages/overlays/NavigationBarMode3ButtonOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_RRO_THEME := NavigationBarMode3Button
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := NavigationBarMode3ButtonOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
-include $(BUILD_RRO_PACKAGE) \ No newline at end of file
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/NavigationBarModeGesturalOverlay/Android.mk b/packages/overlays/NavigationBarModeGesturalOverlay/Android.mk
index 3b7605a95a24..56d23465de4f 100644
--- a/packages/overlays/NavigationBarModeGesturalOverlay/Android.mk
+++ b/packages/overlays/NavigationBarModeGesturalOverlay/Android.mk
@@ -23,6 +23,9 @@ LOCAL_RRO_THEME := NavigationBarModeGestural
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := NavigationBarModeGesturalOverlay
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
-include $(BUILD_RRO_PACKAGE) \ No newline at end of file
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.mk b/packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.mk
index 1a1388eebd31..8e7da997e352 100644
--- a/packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.mk
+++ b/packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.mk
@@ -23,6 +23,9 @@ LOCAL_RRO_THEME := NavigationBarModeGesturalExtraWideBack
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := NavigationBarModeGesturalOverlayExtraWideBack
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
-include $(BUILD_RRO_PACKAGE) \ No newline at end of file
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.mk b/packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.mk
index 868998662aaa..029cafd0a4be 100644
--- a/packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.mk
+++ b/packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.mk
@@ -23,6 +23,9 @@ LOCAL_RRO_THEME := NavigationBarModeGesturalNarrowBack
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := NavigationBarModeGesturalOverlayNarrowBack
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
-include $(BUILD_RRO_PACKAGE) \ No newline at end of file
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.mk b/packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.mk
index 2723add528be..34edba6df0cb 100644
--- a/packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.mk
+++ b/packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.mk
@@ -23,6 +23,9 @@ LOCAL_RRO_THEME := NavigationBarModeGesturalWideBack
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := NavigationBarModeGesturalOverlayWideBack
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
-include $(BUILD_RRO_PACKAGE) \ No newline at end of file
+include $(BUILD_RRO_PACKAGE)
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 6460053e1bdc..142169efc89d 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -78,7 +78,6 @@ import static android.net.NetworkCapabilities.REDACT_FOR_NETWORK_SETTINGS;
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.net.NetworkCapabilities.TRANSPORT_TEST;
import static android.net.NetworkCapabilities.TRANSPORT_VPN;
-import static android.net.NetworkPolicyManager.blockedReasonsToString;
import static android.net.NetworkRequest.Type.LISTEN_FOR_BEST;
import static android.net.shared.NetworkMonitorUtils.isPrivateDnsValidationRequired;
import static android.os.Process.INVALID_UID;
@@ -1617,7 +1616,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
? nri.getActiveRequest().requestId : nri.mRequests.get(0).requestId;
mNetworkInfoBlockingLogs.log(String.format(
"%s %d(%d) on netId %d: %s", action, nri.mAsUid, requestId, net.getNetId(),
- blockedReasonsToString(blocked)));
+ Integer.toHexString(blocked)));
}
/**
@@ -1949,7 +1948,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
newNc.setAdministratorUids(new int[0]);
if (!checkAnyPermissionOf(
callerPid, callerUid, android.Manifest.permission.NETWORK_FACTORY)) {
- newNc.setSubIds(Collections.emptySet());
+ newNc.setSubscriptionIds(Collections.emptySet());
}
return newNc;
@@ -2901,7 +2900,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
final int uid = mUidBlockedReasons.keyAt(i);
final int blockedReasons = mUidBlockedReasons.valueAt(i);
pw.println("UID=" + uid + " blockedReasons="
- + blockedReasonsToString(blockedReasons));
+ + Integer.toHexString(blockedReasons));
} catch (ArrayIndexOutOfBoundsException e) {
pw.println(" ArrayIndexOutOfBoundsException");
} catch (ConcurrentModificationException e) {
@@ -5764,7 +5763,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
mAppOpsManager.checkPackage(callerUid, callerPackageName);
- if (!nc.getSubIds().isEmpty()) {
+ if (!nc.getSubscriptionIds().isEmpty()) {
enforceNetworkFactoryPermission();
}
}
diff --git a/services/core/java/com/android/server/OWNERS b/services/core/java/com/android/server/OWNERS
index 9821cdc64f69..55e1b46a51a9 100644
--- a/services/core/java/com/android/server/OWNERS
+++ b/services/core/java/com/android/server/OWNERS
@@ -1,5 +1,5 @@
# Connectivity / Networking
-per-file ConnectivityService.java,ConnectivityServiceInitializer.java,NetworkManagementService.java,NsdService.java = file:/services/core/java/com/android/server/net/OWNERS
+per-file ConnectivityService.java,ConnectivityServiceInitializer.java,NetworkManagementService.java,NsdService.java,VpnManagerService.java = file:/services/core/java/com/android/server/net/OWNERS
# Vibrator / Threads
per-file VibratorService.java, DisplayThread.java = michaelwr@google.com
diff --git a/services/core/java/com/android/server/VcnManagementService.java b/services/core/java/com/android/server/VcnManagementService.java
index 6eb6a0ed7b1c..45eb77453dbd 100644
--- a/services/core/java/com/android/server/VcnManagementService.java
+++ b/services/core/java/com/android/server/VcnManagementService.java
@@ -614,6 +614,34 @@ public class VcnManagementService extends IVcnManagementService.Stub {
});
}
+ /**
+ * Retrieves the list of subscription groups with configured VcnConfigs
+ *
+ * <p>Limited to subscription groups for which the caller is carrier privileged.
+ *
+ * <p>Implements the IVcnManagementService Binder interface.
+ */
+ @Override
+ @NonNull
+ public List<ParcelUuid> getConfiguredSubscriptionGroups(@NonNull String opPkgName) {
+ requireNonNull(opPkgName, "opPkgName was null");
+
+ mContext.getSystemService(AppOpsManager.class)
+ .checkPackage(mDeps.getBinderCallingUid(), opPkgName);
+ enforcePrimaryUser();
+
+ final List<ParcelUuid> result = new ArrayList<>();
+ synchronized (mLock) {
+ for (ParcelUuid subGrp : mConfigs.keySet()) {
+ if (mLastSnapshot.packageHasPermissionsForSubscriptionGroup(subGrp, opPkgName)) {
+ result.add(subGrp);
+ }
+ }
+ }
+
+ return result;
+ }
+
@GuardedBy("mLock")
private void writeConfigsToDiskLocked() {
try {
@@ -731,7 +759,7 @@ public class VcnManagementService extends IVcnManagementService.Stub {
// If multiple subscription IDs exist, they MUST all point to the same subscription
// group. Otherwise undefined behavior may occur.
- for (int subId : networkCapabilities.getSubIds()) {
+ for (int subId : networkCapabilities.getSubscriptionIds()) {
// Verify that all subscriptions point to the same group
if (subGrp != null && !subGrp.equals(snapshot.getGroupForSubId(subId))) {
Slog.wtf(TAG, "Got multiple subscription groups for a single network");
@@ -1013,14 +1041,14 @@ public class VcnManagementService extends IVcnManagementService.Stub {
}
private boolean requiresRestartForCarrierWifi(NetworkCapabilities caps) {
- if (!caps.hasTransport(TRANSPORT_WIFI) || caps.getSubIds() == null) {
+ if (!caps.hasTransport(TRANSPORT_WIFI) || caps.getSubscriptionIds() == null) {
return false;
}
synchronized (mCaps) {
for (NetworkCapabilities existing : mCaps.values()) {
if (existing.hasTransport(TRANSPORT_WIFI)
- && caps.getSubIds().equals(existing.getSubIds())) {
+ && caps.getSubscriptionIds().equals(existing.getSubscriptionIds())) {
// Restart if any immutable capabilities have changed
return existing.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)
!= caps.hasCapability(NET_CAPABILITY_NOT_RESTRICTED);
diff --git a/services/core/java/com/android/server/vcn/UnderlyingNetworkTracker.java b/services/core/java/com/android/server/vcn/UnderlyingNetworkTracker.java
index 48ccad33e631..88180239da67 100644
--- a/services/core/java/com/android/server/vcn/UnderlyingNetworkTracker.java
+++ b/services/core/java/com/android/server/vcn/UnderlyingNetworkTracker.java
@@ -154,14 +154,14 @@ public class UnderlyingNetworkTracker {
* Builds the Route selection request
*
* <p>This request is guaranteed to select carrier-owned, non-VCN underlying networks by virtue
- * of a populated set of subIds as expressed in NetworkCapabilities#getSubIds(). Only carrier
- * owned networks may be selected, as the request specifies only subIds in the VCN's
+ * of a populated set of subIds as expressed in NetworkCapabilities#getSubscriptionIds(). Only
+ * carrier owned networks may be selected, as the request specifies only subIds in the VCN's
* subscription group, while the VCN networks are excluded by virtue of not having subIds set on
* the VCN-exposed networks.
*/
private NetworkRequest getRouteSelectionRequest() {
return getBaseNetworkRequestBuilder()
- .setSubIds(mLastSnapshot.getAllSubIdsInGroup(mSubscriptionGroup))
+ .setSubscriptionIds(mLastSnapshot.getAllSubIdsInGroup(mSubscriptionGroup))
.build();
}
@@ -177,7 +177,7 @@ public class UnderlyingNetworkTracker {
private NetworkRequest getWifiNetworkRequest() {
return getBaseNetworkRequestBuilder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
- .setSubIds(mLastSnapshot.getAllSubIdsInGroup(mSubscriptionGroup))
+ .setSubscriptionIds(mLastSnapshot.getAllSubIdsInGroup(mSubscriptionGroup))
.build();
}
diff --git a/telephony/java/android/telephony/CellIdentityNr.java b/telephony/java/android/telephony/CellIdentityNr.java
index 45a67b39ea55..0dfc7f6df27d 100644
--- a/telephony/java/android/telephony/CellIdentityNr.java
+++ b/telephony/java/android/telephony/CellIdentityNr.java
@@ -116,7 +116,7 @@ public final class CellIdentityNr extends CellIdentity {
@Override
public @NonNull CellIdentityNr sanitizeLocationInfo() {
return new CellIdentityNr(CellInfo.UNAVAILABLE, CellInfo.UNAVAILABLE, mNrArfcn,
- mBands, mMccStr, mMncStr, CellInfo.UNAVAILABLE, mAlphaLong, mAlphaShort,
+ mBands, mMccStr, mMncStr, CellInfo.UNAVAILABLE_LONG, mAlphaLong, mAlphaShort,
mAdditionalPlmns);
}
diff --git a/tests/Camera2Tests/CameraToo/Android.mk b/tests/Camera2Tests/CameraToo/Android.mk
index 7e5911d65bfa..33473143c8cb 100644
--- a/tests/Camera2Tests/CameraToo/Android.mk
+++ b/tests/Camera2Tests/CameraToo/Android.mk
@@ -17,6 +17,9 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := CameraToo
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := $(call all-java-files-under,src)
diff --git a/tests/Camera2Tests/CameraToo/tests/Android.mk b/tests/Camera2Tests/CameraToo/tests/Android.mk
index fe4dc42aa7d9..dfa64f1feade 100644
--- a/tests/Camera2Tests/CameraToo/tests/Android.mk
+++ b/tests/Camera2Tests/CameraToo/tests/Android.mk
@@ -17,6 +17,9 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := CameraTooTests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../NOTICE
LOCAL_INSTRUMENTATION_FOR := CameraToo
LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := $(call all-java-files-under,src)
diff --git a/tests/Camera2Tests/SmartCamera/SimpleCamera/Android.mk b/tests/Camera2Tests/SmartCamera/SimpleCamera/Android.mk
index 4e3675f78edf..6003628ffb0d 100644
--- a/tests/Camera2Tests/SmartCamera/SimpleCamera/Android.mk
+++ b/tests/Camera2Tests/SmartCamera/SimpleCamera/Android.mk
@@ -32,6 +32,9 @@ LOCAL_SRC_FILES := \
$(call all-renderscript-files-under, src)
LOCAL_PACKAGE_NAME := SmartCamera
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../NOTICE
LOCAL_JNI_SHARED_LIBRARIES := libsmartcamera_jni
include $(BUILD_PACKAGE)
diff --git a/tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk b/tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk
index a9000774a13a..c23d593d4f86 100644
--- a/tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk
+++ b/tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk
@@ -22,6 +22,9 @@ LOCAL_MODULE_TAGS := tests
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_PACKAGE_NAME := SmartCamera-tests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_SRC_FILES += $(call all-java-files-under, src)
diff --git a/tests/CanvasCompare/Android.mk b/tests/CanvasCompare/Android.mk
index 6a0a93e1bb24..b82ae65b4356 100644
--- a/tests/CanvasCompare/Android.mk
+++ b/tests/CanvasCompare/Android.mk
@@ -20,6 +20,9 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-renderscript-files-under, src)
LOCAL_PACKAGE_NAME := CanvasCompare
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_MODULE_TAGS := tests
diff --git a/tests/LockTaskTests/Android.mk b/tests/LockTaskTests/Android.mk
index a693eaa4da04..5406ee19041b 100644
--- a/tests/LockTaskTests/Android.mk
+++ b/tests/LockTaskTests/Android.mk
@@ -5,6 +5,9 @@ LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/system/priv-app
LOCAL_PACKAGE_NAME := LockTaskTests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_CERTIFICATE := platform
diff --git a/tests/SoundTriggerTests/Android.mk b/tests/SoundTriggerTests/Android.mk
index 204a74eed882..cc0fa1cd0840 100644
--- a/tests/SoundTriggerTests/Android.mk
+++ b/tests/SoundTriggerTests/Android.mk
@@ -31,6 +31,9 @@ LOCAL_STATIC_JAVA_LIBRARIES := mockito-target
LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
LOCAL_PACKAGE_NAME := SoundTriggerTests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../NOTICE
LOCAL_PRIVATE_PLATFORM_APIS := true
include $(BUILD_PACKAGE)
diff --git a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java
index e7718b546c1e..33f2c67646e5 100644
--- a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java
+++ b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java
@@ -311,7 +311,7 @@ public class NetworkCapabilitiesTest {
.addCapability(NET_CAPABILITY_EIMS)
.addCapability(NET_CAPABILITY_NOT_METERED);
if (isAtLeastS()) {
- netCap.setSubIds(Set.of(TEST_SUBID1, TEST_SUBID2));
+ netCap.setSubscriptionIds(Set.of(TEST_SUBID1, TEST_SUBID2));
netCap.setUids(uids);
}
if (isAtLeastR()) {
@@ -641,16 +641,16 @@ public class NetworkCapabilitiesTest {
assertTrue(nc2.appliesToUid(22));
// Verify the subscription id list can be combined only when they are equal.
- nc1.setSubIds(Set.of(TEST_SUBID1, TEST_SUBID2));
- nc2.setSubIds(Set.of(TEST_SUBID2));
+ nc1.setSubscriptionIds(Set.of(TEST_SUBID1, TEST_SUBID2));
+ nc2.setSubscriptionIds(Set.of(TEST_SUBID2));
assertThrows(IllegalStateException.class, () -> nc2.combineCapabilities(nc1));
- nc2.setSubIds(Set.of());
+ nc2.setSubscriptionIds(Set.of());
assertThrows(IllegalStateException.class, () -> nc2.combineCapabilities(nc1));
- nc2.setSubIds(Set.of(TEST_SUBID2, TEST_SUBID1));
+ nc2.setSubscriptionIds(Set.of(TEST_SUBID2, TEST_SUBID1));
nc2.combineCapabilities(nc1);
- assertEquals(Set.of(TEST_SUBID2, TEST_SUBID1), nc2.getSubIds());
+ assertEquals(Set.of(TEST_SUBID2, TEST_SUBID1), nc2.getSubscriptionIds());
}
}
@@ -805,20 +805,20 @@ public class NetworkCapabilitiesTest {
assertEquals(nc1, nc2);
if (isAtLeastS()) {
- assertThrows(NullPointerException.class, () -> nc1.setSubIds(null));
- nc1.setSubIds(Set.of());
+ assertThrows(NullPointerException.class, () -> nc1.setSubscriptionIds(null));
+ nc1.setSubscriptionIds(Set.of());
nc2.set(nc1);
assertEquals(nc1, nc2);
- nc1.setSubIds(Set.of(TEST_SUBID1));
+ nc1.setSubscriptionIds(Set.of(TEST_SUBID1));
nc2.set(nc1);
assertEquals(nc1, nc2);
- nc2.setSubIds(Set.of(TEST_SUBID2, TEST_SUBID1));
+ nc2.setSubscriptionIds(Set.of(TEST_SUBID2, TEST_SUBID1));
nc2.set(nc1);
assertEquals(nc1, nc2);
- nc2.setSubIds(Set.of(TEST_SUBID3, TEST_SUBID2));
+ nc2.setSubscriptionIds(Set.of(TEST_SUBID3, TEST_SUBID2));
assertNotEquals(nc1, nc2);
}
}
@@ -907,8 +907,8 @@ public class NetworkCapabilitiesTest {
// satisfy these requests.
final NetworkCapabilities nc = new NetworkCapabilities.Builder()
.addCapability(NET_CAPABILITY_NOT_VCN_MANAGED)
- .setSubIds(new ArraySet<>(subIds)).build();
- assertEquals(new ArraySet<>(subIds), nc.getSubIds());
+ .setSubscriptionIds(new ArraySet<>(subIds)).build();
+ assertEquals(new ArraySet<>(subIds), nc.getSubscriptionIds());
return nc;
}
@@ -920,11 +920,11 @@ public class NetworkCapabilitiesTest {
final NetworkCapabilities ncWithoutRequestedIds = capsWithSubIds(TEST_SUBID3);
final NetworkRequest requestWithoutId = new NetworkRequest.Builder().build();
- assertEmpty(requestWithoutId.networkCapabilities.getSubIds());
+ assertEmpty(requestWithoutId.networkCapabilities.getSubscriptionIds());
final NetworkRequest requestWithIds = new NetworkRequest.Builder()
- .setSubIds(Set.of(TEST_SUBID1, TEST_SUBID2)).build();
+ .setSubscriptionIds(Set.of(TEST_SUBID1, TEST_SUBID2)).build();
assertEquals(Set.of(TEST_SUBID1, TEST_SUBID2),
- requestWithIds.networkCapabilities.getSubIds());
+ requestWithIds.networkCapabilities.getSubscriptionIds());
assertFalse(requestWithIds.canBeSatisfiedBy(ncWithoutId));
assertTrue(requestWithIds.canBeSatisfiedBy(ncWithOtherIds));
@@ -1132,8 +1132,8 @@ public class NetworkCapabilitiesTest {
if (isAtLeastS()) {
final NetworkCapabilities nc2 = new NetworkCapabilities.Builder()
- .setSubIds(Set.of(TEST_SUBID1)).build();
- assertEquals(Set.of(TEST_SUBID1), nc2.getSubIds());
+ .setSubscriptionIds(Set.of(TEST_SUBID1)).build();
+ assertEquals(Set.of(TEST_SUBID1), nc2.getSubscriptionIds());
}
}
}
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index c58e9370063d..9c797e403bad 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -12314,12 +12314,12 @@ public class ConnectivityServiceTest {
public void testSubIdsClearedWithoutNetworkFactoryPermission() throws Exception {
mServiceContext.setPermission(NETWORK_FACTORY, PERMISSION_DENIED);
final NetworkCapabilities nc = new NetworkCapabilities();
- nc.setSubIds(Collections.singleton(Process.myUid()));
+ nc.setSubscriptionIds(Collections.singleton(Process.myUid()));
final NetworkCapabilities result =
mService.networkCapabilitiesRestrictedForCallerPermissions(
nc, Process.myPid(), Process.myUid());
- assertTrue(result.getSubIds().isEmpty());
+ assertTrue(result.getSubscriptionIds().isEmpty());
}
@Test
@@ -12328,17 +12328,17 @@ public class ConnectivityServiceTest {
final Set<Integer> subIds = Collections.singleton(Process.myUid());
final NetworkCapabilities nc = new NetworkCapabilities();
- nc.setSubIds(subIds);
+ nc.setSubscriptionIds(subIds);
final NetworkCapabilities result =
mService.networkCapabilitiesRestrictedForCallerPermissions(
nc, Process.myPid(), Process.myUid());
- assertEquals(subIds, result.getSubIds());
+ assertEquals(subIds, result.getSubscriptionIds());
}
private NetworkRequest getRequestWithSubIds() {
return new NetworkRequest.Builder()
- .setSubIds(Collections.singleton(Process.myUid()))
+ .setSubscriptionIds(Collections.singleton(Process.myUid()))
.build();
}
diff --git a/tests/vcn/java/com/android/server/VcnManagementServiceTest.java b/tests/vcn/java/com/android/server/VcnManagementServiceTest.java
index 9a663436f983..aa4b5f8e208f 100644
--- a/tests/vcn/java/com/android/server/VcnManagementServiceTest.java
+++ b/tests/vcn/java/com/android/server/VcnManagementServiceTest.java
@@ -96,6 +96,7 @@ import org.mockito.ArgumentCaptor;
import java.io.FileNotFoundException;
import java.util.Collections;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
@@ -617,6 +618,43 @@ public class VcnManagementServiceTest {
}
@Test
+ public void testGetConfiguredSubscriptionGroupsRequiresSystemUser() throws Exception {
+ doReturn(UserHandle.getUid(UserHandle.MIN_SECONDARY_USER_ID, TEST_UID))
+ .when(mMockDeps)
+ .getBinderCallingUid();
+
+ try {
+ mVcnMgmtSvc.getConfiguredSubscriptionGroups(TEST_PACKAGE_NAME);
+ fail("Expected security exception for non system user");
+ } catch (SecurityException expected) {
+ }
+ }
+
+ @Test
+ public void testGetConfiguredSubscriptionGroupsMismatchedPackages() throws Exception {
+ final String badPackage = "IncorrectPackage";
+ doThrow(new SecurityException()).when(mAppOpsMgr).checkPackage(TEST_UID, badPackage);
+
+ try {
+ mVcnMgmtSvc.getConfiguredSubscriptionGroups(badPackage);
+ fail("Expected security exception due to mismatched packages");
+ } catch (SecurityException expected) {
+ }
+ }
+
+ @Test
+ public void testGetConfiguredSubscriptionGroups() throws Exception {
+ mVcnMgmtSvc.setVcnConfig(TEST_UUID_2, TEST_VCN_CONFIG, TEST_PACKAGE_NAME);
+
+ // Assert that if both UUID 1 and 2 are provisioned, the caller only gets ones that they are
+ // privileged for.
+ triggerSubscriptionTrackerCbAndGetSnapshot(Collections.singleton(TEST_UUID_1));
+ final List<ParcelUuid> subGrps =
+ mVcnMgmtSvc.getConfiguredSubscriptionGroups(TEST_PACKAGE_NAME);
+ assertEquals(Collections.singletonList(TEST_UUID_1), subGrps);
+ }
+
+ @Test
public void testAddVcnUnderlyingNetworkPolicyListener() throws Exception {
mVcnMgmtSvc.addVcnUnderlyingNetworkPolicyListener(mMockPolicyListener);
@@ -696,7 +734,7 @@ public class VcnManagementServiceTest {
.addCapability(NET_CAPABILITY_NOT_VCN_MANAGED)
.addTransportType(transport);
if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- ncBuilder.setSubIds(Collections.singleton(subId));
+ ncBuilder.setSubscriptionIds(Collections.singleton(subId));
}
return ncBuilder;
diff --git a/tests/vcn/java/com/android/server/vcn/UnderlyingNetworkTrackerTest.java b/tests/vcn/java/com/android/server/vcn/UnderlyingNetworkTrackerTest.java
index 0c7363e55cc6..8289e85dadf9 100644
--- a/tests/vcn/java/com/android/server/vcn/UnderlyingNetworkTrackerTest.java
+++ b/tests/vcn/java/com/android/server/vcn/UnderlyingNetworkTrackerTest.java
@@ -189,7 +189,7 @@ public class UnderlyingNetworkTrackerTest {
private NetworkRequest getWifiRequest(Set<Integer> netCapsSubIds) {
return getExpectedRequestBase()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
- .setSubIds(netCapsSubIds)
+ .setSubscriptionIds(netCapsSubIds)
.build();
}
@@ -201,7 +201,7 @@ public class UnderlyingNetworkTrackerTest {
}
private NetworkRequest getRouteSelectionRequest(Set<Integer> netCapsSubIds) {
- return getExpectedRequestBase().setSubIds(netCapsSubIds).build();
+ return getExpectedRequestBase().setSubscriptionIds(netCapsSubIds).build();
}
private NetworkRequest.Builder getExpectedRequestBase() {
diff --git a/tools/aapt2/integration-tests/MergeOnlyTest/App/Android.mk b/tools/aapt2/integration-tests/MergeOnlyTest/App/Android.mk
index 6bc2064c6e63..27b6068632f3 100644
--- a/tools/aapt2/integration-tests/MergeOnlyTest/App/Android.mk
+++ b/tools/aapt2/integration-tests/MergeOnlyTest/App/Android.mk
@@ -20,10 +20,13 @@ include $(CLEAR_VARS)
LOCAL_USE_AAPT2 := true
LOCAL_AAPT_NAMESPACES := true
LOCAL_PACKAGE_NAME := AaptTestMergeOnly_App
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_EXPORT_PACKAGE_RESOURCES := true
LOCAL_MODULE_TAGS := tests
LOCAL_STATIC_ANDROID_LIBRARIES := \
AaptTestMergeOnly_LeafLib \
AaptTestMergeOnly_LocalLib
-include $(BUILD_PACKAGE) \ No newline at end of file
+include $(BUILD_PACKAGE)
diff --git a/tools/aapt2/integration-tests/NamespaceTest/App/Android.mk b/tools/aapt2/integration-tests/NamespaceTest/App/Android.mk
index 446237412370..98b74403a7ff 100644
--- a/tools/aapt2/integration-tests/NamespaceTest/App/Android.mk
+++ b/tools/aapt2/integration-tests/NamespaceTest/App/Android.mk
@@ -20,6 +20,9 @@ include $(CLEAR_VARS)
LOCAL_USE_AAPT2 := true
LOCAL_AAPT_NAMESPACES := true
LOCAL_PACKAGE_NAME := AaptTestNamespace_App
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_EXPORT_PACKAGE_RESOURCES := true
LOCAL_MODULE_TAGS := tests
diff --git a/tools/aapt2/integration-tests/NamespaceTest/Split/Android.mk b/tools/aapt2/integration-tests/NamespaceTest/Split/Android.mk
index 83e2289430f7..30375728c9e0 100644
--- a/tools/aapt2/integration-tests/NamespaceTest/Split/Android.mk
+++ b/tools/aapt2/integration-tests/NamespaceTest/Split/Android.mk
@@ -20,6 +20,9 @@ include $(CLEAR_VARS)
LOCAL_USE_AAPT2 := true
LOCAL_AAPT_NAMESPACES := true
LOCAL_PACKAGE_NAME := AaptTestNamespace_Split
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../../NOTICE
LOCAL_SDK_VERSION := current
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := $(call all-java-files-under,src)
diff --git a/tools/fonts/Android.bp b/tools/fonts/Android.bp
index bf506613c0a1..14c4b2c3fb03 100644
--- a/tools/fonts/Android.bp
+++ b/tools/fonts/Android.bp
@@ -12,6 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
python_defaults {
name: "fonts_python_defaults",
version: {