List of usage examples for android.support.v4.content PermissionChecker checkCallingOrSelfPermission
public static int checkCallingOrSelfPermission(@NonNull Context context, @NonNull String permission)
From source file:com.rks.musicx.data.loaders.ArtistLoader.java
@Override public List<Artist> loadInBackground() { List<Artist> artistList = new ArrayList<>(); if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { Cursor cursor = getContext().getContentResolver().query(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI, null, null, null, sortorder); if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(BaseColumns._ID); int nameCol = cursor.getColumnIndex(MediaStore.Audio.ArtistColumns.ARTIST); int albumsNbCol = cursor.getColumnIndex(MediaStore.Audio.ArtistColumns.NUMBER_OF_ALBUMS); int tracksNbCol = cursor.getColumnIndex(MediaStore.Audio.ArtistColumns.NUMBER_OF_TRACKS); do {//www. j a va2s .c o m long id = cursor.getLong(idCol); String artistName = cursor.getString(nameCol); int albumCount = cursor.getInt(albumsNbCol); int trackCount = cursor.getInt(tracksNbCol); artistList.add(new Artist(id, artistName, albumCount, trackCount)); } while (cursor.moveToNext()); cursor.close(); } if (cursor == null) { return Collections.emptyList(); } return artistList; } else { return null; } }
From source file:com.rks.musicx.data.loaders.ArtistAlbumLoader.java
@Override public List<Artist> loadInBackground() { List<Artist> artistList = new ArrayList<>(); if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { Cursor cursor = getContext().getContentResolver().query( MediaStore.Audio.Artists.Albums.getContentUri("external", artistID), null, null, null, sortorder);/* w w w . j a v a2 s.c o m*/ if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(BaseColumns._ID); int nameCol = cursor.getColumnIndex(MediaStore.Audio.Artists.Albums.ARTIST); int albumsNbCol = cursor.getColumnIndex(MediaStore.Audio.Artists.Albums.NUMBER_OF_SONGS_FOR_ARTIST); int tracksNbCol = cursor.getColumnIndex(MediaStore.Audio.Artists.Albums.NUMBER_OF_SONGS); do { long id = cursor.getLong(idCol); String artistName = cursor.getString(nameCol); int albumCount = cursor.getInt(albumsNbCol); int trackCount = cursor.getInt(tracksNbCol); artistList.add(new Artist(id, artistName, albumCount, trackCount)); } while (cursor.moveToNext()); cursor.close(); } if (cursor == null) { return Collections.emptyList(); } return artistList; } else { return null; } }
From source file:com.rks.musicx.data.loaders.PlaylistLoaders.java
@Override public List<Playlist> loadInBackground() { List<Playlist> playlistList = new ArrayList<>(); if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { Cursor cursor = getContext().getContentResolver().query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, dataCol, "", null, sortorder); if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(MediaStore.Audio.Playlists._ID); int nameCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.NAME); do {/*from w w w .j av a2 s . c o m*/ long id = cursor.getLong(idCol); String name = cursor.getString(nameCol); Playlist playlist = new Playlist(); playlist.setId(id); playlist.setName(name); playlistList.add(playlist); } while (cursor.moveToNext()); cursor.close(); } if (cursor == null) { return Collections.emptyList(); } return playlistList; } else { return null; } }
From source file:com.rks.musicx.data.loaders.AlbumLoader.java
@Override public List<Album> loadInBackground() { ArrayList<Album> albums = new ArrayList<>(); if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { Cursor musicCursor = getContext().getContentResolver() .query(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, datacol, Where, selectionargs, sortorder); if (musicCursor != null && musicCursor.moveToFirst()) { int titleColumn = musicCursor.getColumnIndex(MediaStore.Audio.AlbumColumns.ALBUM); int idColumn = musicCursor.getColumnIndex(BaseColumns._ID); int artistColumn = musicCursor.getColumnIndex(MediaStore.Audio.AlbumColumns.ARTIST); int numOfSongsColumn = musicCursor.getColumnIndex(MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS); int albumfirstColumn = musicCursor.getColumnIndex(MediaStore.Audio.AlbumColumns.FIRST_YEAR); do {//w ww.j av a2s . c o m String albumName = musicCursor.getString(titleColumn); long albumId = musicCursor.getLong(idColumn); String artistName = musicCursor.getString(artistColumn); int year = musicCursor.getInt(albumfirstColumn); int no = musicCursor.getInt(numOfSongsColumn); Album album = new Album(); /** * Setting Album Metadata */ album.setArtistName(artistName); album.setAlbumName(albumName); album.setId(albumId); album.setTrackCount(no); album.setYear(year); albums.add(album); } while (musicCursor.moveToNext()); musicCursor.close(); } if (musicCursor == null) { return Collections.emptyList(); } return albums; } else { return null; } }
From source file:com.rks.musicx.data.loaders.FolderLoader.java
@Override public List<Folder> loadInBackground() { List<Folder> folderList = new ArrayList<>(); List<Song> songList = new ArrayList<>(); if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { FileExtensionFilter mFileExtensionFilter = new FileExtensionFilter(Constants.fileExtensions); if (dir != null) { File[] scanFolder = dir.listFiles(mFileExtensionFilter); if (scanFolder == null) { return null; }//w w w .ja va2 s . co m for (File aScanFolder : scanFolder) { Folder folder = new Folder(); Cursor cursor = getContext().getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.Audio.Media.DATA }, MediaStore.Audio.Media.DATA + " like ? ", new String[] { "%" + aScanFolder.getAbsolutePath() + "%" }, null); if (cursor != null) { int count = cursor.getCount(); if (count != 0) { if (!aScanFolder.isDirectory()) { String path = aScanFolder.getAbsolutePath(); Song song = Helper.getSongData(Extras.getInstance().getSongSortOrder(), getContext(), path); songList.add(song); } if (!aScanFolder.getAbsolutePath().startsWith("/d")) { Log.e("FolderLoader", "Path --> " + aScanFolder.getAbsolutePath()); folder.setFile(aScanFolder); folder.setFileCount(count); folder.setSongList(songList); folderList.add(folder); } } } if (cursor != null) { cursor.close(); } } Collections.sort(folderList, new Comparator<Folder>() { @Override public int compare(Folder f1, Folder f2) { if ((f1.getFile().isDirectory() && f2.getFile().isDirectory())) return f1.getFile().getName().compareToIgnoreCase(f2.getFile().getName()); else if (f1.getFile().isDirectory() && !f2.getFile().isDirectory()) return -1; else if (!f1.getFile().isDirectory() && f2.getFile().isDirectory()) return 1; else if (!f1.getFile().isDirectory() && !f2.getFile().isDirectory()) return f1.getFile().getName().compareToIgnoreCase(f2.getFile().getName()); else return 0; } }); if (!dir.getAbsolutePath().equals("/")) { Folder folder = new Folder(); if (dir.getParentFile() != null) { folder.setFile(dir.getParentFile()); Log.e("FolderLoader", dir.getParentFile().getAbsolutePath()); folderList.add(0, folder); } } } return folderList; } else { Log.d("Folder", "Permission not granted"); return Collections.emptyList(); } }
From source file:com.rks.musicx.data.loaders.DefaultSongLoader.java
public Song getSongData() { if (provider) { if (PermissionChecker.checkCallingOrSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { cursor = context.getContentResolver().query(uri, queryTable, selection, queryTable2, SortOrder); if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(MediaStore.Audio.Media._ID); int titleCol = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE); int artistCol = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST); int albumCol = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM); int albumIdCol = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID); int trackCol = cursor.getColumnIndex(MediaStore.Audio.Media.TRACK); int datacol = cursor.getColumnIndex(MediaStore.Audio.Media.DATA); /**/*w w w. j a v a 2s.c o m*/ * @return songs metadata */ long id = cursor.getLong(idCol); String title = cursor.getString(titleCol); String artist = cursor.getString(artistCol); String album = cursor.getString(albumCol); long albumId = cursor.getLong(albumIdCol); int track = cursor.getInt(trackCol); String mSongPath = cursor.getString(datacol); song.setAlbum(album); song.setmSongPath(mSongPath); song.setArtist(artist); song.setId(id); song.setAlbumId(albumId); song.setTrackNumber(track); song.setTitle(title); songList.add(song); } if (cursor != null) { cursor.close(); } } else { Log.e("DefaultSongLoader", "No read permissions"); } } else { cursor = sqLiteDatabase.query(dbtable, queryTable, selection, queryTable2, groupby, having, SortOrder, limit); if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(songId); int titleCol = cursor.getColumnIndex(songTitle); int artistCol = cursor.getColumnIndex(songArtist); int albumCol = cursor.getColumnIndex(songAlbum); int albumIdCol = cursor.getColumnIndex(songAlbumId); int trackCol = cursor.getColumnIndex(songTrack); int datacol = cursor.getColumnIndex(songData); /** * @return songs metadata */ long id = cursor.getLong(idCol); String title = cursor.getString(titleCol); String artist = cursor.getString(artistCol); String album = cursor.getString(albumCol); long albumId = cursor.getLong(albumIdCol); int track = cursor.getInt(trackCol); String mSongPath = cursor.getString(datacol); song.setAlbum(album); song.setmSongPath(mSongPath); song.setArtist(artist); song.setId(id); song.setAlbumId(albumId); song.setTrackNumber(track); song.setTitle(title); songList.add(song); } if (cursor != null) { cursor.close(); } } return song; }
From source file:com.rks.musicx.data.loaders.TrackLoader.java
@Override public List<Song> loadInBackground() { List<Song> songList = new ArrayList<>(); if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { Cursor cursor = getContext().getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, datacol, Where, selectionargs, sortorder); if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(MediaStore.Audio.Media._ID); int titleCol = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE); int artistCol = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST); int albumCol = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM); int albumIdCol = cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID); int trackCol = cursor.getColumnIndex(MediaStore.Audio.Media.TRACK); int datacol = cursor.getColumnIndex(MediaStore.Audio.Media.DATA); int yearCol = cursor.getColumnIndex(MediaStore.Audio.Media.YEAR); int artistIdCol = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST_ID); do {/* www. jav a2 s . c o m*/ long id = cursor.getLong(idCol); String title = cursor.getString(titleCol); String artist = cursor.getString(artistCol); String album = cursor.getString(albumCol); long albumId = cursor.getLong(albumIdCol); int track = cursor.getInt(trackCol); String mSongPath = cursor.getString(datacol); String year = cursor.getString(yearCol); long artistId = cursor.getLong(artistIdCol); Song song = new Song(); /* Setup metadata of songs */ song.setAlbum(album); song.setmSongPath(mSongPath); song.setArtist(artist); song.setId(id); song.setAlbumId(albumId); song.setTrackNumber(track); song.setTitle(title); song.setYear(year); song.setArtistId(artistId); songList.add(song); } while (cursor.moveToNext()); cursor.close(); } if (cursor == null) { return Collections.emptyList(); } return songList; } else { return null; } }
From source file:com.rks.musicx.data.loaders.PlaylistLoader.java
@Override public List<Song> loadInBackground() { List<Song> playlist = new ArrayList<>(); String sortorder = MediaStore.Audio.Playlists.Members.PLAY_ORDER; if (mPlaylistId == 0) { return null; }/*ww w .ja v a2 s . c om*/ if (PermissionChecker.checkCallingOrSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) { Cursor cursor = getContext().getContentResolver().query( MediaStore.Audio.Playlists.Members.getContentUri("external", mPlaylistId), sProjection, "", null, sortorder); if (cursor != null && cursor.moveToFirst()) { int idCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.AUDIO_ID); if (idCol == -1) { idCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members._ID); } int titleCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.TITLE); int artistCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.ARTIST); int albumCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.ALBUM); int albumIdCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.ALBUM_ID); int trackCol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.TRACK); int datacol = cursor.getColumnIndex(MediaStore.Audio.Playlists.Members.DATA); do { long id = cursor.getLong(idCol); String title = cursor.getString(titleCol); String artist = cursor.getString(artistCol); String album = cursor.getString(albumCol); long albumId = cursor.getLong(albumIdCol); int track = cursor.getInt(trackCol); String mSongPath = cursor.getString(datacol); Song song = new Song(); /* Setup metadata of playlist */ song.setAlbum(album); song.setmSongPath(mSongPath); song.setArtist(artist); song.setId(id); song.setAlbumId(albumId); song.setTrackNumber(track); song.setTitle(title); playlist.add(song); } while (cursor.moveToNext()); cursor.close(); } if (cursor == null) { Collections.emptyList(); } return playlist; } else { return null; } }
From source file:com.rks.musicx.misc.utils.permissionManager.java
public static boolean isSystemAlertGranted(@NonNull Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { boolean result = PermissionChecker.checkCallingOrSelfPermission(context, Manifest.permission.SYSTEM_ALERT_WINDOW) == PermissionChecker.PERMISSION_GRANTED; if (result || Settings.canDrawOverlays(context)) { return true; } else {/*from www . java 2s . c o m*/ return false; } } else { return true; } }
From source file:com.rks.musicx.misc.utils.permissionManager.java
public static boolean isAudioRecordGranted(@NonNull Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (PermissionChecker.checkCallingOrSelfPermission(context, Manifest.permission.RECORD_AUDIO) == PermissionChecker.PERMISSION_GRANTED) { return true; } else {/*from ww w . ja v a 2s. com*/ return false; } } else { return true; } }