Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
21176 rajender 1
package com.saholic.profittill.Utils;
2
 
3
import android.Manifest;
4
import android.annotation.TargetApi;
5
import android.app.Activity;
6
import android.content.Context;
7
import android.content.DialogInterface;
8
import android.content.pm.PackageManager;
9
import android.os.Build;
10
import android.support.v4.app.ActivityCompat;
11
import android.support.v4.content.ContextCompat;
12
import android.support.v7.app.AlertDialog;
13
 
14
/**
15
 * Created by rajender on 27/2/17.
16
 */
17
public class Utility {
18
    public static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 123;
19
 
20
    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
21
    public static boolean checkPermission(final Context context) {
22
        int currentAPIVersion = Build.VERSION.SDK_INT;
23
        if(currentAPIVersion>=android.os.Build.VERSION_CODES.M)
24
        {
25
            if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
26
                if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.READ_EXTERNAL_STORAGE)) {
27
                    AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
28
                    alertBuilder.setCancelable(true);
29
                    alertBuilder.setTitle("Permission necessary");
30
                    alertBuilder.setMessage("External storage permission is necessary");
31
                    alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
32
                        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
33
                        public void onClick(DialogInterface dialog, int which) {
34
                            ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
35
                        }
36
                    });
37
                    AlertDialog alert = alertBuilder.create();
38
                    alert.show();
39
 
40
                } else {
41
                    ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
42
                }
43
                return false;
44
            } else {
45
                return true;
46
            }
47
        } else {
48
            return true;
49
        }
50
    }
51
}