From 20b7c76877662c8d4ddbbfb619d3d9461da53f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20N=C3=BCsse?= Date: Wed, 18 Oct 2023 21:18:36 +0200 Subject: [PATCH] fix lint errors update to 2.4.1 --- app/build.gradle | 6 ++-- .../RemoteConfig/RemoteConfig.kt | 1 + .../AppErrorNotificationManager.kt | 11 ++++++- .../notifications/GenericSyncNotification.kt | 8 ++--- .../support/GenericNotification.kt | 12 ++++++- .../layout-sw720dp/fragment_config_list.xml | 2 ++ .../res/layout-sw720dp/remote_config_form.xml | 1 + .../main/res/layout/customui_crumbview.xml | 5 +-- .../main/res/layout/fragment_config_list.xml | 5 +-- .../main/res/layout/remote_config_form.xml | 1 + app/src/main/res/menu/remote_config_menu.xml | 2 +- app/src/main/res/values-de/strings.xml | 32 ++++++++++++++++++- app/src/main/res/values/strings.xml | 3 ++ 13 files changed, 72 insertions(+), 17 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0d143d4b..7dda848c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,8 +25,8 @@ android { minSdkVersion 23 compileSdk 34 targetSdkVersion 34 - versionCode 300 // last digit is reserved for ABI, only ever end on 0! - versionName '2.4.0' + versionCode 310 // last digit is reserved for ABI, only ever end on 0! + versionName '2.4.1' resourceConfigurations += ['en', 'de'] testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" buildConfigField "java.lang.String", "CLI", System.getenv('RCX_BUILD_CLI') ? System.getenv('RCX_BUILD_CLI') : "\"c03129b6-b09f-9cb4-8fcd-7f143b8f94ef\"" @@ -149,7 +149,7 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.browser:browser:1.6.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.recyclerview:recyclerview:1.3.1' + implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'com.github.leinardi:FloatingActionButtonSpeedDial:3.1.1' implementation 'org.markdownj:markdownj-core:0.4' implementation 'jp.wasabeef:recyclerview-animators:4.0.2' diff --git a/app/src/main/java/ca/pkay/rcloneexplorer/RemoteConfig/RemoteConfig.kt b/app/src/main/java/ca/pkay/rcloneexplorer/RemoteConfig/RemoteConfig.kt index fc600b4d..2c39306e 100644 --- a/app/src/main/java/ca/pkay/rcloneexplorer/RemoteConfig/RemoteConfig.kt +++ b/app/src/main/java/ca/pkay/rcloneexplorer/RemoteConfig/RemoteConfig.kt @@ -153,6 +153,7 @@ class RemoteConfig : AppCompatActivity(), ProviderSelectedListener { } override fun onBackPressed() { + super.onBackPressed() handleBackAction() } diff --git a/app/src/main/java/ca/pkay/rcloneexplorer/notifications/AppErrorNotificationManager.kt b/app/src/main/java/ca/pkay/rcloneexplorer/notifications/AppErrorNotificationManager.kt index d04f44fe..fab19b9b 100644 --- a/app/src/main/java/ca/pkay/rcloneexplorer/notifications/AppErrorNotificationManager.kt +++ b/app/src/main/java/ca/pkay/rcloneexplorer/notifications/AppErrorNotificationManager.kt @@ -1,15 +1,18 @@ package ca.pkay.rcloneexplorer.notifications +import android.annotation.SuppressLint import android.app.NotificationChannel import android.app.NotificationManager import android.app.PendingIntent import android.app.PendingIntent.FLAG_IMMUTABLE import android.content.Context import android.os.Build +import android.util.Log import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import ca.pkay.rcloneexplorer.R import ca.pkay.rcloneexplorer.util.PermissionManager +import ca.pkay.rcloneexplorer.util.SyncLog class AppErrorNotificationManager(var mContext: Context) { @@ -38,6 +41,7 @@ class AppErrorNotificationManager(var mContext: Context) { } } + @SuppressLint("MissingPermission") fun showNotification() { @@ -59,6 +63,11 @@ class AppErrorNotificationManager(var mContext: Context) { .setOnlyAlertOnce(true) val notificationManager = NotificationManagerCompat.from(mContext) - notificationManager.notify(APP_ERROR_ID, b.build()) + + if(PermissionManager(mContext).grantedNotifications()) { + notificationManager.notify(APP_ERROR_ID, b.build()) + } else { + Log.e("AppErrorNotificationManager", "We dont have Notification Permission!") + } } } \ No newline at end of file diff --git a/app/src/main/java/ca/pkay/rcloneexplorer/notifications/GenericSyncNotification.kt b/app/src/main/java/ca/pkay/rcloneexplorer/notifications/GenericSyncNotification.kt index abce1128..872b5379 100644 --- a/app/src/main/java/ca/pkay/rcloneexplorer/notifications/GenericSyncNotification.kt +++ b/app/src/main/java/ca/pkay/rcloneexplorer/notifications/GenericSyncNotification.kt @@ -66,12 +66,8 @@ class GenericSyncNotification(var mContext: Context) { } companion object { - public fun getFlags(): Int { - var flags = 0 - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - flags = FLAG_IMMUTABLE - } - return flags + fun getFlags(): Int { + return FLAG_IMMUTABLE } } } diff --git a/app/src/main/java/ca/pkay/rcloneexplorer/notifications/support/GenericNotification.kt b/app/src/main/java/ca/pkay/rcloneexplorer/notifications/support/GenericNotification.kt index 1339b0bb..b4f5d9b6 100644 --- a/app/src/main/java/ca/pkay/rcloneexplorer/notifications/support/GenericNotification.kt +++ b/app/src/main/java/ca/pkay/rcloneexplorer/notifications/support/GenericNotification.kt @@ -1,10 +1,14 @@ package ca.pkay.rcloneexplorer.notifications.support +import android.annotation.SuppressLint import android.content.Context +import android.util.Log import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import ca.pkay.rcloneexplorer.R +import ca.pkay.rcloneexplorer.notifications.AppErrorNotificationManager import ca.pkay.rcloneexplorer.notifications.GenericSyncNotification +import ca.pkay.rcloneexplorer.util.PermissionManager abstract class GenericNotification(var mContext: Context) { @@ -132,8 +136,14 @@ abstract class GenericNotification(var mContext: Context) { notificationManagerCompat.cancel(this.persistentId) } + @SuppressLint("MissingPermission") private fun notify(builder: NotificationCompat.Builder, id: Int) { val notificationManager = NotificationManagerCompat.from(mContext) - notificationManager.notify(id, builder.build()) + + if(PermissionManager(mContext).grantedNotifications()) { + notificationManager.notify(id, builder.build()) + } else { + Log.e("GenericNotification", "We dont have Notification Permission!") + } } } \ No newline at end of file diff --git a/app/src/main/res/layout-sw720dp/fragment_config_list.xml b/app/src/main/res/layout-sw720dp/fragment_config_list.xml index 48995988..85b99583 100644 --- a/app/src/main/res/layout-sw720dp/fragment_config_list.xml +++ b/app/src/main/res/layout-sw720dp/fragment_config_list.xml @@ -24,8 +24,10 @@ android:layout_marginEnd="32dp" android:layout_marginBottom="32dp" android:clickable="true" + android:focusable="true" android:src="@drawable/ic_appintro_arrow" android:visibility="invisible" + android:contentDescription="@string/remote_creation_next_step" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> diff --git a/app/src/main/res/layout-sw720dp/remote_config_form.xml b/app/src/main/res/layout-sw720dp/remote_config_form.xml index 46538d16..95874cd7 100644 --- a/app/src/main/res/layout-sw720dp/remote_config_form.xml +++ b/app/src/main/res/layout-sw720dp/remote_config_form.xml @@ -94,6 +94,7 @@ android:layout_marginEnd="32dp" android:layout_marginBottom="32dp" android:clickable="true" + android:focusable="true" android:contentDescription="@string/save" android:src="@drawable/ic_twotone_save_24" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/customui_crumbview.xml b/app/src/main/res/layout/customui_crumbview.xml index 2ec43f10..7236aab3 100644 --- a/app/src/main/res/layout/customui_crumbview.xml +++ b/app/src/main/res/layout/customui_crumbview.xml @@ -9,6 +9,7 @@ + android:singleLine="true" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_config_list.xml b/app/src/main/res/layout/fragment_config_list.xml index 70bc9d1c..4ee3e459 100644 --- a/app/src/main/res/layout/fragment_config_list.xml +++ b/app/src/main/res/layout/fragment_config_list.xml @@ -19,10 +19,11 @@ android:layout_marginEnd="32dp" android:layout_marginBottom="32dp" android:clickable="true" + android:focusable="true" android:src="@drawable/ic_appintro_arrow" android:visibility="invisible" + android:contentDescription="@string/remote_creation_next_step" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - android:focusable="true" /> + app:layout_constraintEnd_toEndOf="parent" /> \ No newline at end of file diff --git a/app/src/main/res/layout/remote_config_form.xml b/app/src/main/res/layout/remote_config_form.xml index 2960c170..e4cb1c62 100644 --- a/app/src/main/res/layout/remote_config_form.xml +++ b/app/src/main/res/layout/remote_config_form.xml @@ -91,6 +91,7 @@ android:layout_marginEnd="32dp" android:layout_marginBottom="32dp" android:clickable="true" + android:focusable="true" android:contentDescription="@string/save" android:src="@drawable/ic_twotone_save_24" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/menu/remote_config_menu.xml b/app/src/main/res/menu/remote_config_menu.xml index 74e431eb..d1345845 100644 --- a/app/src/main/res/menu/remote_config_menu.xml +++ b/app/src/main/res/menu/remote_config_menu.xml @@ -7,6 +7,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:icon="@drawable/ic_search_black_24dp" - android:title="Search" + android:title="@string/search" app:showAsAction="always" /> \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 5ef66151..31df6c89 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -138,6 +138,9 @@ Synchronisation fehlgeschlagen %1$s schlug aufgrund eines unbekannten Fehlers fehl. Wir konnten %1$s nicht synchronisieren da die Internetverbindung geändert worden ist und Mobile Daten nicht erlaubt sind. + %1$s konnte wegen eines unbekannten Rclone-Fehlers nicht synchronisiert werden + Sync wurde abgebrochen + Es gab keine Aufgabe zum Starten! Verschieben-Dienst Lösch-Dienst Synchronisiere %1$s @@ -411,6 +414,7 @@ Wenn eingeschaltet überschreibt diese die globale Einstellung bezüglich des Datentransfers über WLan Dies nutzt Prüfsummen anstelle der Dateigröße. Das kann länger dauern und mehr Batterie verbrauchen. Startete Sync + Konnte Sync nicht starten (Kopie) (Kopie) Wochentage @@ -444,7 +448,6 @@ Kopiere neue oder geänderte Dateien vom entfernten Speicher zum lokalen Speicher. Dateien werden nicht gelöscht, bestehende Dateien auf dem lokalen Speicher können überschrieben werden. Stellt sicher das lokaler und entfernter Speicher identisch sind. Dateien werden gelöscht, geupdated und erstellt nach Bedarf. Erfolg! - Dateizugriff erlaubt! Der Anbieter ist unbekannt! Erweiterte Optionen umschalten Wir wollen dir beim Sync den Sync-Fortschritt anzeigen, bitte erlaube uns dir Benachrichtigungen anzuzeigen. Wir werden dich nicht zuspammen! @@ -452,4 +455,31 @@ Erstelle Berichte für Syncronisationen. Dies ersetzt einzelne Benachrichtigungen für Syncs durch eine Zusammenfassung. Zurück Speichern + Größen-Suffix + Wert + Sync abgebrochen + Du kannst eine Aufgabe nicht mehrmals gleichzeitig starten: %s + Berechtigungen benötigt! + Entschuldigung, aber wir müssen nur kurz die Berechtigungen aktualisieren. + Alarme! + Wir möchten in der Lage sein Alarme einzurichten um Synchronisationen zu starten. Keine Sorge, wir klingeln nicht durch! + Synchronisazion gestartet! + Synchronisazion gestoppt! + Wir benachrichtigen dich nicht. + Wir können jetzt keine Alarme einrichten + App-Fehler + Fehler die spezifisch für diese App sind erscheinen in diesem Kanal + Berechtigungen + Benachrichtigungen + Benachrichtigungen sind nützlich darin dich über den Zustand der App zu informieren. Du solltest sie einschalten, sodass du immer informiert bist! + Alarme + Wir müssen Alarme und Wecker anlegen, sodass die Synchronisationen pünktlich starten. Wenn diese Berechtigungen nicht gegeben ist, werden Synchronisationen nicht funktionieren. + Speicher + Diese Berechtigung erlaubt es uns deine Dateien zu verwalten. Auch ohne kannst du weiterhin auf die entfernten Speicher zugreifen, wir empfehlen aber dies trotzdem zu erlauben. + Erlaube! + Alarm und Wecker-Berechtigung fehlt + Bitte erlaube uns Alarme festzulegen. Ohne diese Berechtigung werden Synchronisationen nicht starten! + Remote-Startpunkt + Nächster Breadcrumb-Pfeil-Indikator + Nächster Schritt diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 21fdea13..c33fb2dd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -544,4 +544,7 @@ Request! Alarm Scheduling Permission missing Please grant this permission to allow schedules to be started. Without it, syncs wont run! + Remote-Root + Next breadcrumb arrow indicator + Next Step