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

Commit 2cc9ec96 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update backlinks to send data to note-taking app" into main

parents fbeeb934 42ac44f2
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -23,12 +23,14 @@ import static com.android.systemui.screenshot.appclips.AppClipsEvent.SCREENSHOT_
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.ACTION_FINISH_FROM_TRAMPOLINE;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_CALLING_PACKAGE_NAME;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_CALLING_PACKAGE_TASK_ID;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_CLIP_DATA;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_RESULT_RECEIVER;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_SCREENSHOT_URI;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.PERMISSION_SELF;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -299,6 +301,14 @@ public class AppClipsActivity extends ComponentActivity {
        data.putInt(Intent.EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE,
                Intent.CAPTURE_CONTENT_FOR_NOTE_SUCCESS);
        data.putParcelable(EXTRA_SCREENSHOT_URI, uri);

        if (mBacklinksIncludeDataCheckBox.getVisibility() == View.VISIBLE
                && mBacklinksIncludeDataCheckBox.isChecked()
                && mViewModel.getBacklinksLiveData().getValue() != null) {
            ClipData backlinksData = mViewModel.getBacklinksLiveData().getValue().getClipData();
            data.putParcelable(EXTRA_CLIP_DATA, backlinksData);
        }

        try {
            mResultReceiver.send(Activity.RESULT_OK, data);
            logUiEvent(SCREENSHOT_FOR_NOTE_ACCEPTED);
+7 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import static com.android.systemui.screenshot.appclips.AppClipsEvent.SCREENSHOT_

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -82,6 +83,7 @@ public class AppClipsTrampolineActivity extends Activity {
    private static final String TAG = AppClipsTrampolineActivity.class.getSimpleName();
    static final String PERMISSION_SELF = "com.android.systemui.permission.SELF";
    static final String EXTRA_SCREENSHOT_URI = TAG + "SCREENSHOT_URI";
    static final String EXTRA_CLIP_DATA = TAG + "CLIP_DATA";
    static final String ACTION_FINISH_FROM_TRAMPOLINE = TAG + "FINISH_FROM_TRAMPOLINE";
    static final String EXTRA_RESULT_RECEIVER = TAG + "RESULT_RECEIVER";
    static final String EXTRA_CALLING_PACKAGE_NAME = TAG + "CALLING_PACKAGE_NAME";
@@ -265,6 +267,11 @@ public class AppClipsTrampolineActivity extends Activity {
                convertedData.setData(uri);
            }

            if (resultData.containsKey(EXTRA_CLIP_DATA)) {
                ClipData backlinksData = resultData.getParcelable(EXTRA_CLIP_DATA, ClipData.class);
                convertedData.setClipData(backlinksData);
            }

            // Broadcast no longer required, setting it to null.
            mKillAppClipsBroadcastIntent = null;

+8 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import static android.content.Intent.EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE;

import static com.android.internal.infra.AndroidFuture.completedFuture;
import static com.android.systemui.screenshot.appclips.AppClipsEvent.SCREENSHOT_FOR_NOTE_TRIGGERED;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_CLIP_DATA;
import static com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity.EXTRA_SCREENSHOT_URI;

import static com.google.common.truth.Truth.assertThat;
@@ -37,6 +38,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.Activity;
import android.content.ClipData;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@@ -81,6 +83,7 @@ public final class AppClipsTrampolineActivityTest extends SysuiTestCase {

    private static final String TEST_URI_STRING = "www.test-uri.com";
    private static final Uri TEST_URI = Uri.parse(TEST_URI_STRING);
    private static final ClipData TEST_CLIP_DATA = ClipData.newRawUri("Test backlinks", TEST_URI);
    private static final int TEST_UID = 42;
    private static final String TEST_CALLING_PACKAGE = "test-calling-package";

@@ -238,6 +241,7 @@ public final class AppClipsTrampolineActivityTest extends SysuiTestCase {
        Bundle bundle = new Bundle();
        bundle.putParcelable(EXTRA_SCREENSHOT_URI, TEST_URI);
        bundle.putInt(EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE, CAPTURE_CONTENT_FOR_NOTE_SUCCESS);
        bundle.putParcelable(EXTRA_CLIP_DATA, TEST_CLIP_DATA);
        activity.getResultReceiverForTest().send(Activity.RESULT_OK, bundle);
        waitForIdleSync();

@@ -245,7 +249,10 @@ public final class AppClipsTrampolineActivityTest extends SysuiTestCase {
        assertThat(actualResult.getResultCode()).isEqualTo(Activity.RESULT_OK);
        assertThat(getStatusCodeExtra(actualResult.getResultData()))
                .isEqualTo(CAPTURE_CONTENT_FOR_NOTE_SUCCESS);
        assertThat(actualResult.getResultData().getData()).isEqualTo(TEST_URI);

        Intent resultData = actualResult.getResultData();
        assertThat(resultData.getData()).isEqualTo(TEST_URI);
        assertThat(resultData.getClipData()).isEqualTo(TEST_CLIP_DATA);
        assertThat(mActivityRule.getActivity().isFinishing()).isTrue();
    }