Merge branch 'Hackerleng-master'

This commit is contained in:
Karim Abou Zeid 2017-09-29 22:59:07 +02:00
commit 9e9baf9723
No known key found for this signature in database
GPG key ID: 948B11DC67FD9BAF
5 changed files with 20 additions and 6 deletions

View file

@ -203,6 +203,15 @@
</receiver> </receiver>
<activity android:name=".ui.activities.PurchaseActivity"></activity> <activity android:name=".ui.activities.PurchaseActivity"></activity>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application> </application>
</manifest> </manifest>

View file

@ -38,7 +38,7 @@ public class SongShareDialog extends DialogFragment {
public void onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) { public void onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) {
switch (i) { switch (i) {
case 0: case 0:
startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song), null)); startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song, getContext()), null));
break; break;
case 1: case 1:
getActivity().startActivity( getActivity().startActivity(

View file

@ -32,7 +32,7 @@ public class SongMenuHelper {
MusicUtil.setRingtone(activity, song.id); MusicUtil.setRingtone(activity, song.id);
return true; return true;
case R.id.action_share: case R.id.action_share:
activity.startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song), null)); activity.startActivity(Intent.createChooser(MusicUtil.createShareSongFileIntent(song, activity), null));
return true; return true;
case R.id.action_delete_from_device: case R.id.action_delete_from_device:
DeleteSongsDialog.create(song).show(activity.getSupportFragmentManager(), "DELETE_SONGS"); DeleteSongsDialog.create(song).show(activity.getSupportFragmentManager(), "DELETE_SONGS");

View file

@ -13,6 +13,7 @@ import android.provider.MediaStore;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v4.content.FileProvider;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
@ -23,7 +24,6 @@ import com.kabouzeid.gramophone.loader.PlaylistLoader;
import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.model.Artist; import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.PlaylistSong;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.lyrics.AbsSynchronizedLyrics; import com.kabouzeid.gramophone.model.lyrics.AbsSynchronizedLyrics;
@ -55,10 +55,11 @@ public class MusicUtil {
} }
@NonNull @NonNull
public static Intent createShareSongFileIntent(@NonNull final Song song) { public static Intent createShareSongFileIntent(@NonNull final Song song, Context context) {
return new Intent() return new Intent()
.setAction(Intent.ACTION_SEND) .setAction(Intent.ACTION_SEND)
.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + song.data)) .putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName(), new File(song.data)))
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
.setType("audio/*"); .setType("audio/*");
} }

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>