summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatadeen Mishra <matade@codeaurora.org>2015-09-22 16:37:27 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-10-12 08:18:11 -0700
commit7621450c5ed69f94195a95f59ffa2da2457800b8 (patch)
tree08cd475805cf83bae8b9c31ed692290de9fa6162
parentaade8b00b788b258b6537bb0d5efab4dbde19f98 (diff)
downloadandroid_packages_apps_BluetoothExt-7621450c5ed69f94195a95f59ffa2da2457800b8.tar.gz
android_packages_apps_BluetoothExt-7621450c5ed69f94195a95f59ffa2da2457800b8.tar.bz2
android_packages_apps_BluetoothExt-7621450c5ed69f94195a95f59ffa2da2457800b8.zip
BTLogSave: Permissions check on Runtime
Check permission on Runtime for WRITE_EXTERNAL_STORAGE granted or not on M, If not granted then request for WRITE_EXTERNAL_STORAGE permission. CRs-Fixed: 921068 Change-Id: I10dbd020b0e6788a02b53255333ad090dd99741b
-rw-r--r--BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Main.java32
-rw-r--r--BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Utils.java5
2 files changed, 36 insertions, 1 deletions
diff --git a/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Main.java b/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Main.java
index 25c3397..6ab5069 100644
--- a/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Main.java
+++ b/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Main.java
@@ -46,6 +46,10 @@ import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
+import android.util.Log;
+import android.Manifest;
+import android.content.pm.PackageManager;
+import android.os.Build;
public class Main extends Activity{
@@ -53,11 +57,39 @@ public class Main extends Activity{
public static int log_file_size = 100;
public static LinearLayout lv;
public static int size_pos = 0;
+ private static int MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE = 1;
+ public static boolean mHasCriticalPermissions = true;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
+ checkPermissions();
finish();
}
+ private void checkPermissions() {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
+ Log.v(TAG, "not running on M, skipping permission checks" + Build.VERSION.SDK_INT);
+ return;
+ }
+ if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
+ requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
+ } else {
+ Log.d(Main.TAG,"Permission Already granted.");
+ }
+ }
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+ if (MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE == requestCode) {
+ if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+ mHasCriticalPermissions = true;
+ Log.d(Main.TAG,"Permission granted");
+ } else {
+ mHasCriticalPermissions = false;
+ Log.d(Main.TAG,"Permission not granted");
+ }
+ }
+ }
+
}
diff --git a/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Utils.java b/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Utils.java
index c5bcb02..c763871 100644
--- a/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Utils.java
+++ b/BTLogSave/src/org/codeaurora/bluetooth/btlogsave/Utils.java
@@ -65,7 +65,10 @@ import java.lang.Runnable;
public class Utils{
static {
- new File("/sdcard/BtLogKit").mkdir();
+ if (Main.mHasCriticalPermissions)
+ new File("/sdcard/BtLogKit").mkdir();
+ else
+ Log.d(Main.TAG,"Don't have sdcard permission.");
}
private static Process process_logcat_start,process_logcat_clear,process_logcat_move;