Loading core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -337,6 +337,7 @@ package android.app { } public class StatusBarManager { method public void cancelRequestAddTile(@NonNull String); method public void clickNotification(@Nullable String, int, int, boolean); method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void collapsePanels(); method public void expandNotificationsPanel(); Loading core/java/android/app/StatusBarManager.java +15 −0 Original line number Diff line number Diff line Loading @@ -669,6 +669,21 @@ public class StatusBarManager { } } /** * @hide * @param packageName */ @TestApi public void cancelRequestAddTile(@NonNull String packageName) { Objects.requireNonNull(packageName); IStatusBarService svc = getService(); try { svc.cancelRequestAddTile(packageName); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** @hide */ public static String windowStateToString(int state) { if (state == WINDOW_STATE_HIDING) return "WINDOW_STATE_HIDING"; Loading core/java/com/android/internal/statusbar/IStatusBar.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -290,4 +290,5 @@ oneway interface IStatusBar void runGcForTest(); void requestAddTile(in ComponentName componentName, in CharSequence appName, in CharSequence label, in Icon icon, in IAddTileResultCallback callback); void cancelRequestAddTile(in String packageName); } core/java/com/android/internal/statusbar/IStatusBarService.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -161,4 +161,5 @@ interface IStatusBarService void suppressAmbientDisplay(boolean suppress); void requestAddTile(in ComponentName componentName, in CharSequence label, in Icon icon, int userId, in IAddTileResultCallback callback); void cancelRequestAddTile(in String packageName); } packages/SystemUI/src/com/android/systemui/qs/external/TileServiceRequestController.kt +18 −7 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ class TileServiceRequestController constructor( internal const val DISMISSED = StatusBarManager.TILE_ADD_REQUEST_RESULT_DIALOG_DISMISSED } private var dialogCanceller: ((String) -> Unit)? = null private val commandQueueCallback = object : CommandQueue.Callbacks { override fun requestAddTile( componentName: ComponentName, Loading @@ -67,6 +69,10 @@ class TileServiceRequestController constructor( callback.onTileRequest(it) } } override fun cancelRequestAddTile(packageName: String) { dialogCanceller?.invoke(packageName) } } fun init() { Loading Loading @@ -95,16 +101,21 @@ class TileServiceRequestController constructor( callback.accept(TILE_ALREADY_ADDED) return } val dialogResponse = object : Consumer<Int> { override fun accept(response: Int) { val dialogResponse = Consumer<Int> { response -> if (response == ADD_TILE) { addTile(componentName) } callback.accept(response) } } val tileData = TileRequestDialog.TileData(appName, label, icon) createDialog(tileData, dialogResponse).show() createDialog(tileData, dialogResponse).also { dialog -> dialogCanceller = { if (componentName.packageName == it) { dialog.cancel() } dialogCanceller = null } }.show() } private fun createDialog( Loading Loading
core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -337,6 +337,7 @@ package android.app { } public class StatusBarManager { method public void cancelRequestAddTile(@NonNull String); method public void clickNotification(@Nullable String, int, int, boolean); method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void collapsePanels(); method public void expandNotificationsPanel(); Loading
core/java/android/app/StatusBarManager.java +15 −0 Original line number Diff line number Diff line Loading @@ -669,6 +669,21 @@ public class StatusBarManager { } } /** * @hide * @param packageName */ @TestApi public void cancelRequestAddTile(@NonNull String packageName) { Objects.requireNonNull(packageName); IStatusBarService svc = getService(); try { svc.cancelRequestAddTile(packageName); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** @hide */ public static String windowStateToString(int state) { if (state == WINDOW_STATE_HIDING) return "WINDOW_STATE_HIDING"; Loading
core/java/com/android/internal/statusbar/IStatusBar.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -290,4 +290,5 @@ oneway interface IStatusBar void runGcForTest(); void requestAddTile(in ComponentName componentName, in CharSequence appName, in CharSequence label, in Icon icon, in IAddTileResultCallback callback); void cancelRequestAddTile(in String packageName); }
core/java/com/android/internal/statusbar/IStatusBarService.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -161,4 +161,5 @@ interface IStatusBarService void suppressAmbientDisplay(boolean suppress); void requestAddTile(in ComponentName componentName, in CharSequence label, in Icon icon, int userId, in IAddTileResultCallback callback); void cancelRequestAddTile(in String packageName); }
packages/SystemUI/src/com/android/systemui/qs/external/TileServiceRequestController.kt +18 −7 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ class TileServiceRequestController constructor( internal const val DISMISSED = StatusBarManager.TILE_ADD_REQUEST_RESULT_DIALOG_DISMISSED } private var dialogCanceller: ((String) -> Unit)? = null private val commandQueueCallback = object : CommandQueue.Callbacks { override fun requestAddTile( componentName: ComponentName, Loading @@ -67,6 +69,10 @@ class TileServiceRequestController constructor( callback.onTileRequest(it) } } override fun cancelRequestAddTile(packageName: String) { dialogCanceller?.invoke(packageName) } } fun init() { Loading Loading @@ -95,16 +101,21 @@ class TileServiceRequestController constructor( callback.accept(TILE_ALREADY_ADDED) return } val dialogResponse = object : Consumer<Int> { override fun accept(response: Int) { val dialogResponse = Consumer<Int> { response -> if (response == ADD_TILE) { addTile(componentName) } callback.accept(response) } } val tileData = TileRequestDialog.TileData(appName, label, icon) createDialog(tileData, dialogResponse).show() createDialog(tileData, dialogResponse).also { dialog -> dialogCanceller = { if (componentName.packageName == it) { dialog.cancel() } dialogCanceller = null } }.show() } private fun createDialog( Loading