summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorDClockaN <lordclockan@gmail.com>2016-07-11 19:40:26 +0200
committerLorDClockaN <lordclockan@gmail.com>2016-07-11 19:40:26 +0200
commit29f1975d4a2e06059794fb233a968806ec981618 (patch)
tree01b164e225ab0806a23e5e7108a3835e0edfe7d2
parenta8df979a76c6e767693d8a6b68955706159b5cfe (diff)
Fix up storage permission requestmm6.0
Change-Id: I1a80130b16ad9c173cc5dca58a6cd2b1e6ef467c
-rw-r--r--src/com/aicp/aicpota/MainActivity.java40
1 files changed, 23 insertions, 17 deletions
diff --git a/src/com/aicp/aicpota/MainActivity.java b/src/com/aicp/aicpota/MainActivity.java
index ab85bb8..69411c2 100644
--- a/src/com/aicp/aicpota/MainActivity.java
+++ b/src/com/aicp/aicpota/MainActivity.java
@@ -119,6 +119,10 @@ public class MainActivity extends Activity implements UpdaterListener, DownloadC
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ if (!checkStoragePermission()) {
+ requestPermission();
+ }
+
mContext = this;
mSavedInstanceState = savedInstanceState;
@@ -345,9 +349,6 @@ public class MainActivity extends Activity implements UpdaterListener, DownloadC
@Override
protected void onResume() {
super.onResume();
- if (!checkStoragePermission()) {
- requestPermission();
- }
DownloadHelper.registerCallback(this);
}
@@ -490,27 +491,32 @@ public class MainActivity extends Activity implements UpdaterListener, DownloadC
}
private boolean checkStoragePermission() {
- int result = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
- return result == PackageManager.PERMISSION_GRANTED;
+ return checkCallingOrSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) ==
+ PackageManager.PERMISSION_GRANTED;
}
private void requestPermission() {
- if (ActivityCompat.shouldShowRequestPermissionRationale(this,
- Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
- ActivityCompat.requestPermissions(this, new String[] {
- Manifest.permission.WRITE_EXTERNAL_STORAGE},PERMISSION_REQUEST_CODE);
- }
+ requestPermissions(new String[] {android.Manifest.permission.READ_EXTERNAL_STORAGE},
+ PERMISSION_REQUEST_CODE);
}
@Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
- switch (requestCode) {
- case PERMISSION_REQUEST_CODE:
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- Toast.makeText(this, R.string.permission_granted_dialog_title, Toast.LENGTH_LONG).show();
- } else {
- Toast.makeText(this, R.string.permission_not_granted_dialog_title, Toast.LENGTH_LONG).show();
+ public void onRequestPermissionsResult(int requestCode, String[] permissions,
+ int[] grantResults) {
+ if (requestCode == PERMISSION_REQUEST_CODE) {
+ for (int i = 0; i < permissions.length; i++ ) {
+ final String permission = permissions[i];
+ final int grantResult = grantResults[i];
+ if (permission.equals(Manifest.permission.READ_EXTERNAL_STORAGE)) {
+ if (grantResult == PackageManager.PERMISSION_GRANTED) {
+ Toast.makeText(this, R.string.permission_granted_dialog_title,
+ Toast.LENGTH_LONG).show();
+ } else {
+ Toast.makeText(this, R.string.permission_not_granted_dialog_title,
+ Toast.LENGTH_LONG).show();
+ }
}
+ }
}
}
}