Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 433b7fc8 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

Merge "Aggresive performance optimizations." into qt-dev

parents 7364b0e8 b66f4f4b
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -3304,6 +3304,14 @@ public final class MediaStore {
    @TestApi
    public static @NonNull File getVolumePath(@NonNull String volumeName)
            throws FileNotFoundException {
        final StorageManager sm = AppGlobals.getInitialApplication()
                .getSystemService(StorageManager.class);
        return getVolumePath(sm.getVolumes(), volumeName);
    }

    /** {@hide} */
    public static @NonNull File getVolumePath(@NonNull List<VolumeInfo> volumes,
            @NonNull String volumeName) throws FileNotFoundException {
        if (TextUtils.isEmpty(volumeName)) {
            throw new IllegalArgumentException();
        }
@@ -3312,19 +3320,18 @@ public final class MediaStore {
            case VOLUME_INTERNAL:
            case VOLUME_EXTERNAL:
                throw new FileNotFoundException(volumeName + " has no associated path");
            case VOLUME_EXTERNAL_PRIMARY:
                return Environment.getExternalStorageDirectory();
        }

        final StorageManager sm = AppGlobals.getInitialApplication()
                .getSystemService(StorageManager.class);
        for (VolumeInfo vi : sm.getVolumes()) {
            if (Objects.equals(vi.getNormalizedFsUuid(), volumeName)) {
                final File path = vi.getPathForUser(UserHandle.myUserId());
        final boolean wantPrimary = VOLUME_EXTERNAL_PRIMARY.equals(volumeName);
        for (VolumeInfo volume : volumes) {
            final boolean matchPrimary = wantPrimary
                    && volume.isPrimary();
            final boolean matchSecondary = !wantPrimary
                    && Objects.equals(volume.getNormalizedFsUuid(), volumeName);
            if (matchPrimary || matchSecondary) {
                final File path = volume.getPathForUser(UserHandle.myUserId());
                if (path != null) {
                    return path;
                } else {
                    throw new FileNotFoundException("Failed to find path for " + vi);
                }
            }
        }
+1 −1
Original line number Diff line number Diff line
@@ -4434,7 +4434,7 @@
    <!-- Allows an application to watch changes and/or active state of app ops.
         @hide <p>Not for use by third-party applications. -->
    <permission android:name="android.permission.WATCH_APPOPS"
        android:protectionLevel="signature" />
        android:protectionLevel="signature|privileged" />

    <!-- Allows an application to directly open the "Open by default" page inside a package's
         Details screen.
+1 −0
Original line number Diff line number Diff line
@@ -195,6 +195,7 @@ applications that come with the platform
        <permission name="android.permission.MANAGE_USERS"/>
        <permission name="android.permission.USE_RESERVED_DISK"/>
        <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
        <permission name="android.permission.WATCH_APPOPS"/>
    </privapp-permissions>

    <privapp-permissions package="com.android.providers.telephony">
+0 −1
Original line number Diff line number Diff line
@@ -170,7 +170,6 @@
    <!-- Permission needed to enable/disable Bluetooth/Wifi -->
    <uses-permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED" />
    <uses-permission android:name="android.permission.MANAGE_WIFI_WHEN_WIRELESS_CONSENT_REQUIRED" />
    <uses-permission android:name="android.permission.WATCH_APPOPS" />
    <!-- Permission needed to invoke DynamicSystem (AOT) -->
    <uses-permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM" />

+0 −3
Original line number Diff line number Diff line
@@ -222,9 +222,6 @@
    <!-- to change themes - light or dark -->
    <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />

    <!-- Listen app op changes -->
    <uses-permission android:name="android.permission.WATCH_APPOPS" />

    <!-- to read and change hvac values in a car -->
    <uses-permission android:name="android.car.permission.CONTROL_CAR_CLIMATE" />