Messaging ignores file URIs shared via intent

Fixes b/37629504 by not creating attachments from file URIs shared via
intent. Sharing file URIs is disallowed by Android N and later and is no
longer supported for this app.

Test: manual using the Debug command added in this change

Change-Id: Ibff486c94ac703a9a4c5a80e33b934a460804a8f
Merged-In: Ibff486c94ac703a9a4c5a80e33b934a460804a8f
This commit is contained in:
David Smith
2018-05-01 14:54:46 -07:00
committed by Atanas Kirilov
parent 6ea30b87b1
commit 9deefdf182
2 changed files with 35 additions and 0 deletions

View File

@@ -22,12 +22,15 @@ import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Environment;
import android.telephony.SmsMessage;
import android.text.TextUtils;
import android.widget.ArrayAdapter;
import com.android.messaging.Factory;
import com.android.messaging.R;
import com.android.messaging.datamodel.SyncManager;
import com.android.messaging.datamodel.action.DumpDatabaseAction;
@@ -179,6 +182,13 @@ public class DebugUtils {
}
});
arrayAdapter.add(new DebugAction("Test sharing a file URI") {
@Override
public void run() {
shareFileUri();
}
});
builder.setAdapter(arrayAdapter,
new android.content.DialogInterface.OnClickListener() {
@Override
@@ -422,4 +432,16 @@ public class DebugUtils {
public static boolean debugClassZeroSmsEnabled() {
return sDebugClassZeroSms;
}
/** Shares a ringtone file via file URI. */
private static void shareFileUri() {
final String packageName = "com.android.messaging";
final String fileName = "/system/media/audio/ringtones/Andromeda.ogg";
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setPackage(packageName);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + fileName));
intent.setType("image/*");
Factory.get().getApplicationContext().startActivity(intent);
}
}