From d9e3a34e7c1697fc823615b6fc3f26e85c87a1c0 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Sat, 30 Mar 2019 01:55:23 +0000 Subject: [PATCH] Revert "Use explicit intent to broadcast grayscale state changed" This reverts commit 2ef3dacad855a3493f630b208b323fb2f6b29fa9. Reason for revert: use Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND to implement Change-Id: I39754866d1c18eb6c024dcc0555e763a82b7a14f --- .../GrayscaleConditionController.java | 20 +++++-------------- .../GrayscaleConditionControllerTest.java | 13 +----------- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionController.java b/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionController.java index 61b24df6cba..341e0612568 100644 --- a/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionController.java +++ b/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionController.java @@ -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 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 { diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java index 11e76b53295..2fe4697f099 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java @@ -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)); } }