From deec83cbe49d13fe30bc7999b50ff50ded9f668b Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 28 Sep 2017 20:31:58 +0200 Subject: [PATCH 1/7] Create GenericFileProvider.java --- .../com/kabouzeid/gramophone/GenericFileProvider.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 app/src/main/java/com/kabouzeid/gramophone/GenericFileProvider.java diff --git a/app/src/main/java/com/kabouzeid/gramophone/GenericFileProvider.java b/app/src/main/java/com/kabouzeid/gramophone/GenericFileProvider.java new file mode 100644 index 00000000..0196f75d --- /dev/null +++ b/app/src/main/java/com/kabouzeid/gramophone/GenericFileProvider.java @@ -0,0 +1,8 @@ +package com.kabouzeid.gramophone; + + +import android.support.v4.content.FileProvider; + +public class GenericFileProvider extends FileProvider { + +} From dee543f6107bd5adf1f051b64084e4bbd207fc36 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 28 Sep 2017 20:32:58 +0200 Subject: [PATCH 2/7] Update AndroidManifest.xml --- app/src/main/AndroidManifest.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d2f06caf..a30d2cff 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -203,6 +203,15 @@ + + + - \ No newline at end of file + From 05127a745cc02db2439a73764ef2469c9d298a08 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 28 Sep 2017 20:34:09 +0200 Subject: [PATCH 3/7] Update MusicUtil.java --- .../main/java/com/kabouzeid/gramophone/util/MusicUtil.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java index 4f299565..e9689e3c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java @@ -18,6 +18,7 @@ import android.util.Log; import android.widget.Toast; import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.GenericFileProvider; import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.loader.PlaylistLoader; import com.kabouzeid.gramophone.loader.SongLoader; @@ -55,10 +56,11 @@ public class MusicUtil { } @NonNull - public static Intent createShareSongFileIntent(@NonNull final Song song) { + public static Intent createShareSongFileIntent(@NonNull final Song song, Context context) { return new Intent() .setAction(Intent.ACTION_SEND) - .putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + song.data)) + .putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".com.kabouzeid.gramophone.provider", new File(song.data))) + .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) .setType("audio/*"); } From 7801f440567384e4ea2e6f9a8b2aadeddd6c028a Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 28 Sep 2017 20:34:38 +0200 Subject: [PATCH 4/7] Update SongMenuHelper.java --- .../com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java index a1767662..a3cedbd2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongMenuHelper.java @@ -32,7 +32,7 @@ public class SongMenuHelper { MusicUtil.setRingtone(activity, song.id); return true; case R.id.action_share: - activity.startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song), null)); + activity.startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song, activity), null)); return true; case R.id.action_delete_from_device: DeleteSongsDialog.create(song).show(activity.getSupportFragmentManager(), "DELETE_SONGS"); From c9613069008315dfa71144862d39cd3bb11d049b Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 28 Sep 2017 20:35:24 +0200 Subject: [PATCH 5/7] Update SongShareDialog.java --- .../java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java index 3a6e97fe..061c07b1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/SongShareDialog.java @@ -38,7 +38,7 @@ public class SongShareDialog extends DialogFragment { public void onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) { switch (i) { case 0: - startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song), null)); + startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song, getContext()), null)); break; case 1: getActivity().startActivity( From 309131a6697f2f41c19d7021d9357f15dcf4168c Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 28 Sep 2017 20:36:50 +0200 Subject: [PATCH 6/7] Add files via upload --- app/src/main/res/xml/provider_paths.xml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 app/src/main/res/xml/provider_paths.xml diff --git a/app/src/main/res/xml/provider_paths.xml b/app/src/main/res/xml/provider_paths.xml new file mode 100644 index 00000000..74a5cde1 --- /dev/null +++ b/app/src/main/res/xml/provider_paths.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file From 0801e8a0216a7c3517823fac55303b9d2ea37aac Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Fri, 29 Sep 2017 22:51:44 +0200 Subject: [PATCH 7/7] Simplified file sharing --- app/src/main/AndroidManifest.xml | 4 ++-- .../com/kabouzeid/gramophone/GenericFileProvider.java | 8 -------- .../java/com/kabouzeid/gramophone/util/MusicUtil.java | 5 ++--- 3 files changed, 4 insertions(+), 13 deletions(-) delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/GenericFileProvider.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a30d2cff..b620e61f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -204,8 +204,8 @@