Loading telephony/java/android/telephony/LocationAccessPolicy.java→telephony/common/android/telephony/LocationAccessPolicy.java +7 −3 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * Copyright (C) 2020 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. Loading @@ -11,7 +11,7 @@ * 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 * limitations under the License. */ package android.telephony; Loading Loading @@ -59,6 +59,7 @@ public final class LocationAccessPolicy { DENIED_HARD, } /** Data structure for location permission query */ public static class LocationPermissionQuery { public final String callingPackage; public final int callingUid; Loading @@ -80,6 +81,7 @@ public final class LocationAccessPolicy { this.method = method; } /** Builder for LocationPermissionQuery */ public static class Builder { private String mCallingPackage; private int mCallingUid; Loading Loading @@ -149,6 +151,7 @@ public final class LocationAccessPolicy { return this; } /** build LocationPermissionQuery */ public LocationPermissionQuery build() { return new LocationPermissionQuery(mCallingPackage, mCallingUid, mCallingPid, mMinSdkVersionForCoarse, mMinSdkVersionForFine, Loading Loading @@ -235,6 +238,7 @@ public final class LocationAccessPolicy { } } /** Check if location permissions have been granted */ public static LocationPermissionResult checkLocationPermission( Context context, LocationPermissionQuery query) { // Always allow the phone process and system server to access location. This avoid Loading telephony/java/com/android/internal/telephony/CarrierAppUtils.java→telephony/common/com/android/internal/telephony/CarrierAppUtils.java +20 −17 Original line number Diff line number Diff line /* * Copyright (C) 2015 The Android Open Source Project * Copyright (C) 2020 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. Loading @@ -11,7 +11,7 @@ * 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 * limitations under the License. */ package com.android.internal.telephony; Loading Loading @@ -73,7 +73,7 @@ public final class CarrierAppUtils { * system startup prior to any application running, as well as any time the set of carrier * privileged apps may have changed. */ public synchronized static void disableCarrierAppsUntilPrivileged(String callingPackage, public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, TelephonyManager telephonyManager, ContentResolver contentResolver, int userId) { if (DEBUG) { Loading @@ -100,7 +100,7 @@ public final class CarrierAppUtils { * broadcasts. The app will continue to run (briefly) after being disabled, before the Package * Manager can kill it, and this can lead to crashes as the app is in an unexpected state. */ public synchronized static void disableCarrierAppsUntilPrivileged(String callingPackage, public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, ContentResolver contentResolver, int userId) { if (DEBUG) { Slog.d(TAG, "disableCarrierAppsUntilPrivileged"); Loading @@ -117,7 +117,10 @@ public final class CarrierAppUtils { systemCarrierAppsDisabledUntilUsed, systemCarrierAssociatedAppsDisabledUntilUsed); } // Must be public b/c framework unit tests can't access package-private methods. /** * Disable carrier apps until they are privileged * Must be public b/c framework unit tests can't access package-private methods. */ @VisibleForTesting public static void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, @Nullable TelephonyManager telephonyManager, Loading Loading @@ -166,10 +169,10 @@ public final class CarrierAppUtils { // Only update enabled state for the app on /system. Once it has been // updated we shouldn't touch it. if (!ai.isUpdatedSystemApp() && (ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED && (ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED || (ai.flags & ApplicationInfo.FLAG_INSTALLED) == 0)) { Slog.i(TAG, "Update state(" + packageName + "): ENABLED for user " + userId); Loading @@ -188,10 +191,10 @@ public final class CarrierAppUtils { // Also enable any associated apps for this carrier app. if (associatedAppList != null) { for (ApplicationInfo associatedApp : associatedAppList) { if (associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED if (associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED || (associatedApp.flags & ApplicationInfo.FLAG_INSTALLED) == 0) { Slog.i(TAG, "Update associated state(" + associatedApp.packageName Loading @@ -216,8 +219,8 @@ public final class CarrierAppUtils { // Only update enabled state for the app on /system. Once it has been // updated we shouldn't touch it. if (!ai.isUpdatedSystemApp() && ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT && ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT && (ai.flags & ApplicationInfo.FLAG_INSTALLED) != 0) { Slog.i(TAG, "Update state(" + packageName + "): DISABLED_UNTIL_USED for user " + userId); Loading Loading @@ -291,8 +294,8 @@ public final class CarrierAppUtils { ApplicationInfo ai = candidates.get(i); String packageName = ai.packageName; boolean hasPrivileges = telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(packageName) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(packageName) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; if (!hasPrivileges) { candidates.remove(i); } Loading telephony/java/com/android/internal/telephony/util/ArrayUtils.java→telephony/common/com/android/internal/telephony/util/ArrayUtils.java +20 −6 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * Copyright (C) 2020 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. Loading Loading @@ -29,17 +29,30 @@ public final class ArrayUtils { /** * Adds value to given array if not already present, providing set-like behavior. * * @param kind The class of the array elements. * @param array The array to append to. * @param element The array element to append. * @return The array containing the appended element. */ @SuppressWarnings("unchecked") public static @NonNull <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element) { @NonNull public static <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element) { return appendElement(kind, array, element, false); } /** * Adds value to given array. * * @param kind The class of the array elements. * @param array The array to append to. * @param element The array element to append. * @param allowDuplicates Whether to allow duplicated elements in array. * @return The array containing the appended element. */ @SuppressWarnings("unchecked") public static @NonNull <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element, @NonNull public static <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element, boolean allowDuplicates) { final T[] result; final int end; Loading @@ -65,7 +78,8 @@ public final class ArrayUtils { * @return A single array containing all the elements of the parameter arrays. */ @SuppressWarnings("unchecked") public static @NonNull <T> T[] concatElements(Class<T> kind, @Nullable T[]... arrays) { @NonNull public static <T> T[] concatElements(Class<T> kind, @Nullable T[]... arrays) { if (arrays == null || arrays.length == 0) { return createEmptyArray(kind); } Loading Loading
telephony/java/android/telephony/LocationAccessPolicy.java→telephony/common/android/telephony/LocationAccessPolicy.java +7 −3 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * Copyright (C) 2020 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. Loading @@ -11,7 +11,7 @@ * 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 * limitations under the License. */ package android.telephony; Loading Loading @@ -59,6 +59,7 @@ public final class LocationAccessPolicy { DENIED_HARD, } /** Data structure for location permission query */ public static class LocationPermissionQuery { public final String callingPackage; public final int callingUid; Loading @@ -80,6 +81,7 @@ public final class LocationAccessPolicy { this.method = method; } /** Builder for LocationPermissionQuery */ public static class Builder { private String mCallingPackage; private int mCallingUid; Loading Loading @@ -149,6 +151,7 @@ public final class LocationAccessPolicy { return this; } /** build LocationPermissionQuery */ public LocationPermissionQuery build() { return new LocationPermissionQuery(mCallingPackage, mCallingUid, mCallingPid, mMinSdkVersionForCoarse, mMinSdkVersionForFine, Loading Loading @@ -235,6 +238,7 @@ public final class LocationAccessPolicy { } } /** Check if location permissions have been granted */ public static LocationPermissionResult checkLocationPermission( Context context, LocationPermissionQuery query) { // Always allow the phone process and system server to access location. This avoid Loading
telephony/java/com/android/internal/telephony/CarrierAppUtils.java→telephony/common/com/android/internal/telephony/CarrierAppUtils.java +20 −17 Original line number Diff line number Diff line /* * Copyright (C) 2015 The Android Open Source Project * Copyright (C) 2020 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. Loading @@ -11,7 +11,7 @@ * 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 * limitations under the License. */ package com.android.internal.telephony; Loading Loading @@ -73,7 +73,7 @@ public final class CarrierAppUtils { * system startup prior to any application running, as well as any time the set of carrier * privileged apps may have changed. */ public synchronized static void disableCarrierAppsUntilPrivileged(String callingPackage, public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, TelephonyManager telephonyManager, ContentResolver contentResolver, int userId) { if (DEBUG) { Loading @@ -100,7 +100,7 @@ public final class CarrierAppUtils { * broadcasts. The app will continue to run (briefly) after being disabled, before the Package * Manager can kill it, and this can lead to crashes as the app is in an unexpected state. */ public synchronized static void disableCarrierAppsUntilPrivileged(String callingPackage, public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, ContentResolver contentResolver, int userId) { if (DEBUG) { Slog.d(TAG, "disableCarrierAppsUntilPrivileged"); Loading @@ -117,7 +117,10 @@ public final class CarrierAppUtils { systemCarrierAppsDisabledUntilUsed, systemCarrierAssociatedAppsDisabledUntilUsed); } // Must be public b/c framework unit tests can't access package-private methods. /** * Disable carrier apps until they are privileged * Must be public b/c framework unit tests can't access package-private methods. */ @VisibleForTesting public static void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, @Nullable TelephonyManager telephonyManager, Loading Loading @@ -166,10 +169,10 @@ public final class CarrierAppUtils { // Only update enabled state for the app on /system. Once it has been // updated we shouldn't touch it. if (!ai.isUpdatedSystemApp() && (ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED && (ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED || (ai.flags & ApplicationInfo.FLAG_INSTALLED) == 0)) { Slog.i(TAG, "Update state(" + packageName + "): ENABLED for user " + userId); Loading @@ -188,10 +191,10 @@ public final class CarrierAppUtils { // Also enable any associated apps for this carrier app. if (associatedAppList != null) { for (ApplicationInfo associatedApp : associatedAppList) { if (associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED if (associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || associatedApp.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED || (associatedApp.flags & ApplicationInfo.FLAG_INSTALLED) == 0) { Slog.i(TAG, "Update associated state(" + associatedApp.packageName Loading @@ -216,8 +219,8 @@ public final class CarrierAppUtils { // Only update enabled state for the app on /system. Once it has been // updated we shouldn't touch it. if (!ai.isUpdatedSystemApp() && ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT && ai.enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT && (ai.flags & ApplicationInfo.FLAG_INSTALLED) != 0) { Slog.i(TAG, "Update state(" + packageName + "): DISABLED_UNTIL_USED for user " + userId); Loading Loading @@ -291,8 +294,8 @@ public final class CarrierAppUtils { ApplicationInfo ai = candidates.get(i); String packageName = ai.packageName; boolean hasPrivileges = telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(packageName) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(packageName) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; if (!hasPrivileges) { candidates.remove(i); } Loading
telephony/java/com/android/internal/telephony/util/ArrayUtils.java→telephony/common/com/android/internal/telephony/util/ArrayUtils.java +20 −6 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * Copyright (C) 2020 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. Loading Loading @@ -29,17 +29,30 @@ public final class ArrayUtils { /** * Adds value to given array if not already present, providing set-like behavior. * * @param kind The class of the array elements. * @param array The array to append to. * @param element The array element to append. * @return The array containing the appended element. */ @SuppressWarnings("unchecked") public static @NonNull <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element) { @NonNull public static <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element) { return appendElement(kind, array, element, false); } /** * Adds value to given array. * * @param kind The class of the array elements. * @param array The array to append to. * @param element The array element to append. * @param allowDuplicates Whether to allow duplicated elements in array. * @return The array containing the appended element. */ @SuppressWarnings("unchecked") public static @NonNull <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element, @NonNull public static <T> T[] appendElement(Class<T> kind, @Nullable T[] array, T element, boolean allowDuplicates) { final T[] result; final int end; Loading @@ -65,7 +78,8 @@ public final class ArrayUtils { * @return A single array containing all the elements of the parameter arrays. */ @SuppressWarnings("unchecked") public static @NonNull <T> T[] concatElements(Class<T> kind, @Nullable T[]... arrays) { @NonNull public static <T> T[] concatElements(Class<T> kind, @Nullable T[]... arrays) { if (arrays == null || arrays.length == 0) { return createEmptyArray(kind); } Loading