Mercurial > 510Connectbot
diff app/src/main/java/com/five_ten_sg/connectbot/HostListActivity.java @ 498:3feac274a27b
updates for android10+
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Mon, 06 Jun 2022 15:05:20 -0700 |
parents | 73fa7329dc87 |
children | 267e72057707 |
line wrap: on
line diff
--- a/app/src/main/java/com/five_ten_sg/connectbot/HostListActivity.java Mon Jun 06 13:01:45 2022 -0700 +++ b/app/src/main/java/com/five_ten_sg/connectbot/HostListActivity.java Mon Jun 06 15:05:20 2022 -0700 @@ -53,6 +53,7 @@ import android.os.IBinder; import android.os.Message; import android.preference.PreferenceManager; +import android.provider.Settings; import android.util.Log; import android.view.ContextMenu; import android.view.KeyEvent; @@ -177,9 +178,26 @@ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { String [] perms = {Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE, - Manifest.permission.WAKE_LOCK, - Manifest.permission.WRITE_EXTERNAL_STORAGE}; + Manifest.permission.WAKE_LOCK}; checkp(perms); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + if (!Environment.isExternalStorageManager()) { + try { + Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); + intent.addCategory("android.intent.category.DEFAULT"); + intent.setData(Uri.parse(String.format("package:%s",getApplicationContext().getPackageName()))); + startActivity(intent); + } catch (Exception e) { + Intent intent = new Intent(); + intent.setAction(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION); + startActivity(intent); + } + } + } + else { + String [] perms2 = {Manifest.permission.WRITE_EXTERNAL_STORAGE}; + checkp(perms2); + } } // detect HTC Dream and apply special preferences