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

Commit 299a04c5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Use explicit intent to broadcast grayscale state changed""

parents 961f038c d9e3a34e
Loading
Loading
Loading
Loading
+5 −15
Original line number Diff line number Diff line
@@ -22,27 +22,21 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.hardware.display.ColorDisplayManager;
import android.util.Log;

import androidx.annotation.VisibleForTesting;

import com.android.settings.R;
import com.android.settings.homepage.contextualcards.ContextualCard;

import java.net.URISyntaxException;
import java.util.List;
import java.util.Objects;

public class GrayscaleConditionController implements ConditionalCardController {
    static final int ID = Objects.hash("GrayscaleConditionController");

    @VisibleForTesting
    static final String ACTION_GRAYSCALE_CHANGED = "android.settings.action.GRAYSCALE_CHANGED";

    private static final String TAG = "GrayscaleCondition";
    private static final String ACTION_GRAYSCALE_CHANGED =
            "android.settings.action.GRAYSCALE_CHANGED";
    private static final IntentFilter GRAYSCALE_CHANGED_FILTER = new IntentFilter(
            ACTION_GRAYSCALE_CHANGED);

@@ -119,13 +113,9 @@ public class GrayscaleConditionController implements ConditionalCardController {
    }

    private void sendBroadcast() {
        final PackageManager pm = mAppContext.getPackageManager();
        final Intent intent = new Intent(ACTION_GRAYSCALE_CHANGED);
        final List<ResolveInfo> receivers = pm.queryBroadcastReceivers(intent, 0 /* flags */);
        for (ResolveInfo receiver : receivers) {
            intent.setPackage(receiver.activityInfo.packageName);
            mAppContext.sendBroadcast(intent);
        }
        final Intent intent = new Intent();
        intent.setAction(ACTION_GRAYSCALE_CHANGED);
        mAppContext.sendBroadcast(intent, Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS);
    }

    public class Receiver extends BroadcastReceiver {
+1 −12
Original line number Diff line number Diff line
@@ -25,8 +25,6 @@ import static org.mockito.Mockito.verify;

import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ResolveInfo;
import android.hardware.display.ColorDisplayManager;

import org.junit.Before;
@@ -36,9 +34,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowPackageManager;

@RunWith(RobolectricTestRunner.class)
public class GrayscaleConditionControllerTest {
@@ -49,7 +45,6 @@ public class GrayscaleConditionControllerTest {
    private ColorDisplayManager mColorDisplayManager;
    private Context mContext;
    private GrayscaleConditionController mController;
    private ShadowPackageManager mPackageManager;

    @Before
    public void setUp() {
@@ -58,7 +53,6 @@ public class GrayscaleConditionControllerTest {
        mColorDisplayManager = spy(mContext.getSystemService(ColorDisplayManager.class));
        doReturn(mColorDisplayManager).when(mContext).getSystemService(ColorDisplayManager.class);
        mController = new GrayscaleConditionController(mContext, mConditionManager);
        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
    }

    @Test
@@ -91,13 +85,8 @@ public class GrayscaleConditionControllerTest {

    @Test
    public void onActionClick_shouldSendBroadcast() {
        final Intent intent = new Intent(GrayscaleConditionController.ACTION_GRAYSCALE_CHANGED);
        final ResolveInfo info = new ResolveInfo();
        info.activityInfo = new ActivityInfo();
        mPackageManager.addResolveInfoForIntent(intent, info);

        mController.onActionClick();

        verify(mContext).sendBroadcast(any(Intent.class));
        verify(mContext).sendBroadcast(any(Intent.class), any(String.class));
    }
}