diff options
Diffstat (limited to 'src/com/android/browser/BrowserActivity.java')
-rw-r--r-- | src/com/android/browser/BrowserActivity.java | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java index 4166b1109..85af8af3b 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -17,12 +17,15 @@ package com.android.browser; import android.app.Activity; +import android.app.AlertDialog; import android.app.KeyguardManager; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.os.Bundle; import android.os.PowerManager; +import android.support.v4.app.ActivityCompat; import android.util.Log; import android.view.ActionMode; import android.view.ContextMenu; @@ -37,7 +40,8 @@ import android.view.Window; import com.android.browser.stub.NullController; import com.google.common.annotations.VisibleForTesting; -public class BrowserActivity extends Activity { +public class BrowserActivity extends Activity + implements ActivityCompat.OnRequestPermissionsResultCallback { public static final String ACTION_SHOW_BOOKMARKS = "show_bookmarks"; public static final String ACTION_SHOW_BROWSER = "show_browser"; @@ -51,6 +55,8 @@ public class BrowserActivity extends Activity { private ActivityController mController = NullController.INSTANCE; + public static final int PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE = 1; + @Override public void onCreate(Bundle icicle) { if (LOGV_ENABLED) { @@ -304,4 +310,25 @@ public class BrowserActivity extends Activity { super.dispatchGenericMotionEvent(ev); } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, + int[] grantResults) { + switch (requestCode) { + case PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: + // If request is cancelled, the result array is empty + if (grantResults.length > 0 && + grantResults[0] == PackageManager.PERMISSION_GRANTED) { + DownloadHandler.checkPendingDownloads(this); + } else { + new AlertDialog.Builder(this) + .setTitle(R.string.permission_not_granted_dialog_title) + .setMessage(R.string.permission_not_granted_dialog_message) + .setPositiveButton(android.R.string.ok, null) + .show(); + } + break; + } + } + } |