diff --git a/AGENTS.md b/AGENTS.md
index 83cca47..109b0a3 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -10,14 +10,15 @@ Android client for [Django Files Upload Server](https://github.com/django-files/
ALWAYS use the `task *` commands
-| Command | Purpose |
-| -------------- | --------------------------------------------------- |
-| `task compile` | Compile Kotlin |
-| `task debug` | Build debug variant (APK) |
-| `task release` | Build release variant (APK) |
-| `task bundle` | Build Android App Bundle (AAB) |
-| `task lint` | Prettier check + yamllint + actionlint + shellcheck |
-| `task format` | Prettier write (format non-kotlin files) |
+| Command | Purpose |
+| -------------- | ---------------------------------------- |
+| `task lint` | Gradle Lint |
+| `task compile` | Compile Kotlin |
+| `task debug` | Build debug variant (APK) |
+| `task release` | Build release variant (APK) |
+| `task bundle` | Build Android App Bundle (AAB) |
+| `task check` | Prettier check (check non-kotlin files) |
+| `task format` | Prettier write (format non-kotlin files) |
Do NOT use `-q` or pipe Gradle output through `Select-Object` — both hide progress and make long builds look hung.
diff --git a/Taskfile.yml b/Taskfile.yml
index d054832..97c0c30 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -5,8 +5,9 @@ vars:
GRADLEW: 'gradlew{{if eq OS "windows"}}.bat{{end}}'
tasks:
- lint:
- desc: Lint
+ check:
+ desc: Check Non-Kotlin Files
+ aliases: [prettier:check]
cmds:
- prettier --check .
- yamllint -c .github/yamllint.yaml .
@@ -14,14 +15,18 @@ tasks:
- shellcheck .github/scripts/prepare.sh
format:
- desc: Format
+ desc: Format Non-Kotlin Files
aliases: [prettier, prettier:write]
cmds:
- prettier --write .
+ lint:
+ desc: Gradle Lint
+ cmd: "{{.GRADLEW}} lint {{.CLI_ARGS}}"
+
compile:
desc: Compile Kotlin
- cmd: "{{.GRADLEW}} :app:compileDebugKotlin"
+ cmd: "{{.GRADLEW}} :app:compileDebugKotlin {{.CLI_ARGS}}"
debug:
desc: Build Debug (recommended android studio)
diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesBottomSheet.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesBottomSheet.kt
index a6b7a15..9db4047 100644
--- a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesBottomSheet.kt
+++ b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesBottomSheet.kt
@@ -80,7 +80,7 @@ class FilesBottomSheet : BottomSheetDialogFragment() {
dialog.setOnShowListener {
dialog.window?.let { window ->
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- window.setNavigationBarContrastEnforced(false)
+ window.isNavigationBarContrastEnforced = false
}
WindowCompat.setDecorFitsSystemWindows(window, false)
}
diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesFragment.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesFragment.kt
index 57a06d3..6b96d38 100644
--- a/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesFragment.kt
+++ b/app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesFragment.kt
@@ -211,11 +211,15 @@ class FilesFragment : Fragment() {
fun updateCheckButton() {
val selectedSize = viewModel.selected.value?.size ?: 0
val filesSize = viewModel.filesData.value?.size ?: 0
- binding.filesTotalText.text = resources.getQuantityString(R.plurals.files_total, filesSize, filesSize)
+ binding.filesTotalText.text =
+ resources.getQuantityString(R.plurals.files_total, filesSize, filesSize)
binding.filesSelectedText.text =
- resources.getQuantityString(R.plurals.files_selected_total, selectedSize, selectedSize, filesSize)
- binding.filesSelectedText.text =
- resources.getQuantityString(R.plurals.files_selected_total, filesSize, selectedSize, filesSize)
+ resources.getQuantityString(
+ R.plurals.files_selected_total,
+ filesSize,
+ selectedSize,
+ filesSize
+ )
if (selectedSize == filesSize) {
//Log.i("filesData[updateCheckButton]", "ALL SELECTED")
binding.filesSelectAll.setImageResource(R.drawable.md_check_box_24px)
diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt
index 2c33ee3..628d242 100644
--- a/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt
@@ -96,7 +96,8 @@ class HomeFragment : Fragment() {
// insets
//}
ViewCompat.setOnApplyWindowInsetsListener(view) { view, windowInsets ->
- val types = WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()
+ val types =
+ WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()
val insets = windowInsets.getInsets(types)
view.updatePadding(top = insets.top)
WindowInsetsCompat.Builder(windowInsets)
diff --git a/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadMultiFragment.kt b/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadMultiFragment.kt
index 5a6f12e..d7aeee3 100644
--- a/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadMultiFragment.kt
+++ b/app/src/main/java/com/djangofiles/djangofiles/ui/upload/UploadMultiFragment.kt
@@ -138,7 +138,8 @@ class UploadMultiFragment : Fragment() {
Log.i("Multi[onViewCreated]", "INITIALIZE NEW ADAPTER")
adapter = UploadMultiAdapter(fileUris, selectedUris.toMutableSet()) { updated ->
viewModel.selectedUris.value = updated
- binding.uploadButton.text = getString(R.string.upload_multi, updated.size)
+ binding.uploadButton.text =
+ resources.getQuantityString(R.plurals.upload_multi, updated.size, updated.size)
}
}
@@ -179,7 +180,11 @@ class UploadMultiFragment : Fragment() {
val editRequest = FileEditRequest()
// Upload Button
- binding.uploadButton.text = getString(R.string.upload_multi, selectedUris.size)
+ binding.uploadButton.text = resources.getQuantityString(
+ R.plurals.upload_multi,
+ selectedUris.size,
+ selectedUris.size
+ )
binding.uploadButton.setOnClickListener {
val selectedUris = viewModel.getSelectedUris()
//Log.d("uploadButton", "selectedUris: $selectedUris")
diff --git a/app/src/main/res/layout/fragment_short.xml b/app/src/main/res/layout/fragment_short.xml
index e8a3b8f..d984ba2 100644
--- a/app/src/main/res/layout/fragment_short.xml
+++ b/app/src/main/res/layout/fragment_short.xml
@@ -89,7 +89,8 @@
app:icon="@drawable/md_share_24px"
app:iconSize="24dp"
app:iconGravity="textStart"
- app:iconPadding="0dp" />
+ app:iconPadding="0dp"
+ style="@style/Widget.Material3.Button" />
+ app:iconPadding="0dp"
+ style="@style/Widget.Material3.Button" />
+ app:iconPadding="0dp"
+ style="@style/Widget.Material3.Button" />
+ app:iconSize="28dp"
+ style="@style/Widget.Material3.Button" />
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bab147f..7b61316 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
-
+
Django Files
v%s
%1$s (%2$s)
@@ -20,7 +20,10 @@
File List
App Settings
- Upload %1$d Files
+
+ - Upload %d File
+ - Upload %d Files
+
- %1$d File
- %1$d Files
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index d2d86dd..99c262a 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -27,8 +27,8 @@ moshiKotlinCodegen = "1.15.2"
glide = "5.0.9"
googleServices = "4.5.0"
-firebaseBom = "34.17.0"
-crashlyticsPlugin = "3.0.7"
+firebaseBom = "34.18.0"
+crashlyticsPlugin = "3.0.8"
# navigationSafeargsVersion = "2.8.9"
# roomRuntime = "2.6.1"