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)); } }