Merge "Force share intents to use Strings instead of SpannableString" into tm-qpr-dev am: e1f3a6ba06

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20069432

Change-Id: Ifc2e74464928c489298869a514c9d3e9ad625e2d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Matt Casey
2022-09-29 22:10:20 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 4 deletions

View File

@@ -47,7 +47,8 @@ class IntentCreator {
shareIntent.putExtra(Intent.EXTRA_STREAM, clipData.getItemAt(0).getUri());
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
} else {
shareIntent.putExtra(Intent.EXTRA_TEXT, clipData.getItemAt(0).coerceToText(context));
shareIntent.putExtra(
Intent.EXTRA_TEXT, clipData.getItemAt(0).coerceToText(context).toString());
shareIntent.setType("text/plain");
}
Intent chooserIntent = Intent.createChooser(shareIntent, null)

View File

@@ -16,13 +16,14 @@
package com.android.systemui.clipboardoverlay;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import android.content.ClipData;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import android.text.SpannableString;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
@@ -129,6 +130,18 @@ public class IntentCreatorTest extends SysuiTestCase {
assertEquals("image/png", target.getType());
}
@Test
public void test_getShareIntent_spannableText() {
ClipData clipData = ClipData.newPlainText("Test", new SpannableString("Test Item"));
Intent intent = IntentCreator.getShareIntent(clipData, getContext());
assertEquals(Intent.ACTION_CHOOSER, intent.getAction());
assertFlags(intent, EXTERNAL_INTENT_FLAGS);
Intent target = intent.getParcelableExtra(Intent.EXTRA_INTENT, Intent.class);
assertEquals("Test Item", target.getStringExtra(Intent.EXTRA_TEXT));
assertEquals("text/plain", target.getType());
}
// Assert that the given flags are set
private void assertFlags(Intent intent, int flags) {
assertTrue((intent.getFlags() & flags) == flags);