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" />
+
-
diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml
index 02ade90..f8fc9fe 100644
--- a/app/src/main/res/menu/main_menu.xml
+++ b/app/src/main/res/menu/main_menu.xml
@@ -10,6 +10,8 @@ button list in res/layout/main_tv.xml -->
+