Loading packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsActivity.java +10 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivity.java +7 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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"; Loading Loading @@ -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; Loading packages/SystemUI/tests/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivityTest.java +8 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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"; Loading Loading @@ -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(); Loading @@ -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(); } Loading Loading
packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsActivity.java +10 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading
packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivity.java +7 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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"; Loading Loading @@ -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; Loading
packages/SystemUI/tests/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivityTest.java +8 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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"; Loading Loading @@ -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(); Loading @@ -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(); } Loading