diff --git a/app/src/main/java/org/galexander/sshd/SimpleSSHD.java b/app/src/main/java/org/galexander/sshd/SimpleSSHD.java index 00370ed..3e8fc0e 100644 --- a/app/src/main/java/org/galexander/sshd/SimpleSSHD.java +++ b/app/src/main/java/org/galexander/sshd/SimpleSSHD.java @@ -53,7 +53,7 @@ public class SimpleSSHD extends Activity synchronized (lock) { curr = this; } - permission(); + permission_startup(); update_startstop_prime(); updater = new UpdaterThread(); updater.start(); @@ -88,6 +88,9 @@ public class SimpleSSHD extends Activity case R.id.resetkeys: resetkeys_clicked(null); return true; + case R.id.trypermission: + permission_clicked(null); + return true; case R.id.doc: doc_clicked(null); return true; @@ -111,6 +114,9 @@ public class SimpleSSHD extends Activity public void resetkeys_clicked(View v) { reset_keys(); } + public void permission_clicked(View v) { + permission_menu(); + } public void doc_clicked(View v) { try { Intent i = new Intent(Intent.ACTION_VIEW); @@ -312,7 +318,7 @@ public class SimpleSSHD extends Activity } } - public void permission() { + private void permission_startup() { if (android.os.Build.VERSION.SDK_INT < 23) { return; } @@ -325,6 +331,22 @@ public class SimpleSSHD extends Activity requestPermissions(new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0); } + private void toast(String s) { + Toast.makeText(this, s, Toast.LENGTH_LONG).show(); + } + + private void permission_menu() { + if (android.os.Build.VERSION.SDK_INT < 23) { + toast("Your phone uses an Android version that grants external storage access by default."); + return; + } + if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { + toast("External storage permission already granted."); + return; + } + requestPermissions(new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0); + } + public void onRequestPermissionsResult(int code, String[] perms, int[] results) { Prefs.set_requested(); /* whatever result, don't ask again */ } diff --git a/app/src/main/res/layout/main_tv.xml b/app/src/main/res/layout/main_tv.xml index 96598de..9107039 100644 --- a/app/src/main/res/layout/main_tv.xml +++ b/app/src/main/res/layout/main_tv.xml @@ -61,9 +61,12 @@ android:text="Reset Keys" android:onClick="resetkeys_clicked" />