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

Commit abe0c76c authored by Jason Chiu's avatar Jason Chiu Committed by Android (Google) Code Review
Browse files

Merge "Prevent ANR while receiving volume broadcasts to update slices" into main

parents 2933f4d4 769fbae5
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
import android.net.Uri;
import android.util.ArrayMap;
import android.util.Log;

import androidx.annotation.VisibleForTesting;
@@ -32,6 +31,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settingslib.SliceBroadcastRelay;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * This helper is to handle the broadcasts of volume slices
@@ -41,7 +41,7 @@ public class VolumeSliceHelper {
    private static final String TAG = "VolumeSliceHelper";

    @VisibleForTesting
    static Map<Uri, Integer> sRegisteredUri = new ArrayMap<>();
    static Map<Uri, Integer> sRegisteredUri = new ConcurrentHashMap<>();
    @VisibleForTesting
    static IntentFilter sIntentFilter;

@@ -133,7 +133,6 @@ public class VolumeSliceHelper {
    }

    private static void handleStreamChanged(Context context, int inputType) {
        synchronized (sRegisteredUri) {
        for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) {
            if (entry.getValue() == inputType) {
                context.getContentResolver().notifyChange(entry.getKey(), null /* observer */);
@@ -143,13 +142,10 @@ public class VolumeSliceHelper {
            }
        }
    }
    }

    private static void notifyAllStreamsChanged(Context context) {
        synchronized (sRegisteredUri) {
            sRegisteredUri.forEach((uri, audioStream) -> {
        sRegisteredUri.keySet().forEach(uri -> {
            context.getContentResolver().notifyChange(uri, null /* observer */);
        });
    }
}
}