diff options
-rw-r--r-- | api/coverage/tools/ExtractFlaggedApis.kt | 2 | ||||
-rw-r--r-- | core/api/module-lib-current.txt | 2 | ||||
-rw-r--r-- | core/java/android/net/VpnManager.java | 26 | ||||
-rw-r--r-- | core/java/android/net/flags.aconfig | 8 | ||||
-rw-r--r-- | core/res/res/xml/sms_short_codes.xml | 2 | ||||
-rw-r--r-- | data/etc/Android.bp | 8 | ||||
-rw-r--r-- | data/etc/com.android.statementservice.xml | 23 | ||||
-rw-r--r-- | data/etc/privapp-permissions-platform.xml | 6 | ||||
-rw-r--r-- | data/keyboards/Android.bp | 11 | ||||
-rw-r--r-- | data/keyboards/keyboards.mk | 10 | ||||
-rw-r--r-- | libs/androidfw/LocaleDataLookup.cpp | 2 | ||||
-rw-r--r-- | packages/StatementService/Android.bp | 4 | ||||
-rw-r--r-- | services/core/java/com/android/server/media/projection/Android.bp | 21 |
13 files changed, 102 insertions, 23 deletions
diff --git a/api/coverage/tools/ExtractFlaggedApis.kt b/api/coverage/tools/ExtractFlaggedApis.kt index 0a3ae4f790b0..e50f7f876f51 100644 --- a/api/coverage/tools/ExtractFlaggedApis.kt +++ b/api/coverage/tools/ExtractFlaggedApis.kt @@ -88,6 +88,6 @@ fun getFlagAnnotation(item: Item): String? { return item.modifiers .findAnnotation("android.annotation.FlaggedApi") ?.findAttribute("value") - ?.value + ?.legacyValue ?.value() as? String } diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index 40069aa00106..788f9fb13018 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -294,6 +294,8 @@ package android.net { field public static final int TYPE_VPN_LEGACY = 3; // 0x3 field public static final int TYPE_VPN_NONE = -1; // 0xffffffff field public static final int TYPE_VPN_OEM = 4; // 0x4 + field @FlaggedApi("android.net.platform.flags.vpn_type_oem_service_and_legacy") public static final int TYPE_VPN_OEM_LEGACY = 6; // 0x6 + field @FlaggedApi("android.net.platform.flags.vpn_type_oem_service_and_legacy") public static final int TYPE_VPN_OEM_SERVICE = 5; // 0x5 field public static final int TYPE_VPN_PLATFORM = 2; // 0x2 field public static final int TYPE_VPN_SERVICE = 1; // 0x1 } diff --git a/core/java/android/net/VpnManager.java b/core/java/android/net/VpnManager.java index c50bc569de72..4ef293a90a80 100644 --- a/core/java/android/net/VpnManager.java +++ b/core/java/android/net/VpnManager.java @@ -20,6 +20,7 @@ import static android.annotation.SystemApi.Client.MODULE_LIBRARIES; import static com.android.internal.util.Preconditions.checkNotNull; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -32,6 +33,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.res.Resources; +import android.net.platform.flags.Flags; import android.os.RemoteException; import com.android.internal.net.LegacyVpnInfo; @@ -85,13 +87,33 @@ public class VpnManager { public static final int TYPE_VPN_LEGACY = 3; /** - * An VPN created by OEM code through other means than {@link VpnService} or {@link VpnManager}. + * A VPN created by OEM code through other means than {@link VpnService} or {@link VpnManager}. * @hide */ @SystemApi(client = MODULE_LIBRARIES) public static final int TYPE_VPN_OEM = 4; /** + * A VPN created by OEM code using {@link VpnService}, and which OEM code desires to + * differentiate from other VPN types. The core networking stack will treat this VPN type + * similarly to {@link #TYPE_VPN_SERVICE}. + * @hide + */ + @FlaggedApi(Flags.FLAG_VPN_TYPE_OEM_SERVICE_AND_LEGACY) + @SystemApi(client = MODULE_LIBRARIES) + public static final int TYPE_VPN_OEM_SERVICE = 5; + + /** + * A VPN created by OEM code using the legacy VPN mechanisms, and which OEM code desires to + * differentiate from other VPN types. The core networking stack will treat this VPN type + * similarly to {@link #TYPE_VPN_LEGACY}. + * @hide + */ + @FlaggedApi(Flags.FLAG_VPN_TYPE_OEM_SERVICE_AND_LEGACY) + @SystemApi(client = MODULE_LIBRARIES) + public static final int TYPE_VPN_OEM_LEGACY = 6; + + /** * Channel for VPN notifications. * @hide */ @@ -308,7 +330,7 @@ public class VpnManager { /** @hide */ @IntDef(value = {TYPE_VPN_NONE, TYPE_VPN_SERVICE, TYPE_VPN_PLATFORM, TYPE_VPN_LEGACY, - TYPE_VPN_OEM}) + TYPE_VPN_OEM, TYPE_VPN_OEM_SERVICE, TYPE_VPN_OEM_LEGACY}) @Retention(RetentionPolicy.SOURCE) public @interface VpnType {} diff --git a/core/java/android/net/flags.aconfig b/core/java/android/net/flags.aconfig index da2cccde126f..398808b561b8 100644 --- a/core/java/android/net/flags.aconfig +++ b/core/java/android/net/flags.aconfig @@ -45,3 +45,11 @@ flag { description: "Flag for MDNS quality, reliability and performance improvement in 25Q2" bug: "373270045" } + +flag { + name: "vpn_type_oem_service_and_legacy" + namespace: "android_core_networking" + is_exported: false + description: "Flags the TYPE_VPN_OEM_SERVICE and TYPE_VPN_OEM_LEGACY VpnManager API constants" + bug: "389829981" +} diff --git a/core/res/res/xml/sms_short_codes.xml b/core/res/res/xml/sms_short_codes.xml index 9b3a6cba5f23..36564cd90d05 100644 --- a/core/res/res/xml/sms_short_codes.xml +++ b/core/res/res/xml/sms_short_codes.xml @@ -358,7 +358,7 @@ <!-- USA: 5-6 digits (premium codes from https://www.premiumsmsrefunds.com/ShortCodes.htm), visual voicemail code for T-Mobile: 122 --> - <shortcode country="us" pattern="\\d{5,6}" premium="20433|21(?:344|472)|22715|23(?:333|847)|24(?:15|28)0|25209|27(?:449|606|663)|28498|305(?:00|83)|32(?:340|941)|33(?:166|786|849)|34746|35(?:182|564)|37975|38(?:135|146|254)|41(?:366|463)|42335|43(?:355|500)|44(?:578|711|811)|45814|46(?:157|173|327)|46666|47553|48(?:221|277|669)|50(?:844|920)|51(?:062|368)|52944|54(?:723|892)|55928|56483|57370|59(?:182|187|252|342)|60339|61(?:266|982)|62478|64(?:219|898)|65(?:108|500)|69(?:208|388)|70877|71851|72(?:078|087|465)|73(?:288|588|882|909|997)|74(?:034|332|815)|76426|79213|81946|83177|84(?:103|685)|85797|86(?:234|236|666)|89616|90(?:715|842|938)|91(?:362|958)|94719|95297|96(?:040|666|835|969)|97(?:142|294|688)|99(?:689|796|807)" standard="44567|244444" free="122|87902|21696|24614|28003|30356|33669|40196|41064|41270|43753|44034|46645|52413|56139|57969|61785|66975|75136|76227|81398|83952|85140|86566|86799|95737|96684|99245|611611|96831|10907" /> + <shortcode country="us" pattern="\\d{5,6}" free="122|\\d{5,6}" /> <!--Uruguay : 1-6 digits (standard system default, not country specific) --> <shortcode country="uy" pattern="\\d{1,6}" free="55002|191289" /> diff --git a/data/etc/Android.bp b/data/etc/Android.bp index 8f85617acae3..98278f4529ff 100644 --- a/data/etc/Android.bp +++ b/data/etc/Android.bp @@ -184,6 +184,14 @@ prebuilt_etc { } prebuilt_etc { + name: "privapp_whitelist_com.android.statementservice", + system_ext_specific: true, + sub_dir: "permissions", + src: "com.android.statementservice.xml", + filename_from_src: true, +} + +prebuilt_etc { name: "privapp_whitelist_com.android.settings.intelligence", product_specific: true, sub_dir: "permissions", diff --git a/data/etc/com.android.statementservice.xml b/data/etc/com.android.statementservice.xml new file mode 100644 index 000000000000..e102af206395 --- /dev/null +++ b/data/etc/com.android.statementservice.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2018 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 + --> +<permissions> + <privapp-permissions package="com.android.statementservice"> + <permission name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"/> + <permission name="android.permission.DOMAIN_VERIFICATION_AGENT"/> + <permission name="android.permission.INTERACT_ACROSS_USERS"/> + </privapp-permissions> +</permissions> diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml index a26f5e383586..bb41d6f4a581 100644 --- a/data/etc/privapp-permissions-platform.xml +++ b/data/etc/privapp-permissions-platform.xml @@ -608,12 +608,6 @@ applications that come with the platform <permission name="android.permission.MANAGE_INTRUSION_DETECTION_STATE" /> </privapp-permissions> - <privapp-permissions package="com.android.statementservice"> - <permission name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"/> - <permission name="android.permission.DOMAIN_VERIFICATION_AGENT"/> - <permission name="android.permission.INTERACT_ACROSS_USERS"/> - </privapp-permissions> - <privapp-permissions package="com.android.soundpicker"> <permission name="android.permission.INTERACT_ACROSS_USERS" /> </privapp-permissions> diff --git a/data/keyboards/Android.bp b/data/keyboards/Android.bp index 423b55bd85db..69b29bd5c7d3 100644 --- a/data/keyboards/Android.bp +++ b/data/keyboards/Android.bp @@ -12,12 +12,16 @@ // See the License for the specific language governing permissions and // limitations under the License. +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + genrule { name: "validate_framework_keymaps", srcs: [ - "*.kl", - "*.kcm", "*.idc", + "*.kcm", + "*.kl", ], tools: ["validatekeymaps"], out: ["stamp"], @@ -33,7 +37,6 @@ prebuilt_usr_keylayout { srcs: [ "*.kl", ], - no_full_install: true, } prebuilt_usr_keychars { @@ -41,7 +44,6 @@ prebuilt_usr_keychars { srcs: [ "*.kcm", ], - no_full_install: true, } prebuilt_usr_idc { @@ -49,5 +51,4 @@ prebuilt_usr_idc { srcs: [ "*.idc", ], - no_full_install: true, } diff --git a/data/keyboards/keyboards.mk b/data/keyboards/keyboards.mk index c7ce8cd6693a..47bc63268754 100644 --- a/data/keyboards/keyboards.mk +++ b/data/keyboards/keyboards.mk @@ -14,9 +14,7 @@ # Warning: this is actually a product definition, to be inherited from -PRODUCT_COPY_FILES := \ - $(call find-copy-subdir-files,*.kl,$(LOCAL_PATH),system/usr/keylayout) \ - $(call find-copy-subdir-files,*.kcm,$(LOCAL_PATH),system/usr/keychars) \ - $(call find-copy-subdir-files,*.idc,$(LOCAL_PATH),system/usr/idc) - - +PRODUCT_PACKAGES += \ + keylayout_data \ + keychars_data \ + idc_data diff --git a/libs/androidfw/LocaleDataLookup.cpp b/libs/androidfw/LocaleDataLookup.cpp index 9aacdcb9ca92..ed645826234d 100644 --- a/libs/androidfw/LocaleDataLookup.cpp +++ b/libs/androidfw/LocaleDataLookup.cpp @@ -5774,7 +5774,6 @@ const char* lookupLikelyScript(uint32_t packed_lang_region) { case 0xD2120000u: // squ -> Latn case 0x73724D45u: // sr-ME -> Latn case 0x7372524Fu: // sr-RO -> Latn - case 0x73725255u: // sr-RU -> Latn case 0x73725452u: // sr-TR -> Latn case 0x82320000u: // sra -> Latn case 0x92320000u: // sre -> Latn @@ -7265,7 +7264,6 @@ const char* lookupLikelyScript(uint32_t packed_lang_region) { return SCRIPT_CODES[73u]; case 0x8ACD0000u: // nwc -> Newa return SCRIPT_CODES[74u]; - case 0xB40C474Eu: // man-GN -> Nkoo case 0xBA0D0000u: // nqo -> Nkoo return SCRIPT_CODES[75u]; case 0xDCF90000u: // zhx -> Nshu diff --git a/packages/StatementService/Android.bp b/packages/StatementService/Android.bp index 39b0302beff8..3fc9aabb7edb 100644 --- a/packages/StatementService/Android.bp +++ b/packages/StatementService/Android.bp @@ -32,7 +32,11 @@ android_app { }, target_sdk_version: "29", platform_apis: true, + system_ext_specific: true, privileged: true, + required: [ + "privapp_whitelist_com.android.statementservice", + ], certificate: "platform", static_libs: [ "StatementServiceParser", diff --git a/services/core/java/com/android/server/media/projection/Android.bp b/services/core/java/com/android/server/media/projection/Android.bp new file mode 100644 index 000000000000..114be7d20d5b --- /dev/null +++ b/services/core/java/com/android/server/media/projection/Android.bp @@ -0,0 +1,21 @@ +// +// Copyright (C) 2025 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. + +team { + name: "trendy_team_media_projection", + + // go/trendy/manage/engineers/6362947212640256 + trendy_team_id: "6362947212640256", +} |