From a9be39d224b6ee00936bcb87283478727e2a6adf Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Fri, 27 Mar 2020 10:08:12 -0400 Subject: [PATCH] Add a config resource for controls package This allows to configure the recipient of the ADD_CONTROL intent. Test: manual Test: atest ControlProviderServiceTest Fixes: 152549957 Change-Id: I29b549271da53d844d564df819cf9c1c9bc81968 --- .../service/controls/ControlsProviderService.java | 7 +++---- core/res/res/values/config.xml | 4 ++++ core/res/res/values/symbols.xml | 1 + .../service/controls/ControlProviderServiceTest.java | 9 ++++----- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/core/java/android/service/controls/ControlsProviderService.java b/core/java/android/service/controls/ControlsProviderService.java index 9accf5b0abf5d..4262c40221318 100644 --- a/core/java/android/service/controls/ControlsProviderService.java +++ b/core/java/android/service/controls/ControlsProviderService.java @@ -304,12 +304,11 @@ public abstract class ControlsProviderService extends Service { Preconditions.checkNotNull(context); Preconditions.checkNotNull(componentName); Preconditions.checkNotNull(control); - final ComponentName sysuiComponent = ComponentName.unflattenFromString( - context.getResources().getString( - com.android.internal.R.string.config_systemUIServiceComponent)); + final String controlsPackage = context.getString( + com.android.internal.R.string.config_controlsPackage); Intent intent = new Intent(ACTION_ADD_CONTROL); intent.putExtra(Intent.EXTRA_COMPONENT_NAME, componentName); - intent.setPackage(sysuiComponent.getPackageName()); + intent.setPackage(controlsPackage); if (isStatelessControl(control)) { intent.putExtra(EXTRA_CONTROL, control); } else { diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index e3a73377e365f..6b485c01770b1 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2779,6 +2779,10 @@ com.android.systemui/com.android.systemui.SystemUIService + + com.android.systemui + com.android.systemui/com.android.systemui.keyguard.KeyguardService diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 0adef7513bb5e..5a1a5c39c7d3b 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -365,6 +365,7 @@ + diff --git a/core/tests/coretests/src/android/service/controls/ControlProviderServiceTest.java b/core/tests/coretests/src/android/service/controls/ControlProviderServiceTest.java index 13000e9431410..f4ebe2f9a755f 100644 --- a/core/tests/coretests/src/android/service/controls/ControlProviderServiceTest.java +++ b/core/tests/coretests/src/android/service/controls/ControlProviderServiceTest.java @@ -64,8 +64,7 @@ import java.util.function.Consumer; @RunWith(AndroidJUnit4.class) public class ControlProviderServiceTest { - private static final ComponentName TEST_SYSUI_COMPONENT = - ComponentName.unflattenFromString("sysui/.test.cls"); + private static final String TEST_CONTROLS_PACKAGE = "sysui"; private static final ComponentName TEST_COMPONENT = ComponentName.unflattenFromString("test.pkg/.test.cls"); @@ -97,8 +96,8 @@ public class ControlProviderServiceTest { when(mSubscriber.asBinder()).thenCallRealMethod(); when(mSubscriber.queryLocalInterface(any())).thenReturn(mSubscriber); - when(mResources.getString(com.android.internal.R.string.config_systemUIServiceComponent)) - .thenReturn(TEST_SYSUI_COMPONENT.flattenToString()); + when(mResources.getString(com.android.internal.R.string.config_controlsPackage)) + .thenReturn(TEST_CONTROLS_PACKAGE); when(mContext.getResources()).thenReturn(mResources); Bundle b = new Bundle(); @@ -252,7 +251,7 @@ public class ControlProviderServiceTest { eq(Manifest.permission.BIND_CONTROLS)); Intent intent = mIntentArgumentCaptor.getValue(); assertEquals(ControlsProviderService.ACTION_ADD_CONTROL, intent.getAction()); - assertEquals(TEST_SYSUI_COMPONENT.getPackageName(), intent.getPackage()); + assertEquals(TEST_CONTROLS_PACKAGE, intent.getPackage()); assertEquals(TEST_COMPONENT, intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME)); assertTrue(equals(control, intent.getParcelableExtra(ControlsProviderService.EXTRA_CONTROL)));