summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BrowserActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser/BrowserActivity.java')
-rw-r--r--src/com/android/browser/BrowserActivity.java29
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;
+ }
+ }
+
}