diff options
32 files changed, 74 insertions, 20 deletions
diff --git a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShimPriv_apk.asciipb b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShimPriv_apk.asciipb index cfcb4e7d69b1..80317e4634f3 100644 --- a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShimPriv_apk.asciipb +++ b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShimPriv_apk.asciipb @@ -1,6 +1,6 @@ drops { android_build_drop { - build_id: "7351002" + build_id: "7396576" target: "CtsShim" source_file: "aosp_arm64/CtsShimPriv.apk" } @@ -9,4 +9,5 @@ drops { version_group: "" git_project: "platform/frameworks/base" git_branch: "sc-dev" + transform: TRANSFORM_NONE } diff --git a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShim_apk.asciipb b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShim_apk.asciipb index 0948e47561a8..3605b6d0433b 100644 --- a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShim_apk.asciipb +++ b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__arm_CtsShim_apk.asciipb @@ -1,6 +1,6 @@ drops { android_build_drop { - build_id: "7351002" + build_id: "7396576" target: "CtsShim" source_file: "aosp_arm64/CtsShim.apk" } @@ -9,4 +9,5 @@ drops { version_group: "" git_project: "platform/frameworks/base" git_branch: "sc-dev" + transform: TRANSFORM_NONE } diff --git a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShimPriv_apk.asciipb b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShimPriv_apk.asciipb index db6447525a18..025ec3a9fdaf 100644 --- a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShimPriv_apk.asciipb +++ b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShimPriv_apk.asciipb @@ -1,6 +1,6 @@ drops { android_build_drop { - build_id: "7351002" + build_id: "7396576" target: "CtsShim" source_file: "aosp_x86_64/CtsShimPriv.apk" } @@ -9,4 +9,5 @@ drops { version_group: "" git_project: "platform/frameworks/base" git_branch: "sc-dev" + transform: TRANSFORM_NONE } diff --git a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShim_apk.asciipb b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShim_apk.asciipb index 80812df718f8..e19235a12f8f 100644 --- a/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShim_apk.asciipb +++ b/.prebuilt_info/prebuilt_info_packages_CtsShim_apk__x86_CtsShim_apk.asciipb @@ -1,6 +1,6 @@ drops { android_build_drop { - build_id: "7351002" + build_id: "7396576" target: "CtsShim" source_file: "aosp_x86_64/CtsShim.apk" } @@ -9,4 +9,5 @@ drops { version_group: "" git_project: "platform/frameworks/base" git_branch: "sc-dev" + transform: TRANSFORM_NONE } diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 71cc11b19bc6..b08705446439 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -1123,7 +1123,7 @@ public final class ActivityThread extends ClientTransactionHandler { InetAddress.clearDnsCache(); // Allow libcore to perform the necessary actions as it sees fit upon a network // configuration change. - NetworkEventDispatcher.getInstance().onNetworkConfigurationChanged(); + NetworkEventDispatcher.getInstance().dispatchNetworkConfigurationChange(); } public void updateHttpProxy() { diff --git a/core/java/android/widget/OWNERS b/core/java/android/widget/OWNERS index 64570a8ad155..e1d601258b1d 100644 --- a/core/java/android/widget/OWNERS +++ b/core/java/android/widget/OWNERS @@ -8,6 +8,6 @@ siyamed@google.com mount@google.com njawad@google.com -per-file TextView.java, EditText.java, Editor.java = siyamed@google.com, nona@google.com, clarabayarri@google.com +per-file TextView*, EditText.java, Editor.java = siyamed@google.com, nona@google.com, clarabayarri@google.com per-file SpellChecker.java = file:../view/inputmethod/OWNERS diff --git a/core/jni/Android.bp b/core/jni/Android.bp index 382acc062d62..b236385768b5 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -227,6 +227,7 @@ cc_library_shared { shared_libs: [ "android.hardware.memtrack-V1-ndk_platform", "libandroidicu", + "libandroid_net", "libbpf_android", "libnetdbpf", "libnetdutils", diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 4a57448ed668..8db1bbfbec1d 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -575,8 +575,6 @@ <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" /> - <protected-broadcast android:name="android.intent.action.ACTION_RADIO_OFF" /> - <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /> <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" /> <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" /> diff --git a/libs/usb/Android.bp b/libs/usb/Android.bp index edc847487dcb..e685a73e4249 100644 --- a/libs/usb/Android.bp +++ b/libs/usb/Android.bp @@ -28,4 +28,5 @@ java_sdk_library { name: "com.android.future.usb.accessory", srcs: ["src/**/*.java"], api_packages: ["com.android.future.usb"], + dist_group: "android", } diff --git a/location/lib/Android.bp b/location/lib/Android.bp index 5cd5a59f41ac..f99c59cd4638 100644 --- a/location/lib/Android.bp +++ b/location/lib/Android.bp @@ -30,4 +30,5 @@ java_sdk_library { "androidx.annotation_annotation", ], api_packages: ["com.android.location.provider"], + dist_group: "android", } diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index 49ef504f6b03..f7b0fb581fd3 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -3094,7 +3094,7 @@ static jint android_media_tv_Tuner_set_filter_data_source( r = iFilterSp->setDataSource(NULL); } else { sp<IFilter> srcSp = getFilter(env, srcFilter)->getIFilter(); - if (iFilterSp == NULL) { + if (srcSp == NULL) { ALOGD("Failed to set filter data source: src filter not found"); return (jint) Result::INVALID_ARGUMENT; } diff --git a/media/lib/remotedisplay/Android.bp b/media/lib/remotedisplay/Android.bp index bfb0cb854be3..e1d7caed9528 100644 --- a/media/lib/remotedisplay/Android.bp +++ b/media/lib/remotedisplay/Android.bp @@ -27,4 +27,5 @@ java_sdk_library { name: "com.android.media.remotedisplay", srcs: ["java/**/*.java"], api_packages: ["com.android.media.remotedisplay"], + dist_group: "android", } diff --git a/media/lib/signer/Android.bp b/media/lib/signer/Android.bp index 6504176eb6f1..65a6073a44ee 100644 --- a/media/lib/signer/Android.bp +++ b/media/lib/signer/Android.bp @@ -27,4 +27,5 @@ java_sdk_library { name: "com.android.mediadrm.signer", srcs: ["java/**/*.java"], api_packages: ["com.android.mediadrm.signer"], + dist_group: "android", } diff --git a/media/lib/tvremote/Android.bp b/media/lib/tvremote/Android.bp index 5f9185aca9a2..1f3401f8a9db 100644 --- a/media/lib/tvremote/Android.bp +++ b/media/lib/tvremote/Android.bp @@ -29,5 +29,6 @@ java_sdk_library { api_packages: ["com.android.media.tv.remoteprovider"], dex_preopt: { enabled: false, - } + }, + dist_group: "android", } diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt index d56aa86ae6fa..919fd8177e58 100644 --- a/native/android/libandroid.map.txt +++ b/native/android/libandroid.map.txt @@ -274,6 +274,7 @@ LIBANDROID { ATrace_endAsyncSection; # introduced=29 ATrace_setCounter; # introduced=29 android_getaddrinfofornetwork; # introduced=23 + android_getprocnetwork; # introduced=31 android_setprocnetwork; # introduced=23 android_setsocknetwork; # introduced=23 android_res_cancel; # introduced=29 diff --git a/native/android/libandroid_net.map.txt b/native/android/libandroid_net.map.txt index 8d4e9009cc56..cc8dd727408f 100644 --- a/native/android/libandroid_net.map.txt +++ b/native/android/libandroid_net.map.txt @@ -14,6 +14,8 @@ LIBANDROID_NET { android_res_nquery; # llndk android_res_nresult; # llndk android_res_nsend; # llndk + # These functions have been part of the NDK since API 31. + android_getprocnetwork; # llndk local: *; }; diff --git a/native/android/net.c b/native/android/net.c index a8104fc23041..d4b888845b27 100644 --- a/native/android/net.c +++ b/native/android/net.c @@ -22,12 +22,13 @@ #include <stdlib.h> #include <sys/limits.h> +// This value MUST be kept in sync with the corresponding value in +// the android.net.Network#getNetworkHandle() implementation. +static const uint32_t kHandleMagic = 0xcafed00d; +static const uint32_t kHandleMagicSize = 32; static int getnetidfromhandle(net_handle_t handle, unsigned *netid) { static const uint32_t k32BitMask = 0xffffffff; - // This value MUST be kept in sync with the corresponding value in - // the android.net.Network#getNetworkHandle() implementation. - static const uint32_t kHandleMagic = 0xcafed00d; // Check for minimum acceptable version of the API in the low bits. if (handle != NETWORK_UNSPECIFIED && @@ -41,6 +42,12 @@ static int getnetidfromhandle(net_handle_t handle, unsigned *netid) { return 1; } +static net_handle_t gethandlefromnetid(unsigned netid) { + if (netid == NETID_UNSET) { + return NETWORK_UNSPECIFIED; + } + return (((net_handle_t) netid) << kHandleMagicSize) | kHandleMagic; +} int android_setsocknetwork(net_handle_t network, int fd) { unsigned netid; @@ -72,6 +79,17 @@ int android_setprocnetwork(net_handle_t network) { return rval; } +int android_getprocnetwork(net_handle_t *network) { + if (network == NULL) { + errno = EINVAL; + return -1; + } + + unsigned netid = getNetworkForProcess(); + *network = gethandlefromnetid(netid); + return 0; +} + int android_getaddrinfofornetwork(net_handle_t network, const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res) { diff --git a/nfc-extras/Android.bp b/nfc-extras/Android.bp index 43b2830f544b..cb9ac6fd1d33 100644 --- a/nfc-extras/Android.bp +++ b/nfc-extras/Android.bp @@ -27,4 +27,5 @@ java_sdk_library { name: "com.android.nfc_extras", srcs: ["java/**/*.java"], api_packages: ["com.android.nfc_extras"], + dist_group: "android", } diff --git a/obex/Android.bp b/obex/Android.bp index 95eac81e80be..37e7f76bead5 100644 --- a/obex/Android.bp +++ b/obex/Android.bp @@ -48,4 +48,5 @@ java_sdk_library { name: "javax.obex", srcs: ["javax/**/*.java"], api_packages: ["javax.obex"], + dist_group: "android", } diff --git a/packages/CtsShim/apk/arm/CtsShim.apk b/packages/CtsShim/apk/arm/CtsShim.apk Binary files differindex ca69a28a04b4..bb6dfa3a4ede 100644 --- a/packages/CtsShim/apk/arm/CtsShim.apk +++ b/packages/CtsShim/apk/arm/CtsShim.apk diff --git a/packages/CtsShim/apk/arm/CtsShimPriv.apk b/packages/CtsShim/apk/arm/CtsShimPriv.apk Binary files differindex d7cfb969c728..2835d57474d9 100644 --- a/packages/CtsShim/apk/arm/CtsShimPriv.apk +++ b/packages/CtsShim/apk/arm/CtsShimPriv.apk diff --git a/packages/CtsShim/apk/x86/CtsShim.apk b/packages/CtsShim/apk/x86/CtsShim.apk Binary files differindex ca69a28a04b4..bb6dfa3a4ede 100644 --- a/packages/CtsShim/apk/x86/CtsShim.apk +++ b/packages/CtsShim/apk/x86/CtsShim.apk diff --git a/packages/CtsShim/apk/x86/CtsShimPriv.apk b/packages/CtsShim/apk/x86/CtsShimPriv.apk Binary files differindex 84c34010a212..2e1a78989b70 100644 --- a/packages/CtsShim/apk/x86/CtsShimPriv.apk +++ b/packages/CtsShim/apk/x86/CtsShimPriv.apk diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index 07ac14f049c2..aba96153ad4a 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -105,6 +105,7 @@ import android.security.keystore2.AndroidKeyStoreLoadStoreParameter; import android.security.keystore2.AndroidKeyStoreProvider; import android.service.gatekeeper.GateKeeperResponse; import android.service.gatekeeper.IGateKeeperService; +import android.system.keystore2.Domain; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; @@ -253,8 +254,7 @@ public class LockSettingsService extends ILockSettings.Stub { * The UIDs that are used for system credential storage in keystore. */ private static final int[] SYSTEM_CREDENTIAL_UIDS = { - Process.WIFI_UID, Process.VPN_UID, - Process.ROOT_UID, Process.SYSTEM_UID }; + Process.VPN_UID, Process.ROOT_UID, Process.SYSTEM_UID}; // This class manages life cycle events for encrypted users on File Based Encryption (FBE) // devices. The most basic of these is to show/hide notifications about missing features until @@ -1987,9 +1987,14 @@ public class LockSettingsService extends ILockSettings.Stub { // Clear all the users credentials could have been installed in for this user. for (int profileId : mUserManager.getProfileIdsWithDisabled(userId)) { for (int uid : SYSTEM_CREDENTIAL_UIDS) { - mKeyStore.clearUid(UserHandle.getUid(profileId, uid)); + AndroidKeyStoreMaintenance.clearNamespace(Domain.APP, + UserHandle.getUid(profileId, uid)); } } + if (mUserManager.getUserInfo(userId).isPrimary()) { + AndroidKeyStoreMaintenance.clearNamespace(Domain.SELINUX, + KeyProperties.NAMESPACE_WIFI); + } } finally { if (managedUserId != -1 && managedUserDecryptedPassword != null) { if (DEBUG) Slog.v(TAG, "Restore tied profile lock"); diff --git a/services/core/java/com/android/server/notification/NotificationHistoryDatabase.java b/services/core/java/com/android/server/notification/NotificationHistoryDatabase.java index 18da33ce19e0..fdb93a8f209a 100644 --- a/services/core/java/com/android/server/notification/NotificationHistoryDatabase.java +++ b/services/core/java/com/android/server/notification/NotificationHistoryDatabase.java @@ -103,7 +103,7 @@ public class NotificationHistoryDatabase { IntentFilter deletionFilter = new IntentFilter(ACTION_HISTORY_DELETION); deletionFilter.addDataScheme(SCHEME_DELETION); - mContext.registerReceiver(mFileCleaupReceiver, deletionFilter); + mContext.registerReceiver(mFileCleanupReceiver, deletionFilter); } public void init() { @@ -329,6 +329,12 @@ public class NotificationHistoryDatabase { } } + public void unregisterFileCleanupReceiver() { + if(mContext != null) { + mContext.unregisterReceiver(mFileCleanupReceiver); + } + } + private static long safeParseLong(String fileName) { // AtomicFile will create copies of the numeric files with ".new" and ".bak" // over the course of its processing. If these files still exist on boot we need to clean @@ -340,7 +346,7 @@ public class NotificationHistoryDatabase { } } - private final BroadcastReceiver mFileCleaupReceiver = new BroadcastReceiver() { + private final BroadcastReceiver mFileCleanupReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); diff --git a/services/core/java/com/android/server/notification/NotificationHistoryManager.java b/services/core/java/com/android/server/notification/NotificationHistoryManager.java index 69a7ce90f1c6..1aae6c33df1e 100644 --- a/services/core/java/com/android/server/notification/NotificationHistoryManager.java +++ b/services/core/java/com/android/server/notification/NotificationHistoryManager.java @@ -272,6 +272,7 @@ public class NotificationHistoryManager { private void disableHistory(NotificationHistoryDatabase userHistory, @UserIdInt int userId) { userHistory.disableHistory(); + userHistory.unregisterFileCleanupReceiver(); mUserPendingHistoryDisables.put(userId, false); mHistoryEnabled.put(userId, false); diff --git a/services/core/java/com/android/server/policy/LegacyGlobalActions.java b/services/core/java/com/android/server/policy/LegacyGlobalActions.java index 5b48abb3e1f2..5e4c801d90fb 100644 --- a/services/core/java/com/android/server/policy/LegacyGlobalActions.java +++ b/services/core/java/com/android/server/policy/LegacyGlobalActions.java @@ -135,7 +135,7 @@ class LegacyGlobalActions implements DialogInterface.OnDismissListener, DialogIn filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); filter.addAction(Intent.ACTION_SCREEN_OFF); filter.addAction(TelephonyManager.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED); - context.registerReceiver(mBroadcastReceiver, filter); + context.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, filter, null, null); mHasTelephony = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY); diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index b3e3522c6f35..ed2170d4b59e 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -3581,6 +3581,13 @@ public class CarrierConfigManager { "emergency_number_prefix_string_array"; /** + * Indicates whether carrier treats "*67" or "*82" as a temporary mode CLIR. + * @hide + */ + public static final String KEY_CARRIER_SUPPORTS_CALLER_ID_VERTICAL_SERVICE_CODES_BOOL = + "carrier_supports_caller_id_vertical_service_codes_bool"; + + /** * Smart forwarding config. Smart forwarding is a feature to configure call forwarding to a * different SIM in the device when one SIM is not reachable. The config here specifies a smart * forwarding component that will launch UI for changing the configuration. An empty string @@ -4910,6 +4917,7 @@ public class CarrierConfigManager { 1 /* Roaming Indicator Off */ }); sDefaults.putStringArray(KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY, new String[0]); + sDefaults.putBoolean(KEY_CARRIER_SUPPORTS_CALLER_ID_VERTICAL_SERVICE_CODES_BOOL, false); sDefaults.putBoolean(KEY_USE_USIM_BOOL, false); sDefaults.putBoolean(KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL, false); sDefaults.putBoolean(KEY_AUTO_CANCEL_CS_REJECT_NOTIFICATION, true); diff --git a/test-base/Android.bp b/test-base/Android.bp index b58aa11597c2..97ebba689d8b 100644 --- a/test-base/Android.bp +++ b/test-base/Android.bp @@ -55,6 +55,7 @@ java_sdk_library { hiddenapi_additional_annotations: [ "android.test.base-hiddenapi-annotations", ], + dist_group: "android", } // Build the android.test.base_static library diff --git a/test-mock/Android.bp b/test-mock/Android.bp index 107292c81ab4..460a26d63cd6 100644 --- a/test-mock/Android.bp +++ b/test-mock/Android.bp @@ -48,6 +48,7 @@ java_sdk_library { ], compile_dex: true, default_to_stubs: true, + dist_group: "android", } // Make the current.txt available for use by the cts/tests/signature tests. diff --git a/test-runner/Android.bp b/test-runner/Android.bp index c380ae3a243b..0f56bb3819f1 100644 --- a/test-runner/Android.bp +++ b/test-runner/Android.bp @@ -52,6 +52,7 @@ java_sdk_library { compile_dex: true, default_to_stubs: true, + dist_group: "android", } // Build the android.test.runner-minus-junit library diff --git a/tools/aapt2/SdkConstants.cpp b/tools/aapt2/SdkConstants.cpp index e8873bf2d81b..7546e419ab84 100644 --- a/tools/aapt2/SdkConstants.cpp +++ b/tools/aapt2/SdkConstants.cpp @@ -27,7 +27,7 @@ namespace aapt { static ApiVersion sDevelopmentSdkLevel = 10000; static const auto sDevelopmentSdkCodeNames = std::unordered_set<StringPiece>({ - "Q", "R", "S" + "Q", "R", "S", "T" }); static const std::vector<std::pair<uint16_t, ApiVersion>> sAttrIdMap = { |