diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java index 78ec1b8f..a126068b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java @@ -8,6 +8,7 @@ import android.content.Intent; import android.content.ServiceConnection; import android.media.audiofx.AudioEffect; import android.os.IBinder; +import android.provider.MediaStore; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.widget.Toast; @@ -305,6 +306,17 @@ public class MusicPlayerRemote { } public static void playFile(String path) { - //TODO + if (musicService != null) { + ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor( + musicService, + MediaStore.Audio.AudioColumns.DATA + "=?", + new String[]{path} + )); + if (!songs.isEmpty()) { + openQueue(songs, 0, true); + } else { + //TODO the file is not listed in the media store + } + } } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 0c31b649..a9a43cd7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -59,6 +59,7 @@ import com.kabouzeid.gramophone.util.ViewUtil; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; +import java.io.File; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; @@ -450,7 +451,7 @@ public class MainActivity extends AbsFabActivity MusicPlayerRemote.openQueue(SearchQueryHelper.getSongs(this, intent.getExtras()), 0, true); } if (uri != null && uri.toString().length() > 0) { - MusicPlayerRemote.playFile(uri.toString()); + MusicPlayerRemote.playFile(new File(uri.getPath()).getAbsolutePath()); handled = true; } else if (MediaStore.Audio.Playlists.CONTENT_TYPE.equals(mimeType)) { final int id = (int) parseIdFromIntent(intent, "playlistId", "playlist");