From 0e93a33b6664e59e5c3da5ff7c8a7a86bb296dcc Mon Sep 17 00:00:00 2001 From: Emre Esen Date: Sun, 24 Mar 2024 14:30:29 +0300 Subject: [PATCH 1/5] [DEV][service behavior added to notification] --- .../main/java/com/sn/snfilemanager/core/extensions/FileJob.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/sn/snfilemanager/core/extensions/FileJob.kt b/app/src/main/java/com/sn/snfilemanager/core/extensions/FileJob.kt index 3e508d4..43e879a 100644 --- a/app/src/main/java/com/sn/snfilemanager/core/extensions/FileJob.kt +++ b/app/src/main/java/com/sn/snfilemanager/core/extensions/FileJob.kt @@ -22,6 +22,7 @@ fun BaseJob.postNotification( .setOngoing(true) .setOnlyAlertOnce(true) .setCategory(CATEGORY_PROGRESS) + .setForegroundServiceBehavior(NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE) .setProgress(100, progress, false) .build() service.notificationManager.notify(id, notification) From a81fc3831d5443a290a58e2d6b7c1c5b0ad914b7 Mon Sep 17 00:00:00 2001 From: Emre Esen Date: Mon, 8 Apr 2024 14:53:29 +0300 Subject: [PATCH 2/5] [DEV][select all feature is completed] --- CHANGELOG.md | 3 +++ .../feature/files/adapter/FileItemAdapter.kt | 11 +++++++++++ .../feature/files/presentation/FilesListFragment.kt | 4 ++++ .../feature/media/adapter/MediaItemAdapter.kt | 11 +++++++++++ .../feature/media/presentation/MediaFragment.kt | 4 ++++ app/src/main/res/menu/menu_action.xml | 4 ++++ app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 8 files changed, 39 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac4dac4..c82879c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## v1.0.0-beta5 (--.--.--) +* The 'Select All' feature has been added + ## v1.0.0-beta4 (29.02.2024) * Home screen menu arrangement diff --git a/app/src/main/java/com/sn/snfilemanager/feature/files/adapter/FileItemAdapter.kt b/app/src/main/java/com/sn/snfilemanager/feature/files/adapter/FileItemAdapter.kt index 2fe8c2b..b265448 100644 --- a/app/src/main/java/com/sn/snfilemanager/feature/files/adapter/FileItemAdapter.kt +++ b/app/src/main/java/com/sn/snfilemanager/feature/files/adapter/FileItemAdapter.kt @@ -47,6 +47,17 @@ class FileItemAdapter( } } + fun selectAll() { + selectedItems.clear() + selectedItems.addAll(fileItems) + for (fileItem in fileItems) { + fileItem.isSelected = true + onSelected?.invoke(fileItem, true) + } + notifyItemRangeChanged(0, fileItems.size) + selectionCallback?.onUpdateSelection(selectedItems.size) + } + fun finishSelectionAndReset() { for (selectedItem in selectedItems) { val position = fileItems.indexOf(selectedItem) diff --git a/app/src/main/java/com/sn/snfilemanager/feature/files/presentation/FilesListFragment.kt b/app/src/main/java/com/sn/snfilemanager/feature/files/presentation/FilesListFragment.kt index b9600b6..5c619aa 100644 --- a/app/src/main/java/com/sn/snfilemanager/feature/files/presentation/FilesListFragment.kt +++ b/app/src/main/java/com/sn/snfilemanager/feature/files/presentation/FilesListFragment.kt @@ -129,6 +129,10 @@ class FilesListFragment : R.id.action_detail -> { actionDetail() } + + R.id.action_select_all -> { + adapter?.selectAll() + } } return true diff --git a/app/src/main/java/com/sn/snfilemanager/feature/media/adapter/MediaItemAdapter.kt b/app/src/main/java/com/sn/snfilemanager/feature/media/adapter/MediaItemAdapter.kt index a70cd7d..ebbb39c 100644 --- a/app/src/main/java/com/sn/snfilemanager/feature/media/adapter/MediaItemAdapter.kt +++ b/app/src/main/java/com/sn/snfilemanager/feature/media/adapter/MediaItemAdapter.kt @@ -101,6 +101,17 @@ class MediaItemAdapter( return mediaItems.size } + fun selectAll() { + selectedItems.clear() + selectedItems.addAll(mediaItems) + for (mediaItem in mediaItems) { + mediaItem.isSelected = true + onSelected?.invoke(mediaItem, true) + } + notifyItemRangeChanged(0, mediaItems.size) + selectionCallback?.onUpdateSelection(selectedItems.size) + } + private fun startSelection(mediaFile: Media) { selectionCallback?.onStartSelection() isSelectionModeActive = true diff --git a/app/src/main/java/com/sn/snfilemanager/feature/media/presentation/MediaFragment.kt b/app/src/main/java/com/sn/snfilemanager/feature/media/presentation/MediaFragment.kt index 38ceaaf..e1ab3bf 100644 --- a/app/src/main/java/com/sn/snfilemanager/feature/media/presentation/MediaFragment.kt +++ b/app/src/main/java/com/sn/snfilemanager/feature/media/presentation/MediaFragment.kt @@ -120,6 +120,10 @@ class MediaFragment : R.id.action_detail -> { actionDetail() } + + R.id.action_select_all -> { + adapter?.selectAll() + } } return true diff --git a/app/src/main/res/menu/menu_action.xml b/app/src/main/res/menu/menu_action.xml index 452c28f..29ef6ce 100644 --- a/app/src/main/res/menu/menu_action.xml +++ b/app/src/main/res/menu/menu_action.xml @@ -34,5 +34,9 @@ android:title="@string/detail" app:showAsAction="never" /> + \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index ce14d1a..e67fc7a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -27,7 +27,7 @@ Kullanılabilir bellek %s Harici bellek bulunamadı %d öğe seçildi - Hepsini seç + Tümünü seç İptal Resim adını girin Hiçbir şey bulunamadı diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d8ffd53..45d0e39 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,7 +68,7 @@ Selected Item Count Total Size Number Of Children - Open With + Open with No application found to open the file Last Modified Added Date From 0e42a1283b2551aba4507cab6b2cc4f8d07bb763 Mon Sep 17 00:00:00 2001 From: Emre Esen Date: Mon, 8 Apr 2024 14:56:33 +0300 Subject: [PATCH 3/5] [DEV][changelog edited] --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c82879c..436e7de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## v1.0.0-beta5 (--.--.--) -* The 'Select All' feature has been added + +* The 'Select All' feature added +* Notification behavior added ## v1.0.0-beta4 (29.02.2024) From c6a522e4471833253d4f57462017919e9e3d4567 Mon Sep 17 00:00:00 2001 From: Emre Esen Date: Mon, 8 Apr 2024 15:38:29 +0300 Subject: [PATCH 4/5] [DEV][path picker empty case added] --- CHANGELOG.md | 1 + .../pathpicker/presentation/PathPickerFragment.kt | 6 +++++- app/src/main/res/layout/fragment_path_picker.xml | 14 ++++++++++++++ app/src/main/res/values-tr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 436e7de..ff87c33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * The 'Select All' feature added * Notification behavior added +* UI improvement ## v1.0.0-beta4 (29.02.2024) diff --git a/app/src/main/java/com/sn/snfilemanager/feature/pathpicker/presentation/PathPickerFragment.kt b/app/src/main/java/com/sn/snfilemanager/feature/pathpicker/presentation/PathPickerFragment.kt index b7ac4e6..39f3643 100644 --- a/app/src/main/java/com/sn/snfilemanager/feature/pathpicker/presentation/PathPickerFragment.kt +++ b/app/src/main/java/com/sn/snfilemanager/feature/pathpicker/presentation/PathPickerFragment.kt @@ -10,6 +10,8 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.viewModels import com.sn.snfilemanager.R import com.sn.snfilemanager.core.extensions.click +import com.sn.snfilemanager.core.extensions.gone +import com.sn.snfilemanager.core.extensions.visible import com.sn.snfilemanager.core.util.RootPath import com.sn.snfilemanager.databinding.FragmentPathPickerBinding import com.sn.snfilemanager.feature.files.data.toFileModel @@ -70,7 +72,9 @@ class PathPickerFragment(private val pathCallback: ((String?) -> Unit)? = null) with(viewModel) { currentPath = directoryPath updateDirectoryList(directoryPath) - adapter?.setItems(getDirectoryList(directoryPath).map { it.toFileModel() }) + val item = getDirectoryList(directoryPath).map { it.toFileModel() } + if (item.isEmpty()) binding.tvEmpty.visible() else binding.tvEmpty.gone() + adapter?.setItems(item) } } diff --git a/app/src/main/res/layout/fragment_path_picker.xml b/app/src/main/res/layout/fragment_path_picker.xml index eb14bcc..5550978 100644 --- a/app/src/main/res/layout/fragment_path_picker.xml +++ b/app/src/main/res/layout/fragment_path_picker.xml @@ -87,4 +87,18 @@ app:layout_constraintStart_toEndOf="@+id/center_view" app:layout_constraintTop_toTopOf="@id/center_view" /> + + \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index e67fc7a..0c7e9a0 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -103,4 +103,5 @@ Oluştur Klasör adı Bu ada sahip klasör zaten mevcut + Görüntülecek bir klasör yok \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 45d0e39..769461a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -107,4 +107,5 @@ Create Folder name The folder with this name already exists + There is no folder to display \ No newline at end of file From c78441eea53c7f9d22ac4455d49721b715fa929e Mon Sep 17 00:00:00 2001 From: Emre Esen Date: Mon, 8 Apr 2024 15:43:25 +0300 Subject: [PATCH 5/5] [FIX][string fix] --- app/src/main/res/values-tr/strings.xml | 4 ++-- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 0c7e9a0..741d4e8 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -54,7 +54,7 @@ Emin misiniz ? Seçilen dosyalar silinecek Yol seçilmedi - "Burada bir şey yok" + Burada bir şey yok Paylaşım yapabilecek uygulama bulunamadı Maksimum dosya sayısını aştınız Tamam @@ -103,5 +103,5 @@ Oluştur Klasör adı Bu ada sahip klasör zaten mevcut - Görüntülecek bir klasör yok + Görüntülenecek bir klasör yok \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 769461a..9561236 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -58,7 +58,7 @@ Are you sure ? Selected files will be deleted Path not selected - "There is nothing here " + There is nothing here No application found that can share You have exceeded the maximum number of files OK