From 36d31f0dff0ee7c9ab7ed5ab1980893fc88740d0 Mon Sep 17 00:00:00 2001 From: Martin Valba Date: Sat, 9 Sep 2023 18:54:33 +0000 Subject: [PATCH] Style changes and permission ask rollbacks * Main app theme now targets material3 * Permission checker/granter rollback for READ permission --- NeoLang/build.gradle | 4 +- NeoTermBridge/build.gradle | 4 +- Xorg/build.gradle | 4 +- chrome-tabs/build.gradle | 4 +- nhterm/build.gradle | 4 +- nhterm/src/main/AndroidManifest.xml | 22 ++++---- nhterm/src/main/java/com/offsec/nhterm/App.kt | 2 +- .../offsec/nhterm/ui/term/NeoTermActivity.kt | 23 ++++---- .../com/offsec/nhterm/utils/NeoPermission.kt | 44 ++++++--------- nhterm/src/main/res/values/styles.xml | 54 +++++++++---------- 10 files changed, 73 insertions(+), 92 deletions(-) diff --git a/NeoLang/build.gradle b/NeoLang/build.gradle index 574f81b..c459fc7 100644 --- a/NeoLang/build.gradle +++ b/NeoLang/build.gradle @@ -32,6 +32,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/NeoTermBridge/build.gradle b/NeoTermBridge/build.gradle index d09a6f3..e8ca3cc 100644 --- a/NeoTermBridge/build.gradle +++ b/NeoTermBridge/build.gradle @@ -30,6 +30,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/Xorg/build.gradle b/Xorg/build.gradle index ab1f764..7278189 100644 --- a/Xorg/build.gradle +++ b/Xorg/build.gradle @@ -35,6 +35,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/chrome-tabs/build.gradle b/chrome-tabs/build.gradle index 4846b5a..4a6ec4a 100644 --- a/chrome-tabs/build.gradle +++ b/chrome-tabs/build.gradle @@ -25,6 +25,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/nhterm/build.gradle b/nhterm/build.gradle index f54001c..810c8da 100644 --- a/nhterm/build.gradle +++ b/nhterm/build.gradle @@ -87,6 +87,6 @@ dependencies { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } diff --git a/nhterm/src/main/AndroidManifest.xml b/nhterm/src/main/AndroidManifest.xml index 425d7c1..85f2b64 100644 --- a/nhterm/src/main/AndroidManifest.xml +++ b/nhterm/src/main/AndroidManifest.xml @@ -48,7 +48,7 @@ android:name=".ui.term.NeoTermActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTask" - android:theme="@style/AppTheme.NoActionBar.Dark" + android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="adjustResize|stateHidden" android:exported="true"> @@ -81,7 +81,7 @@ android:name=".ui.term.NeoTermRemoteInterface" android:configChanges="orientation|keyboardHidden" android:exported="true" - android:theme="@style/AppTheme.Dark" + android:theme="@style/AppTheme" android:windowSoftInputMode="adjustResize|stateHidden"> @@ -143,12 +143,12 @@ android:name=".ui.other.AboutActivity" android:exported="false" android:label="@string/about" - android:theme="@style/AppTheme.NoActionBar.Dark"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme"/> + android:theme="@style/AppTheme"/> + android:theme="@style/AppTheme"/> Unit)?) { - MaterialAlertDialogBuilder(context, R.style.DialogStyleCompat) + MaterialAlertDialogBuilder(context, R.style.DialogStyle) .setTitle(R.string.error) .setMessage(message) .setNegativeButton(android.R.string.no, null) diff --git a/nhterm/src/main/java/com/offsec/nhterm/ui/term/NeoTermActivity.kt b/nhterm/src/main/java/com/offsec/nhterm/ui/term/NeoTermActivity.kt index 8322389..d9dd2a4 100644 --- a/nhterm/src/main/java/com/offsec/nhterm/ui/term/NeoTermActivity.kt +++ b/nhterm/src/main/java/com/offsec/nhterm/ui/term/NeoTermActivity.kt @@ -64,8 +64,18 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + val SDCARD_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE = 1 + NeoPermission.initAppPermission(this, NeoPermission.REQUEST_APP_PERMISSION) + if (ContextCompat.checkSelfPermission( + this, + Manifest.permission.READ_EXTERNAL_STORAGE, + ) != PackageManager.PERMISSION_GRANTED + ) { + ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), SDCARD_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE) + } + val fullscreen = NeoPreference.isFullScreenEnabled() if (fullscreen) { window.setFlags( @@ -74,19 +84,6 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference ) } - val SDCARD_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE = 1 - if (ContextCompat.checkSelfPermission( - this, - Manifest.permission.MANAGE_EXTERNAL_STORAGE, - ) != PackageManager.PERMISSION_GRANTED - ) { - ActivityCompat.requestPermissions( - this, - arrayOf(Manifest.permission.MANAGE_EXTERNAL_STORAGE), - SDCARD_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE, - ) - } - setContentView(R.layout.ui_main) toolbar = findViewById(R.id.terminal_toolbar) diff --git a/nhterm/src/main/java/com/offsec/nhterm/utils/NeoPermission.kt b/nhterm/src/main/java/com/offsec/nhterm/utils/NeoPermission.kt index d5dbcfb..49cd8fb 100644 --- a/nhterm/src/main/java/com/offsec/nhterm/utils/NeoPermission.kt +++ b/nhterm/src/main/java/com/offsec/nhterm/utils/NeoPermission.kt @@ -19,45 +19,35 @@ object NeoPermission { const val REQUEST_APP_PERMISSION = 10086 fun initAppPermission(context: AppCompatActivity, requestCode: Int) { - if (ContextCompat.checkSelfPermission( - context, - Manifest.permission.READ_EXTERNAL_STORAGE - ) - != PackageManager.PERMISSION_GRANTED - ) { - - if (ActivityCompat.shouldShowRequestPermissionRationale( + if (ContextCompat.checkSelfPermission( context, Manifest.permission.READ_EXTERNAL_STORAGE ) - ) { - MaterialAlertDialogBuilder(context, R.style.DialogStyleCompat).setMessage("Please enable Storage permission") - .setPositiveButton(android.R.string.ok) { _: DialogInterface, _: Int -> - doRequestPermission(context, requestCode) - } - .show() + != PackageManager.PERMISSION_GRANTED) { - } else { - doRequestPermission(context, requestCode) + if (ActivityCompat.shouldShowRequestPermissionRationale( + context, + Manifest.permission.READ_EXTERNAL_STORAGE + )) { + MaterialAlertDialogBuilder(context, R.style.DialogStyle).setMessage("Please enable Storage permission") + .setPositiveButton(android.R.string.ok) { _: DialogInterface, _: Int -> + doRequestPermission(context, requestCode) + }.show() + + } else { + doRequestPermission(context, requestCode) + } } } } private fun doRequestPermission(context: AppCompatActivity, requestCode: Int) { try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ActivityCompat.requestPermissions( context, - arrayOf(Manifest.permission.MANAGE_EXTERNAL_STORAGE), + arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), requestCode) - } else { - ActivityCompat.requestPermissions( - context, - arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE), - requestCode) - } - } catch (ignore: ActivityNotFoundException) { - // for MIUI, we ignore it. - } + } catch (ignore: ActivityNotFoundException) { + // for MIUI, we ignore it. } } diff --git a/nhterm/src/main/res/values/styles.xml b/nhterm/src/main/res/values/styles.xml index 11383e7..4799fc9 100644 --- a/nhterm/src/main/res/values/styles.xml +++ b/nhterm/src/main/res/values/styles.xml @@ -1,18 +1,14 @@ - - - - - + @style/Alert.Button.Neutral -