Example usage for android.support.v4.content PermissionChecker checkCallingOrSelfPermission

List of usage examples for android.support.v4.content PermissionChecker checkCallingOrSelfPermission

Introduction

In this page you can find the example usage for android.support.v4.content PermissionChecker checkCallingOrSelfPermission.

Prototype

public static int checkCallingOrSelfPermission(@NonNull Context context, @NonNull String permission) 

Source Link

Document

Checks whether the IPC you are handling or your app has a given permission and whether the app op that corresponds to this permission is allowed.

Usage

From source file:com.rks.musicx.misc.utils.permissionManager.java

public static boolean isWriteSettingsGranted(@NonNull Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        int result = PermissionChecker.checkCallingOrSelfPermission(context,
                Manifest.permission.WRITE_SETTINGS);
        if ((result == PermissionChecker.PERMISSION_GRANTED) || Settings.System.canWrite(context)) {
            return true;
        } else if (result == PermissionChecker.PERMISSION_DENIED) {
            return false;
        } else {//from  w ww . ja  v  a2 s.  com
            return false;
        }
    } else {
        return true;
    }
}

From source file:com.rks.musicx.misc.utils.permissionManager.java

public static boolean isExternalReadStorageGranted(@NonNull Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (PermissionChecker.checkCallingOrSelfPermission(context,
                Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) {
            return true;
        } else {/*  w w  w  .  ja  v  a  2 s .c om*/
            return false;
        }
    } else {
        return true;
    }
}

From source file:com.rks.musicx.misc.utils.permissionManager.java

public static boolean writeExternalStorageGranted(@NonNull Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (PermissionChecker.checkCallingOrSelfPermission(context,
                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) {
            return true;
        } else {/*from w ww .  jav a  2 s  .  c  o  m*/
            return false;
        }
    } else {
        return true;
    }
}

From source file:com.rks.musicx.misc.utils.Helper.java

public static Song getSongData(String sortOrder, @NonNull Context context, String path) {
    if (path == null) {
        return null;
    }//from  w ww  .  java 2  s .  c om
    Song song = new Song();
    if (PermissionChecker.checkCallingOrSelfPermission(context,
            Manifest.permission.READ_EXTERNAL_STORAGE) == PermissionChecker.PERMISSION_GRANTED) {
        Cursor cursor = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI, null,
                MediaStore.Audio.Media.DATA + " like ? ", new String[] { "%" + path + "%" }, 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);

            /**
             * @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);
        }
        if (cursor != null) {
            cursor.close();
        }
    } else {
        Log.e("DefaultSongLoader", "No read permissions");
    }
    return song;
}