Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fb66b70 authored by Matt Casey's avatar Matt Casey
Browse files

Call back ScreenshotActionsProvider with null content if none is available.

Bug: 329659738
Test: manual test with logging when assist content is available and
      unavailable.
Flag: ACONFIG com.android.systemui.screenshot_shelf_ui DEVELOPMENT
Change-Id: I9f3542d6c36b6df88f45caf5dd8251e30110c2f8
parent efc35f89
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */

package com.android.systemui.screenshot;
import android.annotation.Nullable;
import android.app.ActivityTaskManager;
import android.app.IActivityTaskManager;
import android.app.IAssistDataReceiver;
@@ -55,7 +56,7 @@ public class AssistContentRequester {
         * Called when the {@link android.app.assist.AssistContent} of the requested task is
         * available.
         **/
        void onAssistContentAvailable(AssistContent assistContent);
        void onAssistContentAvailable(@Nullable AssistContent assistContent);
    }

    private final IActivityTaskManager mActivityTaskManager;
@@ -117,15 +118,9 @@ public class AssistContentRequester {

        @Override
        public void onHandleAssistData(Bundle data) {
            if (data == null) {
                return;
            }

            final AssistContent content = data.getParcelable(ASSIST_KEY_CONTENT);
            if (content == null) {
                Log.e(TAG, "Received AssistData, but no AssistContent found");
                return;
            }
            final AssistContent content = (data == null) ? null
                    : data.getParcelable(
                            ASSIST_KEY_CONTENT, AssistContent.class);

            AssistContentRequester requester = mParentRef.get();
            if (requester != null) {
+5 −1
Original line number Diff line number Diff line
@@ -43,7 +43,11 @@ interface ScreenshotActionsProvider {
    fun onScrollChipReady(onClick: Runnable)
    fun setCompletedScreenshot(result: ScreenshotSavedResult)

    fun onAssistContentAvailable(assistContent: AssistContent) {}
    /**
     * Provide the AssistContent for the focused task if available, null if the focused task isn't
     * known or didn't return data.
     */
    fun onAssistContent(assistContent: AssistContent?) {}

    interface Factory {
        fun create(
+3 −3
Original line number Diff line number Diff line
@@ -411,9 +411,9 @@ public class ScreenshotController {

            if (screenshot.getTaskId() >= 0) {
                mAssistContentRequester.requestAssistContent(screenshot.getTaskId(),
                        assistContent -> {
                            mActionsProvider.onAssistContentAvailable(assistContent);
                        });
                        assistContent -> mActionsProvider.onAssistContent(assistContent));
            } else {
                mActionsProvider.onAssistContent(null);
            }
        } else {
            saveScreenshotInWorkerThread(screenshot.getUserHandle(), finisher,