Unhide new API for Device Controls panel

This new API allows apps to show a custom activity in the device
controls space instead of devices rendered by SystemUI.

Test: manual with test app
Test: CTS
Bug: 261990872
Fixes: 262808986
Change-Id: If2a3ff525fa5a87d23594e13e8f0e3f0b1a88df9
This commit is contained in:
Fabian Kozynski
2022-12-15 10:28:58 -05:00
parent 70f8343768
commit 91a3484e98
2 changed files with 10 additions and 7 deletions

View File

@@ -39296,6 +39296,8 @@ package android.service.controls {
method public final boolean onUnbind(@NonNull android.content.Intent);
method public abstract void performControlAction(@NonNull String, @NonNull android.service.controls.actions.ControlAction, @NonNull java.util.function.Consumer<java.lang.Integer>);
method public static void requestAddControl(@NonNull android.content.Context, @NonNull android.content.ComponentName, @NonNull android.service.controls.Control);
field public static final String EXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS = "android.service.controls.extra.LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS";
field public static final String META_DATA_PANEL_ACTIVITY = "android.service.controls.META_DATA_PANEL_ACTIVITY";
field public static final String SERVICE_CONTROLS = "android.service.controls.ControlsProviderService";
field @NonNull public static final String TAG = "ControlsProviderService";
}

View File

@@ -58,27 +58,28 @@ public abstract class ControlsProviderService extends Service {
* Manifest metadata to show a custom embedded activity as part of device controls.
*
* The value of this metadata must be the {@link ComponentName} as a string of an activity in
* the same package that will be launched as part of a TaskView.
* the same package that will be launched embedded in the device controls space.
*
* The activity must be exported, enabled and protected by
* {@link Manifest.permission.BIND_CONTROLS}.
*
* @hide
* It is recommended that the activity is declared {@code android:resizeableActivity="true"}.
*/
public static final String META_DATA_PANEL_ACTIVITY =
"android.service.controls.META_DATA_PANEL_ACTIVITY";
/**
* Boolean extra containing the value of
* {@link android.provider.Settings.Secure#LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS}.
* Boolean extra containing the value of the setting allowing actions on a locked device.
*
* This corresponds to the setting that indicates whether the user has
* consented to allow actions on devices that declare {@link Control#isAuthRequired()} as
* {@code false} when the device is locked.
*
* This is passed with the intent when the panel specified by {@link #META_DATA_PANEL_ACTIVITY}
* is launched.
*
* @hide
*/
public static final String EXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS =
"android.service.controls.extra.EXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS";
"android.service.controls.extra.LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS";
/**
* @hide