From 740b82d5f2aa9b748be19d12a21b10f519d5d5e6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 2 Jan 2020 16:58:29 +0100 Subject: [PATCH 01/66] updating the portugal apps short description --- fastlane/metadata/android/pt-rBR/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/pt-rBR/short_description.txt b/fastlane/metadata/android/pt-rBR/short_description.txt index d29c44f98..e87fc131b 100644 --- a/fastlane/metadata/android/pt-rBR/short_description.txt +++ b/fastlane/metadata/android/pt-rBR/short_description.txt @@ -1 +1 @@ -Galeria offline sem anúncios. Organize, edite, e proteja fotos e vídeos. +Procure suas memórias sem interrupções. From fbb20477d6c91029b06f3c0fa7bfd5900cab718d Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 2 Jan 2020 17:11:19 +0100 Subject: [PATCH 02/66] update commons to 5.21.14 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 258f5ead0..317c093b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.9' + implementation 'com.simplemobiletools:commons:5.21.14' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 6234050c7f876d8b0f8c8f50acc39cd156c5d69f Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 2 Jan 2020 17:37:41 +0100 Subject: [PATCH 03/66] fix #1668, properly delete empty folders when appropriate --- .../gallery/pro/activities/MainActivity.kt | 6 ++++++ .../simplemobiletools/gallery/pro/extensions/FileDirItem.kt | 3 +-- .../com/simplemobiletools/gallery/pro/extensions/String.kt | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt index cf7ee98bf..1af9c13d0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt @@ -592,6 +592,12 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { folders.filter { !getDoesFilePathExist(it.absolutePath, OTGPath) }.forEach { mDirectoryDao.deleteDirPath(it.absolutePath) } + + if (config.deleteEmptyFolders) { + folders.filter { !it.absolutePath.isDownloadsFolder() && it.isDirectory && it.toFileDirItem(this).getProperFileCount(this, true) == 0 }.forEach { + tryDeleteFileDirItem(it.toFileDirItem(this), true, true) + } + } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt index 726fcc8a9..c67eebabb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/FileDirItem.kt @@ -1,6 +1,5 @@ package com.simplemobiletools.gallery.pro.extensions -import android.os.Environment import com.simplemobiletools.commons.models.FileDirItem -fun FileDirItem.isDownloadsFolder() = path.equals(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString(), true) +fun FileDirItem.isDownloadsFolder() = path.isDownloadsFolder() diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt index 0d708ce1a..3a8eb02ae 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/String.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.gallery.pro.extensions import android.media.MediaMetadataRetriever +import android.os.Environment import com.simplemobiletools.commons.extensions.doesThisOrParentHaveNoMedia import com.simplemobiletools.commons.helpers.NOMEDIA import java.io.File @@ -70,3 +71,5 @@ fun String.getVideoDuration(): Int { } return seconds } + +fun String.isDownloadsFolder() = equals(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString(), true) From b1b9d111483ff911822ffa52e9caa941dd5a819d Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 2 Jan 2020 19:25:13 +0100 Subject: [PATCH 04/66] do not rely on SOURCE_IMAGE_PATH from the editor, store the original path --- .../gallery/pro/activities/NewEditActivity.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index 4a9adb5ee..4f5174640 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -37,11 +37,11 @@ import kotlin.collections.set class NewEditActivity : SimpleActivity() { private val PESDK_EDIT_IMAGE = 1 private val SETTINGS_LIST = "SETTINGS_LIST" - private val SOURCE_IMAGE_PATH = "SOURCE_IMAGE_PATH" private val RESULT_IMAGE_PATH = "RESULT_IMAGE_PATH" private var sourceFileLastModified = 0L private var destinationFilePath = "" private var imagePathFromEditor = "" // delete the file stored at the internal app storage (the editor saves it there) in case moving to the selected location fails + private var sourceImageUri: Uri? = null private lateinit var uri: Uri private lateinit var saveUri: Uri @@ -102,7 +102,6 @@ class NewEditActivity : SimpleActivity() { override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { if (requestCode == PESDK_EDIT_IMAGE) { val extras = resultData?.extras - val source = extras?.getString(SOURCE_IMAGE_PATH, "") ?: "" imagePathFromEditor = extras?.getString(RESULT_IMAGE_PATH, "") ?: "" val settings = extras?.getParcelable(SETTINGS_LIST) @@ -113,12 +112,19 @@ class NewEditActivity : SimpleActivity() { config.editorBrushSize = brush.brushSize } - if (resultCode != Activity.RESULT_OK || source.isEmpty() || imagePathFromEditor.isEmpty() || source == imagePathFromEditor) { + if (resultCode != Activity.RESULT_OK || sourceImageUri == null || sourceImageUri.toString().isEmpty() || imagePathFromEditor.isEmpty() || sourceImageUri.toString() == imagePathFromEditor) { toast(R.string.image_editing_failed) finish() } else { // the image is stored at the internal app storage first, for example /data/user/0/com.simplemobiletools.gallery.pro/files/editor/IMG_20191207_183023.jpg // first we rename it to the desired name, then move + val sourceString = sourceImageUri?.toString() ?: "" + val source = if (sourceString.isEmpty() || sourceString.startsWith("content")) { + internalStoragePath + } else { + sourceString.substringAfter("file://") + } + SaveAsDialog(this, source, true, cancelCallback = { toast(R.string.image_editing_failed) finish() @@ -173,10 +179,11 @@ class NewEditActivity : SimpleActivity() { } private fun openEditor(inputImage: Uri) { + sourceImageUri = inputImage val filename = inputImage.toString().getFilenameFromPath() val settingsList = createPesdkSettingsList(filename) - settingsList.getSettingsModel(EditorLoadSettings::class.java).imageSource = inputImage + settingsList.getSettingsModel(EditorLoadSettings::class.java).imageSource = sourceImageUri PhotoEditorBuilder(this) .setSettingsList(settingsList) From 9d5565be96ac43b618749384035f69a27a9d0edd Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 2 Jan 2020 23:20:53 +0100 Subject: [PATCH 05/66] do not show Favorites and Recycle bin at the copy destination picker --- .../gallery/pro/activities/WidgetConfigureActivity.kt | 2 +- .../gallery/pro/dialogs/PickDirectoryDialog.kt | 6 ++++-- .../gallery/pro/dialogs/PickMediumDialog.kt | 2 +- .../simplemobiletools/gallery/pro/extensions/Activity.kt | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt index f34a23e9b..d2e1696bb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/WidgetConfigureActivity.kt @@ -150,7 +150,7 @@ class WidgetConfigureActivity : SimpleActivity() { } private fun changeSelectedFolder() { - PickDirectoryDialog(this, "", false) { + PickDirectoryDialog(this, "", false, true) { updateFolderImage(it) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt index c29f1e6b3..cf8f0b89e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt @@ -14,7 +14,8 @@ import com.simplemobiletools.gallery.pro.helpers.VIEW_TYPE_GRID import com.simplemobiletools.gallery.pro.models.Directory import kotlinx.android.synthetic.main.dialog_directory_picker.view.* -class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: String, showOtherFolderButton: Boolean, val callback: (path: String) -> Unit) { +class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: String, showOtherFolderButton: Boolean, val showFavoritesBin: Boolean, + val callback: (path: String) -> Unit) { private var dialog: AlertDialog private var shownDirectories = ArrayList() private var allDirectories = ArrayList() @@ -88,7 +89,8 @@ class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: Stri if (allDirectories.isEmpty()) { allDirectories = newDirs.clone() as ArrayList } - val distinctDirs = newDirs.distinctBy { it.path.getDistinctPath() }.toMutableList() as ArrayList + + val distinctDirs = newDirs.filter { showFavoritesBin || (!it.isRecycleBin() && !it.areFavorites()) }.distinctBy { it.path.getDistinctPath() }.toMutableList() as ArrayList val sortedDirs = activity.getSortedDirectories(distinctDirs) val dirs = activity.getDirsToShow(sortedDirs, allDirectories, currentPathPrefix).clone() as ArrayList if (dirs.hashCode() == shownDirectories.hashCode()) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt index 99509354b..036b1eadf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt @@ -54,7 +54,7 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c } private fun showOtherFolder() { - PickDirectoryDialog(activity, path, true) { + PickDirectoryDialog(activity, path, true, true) { callback(it) dialog.dismiss() } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt index c2f273e6c..dfdafcc8c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Activity.kt @@ -208,7 +208,7 @@ fun BaseSimpleActivity.tryCopyMoveFilesTo(fileDirItems: ArrayList, } val source = fileDirItems[0].getParentPath() - PickDirectoryDialog(this, source, true) { + PickDirectoryDialog(this, source, true, false) { val destination = it handleSAFDialog(source) { if (it) { From 79c5e239e9489b76944edb2c0a0f40e5463634bb Mon Sep 17 00:00:00 2001 From: siswonugroho <33504481+siswonugroho@users.noreply.github.com> Date: Fri, 3 Jan 2020 18:17:08 +0700 Subject: [PATCH 06/66] Update Indonesian translation Translated new editor strings --- app/src/main/res/values-id/strings.xml | 128 ++++++++++++------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 5a1f4ce34..f0eb5588e 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -203,85 +203,85 @@ Ubah visibilitas berkas - Custom + Bebas Reset - Square - Transform + Persegi + Ukuran Filter - None - Adjust - Shadows - Exposure - Highlights - Brightness - Contrast - Saturation - Clarity + Tidak ada + Sesuaikan + Bayangan + Eksposur + Sorotan + Kecerahan + Kontras + Saturasi + Perjelas Gamma - Blacks - Whites - Temperature - Sharpness + Hitam + Putih + Suhu + Ketajaman Reset - Focus - None + Fokus + Tidak ada Radial Linear - Mirrored + Cermin Gaussian - Text - Text Options - Text Color + Teks + Opsi Teks + Warna Teks Font - Add + Tambah Edit - Straighten + Luruskan Font - Color - BG Color - Alignment - To Front - Delete - Your text - Brush - Color - Size - Hardness - To Front - Delete - Brush Color + Warna + Warna BG + Perataan + Ke Depan + Hapus + Ketik teks + Kuas + Warna + Ukuran + Kekerasan + Ke Depan + hapus + Warna Kuas Editor - Close Editor? - Do you really want to discard the image? - Yes - No - Cancel - Accept - Save - Exporting image… - Exporting image %s. - Flip H - Flip V - Undo - Redo - Color Picker - Transparent - White - Gray - Black - Light blue - Blue - Purple + Tutup Editor? + Buang perubahan pada gambar? + Ya + Tidak + Batal + Terima + Simpan + Mengekspor gambar… + Mengekspor gambar %s. + Balik H + Balik V + Urungkan + Ulangi + Pemilih Warna + Transparan + Putih + Abu-abu + Hitam + Biru cerah + Biru + Ungu Orchid Pink - Red - Orange - Gold - Yellow + Merah + Oranye + Emas + Kuning Olive - Green + Hijau Aquamarin - Pipettable color + Warna pipet Bagaimana cara menjadikan Simple Gallery sebagai aplikasi galeri default? From f2d4d81d1b63e1fa2d3fcb1394bc34bace1fd744 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 3 Jan 2020 19:17:07 +0100 Subject: [PATCH 07/66] adding a new proguard rule for renderscript --- app/proguard-rules.pro | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 200ec8081..763f4ff3b 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -12,3 +12,9 @@ -keepclassmembers class * implements android.os.Parcelable { static ** CREATOR; } + +# RenderScript +-keepclasseswithmembernames class * { +native ; +} +-keep class androidx.renderscript.** { *; } From 68880a4fed6c8e14c440a246f4f8891a9d95abc8 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 3 Jan 2020 21:13:59 +0100 Subject: [PATCH 08/66] update commons to 5.21.17 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 317c093b1..2c5ce1f90 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.14' + implementation 'com.simplemobiletools:commons:5.21.17' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 38bd15bd2cba71070c5f4cee61a856205cf129b3 Mon Sep 17 00:00:00 2001 From: unbranched Date: Sat, 4 Jan 2020 11:59:59 +0100 Subject: [PATCH 09/66] Italian translation update --- app/src/main/res/values-it/strings.xml | 156 ++++++++++++------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7f4a943c2..cc911c85e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -42,7 +42,7 @@ GIF Immagini RAW SVG - Portraits + Ritratti Nessun file trovato con il filtro selezionato. Cambia filtro @@ -203,85 +203,85 @@ Attiva / disattiva la visibilità dei file - Custom - Reset - Square - Transform - Filter - None - Adjust - Shadows - Exposure - Highlights - Brightness - Contrast - Saturation - Clarity + Libera + Reimposta + Quadrato + Trasformazione + Filtro + Nessuno + Regolazione + Ombre + Esposizione + Luci + Luminosità + Contrasto + Saturazione + Chiarezza Gamma - Blacks - Whites - Temperature - Sharpness - Reset - Focus - None - Radial - Linear - Mirrored - Gaussian - Text - Text Options - Text Color - Font - Add - Edit - Straighten - Font - Color - BG Color - Alignment - To Front - Delete - Your text - Brush - Color - Size - Hardness - To Front - Delete - Brush Color + Neri + Bianchi + Temperatura + Nitidezza + Ripristina + Fuoco + Nessuno + Radiale + Lineare + Speculare + Gaussiano + Testo + Opzioni testo + Colore testo + Carattere + Aggiungi + Modifica + Raddrizza + Carattere + Colore + Colore sfondo + Allineamento + Porta davanti + Elimina + Il tuo testo + Pennello + Colore + Dimensione + Durezza + Porta davanti + Elimina + Colore pennello Editor - Close Editor? - Do you really want to discard the image? - Yes + Chiudere l\'editor? + Vuoi veramente scartare l\'immagine? + No - Cancel - Accept - Save - Exporting image… - Exporting image %s. - Flip H - Flip V - Undo - Redo - Color Picker - Transparent - White - Gray - Black - Light blue - Blue - Purple - Orchid - Pink - Red - Orange - Gold - Yellow - Olive - Green - Aquamarin - Pipettable color + Annulla + Accetta + Salva + Esportazione immagine… + Esportazione immagine %s. + Capovolgi O + Capovolgi V + Annulla + Ripeti + Selettore colore + Trasparente + Bianco + Grigio + Nero + Azzurro + Blu + Viola + Orchidea + Rosa + Rosso + Arancione + Oro + Giallo + Oliva + Verde + Acquamarina + Colore pipettabile Come posso impostare Semplice Galleria come la galleria predefinita del dispositivo? @@ -319,7 +319,7 @@ Semplice Galleria Pro - gestore di foto & editor - Browse your memories without any interruptions. + Sfoglia le tue memorie senza alcuna interruzione. Semplice Galleria Pro è una galleria offline altamente personalizzabile. Organizza, modifica le tue foto, recupera file con il cestino, progetti e nascondi file e visualizza una grande varietà di formati foto e video, inclusi RAW, SVG e molti altri. From f55593700fa411d8a2d10d9e45f2376435cf78e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solatec=20Inform=C3=A0tica?= <35220662+Solatec@users.noreply.github.com> Date: Sat, 4 Jan 2020 15:29:02 +0100 Subject: [PATCH 10/66] Update strings.xml --- app/src/main/res/values-ca/strings.xml | 136 ++++++++++++------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 3c079f438..b8a4097a3 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -203,85 +203,85 @@ Activa la visibilitat del fitxer - Custom - Reset - Square - Transform - Filter - None - Adjust - Shadows - Exposure - Highlights - Brightness + Personalitzat + Reiniciar + Quadrat + Transformar + Filtrar + No + Ajustar + Ombres + Exposició + Destacat + Brillantor Contrast - Saturation - Clarity + Saturació + Claredat Gamma - Blacks - Whites - Temperature - Sharpness - Reset + Negres + Blancs + Temperatura + Nitidessa + Restablir Focus - None + No Radial - Linear - Mirrored - Gaussian + Lineal + Emmirallat + Gaussià Text - Text Options - Text Color + Opcions de Text + Color de Text Font - Add - Edit - Straighten - Font + Afegir + Editar + Allisar + Lletra Color - BG Color - Alignment - To Front - Delete - Your text - Brush + Color de fons + Alineació + Al davant + Eliminar + El teu text + Pinzell Color - Size - Hardness - To Front - Delete - Brush Color + Mida + Duresa + Al davant + Eliminar + de pinzellColor Editor - Close Editor? - Do you really want to discard the image? - Yes + Tancar Editor? + Vols realment descartar la imatge? + Si No - Cancel - Accept - Save - Exporting image… - Exporting image %s. - Flip H - Flip V - Undo - Redo - Color Picker + Cancel·lar + Acceptar + Desar + Exportar imatge… + Exportant imatge %s. + Voltejar H + Voltejar V + Desfer + Refer + Selector de colors Transparent - White - Gray - Black - Light blue - Blue - Purple - Orchid - Pink - Red - Orange - Gold - Yellow - Olive - Green - Aquamarin - Pipettable color + Blanc + Gris + Negre + Blau clar + Blau + Porpre + Orquídia + Rosa + Vermell + Taronja + Or + Groc + Oliva + Verd + Aiguamarina + Pipetejat de color Com puc fer que Simple Gallery sigui la galeria de dispositius predeterminada? From 37bd0105e882c6ed7fe83190a4cac882a4c62396 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 4 Jan 2020 15:42:26 +0100 Subject: [PATCH 11/66] updating the apps italian short description --- fastlane/metadata/android/it/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/it/short_description.txt b/fastlane/metadata/android/it/short_description.txt index 14614d0a9..0f202fe9e 100644 --- a/fastlane/metadata/android/it/short_description.txt +++ b/fastlane/metadata/android/it/short_description.txt @@ -1 +1 @@ -Galleria offline senza pubblicità. Organizza, modifica e proteggi foto e video +Sfoglia le tue memorie senza alcuna interruzione. From c0194d5db6a820922ac9ff0f57b419769effcbc1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 4 Jan 2020 17:40:30 +0100 Subject: [PATCH 12/66] update commons to 5.21.19 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 2c5ce1f90..993e5b6bb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.17' + implementation 'com.simplemobiletools:commons:5.21.19' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 3055a50516f23b136132bd4f52433e3765f3c24a Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 4 Jan 2020 17:50:18 +0100 Subject: [PATCH 13/66] update version to 6.11.5 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 993e5b6bb..a01211fdc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 284 - versionName "6.11.4" + versionCode 285 + versionName "6.11.5" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From 6a9177c54e57a52425ea639f82cddb69521ef421 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 4 Jan 2020 17:50:27 +0100 Subject: [PATCH 14/66] updating changelog --- CHANGELOG.md | 7 +++++++ fastlane/metadata/android/en-US/changelogs/285.txt | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/285.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bfb648ea..1475d215e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========== +Version 6.11.5 *(2020-01-04)* +---------------------------- + + * Fixed a few SD card related issues + * Fixed some theming issues + * Added some UI and translation improvements + Version 6.11.4 *(2019-12-27)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/285.txt b/fastlane/metadata/android/en-US/changelogs/285.txt new file mode 100644 index 000000000..abad491dc --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/285.txt @@ -0,0 +1,3 @@ + * Fixed a few SD card related issues + * Fixed some theming issues + * Added some UI and translation improvements From 21722b0c3a91e5cdf6a660fb5c67eacce2a8b85e Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 6 Jan 2020 12:16:59 +0100 Subject: [PATCH 15/66] tweaking the apps short description, make it longer --- app/src/main/res/values-ar/strings.xml | 2 +- app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fi/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-id/strings.xml | 2 +- app/src/main/res/values-in/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko-rKR/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sl/strings.xml | 2 +- app/src/main/res/values-sr/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rHK/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 95ab576ab..344bcce6b 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -317,7 +317,7 @@ المعرض البسيط الـ Pro - محرر ومدير الصور - تصفح ذكرياتك دون اي انقطاع. + Browse your memories without any interruptions with this photo and video gallery (تطبيق المعرض البسيط الـ Pro) هو معرض بدون إنترنت قابل للتخصيص بدرجة كبيرة يتمتع بتنظيم الصور وتحريرها وإستعادة الملفات المحذوفة من خلال "سلة المحذوفات" وحماية الملفات وإخفاؤها وعرض مجموعة كبيرة من تنسيقات الصور والفيديو المختلفة بما في ذلك تنسيقات RAW و SVG وغير ذلك الكثير. diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 6ab4d33ec..449778d15 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index b8a4097a3..673ca5601 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Navegueu pels vostres records sense interrupcions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro és una galeria fora de línia altament personalitzable. Organitza i edita les teves fotos, recupera fitxers suprimits amb la paperera de reciclatge, protegeix i amaga fitxers, mostra una gran varietat de formats de foto i vídeo incloent RAW, SVG i molt més. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 0de30b260..2e17b6791 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -319,7 +319,7 @@ Jednoduchá Galerie Pro - Organizér a editor fotografií - Prohlížejte své vzpomínky bez přerušení. + Browse your memories without any interruptions with this photo and video gallery Jednoduchá Galerie Pro je vysoce přizpůsobitelná offline galerie. Organizujte a upravujte své fotografie, obnovujte smazané fotografie s funkcí odpadkového koše, chraňte je a skrývejte. Prohlížejte množství různých foto a video formátů včetně RAW, SVG a mnoho dalších. diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 03cd3e395..a4fc7e372 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Billedhåndtering - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro er et offline-galleri med mange tilpasningsmuligheder. Organiser og rediger dine billeder, gendan slettede filer via papirkurven, beskyt og skjul filer og se adskillige forskellige billed- og videoformater inklusiv RAW, SVG og mange flere. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f22771d90..c5dd78fa9 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -318,7 +318,7 @@ Schlichte Galerie Pro - Foto Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Schlichte Galerie Pro ist eine stark individualisierbare Offline Galerie. Ordne & bearbeite deine Fotos, stelle gelöschte Fotos mit Hilfe des Papierkorbs wieder her, schütze & verstecke Dateien und zeige eine Vielzahl von Bilder- & Videoformaten an, unter anderem RAW, SVG und viele mehr. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c75db686e..14105403d 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -320,7 +320,7 @@ ΑΠΛΗ ΣΥΛΛΟΓΗ Pro - Διαχείριση & Επεξεργασία - Ξεφυλλίστε τις αναμνήσεις σας χωρίς διακοπές. + Browse your memories without any interruptions with this photo and video gallery Η Απλή Συλλογή Pro είναι χωρίς σύνδεση και εξαιρετικά προσαρμόσιμη. Οργανώστε και επεξεργαστείτε τις φωτογραφίες σας, ανακτήσετε διαγραμμένα αρχεία απο τον κάδο ανακύκλωσης, προστατεύσετε και αποκρύψτε αρχεία, προβάλετε πλήθος διαφορετικών φωτογραφιών και μορφών βίντεο, συμπεριλαμβανομένων των RAW, SVG και πολλών άλλων. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index e1ac72856..cee120d37 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Gestor y editor de fotos - Explore sus recuerdos sin interrupciones. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro es una galería altamente personalizable disponible sin conexión. Organiza y edita tus fotos, recupera archivos eliminados con la papelera de reciclaje, protege y oculta archivos y mira una gran variedad de diferentes formatos de fotos y videos incluyendo RAW, SVG y muchos más. diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 3a4f6ffdf..ec6c7a99e 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 20ee4def5..2f372892e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -317,7 +317,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index fa073d954..dc9b48aa7 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index f219ee7c4..ebb3c745c 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index b42e97172..35bd4c7e3 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -321,7 +321,7 @@ Ezzel csak a kiválasztott mappák láthatók, mivel a kizárás és a befoglal Simple Gallery Pro - Photo Manager & Editor - Böngészés az emlékek közt megszakítás nélkül. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index f0eb5588e..6536c8373 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Pengelola & Penyunting Foto - Menampilkan semua kenangan anda tanpa gangguan. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro adalah aplikasi galeri luring yang sangat mudah diubahsuai. Mengelola & menyunting foto anda, memulihkan berkas yang terhapus dari keranjang sampah, melindungi & menyembunyikan berkas, dan menampilkan banyak format foto & video, diantaranya RAW, SVG dan masih banyak lainnya. diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 5a1f4ce34..21a731990 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Pengelola & Penyunting Foto - Menampilkan semua kenangan anda tanpa gangguan. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro adalah aplikasi galeri luring yang sangat mudah diubahsuai. Mengelola & menyunting foto anda, memulihkan berkas yang terhapus dari keranjang sampah, melindungi & menyembunyikan berkas, dan menampilkan banyak format foto & video, diantaranya RAW, SVG dan masih banyak lainnya. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index cc911c85e..898992fdb 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -319,7 +319,7 @@ Semplice Galleria Pro - gestore di foto & editor - Sfoglia le tue memorie senza alcuna interruzione. + Browse your memories without any interruptions with this photo and video gallery Semplice Galleria Pro è una galleria offline altamente personalizzabile. Organizza, modifica le tue foto, recupera file con il cestino, progetti e nascondi file e visualizza una grande varietà di formati foto e video, inclusi RAW, SVG e molti altri. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 780b1244b..108f8bd18 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 1aae7ab77..bf2c14a64 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 568060164..7a8138d85 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 85b68bb6c..e0172c233 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8361c816a..b15bb8853 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -319,7 +319,7 @@ Eenvoudige Galerij Pro - Foto’s Beheren & Bewerken - Navigeer zonder afleidingen door al uw herinneringen. + Browse your memories without any interruptions with this photo and video gallery Eenvoudige Galerij Pro is een volledig aan te passen offline galerij. Organiseer & bewerk foto’s, herstel verwijderde bestanden met de prullenbakfunctie, beveilig & verberg items en bekijk een enorme hoeveelheid aan foto- & videoformaten, waaronder RAW, SVG en nog veel meer. diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f916718a3..62cbd7aad 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -317,7 +317,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro to wysoce konfigurowalna galeria. Przeglądaj i edytuj swoje zdjęcia, dzięki funkcji kosza z łatwością odzyskuj przypadkowo (lub nie) ususnięte pliki, chroń je i ukrywaj dzięki różnym metodom zabezpieczeń. Nie martw się o obsługiwane formaty - wśród nich są m.in. RAW, SVG i wiele więcej. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ac6970a1c..431a95a28 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -318,7 +318,7 @@ Simple Galeria Pro - Gerenciador de Imagens - Procure suas memórias sem interrupções. + Browse your memories without any interruptions with this photo and video gallery A Simple Galeria Pro é uma galeria de imagens e vídeos altamente customizável. Organize e edite suas fotos e vídeos, recupere arquivos movidos para a lixeira, proteja e oculte seus arquivos, e visualize arquivos em uma grande variedade de formatos, incluindo RAW, SVG, e muito mais. Este app não inclui anúncios ou permissões desnecessárias e também não acessa a internet. Sua privacidade está protegida. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 59101c006..bf4a80ddd 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Editor e gestor de fotos - Explore as suas memórias sem interrupções. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro é uma aplicação local para gerir fotos e vídeos. Pode organizar e editar as suas fotos, recuperar ficheiros através da reciclagem, proteger e ocultar ficheiros e ver imagens e vídeos disponíveis em vários formatos tais como RAW, SVG e muito mais. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 5db3b5b4e..30aa6d796 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -319,7 +319,7 @@ Галерея Pro - управление изображениями - Просматривайте свои воспоминания без перерывов. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro — настраиваемая автономная галерея. Организуйте и редактируйте свои фотографии; восстанавливайте удалённые файлы при помощи функции "корзина"; защищайте и скрывайте личные файлы; просматривайте множество различных фото- и видеоформатов, включая RAW, SVG и многие другие. diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 968c47c60..0a1a3c2e2 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -319,7 +319,7 @@ Jednoduchá galéria Pro - Foto organizér a editor - Prehliadajte svoje spomienky bez prerušenia. + Prehliadajte svoje spomienky bez prerušenia s touto foto a video galériou. Jednoduchá Galéria Pro je vysoko prispôsobiteľná offline galéria. Organizujte a upravujte vaše fotky, obnovujte vymazané súbory pomocou odpadkového koša, ochraňujte a skrývajte ich, alebo prehliadajte množstvo rôznych foto a video formátov vrátane RAW, SVG a mnoho ďalších. diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 197c49554..58c3230db 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Pregledovalnik fotografij - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro je visoko prilagodljiva lokalna galerija. Organizirajte & urejajte vaše fotografije, vrnite izbrisane datoteke iz koša, zaščitite & skrijte datoteke in pregledujte ogromno različnih vrst foto & video formatov, vključujoč RAW, SVG in mnoge druge. diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index d6cf72ebc..0a5ab8092 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Једноставна галерија Про је високо прилагодљива галерија којој није неопходан интернет да би радила. Организуј и измени своје слике, опорави обрисане датотеке са кантом за отпатке, заштити и сакриј датотеке имај увид у огромну количину различитих фотографија и видео формата укључујући RAW, SVG и многих других. diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index cbe6289c3..8f4342a62 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index bbf693c31..bb700f47a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -319,7 +319,7 @@ Basit Galeri Pro - Fotoğraf Yönetici & Düzenleyici - Anılarınıza kesintisiz göz atın. + Browse your memories without any interruptions with this photo and video gallery Basit Galeri Pro, özelleştirilebilir bir çevrimdışı galeridir. Fotoğraflarınızı düzenleyin ve organize edin, geri dönüşüm kutusuyla silinen dosyaları kurtarın, dosyaları koruyun ve gizleyin ve RAW, SVG ve çok daha fazlası dahil olmak üzere çok çeşitli fotoğraf ve video formatlarını görüntüleyin. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index c29acb22a..b30d57e3f 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - фотоменеджер і редактор - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro - це офлайн-галерея з великою кількістю налаштувань. Впорядковуйте та редагуйте ваші фото, відновлюйте видалені файли з кошика, захищайте та приховуйте файли і переглядайте фото і відео різноманітних форматів, включаючи RAW, SVG та багато іншого. diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 1dfd43ac9..f35990c78 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Trình quản lý ảnh & biên tập - Duyệt khoảnh khắc của bạn mà không có bất kỳ gián đoạn. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro là một bộ sưu tập ngoại tuyến có khả năng tùy biến cao. Tổ chức & chỉnh sửa ảnh của bạn, khôi phục các tệp đã xóa bằng thùng rác, bảo vệ & ẩn các tệp và xem được nhiều định dạng ảnh & video bao gồm RAW, SVG và nhiều hơn nữa.          Ứng dụng này không chứa quảng cáo và các quyền không cần thiết. Vì ứng dụng không có yêu cầu truy cập internet, quyền riêng tư của bạn sẽ được bảo vệ. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 97d1713ca..d2c68ffe9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -317,7 +317,7 @@ 简约图库 Pro - 图片管理 & 编辑 - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery 简约图库 Pro 是一个高度可定制的图库。管理并编辑你的照片,从回收站中恢复已删除的照片,保护并隐藏文件,查看RAW,SVG等等多种照片和视频格式。 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 66b761c8a..037f78856 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -319,7 +319,7 @@ 簡易相簿 Pro - 相片管理&編輯器 - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery 簡易相簿Pro是一個高度自訂化的離線相簿。整理和編輯你的照片,從回收桶恢復刪除的檔案,保護和隱藏檔案,以及瀏覽大量不同的照片&影片格式,包含RAW、SVG…等更多。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 62c2ab62d..07dc7d737 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -319,7 +319,7 @@ 簡易相簿 Pro - 相片管理&編輯器 - 毫無阻礙地瀏覽您的回憶。 + Browse your memories without any interruptions with this photo and video gallery 簡易相簿Pro是一個高度自訂化的離線相簿。整理和編輯你的照片,從回收桶恢復刪除的檔案,保護和隱藏檔案,以及瀏覽大量不同的照片&影片格式,包含RAW、SVG…等更多。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4f949f7c1..2e8c6d123 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Photo Manager & Editor - Browse your memories without any interruptions. + Browse your memories without any interruptions with this photo and video gallery Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. From 26162cc665650081395b86f8fd2afd3a22c49bd1 Mon Sep 17 00:00:00 2001 From: spkprs Date: Mon, 6 Jan 2020 15:24:26 +0300 Subject: [PATCH 16/66] Update strings.xml --- app/src/main/res/values-el/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 14105403d..aa1793702 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -320,7 +320,7 @@ ΑΠΛΗ ΣΥΛΛΟΓΗ Pro - Διαχείριση & Επεξεργασία - Browse your memories without any interruptions with this photo and video gallery + Περιηγηθείτε στις αναμνήσεις σας χωρίς διακοπές με αυτήν τη συλλογή φωτό & βίντεο Η Απλή Συλλογή Pro είναι χωρίς σύνδεση και εξαιρετικά προσαρμόσιμη. Οργανώστε και επεξεργαστείτε τις φωτογραφίες σας, ανακτήσετε διαγραμμένα αρχεία απο τον κάδο ανακύκλωσης, προστατεύσετε και αποκρύψτε αρχεία, προβάλετε πλήθος διαφορετικών φωτογραφιών και μορφών βίντεο, συμπεριλαμβανομένων των RAW, SVG και πολλών άλλων. From d2d762ae06dd328854eee83e2df8c0dbc162b4ef Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 6 Jan 2020 14:18:07 +0100 Subject: [PATCH 17/66] updating the greek app short desc --- fastlane/metadata/android/el/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/el/short_description.txt b/fastlane/metadata/android/el/short_description.txt index 67f7afb67..400c185f3 100644 --- a/fastlane/metadata/android/el/short_description.txt +++ b/fastlane/metadata/android/el/short_description.txt @@ -1 +1 @@ -Ξεφυλλίστε τις αναμνήσεις σας χωρίς διακοπές. +Περιηγηθείτε στις αναμνήσεις σας χωρίς διακοπές με αυτήν τη συλλογή φωτό &βίντεο From 3a10166b8aedaab0e2a9b81a3d7d9988f2a52a42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hevesi=20J=C3=A1nos?= <44799533+hevesij@users.noreply.github.com> Date: Mon, 6 Jan 2020 17:32:38 +0100 Subject: [PATCH 18/66] Update strings.xml --- app/src/main/res/values-hu/strings.xml | 54 +++++++++----------------- 1 file changed, 19 insertions(+), 35 deletions(-) diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 35bd4c7e3..9fd480f32 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -33,8 +33,7 @@ Sikeres dátum javítás Átméretezett verzió megosztása Hey,\n\nseems like you upgraded from the old free app. You can now uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings.\n\nYou will only have the Recycle bin items deleted, favorite items unmarked and you will also have to reset your app settings.\n\nThanks! - Switch to file search across all visible folders - + Váltás a fájlkeresésre az összes látható mappában Média szűrő Kép @@ -45,7 +44,6 @@ Portraits A kiválasztott szűrők nem találtak médiafájlokat. Szűrők változtatása - Ez a funkció elrejti a mappát egy \'.nomedia\' fájl hozzáadásával, és elrejti az almappákat is. Láthatóvá teheti ezeket a Beállítások \"Mutassa a rejtett elemeket\" menüpontban. Folytatja? Kizárás @@ -59,14 +57,12 @@ Rejtett mappák Rejtett mappák kezelése Úgy tűnik, a mappái nincsenek elrejtve egy \".nomedia\" fájllal. - Befoglalt mappák Befoglalt mappák kezelése Mappa hozzáadása Ha vannak olyan mappák, amelyek média fájlokat tartalmaznak, de az alkalmazás nem ismerte fel, akkor kézzel is hozzáadhatja ezeket.\n\nAz elemek hozzáadása nem zár ki más mappákat. Nem talált médiafájlokat. Ezt megoldhatja a médiafájlokat tartalmazó mappák manuális hozzáadásával. - Átméretezés Kiválasztás átméretezése és mentés @@ -74,7 +70,6 @@ Magasság Képarány megtartása Írjon be érvényes felbontást - Szerkesztő Mentés @@ -82,7 +77,7 @@ Elérési útvonal Érvénytelen kép elérési útvonal Sikertelen kép szerkesztés - File edited successfully + A fájl szerkesztése sikerült Kép szerkesztés ezzel: Nem található kép szerkesztő Ismeretlen fájl hely @@ -97,7 +92,6 @@ Egyéb - Simple Wallpaper Beállítás háttérképként @@ -110,7 +104,6 @@ Kezdő képernyő Zárolás képernyő Kezdő és zárolás képernyő - Diavetítés Időköz (másodperc): @@ -126,13 +119,11 @@ Csúsztatás A diavetítés vége A diavetítéshez nem található média - Nézet típus változtatása Rács Lista Közvetlen almappa csoport - Csoportosítás Nincs csoportosítás @@ -146,11 +137,9 @@ Fájl típus Kiterjesztés Kérjük, vegye figyelembe, hogy a csoportosítás és a rendezés 2 egymástól független mező - Mappa mutatása a widgeten: Mutassa a mappa nevét - Automatikus videó lejátszás Emlékezzen a videó utolsó lejátszási pozícióra @@ -192,26 +181,23 @@ Kiegyensúlyozott Kerülje az érvénytelen fájlok mutatását Mutassa a kép fájl típusokat - Miniatűrök Teljes képernyős média Bővített részletek Gomb műveletek - Látható gomb műveletek kezelése Kedvencek módosítása Fájl láthatóság módosítása - Egyéni - Reset + Alaphelyzetbe Square Transform Szűrő Nincs - Adjust + Beállít Árnyékok Exposure Highlights @@ -224,7 +210,7 @@ Whites Színhőmérséklet Élesség - Reset + Alaphelyzetbe Fókusz Nincs Radial @@ -242,31 +228,31 @@ Szín Háttérszín Igazítás - To Front + Előre Törlés Saját szöveg - Brush + Ecset Szín Méret - Hardness - To Front + Keménység + Előre Törlés - Brush Color + Ecset színe Szerkesztő - Close Editor? - Do you really want to discard the image? + Bezárja a szerkesztőt? + Valóban el akarja dobni a képet? Igen Nem Mégsem - Accept + Elfogad Mentés - Exporting image… - Exporting image %s. - Flip H - Flip V + Kép exportálása... + %s kép exportálása + Tükrözés vízszintesen + Tükrözés függőlegesen Visszavonás - Redo - Color Picker + Visszavom + Színválasztó Áttetsző Fehér Szürke @@ -284,7 +270,6 @@ Zöld Aquamarin Pipetta szín - Hogyan tudom beállítani a Simple Gallery-t alapértelmezett galériának? Először meg kell találnia az alapértelmezett galériát az eszköz beállításainak Alkalmazások részében. Keressen egy olyan gombot, amely valami olyasmit, mint az \"Legyen alapértelmezett\", kattintson rá, majd válassza a \"Alapértelmezések törlése\" pontot. @@ -316,7 +301,6 @@ Ezzel csak a kiválasztott mappák láthatók, mivel a kizárás és a befoglal A rejtett elemek megtekintéséhez nyomja meg a \"Rejtettek ideiglenes mutatása\" elemet a fő képernyőn, vagy válassza a \"Mutassa a rejtett elemeket\" az alkalmazás beállításaiban. Ha meg akarja szüntetni, csak hosszan nyomja meg, és válassza a \"Elrejtés megszüntetés\" lehetőséget. A mappák elrejtése egy rejtett \". nomedia\" fájl hozzáadásával történik. Ezt a fájlt bármelyik fájlkezelővel is törölheti. Miért használ az alkalmazás ennyi helyet? Az alkalmazás gyorsítótára akár a 250 MB-ot is meghaladhatja, és ez gyorsabb megjelenítést biztosít. Ha az alkalmazás még több helyet foglal el, a legvalószínűbb oka, hogy a Lomtárban is van elem. Ezek a fájlok is az alkalmazás méretébe számítanak bele. Törölheti a Lomtárat azzal, hogy megnyitja és törli az összes fájlt vagy az alkalmazás beállításait. A Lomtárban lévő minden fájl 30 nap elteltével automatikusan törlődik. - Simple Gallery Pro - Photo Manager & Editor From 305264654af02630e402ad29c7173891b5e83ba2 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Mon, 6 Jan 2020 19:50:04 +0100 Subject: [PATCH 19/66] Dutch --- app/src/main/res/values-nl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index b15bb8853..922dd0b3f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -319,7 +319,7 @@ Eenvoudige Galerij Pro - Foto’s Beheren & Bewerken - Browse your memories without any interruptions with this photo and video gallery + Navigeer met deze galerij zonder afleidingen door al je herinneringen Eenvoudige Galerij Pro is een volledig aan te passen offline galerij. Organiseer & bewerk foto’s, herstel verwijderde bestanden met de prullenbakfunctie, beveilig & verberg items en bekijk een enorme hoeveelheid aan foto- & videoformaten, waaronder RAW, SVG en nog veel meer. From 5880415f3bcb02c9bf64bbd71731139c2a7c11d2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 6 Jan 2020 20:49:24 +0100 Subject: [PATCH 20/66] updating the apps dutch short description --- fastlane/metadata/android/nl/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/nl/short_description.txt b/fastlane/metadata/android/nl/short_description.txt index 025e75925..b0c2add72 100644 --- a/fastlane/metadata/android/nl/short_description.txt +++ b/fastlane/metadata/android/nl/short_description.txt @@ -1 +1 @@ -Navigeer zonder afleidingen door al uw herinneringen. +Navigeer met deze galerij zonder afleidingen door al je herinneringen From d8af54b538dbc20ab5e7825853685751819bc4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solatec=20Inform=C3=A0tica?= <35220662+Solatec@users.noreply.github.com> Date: Tue, 7 Jan 2020 10:33:22 +0100 Subject: [PATCH 21/66] Update strings.xml --- app/src/main/res/values-es/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index cee120d37..3b0c92a89 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -319,7 +319,7 @@ Simple Gallery Pro - Gestor y editor de fotos - Browse your memories without any interruptions with this photo and video gallery + Explore sus recuerdos sin interrupciones con esta galeria de foto y vídeo Simple Gallery Pro es una galería altamente personalizable disponible sin conexión. Organiza y edita tus fotos, recupera archivos eliminados con la papelera de reciclaje, protege y oculta archivos y mira una gran variedad de diferentes formatos de fotos y videos incluyendo RAW, SVG y muchos más. From 94ab013b6bfeef6b548049ba2db9c4d73d2c0205 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 7 Jan 2020 18:51:37 +0100 Subject: [PATCH 22/66] updating the spanish app short description --- fastlane/metadata/android/es/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/es/short_description.txt b/fastlane/metadata/android/es/short_description.txt index 56250b41d..19cbec0ad 100644 --- a/fastlane/metadata/android/es/short_description.txt +++ b/fastlane/metadata/android/es/short_description.txt @@ -1 +1 @@ -Explore sus recuerdos sin interrupciones. +Explore sus recuerdos sin interrupciones con esta galeria de foto y vídeo From e68a4ae99b51e88a0457b5925568a7288bbbc58f Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Jan 2020 10:08:41 +0100 Subject: [PATCH 23/66] decode the file path UI after editing an image --- .../simplemobiletools/gallery/pro/activities/NewEditActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index 4f5174640..e9dd88135 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -118,7 +118,7 @@ class NewEditActivity : SimpleActivity() { } else { // the image is stored at the internal app storage first, for example /data/user/0/com.simplemobiletools.gallery.pro/files/editor/IMG_20191207_183023.jpg // first we rename it to the desired name, then move - val sourceString = sourceImageUri?.toString() ?: "" + val sourceString = Uri.decode(sourceImageUri.toString())?.toString() ?: "" val source = if (sourceString.isEmpty() || sourceString.startsWith("content")) { internalStoragePath } else { From bb3f39737e484f7bb36f970f52fd089e6ab52e07 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Jan 2020 19:31:44 +0100 Subject: [PATCH 24/66] uploading the square version of the icon --- .../metadata/android/en-US/images/square.png | Bin 0 -> 16427 bytes .../metadata/android/en-US/images/square.xcf | Bin 0 -> 34439 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fastlane/metadata/android/en-US/images/square.png create mode 100644 fastlane/metadata/android/en-US/images/square.xcf diff --git a/fastlane/metadata/android/en-US/images/square.png b/fastlane/metadata/android/en-US/images/square.png new file mode 100644 index 0000000000000000000000000000000000000000..77730890725763b43c1ead4bdbf6eecf11e42df9 GIT binary patch literal 16427 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 literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/en-US/images/square.xcf b/fastlane/metadata/android/en-US/images/square.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d8dedf7e36dad601ed61d35c061a176ebda8228a GIT binary patch literal 34439 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 I$t&Rh0@_=w#Q*>R literal 0 HcmV?d00001 From 45c262996eebba714f286f70fe597d2d8a741407 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Jan 2020 19:53:57 +0100 Subject: [PATCH 25/66] updating the app icon, make it flatter --- .../mipmap-hdpi/ic_launcher_foreground.png | Bin 3936 -> 3085 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 2407 -> 1831 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 5756 -> 4239 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 10155 -> 7182 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 15470 -> 9811 bytes .../metadata/android/en-US/images/square.xcf | Bin 34439 -> 34439 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png index ad7d954a99cd012274baae57e68239d6182bc9e7..e5c2534d43b2ac5cd99e2957fec397ea30b12383 100644 GIT binary patch delta 2984 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 Hu0mjfd^%%R delta 2397 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 Dhl7dy diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png index 4648c335ce566d40bc4d18969277e3a3fb66f639..751916395dbb80d02dff3c944864e7b3a8c48ba3 100644 GIT binary patch delta 4052 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 literal 5756 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png index 56a5af235ff809cf2ba12a141c5c3182397668d0..0572eaa1a89a9f60796959efe22423215199a33a 100644 GIT binary patch literal 7182 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 literal 10155 zcmeHt_cxpGAGekk6>6kbX&bd-6w#t~N$eUyQL7@MMX8n6?jT6**&0<5d+*J+C2H^5 zqcv)Vs=c4v=bYzXcz$|vj*}DjeP7r6dSCDHdcCeYR9{z}{u<{s3JMB(O$|7bg5nbV z;*aJk@E_|{^)?C$0XI$fBcnGH{Lbvc1{h#0&T}ziyHBDcy-e7!$E_+e8;@msg z+_bxN17V!Hs%V_8S3O%jVr9SXo_FlwXTNzqMz{i)@c%#m*8|Gs#BMr@w_+&=Cj&4> zo4!jF&#}x-9L$B62VjxBmnf1v_}SyE9j(_{XwGeIV&GvE{X|I>fp30ok++-sLYVIE z8H2cFUNtxQ9an7yZ@5QN^Mtm&-)30Zz9e?H-+dGYw{LcIL@1MGmu<&_# zUY>&u0ztA}8!bNH2)^wvv(_Py##OMiYM;WT+8P4B^p%J)HQ~%(@Z?#as@;A^ecSi% zBbSD)HZaRCF$V{SnXW~*2er?!Ou z`!!27L8g1ACC`W*%G6>SJIj@n!w(OZ5z=5%-6-; z6E@<{b{kz7^IGhTFOMfLUTbZwIZZo1S$f?kyH>CfQ_%I__;^NDjG&Df>*!&uo?@*P zPgiDO8EJQIR7u`vZ(Wfag!$@V4#!jI55g*(Hg58lbXs(dIgS*VmH+uh%fi1C2R2su z0nGUIO=g*+qz7z$q|iK3>2yUedw68TxdWq4Hg{?Cv@Eu2^sdp7&{wR!7|V#`>3Tx? z1SplNiYkAF2ErddU3Td{OXHtb-AIjF-k5oKb zeqvlz%TwY!U8lr_9ka<0QCah zP6SPOMYK;&&W<MD8mcxJ!XFyXlh*TXk|f1UCFVDKoRP&Vkq zjFuP7Sc=K5yPxik-fngrEn2m>`?vjWr0qusTPJ$MOiB<{w)`Y?=aFg%B!Gdz8BR8X}jPK=1X_# z-Nwz)=|vV&4;j2qwtf^li$I!o2DKwSH)l@Sg_9#oY;V5cm}89ZWev`or-ocso*4h_ z4AFu)KhgRT!R_;zD_H*T|0u)xTkX^Q_7eHO=d!Zs;4*&BJ7sRaO;-)x|wJz_pzpT|})WW^T#4!xj)z6!ftQ2sjfE5|~8Sxy(mG2t5 z>YBj#_*Y|L>*gQ&F}vT?6oMhs`Ol6=Wp_Mtb}B_&YcMDQC&1I{r9q}O;Y zL6PP2NoWs~)?=b_Rcns4t9^3f-P670gG=uV=iLrcrdR z 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 literal 15470 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 delta 376 zcmZ|H&nv@m9LMqJXFqHQi4*Iq6=FrEB`F7ABP9;(;vh9Yl4MD0jj%7Z+QruD8wYAP zCrxRslv4fy2Y&$h2b7zWyuO@$>hbx!d%gR-iX~sM!}tD^og3=Tm2T&|@7Bl Date: Fri, 10 Jan 2020 17:19:41 +0100 Subject: [PATCH 26/66] restoring some emptylines --- app/src/main/res/values-hu/strings.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 9fd480f32..b052836be 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -34,6 +34,7 @@ Átméretezett verzió megosztása Hey,\n\nseems like you upgraded from the old free app. You can now uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings.\n\nYou will only have the Recycle bin items deleted, favorite items unmarked and you will also have to reset your app settings.\n\nThanks! Váltás a fájlkeresésre az összes látható mappában + Média szűrő Kép @@ -44,6 +45,7 @@ Portraits A kiválasztott szűrők nem találtak médiafájlokat. Szűrők változtatása + Ez a funkció elrejti a mappát egy \'.nomedia\' fájl hozzáadásával, és elrejti az almappákat is. Láthatóvá teheti ezeket a Beállítások \"Mutassa a rejtett elemeket\" menüpontban. Folytatja? Kizárás @@ -57,12 +59,14 @@ Rejtett mappák Rejtett mappák kezelése Úgy tűnik, a mappái nincsenek elrejtve egy \".nomedia\" fájllal. + Befoglalt mappák Befoglalt mappák kezelése Mappa hozzáadása Ha vannak olyan mappák, amelyek média fájlokat tartalmaznak, de az alkalmazás nem ismerte fel, akkor kézzel is hozzáadhatja ezeket.\n\nAz elemek hozzáadása nem zár ki más mappákat. Nem talált médiafájlokat. Ezt megoldhatja a médiafájlokat tartalmazó mappák manuális hozzáadásával. + Átméretezés Kiválasztás átméretezése és mentés @@ -70,6 +74,7 @@ Magasság Képarány megtartása Írjon be érvényes felbontást + Szerkesztő Mentés @@ -89,8 +94,10 @@ Tükrözés vízszintesen Tükrözés függőlegesen Szabad + Egyéb + Simple Wallpaper @@ -104,6 +111,7 @@ Kezdő képernyő Zárolás képernyő Kezdő és zárolás képernyő + Diavetítés Időköz (másodperc): @@ -119,11 +127,13 @@ Csúsztatás A diavetítés vége A diavetítéshez nem található média + Nézet típus változtatása Rács Lista Közvetlen almappa csoport + Csoportosítás Nincs csoportosítás @@ -137,9 +147,11 @@ Fájl típus Kiterjesztés Kérjük, vegye figyelembe, hogy a csoportosítás és a rendezés 2 egymástól független mező + Mappa mutatása a widgeten: Mutassa a mappa nevét + Automatikus videó lejátszás Emlékezzen a videó utolsó lejátszási pozícióra @@ -181,15 +193,18 @@ Kiegyensúlyozott Kerülje az érvénytelen fájlok mutatását Mutassa a kép fájl típusokat + Miniatűrök Teljes képernyős média Bővített részletek Gomb műveletek + Látható gomb műveletek kezelése Kedvencek módosítása Fájl láthatóság módosítása + Egyéni Alaphelyzetbe @@ -270,6 +285,7 @@ Zöld Aquamarin Pipetta szín + Hogyan tudom beállítani a Simple Gallery-t alapértelmezett galériának? Először meg kell találnia az alapértelmezett galériát az eszköz beállításainak Alkalmazások részében. Keressen egy olyan gombot, amely valami olyasmit, mint az \"Legyen alapértelmezett\", kattintson rá, majd válassza a \"Alapértelmezések törlése\" pontot. @@ -301,6 +317,7 @@ Ezzel csak a kiválasztott mappák láthatók, mivel a kizárás és a befoglal A rejtett elemek megtekintéséhez nyomja meg a \"Rejtettek ideiglenes mutatása\" elemet a fő képernyőn, vagy válassza a \"Mutassa a rejtett elemeket\" az alkalmazás beállításaiban. Ha meg akarja szüntetni, csak hosszan nyomja meg, és válassza a \"Elrejtés megszüntetés\" lehetőséget. A mappák elrejtése egy rejtett \". nomedia\" fájl hozzáadásával történik. Ezt a fájlt bármelyik fájlkezelővel is törölheti. Miért használ az alkalmazás ennyi helyet? Az alkalmazás gyorsítótára akár a 250 MB-ot is meghaladhatja, és ez gyorsabb megjelenítést biztosít. Ha az alkalmazás még több helyet foglal el, a legvalószínűbb oka, hogy a Lomtárban is van elem. Ezek a fájlok is az alkalmazás méretébe számítanak bele. Törölheti a Lomtárat azzal, hogy megnyitja és törli az összes fájlt vagy az alkalmazás beállításait. A Lomtárban lévő minden fájl 30 nap elteltével automatikusan törlődik. + Simple Gallery Pro - Photo Manager & Editor From 3185e3eea9f714f4f5ce5e63924c393d37555942 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 19:43:35 +0100 Subject: [PATCH 27/66] fix #1705, hide the keyboard at clicking path on Save As dialog --- .../com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt index a4dd80712..4331b3120 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/SaveAsDialog.kt @@ -33,6 +33,7 @@ class SaveAsDialog(val activity: BaseSimpleActivity, val path: String, val appen save_as_name.setText(name) save_as_path.setOnClickListener { + activity.hideKeyboard(save_as_path) FilePickerDialog(activity, realPath, false, false, true, true) { save_as_path.text = activity.humanizePath(it) realPath = it From d2aa5f9f11d4b8ba699fa5e3f0b1bc8cdce35f19 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 20:19:37 +0100 Subject: [PATCH 28/66] fixing some double escaped newlines --- app/build.gradle | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 4 ++-- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a01211fdc..7eb7e9e60 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.19' + implementation 'com.simplemobiletools:commons:5.21.21' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 673ca5601..bf388a9fd 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -53,7 +53,7 @@ Gestionar carpetes excloses Això exclou la selecció juntament amb les carpetes, només de Simple Gallery. Pots gestionar les carpetes excloses en els Ajustaments. Excloure millor la carpeta superior? - Excloure les carpetes les ocultarà junt amb les seves subcarpetes, però només a Simple Gallery. Seguirant sent visibles a altres aplicacions.\\n\\nSi vols ocultar-les d’altres aplicacions fes servir la opció Ocultar. + Excloure les carpetes les ocultarà junt amb les seves subcarpetes, però només a Simple Gallery. Seguirant sent visibles a altres aplicacions.\n\nSi vols ocultar-les d’altres aplicacions fes servir la opció Ocultar. Eliminar tot Eliminar totes les carpetes de la llista d’excloses? Això no eliminarà les carpetes. Carpetes ocultes diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c5dd78fa9..acbebcd82 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -47,13 +47,13 @@ Filter ändern - Diese Funktion versteckt die ausgewählten Ordner, indem im Dateisystem eine \'.nomedia\'-Datei abgelegt wird. Dadurch werden die ausgewählten Ordner und alle Unterverzeichnisse auch in anderen Apps nicht angezeigt. Solche Ordner werden nur gezeigt, wenn die Einstellung \'Versteckte Elemente anzeigen\' aktiv ist (auch andere Apps bieten üblicherweise eine solche Option).\\nFortfahren? + Diese Funktion versteckt die ausgewählten Ordner, indem im Dateisystem eine \'.nomedia\'-Datei abgelegt wird. Dadurch werden die ausgewählten Ordner und alle Unterverzeichnisse auch in anderen Apps nicht angezeigt. Solche Ordner werden nur gezeigt, wenn die Einstellung \'Versteckte Elemente anzeigen\' aktiv ist (auch andere Apps bieten üblicherweise eine solche Option).\nFortfahren? Ordner ausschließen Ausgeschlossene Ordner Ausgeschlossene Ordner verwalten Diese Funktion blendet die ausgewählten Ordner und deren Unterordner nur in dieser App aus. Ausgeschlossene Ordner können in den Einstellungen verwaltet werden. Möchtest du stattdessen einen höherliegenden Ordner ausschließen? - \'Ordner ausschließen\' wird ausgewählte Ordner und deren Unterordner nur in dieser App ausblenden. Andere Apps werden solche Ordner weiterhin anzeigen.\\n\\nWenn du Ordner auch für andere Apps verstecken willst, verwende dafür die Funktion \'Ordner verstecken\'. + \'Ordner ausschließen\' wird ausgewählte Ordner und deren Unterordner nur in dieser App ausblenden. Andere Apps werden solche Ordner weiterhin anzeigen.\n\nWenn du Ordner auch für andere Apps verstecken willst, verwende dafür die Funktion \'Ordner verstecken\'. Alle entfernen Alle Ordner aus der Liste ausgeblendeter Ordner entfernen? Die Ordner selbst werden nicht gelöscht. Versteckte Ordner diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3b0c92a89..e5ab52d0e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -53,7 +53,7 @@ Gestionar carpetas excluidas Esto excluirá la selección junto con sus subcarpetas, solamente de Simple Gallery. Puede gestionar las carpetas excluidas en los Ajustes. ¿Excluir mejor la carpeta superior? - Excluir las carpetas las excluirá junto a sus subcarpetas sólo en Simple Gallery, estas seguirán siendo visibles en otras aplicaciones.\\n\\nSi desea ocultarlo de otras aplicaciones, utilice la función de \"Ocultar\". + Excluir las carpetas las excluirá junto a sus subcarpetas sólo en Simple Gallery, estas seguirán siendo visibles en otras aplicaciones.\n\nSi desea ocultarlo de otras aplicaciones, utilice la función de \"Ocultar\". Eliminar todo ¿Eliminar todas las carpetas de la lista de excluidas? Esto no borrará las carpetas. Carpetas ocultas diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 898992fdb..34eb9b92c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -53,7 +53,7 @@ Gestisci le cartelle escluse Questo escluderà la selezione e le relative sottocartelle solo da Semplice Galleria. Si possono gestire le cartelle escluse nelle impostazioni. Vuoi invece escluderne una superiore? - L\'esclusione delle cartelle e delle sottocartelle le renderà nascoste solo in Semplice Galleria, saranno ancora visibili in altre applicazioni.\\n\\nSe si desidera nasconderle anche nelle altre app, usa la funzione Nascondi. + L\'esclusione delle cartelle e delle sottocartelle le renderà nascoste solo in Semplice Galleria, saranno ancora visibili in altre applicazioni.\n\nSe si desidera nasconderle anche nelle altre app, usa la funzione Nascondi. Rimuovi tutte Rimuovere tutte le cartelle dalla lista delle esclusioni? Ciò non eliminerà le cartelle. Cartelle nascoste diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 108f8bd18..7b34fa90f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -53,7 +53,7 @@ 除外フォルダの管理 選択したフォルダとそのサブフォルダを、Simple Galleyの一覧から除外します。除外したフォルダは「設定」で確認できます。 親フォルダを選択して除外することもできます。 - フォルダを除外すると、サブフォルダも含めSimple Galleyの一覧から除外します。他のアプリでは引き続き表示されます。\\n\\n他のアプリでも非表示にしたい場合は、「非表示」機能を使用してください。 + フォルダを除外すると、サブフォルダも含めSimple Galleyの一覧から除外します。他のアプリでは引き続き表示されます。\n\n他のアプリでも非表示にしたい場合は、「非表示」機能を使用してください。 すべて解除 除外するフォルダの登録をすべて解除しますか? フォルダ自体は削除されません。 非表示フォルダ diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 431a95a28..f76355c3e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -53,7 +53,7 @@ Gerenciar pastas ignoradas Esta ação deixará de exibir as pastas selecionadas apenas dentro deste aplicativo. Você pode gerenciar as pastas ignoradas nas Configurações do aplicativo. Ignorar a pasta raiz ao invés desta? - Ignorar uma pasta apenas deixa de exibi-la nesta galeria. Ela continuará visível para outros aplicativos.\\n\\nSe você quiser ocultar a pasta para todos os aplicativos, utilize a função ocultar. + Ignorar uma pasta apenas deixa de exibi-la nesta galeria. Ela continuará visível para outros aplicativos.\n\nSe você quiser ocultar a pasta para todos os aplicativos, utilize a função ocultar. Remover todas Remover todas as pastas da lista de pastas ignoradas? Esta ação não exclui as pastas. Pastas ocultas diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index bf4a80ddd..7e387b5c0 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -53,7 +53,7 @@ Gerir pastas excluídas Esta ação apenas exclui as pastas selecionadas da lista de pastas desta aplicação. Pode gerir as pastas excluídas nas Definições. Excluir antes a pasta superior? - A exclusão de uma pasta apenas oculta o seu conteúdo do Simple Gallery porque as outras aplicações continuarão a poder aceder-lhes.\\n\\nSe quiser ocultar também das outras aplicações, utilize a função Ocultar. + A exclusão de uma pasta apenas oculta o seu conteúdo do Simple Gallery porque as outras aplicações continuarão a poder aceder-lhes.\n\nSe quiser ocultar também das outras aplicações, utilize a função Ocultar. Remover todas Remover todas as pastas de lista de exclusões? Esta ação não apaga as pastas. Pastas ocultas diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 0a1a3c2e2..f09e34dab 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -53,7 +53,7 @@ Spravovať vylúčené priečinky Táto funkcia vylúči výber a jeho podpriečinky iba z Jednoduchej galérie. Spravovať vylúčené priečinky je možné v nastaveniach. Chcete ukryť rodičovský priečinok? - Vylúčené priečinky budú spolu s podpriečinkami ukryté iba pred Jednoduchou Galériou, ostatné aplikácie ich budú stále vidieť.\\n\\nAk ich chcete ukryť aj pred ostatnými aplikáciami, použite funkciu Skryť. + Vylúčené priečinky budú spolu s podpriečinkami ukryté iba pred Jednoduchou Galériou, ostatné aplikácie ich budú stále vidieť.\n\nAk ich chcete ukryť aj pred ostatnými aplikáciami, použite funkciu Skryť. Odstrániť všetky Odstrániť všetky priečinky zo zoznamu vylúčených? Táto operácia neodstráni samotný obsah priečinkov. Skryté priečinky diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 8f4342a62..a0cf7883a 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -53,7 +53,7 @@ Hantera uteslutna mappar Detta utesluter bara den markerade mappen och dess undermappar från Simple Gallery. Du kan hantera uteslutna mappar i Inställningar. Vill du utesluta en överordnad mapp istället? - Uteslutning av mappar döljer bara dem och deras undermappar i Simple Gallery, de visas fortfarande i andra appar.\\n\\nAnvänd Dölj-funktionen om du även vill dölja dem från andra appar. + Uteslutning av mappar döljer bara dem och deras undermappar i Simple Gallery, de visas fortfarande i andra appar.\n\nAnvänd Dölj-funktionen om du även vill dölja dem från andra appar. Ta bort alla Vill du ta bort alla mappar från uteslutningslistan? Detta raderar inte mapparna. Dolda mappar From fa402c24b12c13b97dbde980574044ccc06a4290 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 20:21:25 +0100 Subject: [PATCH 29/66] allow excluding the root folder again --- .../gallery/pro/activities/ExcludedFoldersActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt index 530452b0b..2d584ab73 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ExcludedFoldersActivity.kt @@ -50,7 +50,7 @@ class ExcludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener { } private fun addFolder() { - FilePickerDialog(this, config.lastFilepickerPath, false, config.shouldShowHidden, false, true) { + FilePickerDialog(this, config.lastFilepickerPath, false, config.shouldShowHidden, false, true, true) { config.lastFilepickerPath = it config.addExcludedFolder(it) updateFolders() From 3db5db5569f9adb2a1c454d0429ce37bf40da2bd Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 21:17:15 +0100 Subject: [PATCH 30/66] updating some slovak strings --- app/src/main/res/values-sk/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index f09e34dab..565448a00 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -39,9 +39,9 @@ Filter médií Obrázky Videá - GIFká + GIF RAW obrázky - SVGčká + SVG Portréty So zvolenými filtrami sa nenašli žiadne média súbory. Zmeniť filtre From 13a3f90595dc76c13ba50c2becf5dd41117d430d Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 22:30:21 +0100 Subject: [PATCH 31/66] optimize Portrait photo checking for better performance --- .../gallery/pro/helpers/MediaFetcher.kt | 62 +++++++------------ 1 file changed, 23 insertions(+), 39 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt index 965771e9c..c9cada42d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt @@ -214,7 +214,6 @@ class MediaFetcher(val context: Context) { private fun getMediaInFolder(folder: String, isPickImage: Boolean, isPickVideo: Boolean, filterMedia: Int, getProperDateTaken: Boolean, getProperFileSize: Boolean, favoritePaths: ArrayList, getVideoDurations: Boolean): ArrayList { val media = ArrayList() - val isRecycleBin = folder == RECYCLE_BIN val deletedMedia = if (isRecycleBin) { context.getUpdatedDeletedMedia(context.galleryDB.MediumDao()) @@ -229,54 +228,39 @@ class MediaFetcher(val context: Context) { val showPortraits = filterMedia and TYPE_PORTRAITS != 0 val dateTakens = if (getProperDateTaken && folder != FAVORITES && !isRecycleBin) getFolderDateTakens(folder) else HashMap() - // used only for Portrait photos starting with "IMG_" for now - val subdirs = ArrayList() - val covers = ArrayList() - val files = when (folder) { FAVORITES -> favoritePaths.filter { showHidden || !it.contains("/.") }.map { File(it) }.toMutableList() as ArrayList RECYCLE_BIN -> deletedMedia.map { File(it.path) }.toMutableList() as ArrayList - else -> { - val allFiles = File(folder).listFiles() ?: return media - val notDirs = ArrayList() - allFiles.forEach { - if (it.isDirectory) { - if (showPortraits && it.name.startsWith("img_", true)) { - subdirs.add(it) - } - } else { - notDirs.add(it) - } - } - - notDirs - } + else -> File(folder).listFiles()?.toMutableList() ?: return media } - for (subdir in subdirs) { - val portraitFiles = subdir.listFiles() ?: continue - val cover = portraitFiles.firstOrNull { it.name.contains("cover", true) } ?: portraitFiles.firstOrNull() - if (cover != null) { - files.add(cover) - covers.add(cover.absolutePath) - } - } - - for (file in files) { + for (curFile in files) { + var file = curFile if (shouldStop) { break } - val path = file.absolutePath - val isPortrait = covers.contains(path) - val isImage = if (isPortrait) false else path.isImageFast() - val isVideo = if (isPortrait || isImage) false else path.isVideoFast() - val isGif = if (isPortrait || isImage || isVideo) false else path.isGif() - val isRaw = if (isPortrait || isImage || isVideo || isGif) false else path.isRawFast() - val isSvg = if (isPortrait || isImage || isVideo || isGif || isRaw) false else path.isSvg() + var path = file.absolutePath + var isPortrait = false + val isImage = path.isImageFast() + val isVideo = if (isImage) false else path.isVideoFast() + val isGif = if (isImage || isVideo) false else path.isGif() + val isRaw = if (isImage || isVideo || isGif) false else path.isRawFast() + val isSvg = if (isImage || isVideo || isGif || isRaw) false else path.isSvg() - if (!isPortrait && !isImage && !isVideo && !isGif && !isRaw && !isSvg) - continue + if (!isImage && !isVideo && !isGif && !isRaw && !isSvg) { + if (showPortraits && file.isDirectory && file.name.startsWith("img_", true)) { + val portraitFiles = file.listFiles() ?: continue + val cover = portraitFiles.firstOrNull { it.name.contains("cover", true) } ?: portraitFiles.firstOrNull() + if (cover != null && !files.contains(cover)) { + file = cover + path = cover.absolutePath + isPortrait = true + } + } else { + continue + } + } if (isVideo && (isPickImage || filterMedia and TYPE_VIDEOS == 0)) continue From b2d0dff131bca95c526fda8105ae5c202dbd541e Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 22:37:03 +0100 Subject: [PATCH 32/66] properly show the Portraits title at thumbnail grouping --- .../com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt index c9cada42d..1513a771b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt @@ -545,7 +545,8 @@ class MediaFetcher(val context: Context) { TYPE_VIDEOS -> R.string.videos TYPE_GIFS -> R.string.gifs TYPE_RAWS -> R.string.raw_images - else -> R.string.svgs + TYPE_SVGS -> R.string.svgs + else -> R.string.portraits } return context.getString(stringId) } From 146b7628b7736be07f559e78b27448e5bb0efbe7 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 10 Jan 2020 22:53:42 +0100 Subject: [PATCH 33/66] fixing a german typo --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index acbebcd82..1d3b1270a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -182,7 +182,7 @@ Zeige den Papierkorb als letztes Element auf dem Hauptbildschirm Erlaube das Schließen der Vollbildansicht mit einer Abwärtsgeste Erlaube 1:1 Zoom mit zweimaligem, doppeltem Antippen - Öffne Videos immer auf einem seperaten Bildschirm mit neuen horizontalen Gesten + Öffne Videos immer auf einem separaten Bildschirm mit neuen horizontalen Gesten Show a notch if available Rotieren von Bildern mit Gesten zulassen Priorität beim Laden von Dateien From 29352e65f0046d8fcbe1fa3de2525003acbfef15 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 11 Jan 2020 17:18:46 +0100 Subject: [PATCH 34/66] update version to 6.11.6 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7eb7e9e60..e142ce31f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 285 - versionName "6.11.5" + versionCode 286 + versionName "6.11.6" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From cabfe4f766950820bc4ddedef4abf9291f7ea373 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 11 Jan 2020 17:18:54 +0100 Subject: [PATCH 35/66] updating changelog --- CHANGELOG.md | 8 ++++++++ fastlane/metadata/android/en-US/changelogs/286.txt | 4 ++++ 2 files changed, 12 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/286.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 1475d215e..70abbf56b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ Changelog ========== +Version 6.11.6 *(2020-01-11)* +---------------------------- + + * Improved the image loading performance + * Allow excluding the root "/" folder + * Properly handle editing files with spaces in path + * Couple other UX, UI, translation and stability improvements + Version 6.11.5 *(2020-01-04)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/286.txt b/fastlane/metadata/android/en-US/changelogs/286.txt new file mode 100644 index 000000000..49b5efac3 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/286.txt @@ -0,0 +1,4 @@ + * Improved the image loading performance + * Allow excluding the root "/" folder + * Properly handle editing files with spaces in path + * Couple other UX, UI, translation and stability improvements From 416c56465893038b79004b6e4619ba8349e62d28 Mon Sep 17 00:00:00 2001 From: dipenSan Date: Sun, 12 Jan 2020 23:14:43 +0545 Subject: [PATCH 36/66] adding Nepali Strings --- app/src/main/res/values-np/strings.xml | 384 +++++++++++++++++++++++++ 1 file changed, 384 insertions(+) create mode 100644 app/src/main/res/values-np/strings.xml diff --git a/app/src/main/res/values-np/strings.xml b/app/src/main/res/values-np/strings.xml new file mode 100644 index 000000000..68e3e162f --- /dev/null +++ b/app/src/main/res/values-np/strings.xml @@ -0,0 +1,384 @@ + + + सजिलो ग्यालरी + ग्यालरी + सम्पादन + क्यामेरा खोल्नुहोस + (लुकेको) + (excluded) + फोल्डरलाई पिन गर्नुहोस + फोल्डरलाई पिन गर्नुहोस + सबैभन्दा माथि पिन गर्नुहोस + फोल्डरको सबै बिषयबस्तु देखाउनुहोस + सबै फोल्डरहरु + फोल्डर भ्यू + अन्य फोल्डर + नक्सामा देखाउनुहोस + थाहानभएको ठाउ + कोलम सङ्खा बढाउनुहोस + कोलम सङ्खा घटाउनुहोस + कभर तस्बिर परिवर्तन गर्नुहोस + फोटो चयन गर्नुहोस + डिफल्ट प्रयोग गर्नुहोस + भोलुम + उज्यालोपन + Lock orientation + Unlock orientation + Change orientation + Force portrait + Force landscape + Use default orientation + Fix Date Taken value + Fixing… + Dates fixed successfully + Share a resized version + Hey,\n\nseems like you upgraded from the old free app. You can now uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings.\n\nYou will only have the Recycle bin items deleted, favorite items unmarked and you will also have to reset your app settings.\n\nThanks! + Switch to file search across all visible folders + + + Filter media + तस्बिरहरु + भिडियोहरु + GIFs + RAW ईमेजहरु + SVGs + Portraits + No media files have been found with the selected filters. + Change filters + + + This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden items\' option in Settings. Continue? + Exclude + Excluded folders + Manage excluded folders + This will exclude the selection together with its subfolders from Simple Gallery only. You can manage excluded folders in Settings. + Exclude a parent instead? + Excluding folders will make them together with their subfolders hidden just in Simple Gallery, they will still be visible in other applications.\n\nIf you want to hide them from other apps too, use the Hide function. + Remove all + Remove all folders from the list of excluded? This will not delete the folders. + Hidden folders + Manage hidden folders + Seems like you don\'t have any folders hidden with a \".nomedia\" file. + + + Included folders + Manage included folders + फोल्डर थप्नुहोस + If you have some folders which contain media, but were not recognized by the app, you can add them manually here.\n\nAdding some items here will not exclude any other folder. + No media files have been found. You can solve it by adding the folders containing media files manually. + + + Resize + Resize selection and save + चाैडाई + उचाई + Keep aspect ratio + Please enter a valid resolution + + + सम्पादक + बचत + घुमाउने + Path + Invalid image path + Image editing failed + File edited successfully + Edit image with: + No image editor found + Unknown file location + Could not overwrite the source file + Rotate left + Rotate right + Rotate by 180º + Flip + Flip horizontally + Flip vertically + स्वतन्त्र + अन्य + + + सजिलो वालपेपर + वालपेपरको रुपमा स्थापित गर्नुहोस + Setting as Wallpaper failed + Set as wallpaper with: + Setting wallpaper… + Wallpaper set successfully + Portrait aspect ratio + Landscape aspect ratio + होम स्क्रिन + लक स्क्रिन + होम र लक स्क्रिन + + + स्लाईडसो + Interval (seconds): + Include photos + Include videos + Include GIFs + Random order + Move backwards + Loop slideshow + Animation + केहि होईन + फेड + स्लाईड + स्लाईडसो समाप्त भयो + No media for the slideshow have been found + + + भ्यू प्रकार परिवर्तन गर्नुहोस + कोठे + सुची + Group direct subfolders + + + Group by + Do not group files + फोल्डर + Last modified + Last modified (daily) + Last modified (monthly) + Date taken + Date taken (daily) + Date taken (monthly) + फाईलको प्रकार + Extension + Please note that grouping and sorting are 2 independent fields + + + Folder shown on the widget: + फोल्डरको नाम देखाउनुहोस + + + भिडियोहरु आफै चल्ने + Remember last video playback position + Toggle filename visibility + भिडियो लुप + Animate GIFs at thumbnails + Max brightness when viewing fullscreen media + Crop thumbnails into squares + भिडियो अबधि देखाउने + Rotate fullscreen media by + सिस्टम सेटिङ + Device rotation + Aspect ratio + Black background at fullscreen media + Scroll thumbnails horizontally + Automatically hide system UI at fullscreen media + Delete empty folders after deleting their content + Allow controlling photo brightness with vertical gestures + Allow controlling video volume and brightness with vertical gestures + Show folder media count on the main view + Show extended details over fullscreen media + Manage extended details + Allow one finger zoom at fullscreen media + Allow instantly changing media by clicking on screen sides + Allow deep zooming images + Hide extended details when status bar is hidden + Show some action buttons at the bottom of the screen + Show the Recycle Bin at the folders screen + Deep zoomable images + Show images in the highest possible quality + Show the Recycle Bin as the last item on the main screen + Allow closing the fullscreen view with a down gesture + Allow 1:1 zooming in with two double taps + Always open videos on a separate screen with new horizontal gestures + Show a notch if available + Allow rotating images with gestures + File loading priority + गति + Compromise + Avoid showing invalid files + तस्बिरको फाईल किसिम देखाउनुहोस + + + Thumbnails + Fullscreen media + Extended details + Bottom actions + + + Manage visible bottom actions + Toggle favorite + Toggle file visibility + + + Custom + Reset + Square + Transform + Filter + केहिहोईन + Adjust + Shadows + Exposure + Highlights + उज्यालोपन + Contrast + Saturation + Clarity + Gamma + Blacks + Whites + तापक्रम + Sharpness + Reset + Focus + None + Radial + Linear + Mirrored + Gaussian + टेक्स + Text Options + टेक्सको रङ + फन्ट + Add + सम्पादन + Straighten + फन्ट + रङ + BG Color + Alignment + To Front + Delete + Your text + Brush + Color + Size + Hardness + To Front + मेटाउनु + Brush Color + सम्पादक + Close Editor? + Do you really want to discard the image? + Yes + No + रद्द + स्विकार + बचत + Exporting image… + Exporting image %s. + Flip H + Flip V + Undo + Redo + Color Picker + पारदर्शी + सेतो + खरानि + कालो + Light blue + निलो + Purple + Orchid + Pink + रातो + सुन्तला + सुन + पहेलो + Olive + हरियो + Aquamarin + Pipettable color + + + How can I make Simple Gallery the default device gallery? + First you have to find the currently default gallery in the Apps section of your device settings, look for a button that says something like \"Open by default\", click on it, then select \"Clear defaults\". + The next time you will try opening an image or video you should see an app picker, where you can select Simple Gallery and make it the default app. + I locked the app with a password, but I forgot it. What can I do? + You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. + How can I make an album always appear at the top? + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + How can I fast-forward videos? + You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. + What is the difference between hiding and excluding a folder? + Exclude prevents displaying the folder only in Simple Gallery, while Hide works system-wise and it hides the folder from other galleries too. It works by creating an empty \".nomedia\" file in the given folder, which you can then remove with any file manager too. + Why do folders with music cover art or stickers show up? + It can happen that you will see some unusual albums show up. You can easily exclude them by long pressing them and selecting Exclude. In the next dialog you can then select the parent folder, chances are it will prevent the other related albums showing up too. + A folder with images isn\'t showing up, or it doesn\'t show all items. What can I do? + That can have multiple reasons, but solving it is easy. Just go in Settings -> Manage Included Folders, select Plus and navigate to the required folder. + What if I want just a few particular folders visible? + Adding a folder at the Included Folders doesn\'t automatically exclude anything. What you can do is go in Settings -> Manage Excluded Folders, exclude the root folder \"/\", then add the desired folders at Settings -> Manage Included Folders. + That will make only the selected folders visible, as both excluding and including are recursive and if a folder is both excluded and included, it will show up. + Can I crop images with this app? + Yes, you can crop images in the editor, by dragging the image corners. You can get to the editor either by long pressing an image thumbnail and selecting Edit, or selecting Edit from the fullscreen view. + Can I somehow group media file thumbnails? + Sure, just use the \"Group by\" menu item while at the thumbnails view. You can group files by multiple criteria, including Date Taken. If you use the \"Show all folders content\" function you can group them by folders too. + Sorting by Date Taken doesn\'t seem to work properly, how can I fix it? + It is most likely caused by the files being copied from somewhere. You can fix it by selecting the file thumbnails and selecting \"Fix Date Taken value\". + I see some color banding on the images. How can I improve the quality? + The current solution for displaying images works fine in the vast majority of cases, but if you want even better image quality, you can enable the \"Show images in the highest possible quality\" at the app settings, in the \"Deep zoomable images\" section. + I have hidden a file/folder. How can I unhide it? + You can either press the \"Temporarily show hidden items\" menu item at the main screen, or toggle \"Show hidden items\" in the app settings to see the hidden item. If you want to unhide it, just long press it and select \"Unhide\". Folders are hidden by adding a hidden \".nomedia\" file into them, you can delete the file with any file manager too. + Why does the app take up so much space? + App cache can take up to 250MB, it ensures quicker image loading. If the app is taking up even more space, it is most likely caused by you having items in the Recycle Bin. Those files count to the app size. You can clear the Recycle bin by opening it and deleting all files, or from the app settings. Every file in the Bin is deleted automatically after 30 days. + + + + Simple Gallery Pro - Photo Manager & Editor + + Browse your memories without any interruptions with this photo and video gallery + + Simple Gallery Pro is a highly customizable offline gallery. Organize & edit your photos, recover deleted files with the recycle bin, protect & hide files and view a huge variety of different photo & video formats including RAW, SVG and much more. + + The app contains no ads and unnecessary permissions. As the app doesn’t require internet access either, your privacy is protected. + + ------------------------------------------------- + SIMPLE GALLERY PRO – FEATURES + ------------------------------------------------- + + • Offline gallery with no ads or popups + • Simple gallery photo editor – crop, rotate, resize, draw, filters & more + • No internet access needed, giving you more privacy and security + • No unnecessary permissions required + • Quickly search images, videos & files + • Open & view many different photo and video types (RAW, SVG, panoramic etc) + • A variety of intuitive gestures to easily edit & organize files + • Lots of ways to filter, group & sort files + • Customize the appearance of Simple Gallery Pro + • Available in 32 languages + • Mark files as favorites for quick access + • Protect your photos & videos with a pattern, pin or fingerprint + • Use pin, pattern & fingerprint to protect the app launch or specific functions too + • Recover deleted photos & videos from the recycle bin + • Toggle visibility of files to hide photos & videos + • Create a customizable slideshow of your files + • View detailed information of your files (resolution, EXIF values etc) + • Simple Gallery Pro is open source + … and much much more! + + PHOTO GALLERY EDITOR + Simple Gallery Pro makes it easy to edit your pictures on the fly. Crop, flip, rotate and resize your pictures. If you’re feeling a little more creative you can add filters and draw on your pictures! + + SUPPORT FOR MANY FILE TYPES + Unlike some other gallery viewers & photo organizers, Simple Gallery Pro supports a huge range of different file types including JPEG, PNG, MP4, MKV, RAW, SVG, Panoramic photos, Panoramic videos and many more. + + HIGHLY CUSTOMIZABLE GALLERY MANAGER + From the UI to the function buttons on the bottom toolbar, Simple Gallery Pro is highly customizable and works the way you want it to. No other gallery manager has this kind of flexibility! Thanks to being open source, we’re also available in 32 languages! + + RECOVER DELETED PHOTOS & VIDEOS + Accidentally deleted a precious photo or video? Don’t worry! Simple Gallery Pro features a handy recycle bin where you can recover deleted photos & videos easily. + + PROTECT & HIDE PHOTOS, VIDEOS & FILES + Using pin, pattern or your device’s fingerprint scanner you can protect and hide photos, videos & entire albums. You can protect the app itself or place locks on specific functions of the app. For example, you can’t delete a file without a fingerprint scan, helping to protect your files from accidental deletion. + + Check out the full suite of Simple Tools here: + https://www.simplemobiletools.com + + Standalone website of Simple Gallery Pro: + https://www.simplemobiletools.com/gallery + + Facebook: + https://www.facebook.com/simplemobiletools + + Reddit: + https://www.reddit.com/r/SimpleMobileTools + + + + From 1f6977bd8400e5a28956c4cc31204b0e23b03a24 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <45232454+fscholdei@users.noreply.github.com> Date: Sun, 12 Jan 2020 21:09:32 +0100 Subject: [PATCH 37/66] Update strings.xml adding german strings --- app/src/main/res/values-de/strings.xml | 132 ++++++++++++------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1d3b1270a..2ca93ce28 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -203,85 +203,85 @@ Schaltet die Sichtbarkeit von Dateien um - Custom - Reset - Square - Transform + Benutzerdefiniert + Zurücksetzen + Quadrat + Umwandeln Filter - None - Adjust - Shadows - Exposure + Kein + Anpassen + Schatten + Belichtung Highlights - Brightness - Contrast - Saturation - Clarity + Helligkeit + Kontrast + Sättigung + Struktur Gamma - Blacks - Whites - Temperature - Sharpness - Reset - Focus - None + Schwarz + Weiß + Temperatur + Schärfe + Zurücksetzen + Fokus + Kein Radial Linear - Mirrored - Gaussian + Gespiegelt + Gaußsch Text - Text Options - Text Color - Font - Add - Edit - Straighten - Font - Color - BG Color - Alignment - To Front - Delete - Your text - Brush - Color - Size - Hardness - To Front - Delete - Brush Color + Textoptionen + Textfarbe + Schriftart + Hinzufügen + Bearbeiten + Begradigen + Schrift + Farbe + Hintergrund + Ausrichtung + Nach Vorne + Löschen + Dein Text + Pinsel + Farbe + Größe + Stärke + Nach Vorne + Löschen + Pinselfarbe Editor - Close Editor? - Do you really want to discard the image? - Yes - No - Cancel - Accept - Save - Exporting image… - Exporting image %s. - Flip H - Flip V - Undo - Redo - Color Picker + Editor schließen? + Möchtest du das Bild wirklich verwerfen? + Ja + Nein + Abbrechen + Akzeptieren + Speichern + Bild wird exportiert… + Bild %s wird exportiert. + H spiegeln + V spiegeln + Rückgängig + Wiederholen + Farbauswahl Transparent - White - Gray - Black - Light blue - Blue - Purple - Orchid + Weiß + Grau + Schwarz + Hellblau + Blau + Violett + Orchidee Pink - Red + Rot Orange Gold - Yellow + Geld Olive - Green + Grün Aquamarin - Pipettable color + Pipettierbare Farbe Wie kann ich Schlichte Galerie als Standardanwendung auswählen? From 6286746b3544c4ede5aaa176a3887cfe8e4f9b43 Mon Sep 17 00:00:00 2001 From: Florian Scholdei <45232454+fscholdei@users.noreply.github.com> Date: Mon, 13 Jan 2020 12:41:46 +0100 Subject: [PATCH 38/66] Add German strings --- app/src/main/res/values-de/strings.xml | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2ca93ce28..0e04da922 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -33,7 +33,7 @@ Datum erfolgreich korrigiert. Teile eine verkleinerte Version Hey,\n\nes sieht so aus, als hättest du von der alten kostenlosen App geupgraded. Du kannst nun die alte Version deinstallieren, die oben in den App-Einstellungen einen \'Upgrade auf Pro\' Button hat.\n\nEs wird nur der Papierkorb gelöscht, die Markierungen von Favoriten entfernt und die App-Einstellungen zurückgesetzt.\n\nDanke! - Switch to file search across all visible folders + Zur Dateisuche in allen sichtbaren Ordnern wechseln Filter @@ -65,7 +65,7 @@ Einbezogene Ordner verwalten Ordner hinzufügen Solltest du weitere Mediendateien haben, die von der App nicht gefunden wurden, kannst du deren Ordner hier manuell hinzufügen. - No media files have been found. You can solve it by adding the folders containing media files manually. + Es konnten keine Mediendateien gefunden werden. Das Problem kann behoben werden, indem die Ordner mit den Mediendateien manuell hinzugefügt werden. Größe ändern @@ -80,13 +80,13 @@ Speichern Drehen Pfad - Ungültiger Dateipfad. - Bildbearbeitung fehlgeschlagen. - File edited successfully + Ungültiger Dateipfad + Bildbearbeitung fehlgeschlagen + Datei erfolgreich bearbeitet Bild bearbeiten mit: - Keine Bildeditor-App gefunden. - Unbekannter Dateipfad. - Konnte Quelldatei nicht überschreiben. + Keine Bildeditor-App gefunden + Unbekannter Dateipfad + Konnte Quelldatei nicht überschreiben Nach links drehen Nach rechts drehen Um 180° drehen @@ -119,11 +119,11 @@ Rückwärts abspielen Endlos abspielen Animation - None - Fade - Slide - Diashow beendet. - Keine Medien für Diashow gefunden. + Keine + Verblassen + Schieben + Diashow beendet + Keine Medien für Diashow gefunden Darstellung ändern @@ -136,11 +136,11 @@ Dateien nicht gruppieren Ordner Datum der letzten Änderung - Last modified (daily) - Last modified (monthly) + Zuletzt geändert (täglich) + Zuletzt geändert (monatlich) Aufnahmedatum - Date taken (daily) - Date taken (monthly) + Aufnahmedatum (täglich) + Aufnahmedatum (monatlich) Dateityp (Bilder/Videos) Dateierweiterung Bitte beachte, dass Gruppieren und Sortieren zwei unabhängige Felder sind. @@ -183,13 +183,13 @@ Erlaube das Schließen der Vollbildansicht mit einer Abwärtsgeste Erlaube 1:1 Zoom mit zweimaligem, doppeltem Antippen Öffne Videos immer auf einem separaten Bildschirm mit neuen horizontalen Gesten - Show a notch if available + Zeige eine Notch, wenn vorhanden Rotieren von Bildern mit Gesten zulassen Priorität beim Laden von Dateien Geschwindigkeit Kompromiss Das Anzeigen von ungültigen Dateien vermeiden - Show image file types + Bilddateitypen anzeigen Thumbnails @@ -318,7 +318,7 @@ Schlichte Galerie Pro - Foto Manager & Editor - Browse your memories without any interruptions with this photo and video gallery + Bewahre deine Andenken ohne Unterbrechungen mit dieser Foto- und Videogalerie Schlichte Galerie Pro ist eine stark individualisierbare Offline Galerie. Ordne & bearbeite deine Fotos, stelle gelöschte Fotos mit Hilfe des Papierkorbs wieder her, schütze & verstecke Dateien und zeige eine Vielzahl von Bilder- & Videoformaten an, unter anderem RAW, SVG und viele mehr. From 07c3d26b5dc31ac48bff6149f3b1db541a6512c3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 13 Jan 2020 13:34:12 +0100 Subject: [PATCH 39/66] updating the german app short desc --- fastlane/metadata/android/de/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/de/short_description.txt b/fastlane/metadata/android/de/short_description.txt index ac0a14175..d9bd6cf0b 100644 --- a/fastlane/metadata/android/de/short_description.txt +++ b/fastlane/metadata/android/de/short_description.txt @@ -1 +1 @@ -Galerie ohne Werbung. Ordnen, Bearbeiten und Wiederherstellen von Fotos & Videos +Bewahre deine Andenken ohne Unterbrechungen mit dieser Foto- und Videogalerie From 386c52a0ffc00aa5cb46135b6ebf5e96e8c44f58 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 13 Jan 2020 22:53:54 +0100 Subject: [PATCH 40/66] fix some empty portrait photos creating blank thumbnails --- .../com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt index 1513a771b..8b625e5e5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt @@ -256,6 +256,8 @@ class MediaFetcher(val context: Context) { file = cover path = cover.absolutePath isPortrait = true + } else { + continue } } else { continue From 2b6b46de254fa16f5234a3ad19539459e5b551be Mon Sep 17 00:00:00 2001 From: fricyo <30796677+fricyo@users.noreply.github.com> Date: Tue, 14 Jan 2020 10:40:28 +0800 Subject: [PATCH 41/66] Update Translation --- app/src/main/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 07dc7d737..f28bde093 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -319,7 +319,7 @@ 簡易相簿 Pro - 相片管理&編輯器 - Browse your memories without any interruptions with this photo and video gallery + 使用相片和影片相簿來毫無阻礙地瀏覽您的回憶。 簡易相簿Pro是一個高度自訂化的離線相簿。整理和編輯你的照片,從回收桶恢復刪除的檔案,保護和隱藏檔案,以及瀏覽大量不同的照片&影片格式,包含RAW、SVG…等更多。 From 778d1ce71a8a45c85c031fc02a64548016cbb7f5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 14 Jan 2020 10:35:20 +0100 Subject: [PATCH 42/66] updating the apps taiwanese fastlane short desc --- fastlane/metadata/android/zh-rTW/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/zh-rTW/short_description.txt b/fastlane/metadata/android/zh-rTW/short_description.txt index a2063faf6..a7ca00aab 100644 --- a/fastlane/metadata/android/zh-rTW/short_description.txt +++ b/fastlane/metadata/android/zh-rTW/short_description.txt @@ -1 +1 @@ -毫無阻礙地瀏覽您的回憶。 +使用相片和影片相簿來毫無阻礙地瀏覽您的回憶。 From e3b921db4d1ae0013472fb17f9e8d38bb77a1a5d Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 20:44:31 +0100 Subject: [PATCH 43/66] adding some crashfixes related to extended details --- .../gallery/pro/fragments/ViewPagerFragment.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt index 3c95c9927..7473326dd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/ViewPagerFragment.kt @@ -40,7 +40,12 @@ abstract class ViewPagerFragment : Fragment() { } val path = "${file.parent.trimEnd('/')}/" - val exif = ExifInterface(medium.path) + val exif = try { + ExifInterface(medium.path) + } catch (e: Exception) { + return "" + } + val details = StringBuilder() val detailsFlag = context!!.config.extendedDetails if (detailsFlag and EXT_NAME != 0) { From 9a6d1535ba74602d259cb12ca3485b8ad475e4e6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 20:49:44 +0100 Subject: [PATCH 44/66] do not show the portrait stripe at fullscreen view --- .../simplemobiletools/gallery/pro/fragments/PhotoFragment.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt index 212f0da68..f5cf3f93e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt @@ -490,6 +490,9 @@ class PhotoFragment : ViewPagerFragment() { mView.photo_portrait_stripe.scrollBy((coverIndex - fakeItemsCnt) * itemWidth, 0) adapter.setCurrentPhoto(coverIndex) mView.photo_portrait_stripe_wrapper.beVisible() + if (mIsFullscreen) { + mView.photo_portrait_stripe_wrapper.alpha = 0f + } } } } From 39ed8834791305163c7a87d102da8b85b688ab80 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 21:07:30 +0100 Subject: [PATCH 45/66] updating Glide to 4.11.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e142ce31f..892a3a6c2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.21' + implementation 'com.simplemobiletools:commons:5.21.22' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' @@ -84,7 +84,7 @@ dependencies { implementation 'com.github.tibbi:gestureviews:8dccb8450b' implementation 'com.github.tibbi:subsampling-scale-image-view:d404e74e39' - kapt 'com.github.bumptech.glide:compiler:4.10.0' + kapt 'com.github.bumptech.glide:compiler:4.11.0' kapt 'androidx.room:room-compiler:2.2.2' implementation 'androidx.room:room-runtime:2.2.2' From 8b02b93161ed0c839c69036bb91ae5de6a6ec5e1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 21:43:39 +0100 Subject: [PATCH 46/66] create an own table DateTakens to be used at sorting --- .../gallery/pro/databases/GalleryDatabase.kt | 13 ++++++++++++- .../gallery/pro/interfaces/DateTakensDAO.kt | 8 ++++++++ .../gallery/pro/models/DateTaken.kt | 15 +++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index b5ac89748..c3b036669 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -6,14 +6,16 @@ import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase +import com.simplemobiletools.gallery.pro.interfaces.DateTakensDAO import com.simplemobiletools.gallery.pro.interfaces.DirectoryDao import com.simplemobiletools.gallery.pro.interfaces.MediumDao import com.simplemobiletools.gallery.pro.interfaces.WidgetsDao +import com.simplemobiletools.gallery.pro.models.DateTaken import com.simplemobiletools.gallery.pro.models.Directory import com.simplemobiletools.gallery.pro.models.Medium import com.simplemobiletools.gallery.pro.models.Widget -@Database(entities = [Directory::class, Medium::class, Widget::class], version = 6) +@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class], version = 7) abstract class GalleryDatabase : RoomDatabase() { abstract fun DirectoryDao(): DirectoryDao @@ -22,6 +24,8 @@ abstract class GalleryDatabase : RoomDatabase() { abstract fun WidgetsDao(): WidgetsDao + abstract fun DateTakensDAO(): DateTakensDAO + companion object { private var db: GalleryDatabase? = null @@ -33,6 +37,7 @@ abstract class GalleryDatabase : RoomDatabase() { .fallbackToDestructiveMigration() .addMigrations(MIGRATION_4_5) .addMigrations(MIGRATION_5_6) + .addMigrations(MIGRATION_6_7) .build() } } @@ -56,5 +61,11 @@ abstract class GalleryDatabase : RoomDatabase() { database.execSQL("CREATE UNIQUE INDEX `index_widgets_widget_id` ON `widgets` (`widget_id`)") } } + + private val MIGRATION_6_7 = object : Migration(6, 7) { + override fun migrate(database: SupportSQLiteDatabase) { + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` LONG NOT NULL)") + } + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt new file mode 100644 index 000000000..107801537 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDAO.kt @@ -0,0 +1,8 @@ +package com.simplemobiletools.gallery.pro.interfaces + +import androidx.room.Dao + +@Dao +interface DateTakensDAO { + +} diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt new file mode 100644 index 000000000..aeb584e54 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -0,0 +1,15 @@ +package com.simplemobiletools.gallery.pro.models + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Index +import androidx.room.PrimaryKey + +// Date Taken in the MediaStore is unreliable and hard to work with, keep the values in an own database +// It is used at sorting files by date taken, checking EXIF file by file would be way too slow +@Entity(tableName = "date_takens", indices = [Index(value = ["full_path"], unique = true)]) +data class DateTaken( + @PrimaryKey(autoGenerate = true) var id: Int?, + @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "parent_path") var parentPath: String, + @ColumnInfo(name = "last_fixed") var lastFixed: Long) From 2daf7e045f40c0eb24f81669a919f13a554cdd2a Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 22:42:53 +0100 Subject: [PATCH 47/66] fix #1715, properly edit png files, do not convert them to jpgs --- .../simplemobiletools/gallery/pro/activities/NewEditActivity.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index e9dd88135..26ca74066 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -243,6 +243,7 @@ class NewEditActivity : SimpleActivity() { settingsList.getSettingsModel(UiConfigTheme::class.java).theme = R.style.Imgly_Theme_NoFullscreen settingsList.getSettingsModel(EditorSaveSettings::class.java) + .setExportFormat(EditorSaveSettings.FORMAT.AUTO) .setOutputFilePath("$filesDir/editor/$filename") .savePolicy = EditorSaveSettings.SavePolicy.RETURN_SOURCE_OR_CREATE_OUTPUT_IF_NECESSARY From aa0c21a2092ef5a94b84cdd622510e0523bdd046 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 22:48:43 +0100 Subject: [PATCH 48/66] change last_fixed field in DateTakens to int --- .../simplemobiletools/gallery/pro/databases/GalleryDatabase.kt | 2 +- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index c3b036669..fa7c30bcd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -64,7 +64,7 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` LONG NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index aeb584e54..c5b8c5b3e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -12,4 +12,4 @@ data class DateTaken( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, @ColumnInfo(name = "parent_path") var parentPath: String, - @ColumnInfo(name = "last_fixed") var lastFixed: Long) + @ColumnInfo(name = "last_fixed") var lastFixed: Int) From ca6b84be8121ab6759a75932b1a765e5f60f92b2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 15 Jan 2020 23:00:52 +0100 Subject: [PATCH 49/66] adding an index on DateTakens table --- .../simplemobiletools/gallery/pro/databases/GalleryDatabase.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index fa7c30bcd..2d0398675 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -65,6 +65,7 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") } } } From 402fccbc21e45ba6113f45994b6f9eea88d32858 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 11:26:13 +0100 Subject: [PATCH 50/66] create an own table for storing favorite items too --- .../gallery/pro/databases/GalleryDatabase.kt | 17 ++++++++--------- .../gallery/pro/interfaces/FavoritesDAO.kt | 8 ++++++++ .../gallery/pro/models/Favorite.kt | 12 ++++++++++++ 3 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 2d0398675..d427a6142 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -6,16 +6,10 @@ import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase -import com.simplemobiletools.gallery.pro.interfaces.DateTakensDAO -import com.simplemobiletools.gallery.pro.interfaces.DirectoryDao -import com.simplemobiletools.gallery.pro.interfaces.MediumDao -import com.simplemobiletools.gallery.pro.interfaces.WidgetsDao -import com.simplemobiletools.gallery.pro.models.DateTaken -import com.simplemobiletools.gallery.pro.models.Directory -import com.simplemobiletools.gallery.pro.models.Medium -import com.simplemobiletools.gallery.pro.models.Widget +import com.simplemobiletools.gallery.pro.interfaces.* +import com.simplemobiletools.gallery.pro.models.* -@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class], version = 7) +@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class, Favorite::class], version = 7) abstract class GalleryDatabase : RoomDatabase() { abstract fun DirectoryDao(): DirectoryDao @@ -26,6 +20,8 @@ abstract class GalleryDatabase : RoomDatabase() { abstract fun DateTakensDAO(): DateTakensDAO + abstract fun FavoritesDAO(): FavoritesDAO + companion object { private var db: GalleryDatabase? = null @@ -66,6 +62,9 @@ abstract class GalleryDatabase : RoomDatabase() { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") + + database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt new file mode 100644 index 000000000..1d80c3e80 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/FavoritesDAO.kt @@ -0,0 +1,8 @@ +package com.simplemobiletools.gallery.pro.interfaces + +import androidx.room.Dao + +@Dao +interface FavoritesDAO { + +} diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt new file mode 100644 index 000000000..a6c3fe001 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt @@ -0,0 +1,12 @@ +package com.simplemobiletools.gallery.pro.models + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Index +import androidx.room.PrimaryKey + +@Entity(tableName = "favorites", indices = [Index(value = ["full_path"], unique = true)]) +data class Favorite( + @PrimaryKey(autoGenerate = true) var id: Int?, + @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "parent_path") var parentPath: String) From 8035d90e36aa45b00f4b02c5f529d6afdfe81d8b Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 11:28:01 +0100 Subject: [PATCH 51/66] store the file name in the date takens and favorites tables too --- .../gallery/pro/databases/GalleryDatabase.kt | 4 ++-- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 1 + .../com/simplemobiletools/gallery/pro/models/Favorite.kt | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index d427a6142..5eb246150 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -60,10 +60,10 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") - database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index c5b8c5b3e..a5e7e5a22 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -11,5 +11,6 @@ import androidx.room.PrimaryKey data class DateTaken( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "file_name") var fileName: String, @ColumnInfo(name = "parent_path") var parentPath: String, @ColumnInfo(name = "last_fixed") var lastFixed: Int) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt index a6c3fe001..4bd0449ad 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt @@ -9,4 +9,5 @@ import androidx.room.PrimaryKey data class Favorite( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, + @ColumnInfo(name = "file_name") var fileName: String, @ColumnInfo(name = "parent_path") var parentPath: String) From daf87be965ddba23d076a50bc5691a50c34aa12e Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 18:58:55 +0100 Subject: [PATCH 52/66] adding 16:10 crop ratio, used mostly on tablets --- app/build.gradle | 2 +- .../gallery/pro/activities/NewEditActivity.kt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 892a3a6c2..b66d774a5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.22' + implementation 'com.simplemobiletools:commons:5.21.23' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt index 26ca74066..62215b769 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/NewEditActivity.kt @@ -201,6 +201,8 @@ class NewEditActivity : SimpleActivity() { add(CropAspectAsset("my_crop_4_5", 4, 5, false)) add(CropAspectAsset("my_crop_37_18", 37, 18, false)) add(CropAspectAsset("my_crop_18_37", 18, 37, false)) + add(CropAspectAsset("my_crop_16_10", 16, 10, false)) + add(CropAspectAsset("my_crop_10_16", 10, 16, false)) } settingsList.getSettingsModel(UiConfigAspect::class.java).aspectList.apply { @@ -208,6 +210,7 @@ class NewEditActivity : SimpleActivity() { add(ToggleAspectItem(CropAspectItem("my_crop_19_9"), CropAspectItem("my_crop_9_19"))) add(ToggleAspectItem(CropAspectItem("my_crop_5_4"), CropAspectItem("my_crop_4_5"))) add(ToggleAspectItem(CropAspectItem("my_crop_37_18"), CropAspectItem("my_crop_18_37"))) + add(ToggleAspectItem(CropAspectItem("my_crop_16_10"), CropAspectItem("my_crop_10_16"))) } settingsList.getSettingsModel(UiConfigFilter::class.java).setFilterList( From f1b380e6faf6ab6c8fa9c45e000dfe17ec6306cc Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 20:57:12 +0100 Subject: [PATCH 53/66] rename file_name column to filename --- .../gallery/pro/databases/GalleryDatabase.kt | 4 ++-- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 2 +- .../com/simplemobiletools/gallery/pro/models/Favorite.kt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 5eb246150..1a09b301f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -60,10 +60,10 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") - database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index a5e7e5a22..50c140994 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -11,6 +11,6 @@ import androidx.room.PrimaryKey data class DateTaken( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, - @ColumnInfo(name = "file_name") var fileName: String, + @ColumnInfo(name = "filename") var filename: String, @ColumnInfo(name = "parent_path") var parentPath: String, @ColumnInfo(name = "last_fixed") var lastFixed: Int) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt index 4bd0449ad..8f37a9b41 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/Favorite.kt @@ -9,5 +9,5 @@ import androidx.room.PrimaryKey data class Favorite( @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name = "full_path") var fullPath: String, - @ColumnInfo(name = "file_name") var fileName: String, + @ColumnInfo(name = "filename") var filename: String, @ColumnInfo(name = "parent_path") var parentPath: String) From 631e9dea34968666604fe295997e32132ad2c682 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 21:00:37 +0100 Subject: [PATCH 54/66] adding the actual DateTaken value column --- .../simplemobiletools/gallery/pro/databases/GalleryDatabase.kt | 2 +- .../com/simplemobiletools/gallery/pro/models/DateTaken.kt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 1a09b301f..9b01fe7cb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -60,7 +60,7 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { - database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `last_fixed` INTEGER NOT NULL)") + database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `date_taken` INTEGER NOT NULL, `last_fixed` INTEGER NOT NULL)") database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt index 50c140994..293e2a619 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/models/DateTaken.kt @@ -13,4 +13,5 @@ data class DateTaken( @ColumnInfo(name = "full_path") var fullPath: String, @ColumnInfo(name = "filename") var filename: String, @ColumnInfo(name = "parent_path") var parentPath: String, + @ColumnInfo(name = "date_taken") var taken: Long, @ColumnInfo(name = "last_fixed") var lastFixed: Int) From 6131c7fb5d83bf81aeec09b27ec804efd39fc2fa Mon Sep 17 00:00:00 2001 From: solokot Date: Thu, 16 Jan 2020 23:38:45 +0300 Subject: [PATCH 55/66] Updated Russian language --- app/src/main/res/values-ru/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 30aa6d796..66cd4eeff 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -81,10 +81,10 @@ Поворот Путь Недопустимый путь изображения - Редактирование изображения не удалось + Редактирование изображения не выполнено Файл успешно отредактирован Редактировать изображение в: - Ни одного редактора изображений не найдено + Не найдено ни одного редактора изображений Неизвестное местоположение файла Не удалось перезаписать исходный файл Повернуть влево @@ -252,14 +252,14 @@ Цвет кисти Редактор Закрыть редактор? - Вы действительно хотите отказаться от изображения? + Вы действительно хотите отказаться от сделанных изменений изображения? Да Нет Отмена Принять Сохранить Экспорт изображения… - Экспорт изображения %s. + Экспорт изображения %s Г-поворот В-поворот Отмена @@ -319,7 +319,7 @@ Галерея Pro - управление изображениями - Browse your memories without any interruptions with this photo and video gallery + Просматривайте свои воспоминания без перерывов с этой фото- и видеогалереей Simple Gallery Pro — настраиваемая автономная галерея. Организуйте и редактируйте свои фотографии; восстанавливайте удалённые файлы при помощи функции "корзина"; защищайте и скрывайте личные файлы; просматривайте множество различных фото- и видеоформатов, включая RAW, SVG и многие другие. From 69c56e6983fa5fb6083300f3c27c2229524aa837 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 22:06:59 +0100 Subject: [PATCH 56/66] updating the russian app short desc --- fastlane/metadata/android/ru/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/ru/short_description.txt b/fastlane/metadata/android/ru/short_description.txt index 8b0a76ce3..d2b3cb34d 100644 --- a/fastlane/metadata/android/ru/short_description.txt +++ b/fastlane/metadata/android/ru/short_description.txt @@ -1 +1 @@ -Просматривайте свои воспоминания без перерывов. +Просматривайте свои воспоминания без перерывов с этой фото- и видеогалереей From 659b808a42ba7b1042a0e7d784e7bad9ff87b20a Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 23:16:12 +0100 Subject: [PATCH 57/66] update commons to 5.21.24 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index b66d774a5..a46f4b768 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.23' + implementation 'com.simplemobiletools:commons:5.21.24' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' From 55f55624c7f7bc82486a908f322be00dd8b7490d Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 23:29:11 +0100 Subject: [PATCH 58/66] moving Nepali strings from np to ne --- app/src/main/res/{values-np => values-ne}/strings.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/src/main/res/{values-np => values-ne}/strings.xml (100%) diff --git a/app/src/main/res/values-np/strings.xml b/app/src/main/res/values-ne/strings.xml similarity index 100% rename from app/src/main/res/values-np/strings.xml rename to app/src/main/res/values-ne/strings.xml From 4c080a51199773695b66d1daf0ae7f29eaa4edaf Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 23:29:18 +0100 Subject: [PATCH 59/66] update version to 6.11.7 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a46f4b768..c72469756 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 286 - versionName "6.11.6" + versionCode 287 + versionName "6.11.7" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From 38c01fd6c061835f82a767fb4ee2683fe9555312 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Jan 2020 23:29:24 +0100 Subject: [PATCH 60/66] updating changelog --- CHANGELOG.md | 10 ++++++++++ fastlane/metadata/android/en-US/changelogs/287.txt | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/287.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 70abbf56b..b2a0bb855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ Changelog ========== +Version 6.11.7 *(2020-01-16)* +---------------------------- + + * Do not convert every edited file into a JPG, keep PNGs intact + * Fixed a glitch with empty portrait photos being shown as grey thumbnails + * Show a FAQ/settings prompt once at pressing Rate Us in the About section + * Added a 16:10 editor crop aspect ratio, used mostly on tablets + * Do some preparations for better handling Date Taken values and Favorites + * Other stability and translation improvements + Version 6.11.6 *(2020-01-11)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/287.txt b/fastlane/metadata/android/en-US/changelogs/287.txt new file mode 100644 index 000000000..914f7ba83 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/287.txt @@ -0,0 +1,6 @@ + * Do not convert every edited file into a JPG, keep PNGs intact + * Fixed a glitch with empty portrait photos being shown as grey thumbnails + * Show a FAQ/settings prompt once at pressing Rate Us in the About section + * Added a 16:10 editor crop aspect ratio, used mostly on tablets + * Do some preparations for better handling Date Taken values and Favorites + * Other stability and translation improvements From eab0af408de805eed27f0613d62f10e4b7db3a78 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Thu, 16 Jan 2020 23:38:38 +0100 Subject: [PATCH 61/66] Update README.md --- README.md | 118 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 96 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 75fbfa410..485b4d2da 100644 --- a/README.md +++ b/README.md @@ -2,33 +2,107 @@ Logo -A gallery for viewing photos and videos. +Simple Gallery Pro is a highly customizable lightweight gallery loved by millions of people for its great user experience. Organize and edit your photos, recover deleted files with the recycle bin, protect & hide files and easily view a huge variety of different photo and video formats including RAW, SVG, GIF, panoramic and much more. -A highly customizable gallery capable of displaying many different image and video types including SVGs, RAWs, panoramic photos and videos. +------------------------------------------------- +SIMPLE GALLERY PRO – FEATURES +------------------------------------------------- -It is open source, contains no ads or unnecessary permissions. +• A beautiful modern gallery with no ads or popups -Let's list some of its features worth mentioning: -1. Search -2. Slideshow -3. Notch support -4. Pinning folders to the top -5. Filtering media files by type -6. Recycle bin for easy file recovery -7. Fullscreen view orientation locking -8. Marking favorite files for easy access -9. Quick fullscreen media closing with down gesture -10. An editor for modifying images and applying filters -11. Password protection for protecting hidden items or the whole app -12. Changing the thumbnail column count with gestures or menu buttons -13. Customizable bottom actions at the fullscreen view for quick access -14. Showing extended details over fullscreen media with desired file properties -15. Several different ways of sorting or grouping items, both ascending and descending -16. Hiding folders (affects other apps too), excluding folders (affects only Simple Gallery) +• Photo editor – crop, rotate, resize, draw, filters & more -The fingerprint permission is needed for locking either hidden item visibility, the whole app, or protecting files from being deleted. +• No internet access needed, giving you more privacy, security and stability -This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com +• No unnecessary permissions required + +• Quickly search images, videos & other files + +• Open and view many different photo and video types (RAW, SVG, panoramic, GIF etc) + +• A variety of intuitive gestures to easily edit, rotate & organize files + +• Lots of ways to filter, group and sort files + +• Customize the appearance of Simple Gallery Pro + +• Available in over 30 languages + +• Mark files as favorites for quick access + +• Protect your photos & videos with a pattern, pin or fingerprint + +• Use pin, pattern & fingerprint to protect the app launch or specific functions too + +• Recover deleted photos & videos from the recycle bin + +• Toggle visibility of files to hide photos & videos + +• Create a customizable slideshow of your files with many options + +• View detailed information of your files (resolution, EXIF values etc) + +• Zoom high quality photos, videos and GIFs easily with gestures + +• Easily force portrait or landscape orientation for easy video viewing + +• Quick file share to social media, email or anywhere else + +• Print images or set them as wallpaper with a few clicks + +• Create home screen shortcuts or widgets to easily access any file or folder + +• Show the image location on a map, if available + +• Obvious presence of standard operations like rename, copy/move, un/hide, delete + +• Rewind videos with horizontal gestures + +• Change photo and video brightness, or volume with vertical gestures + +• Reorder, lock folders or change cover thumbnails anytime + +• Set any image as wallpaper without hassle + +… and much much more! + +ADVANCED PHOTO EDITOR +Simple Gallery Pro makes it easy to edit your pictures on the fly. Crop, flip, rotate and resize your pictures. If you’re feeling a little more creative you can add filters and draw on your pictures! + + +SUPPORT FOR MANY FILE TYPES +Simple Gallery Pro supports a huge range of different file types including JPEG, PNG, MP4, MKV, RAW, SVG, GIF Panoramic photos, Panoramic videos and many more. + + +HIGHLY CUSTOMIZABLE FILE MANAGER +From the UI to the function buttons on the bottom toolbar, Simple Gallery Pro is highly customizable and works the way you want it to. No other gallery has this kind of flexibility! Thanks to being open source, we’re also available in over 30 languages! + + +RECOVER DELETED PHOTOS & VIDEOS +Accidentally deleted a precious photo or video? Don’t worry! Simple Gallery Pro features a handy recycle bin where you can recover deleted photos & videos easily. + + +PROTECT & HIDE PHOTOS, VIDEOS & FILES +Using pin, pattern or your device’s fingerprint scanner you can protect and hide photos, videos & entire albums. You can protect the app itself or place locks on specific functions of the app. For example, you can’t delete a file without a fingerprint scan, helping to protect your files from accidental deletion. + + +Check out the full suite of Simple Tools here: +https://www.simplemobiletools.com + + +Standalone website of Simple Gallery Pro: +https://www.simplemobiletools.com/gallery + + +Facebook: +https://www.facebook.com/simplemobiletools + + +Reddit: +https://www.reddit.com/r/SimpleMobileTools + + +Don't forget that if you uninstall any paid app within 2 hours, you will automatically be refunded. If you want a refund anytime later, just contact us at hello@simplemobiletools.com and you will get it. That makes it easy to try it out :) Get it on Google Play Get it on F-Droid From 90b4ab470dabf87a1f066b1c1b6fb1b484a50574 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 18 Jan 2020 19:06:08 +0100 Subject: [PATCH 62/66] limit the file loading settings item label length to avoid some glitches --- app/src/main/res/layout/activity_settings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index e99e5adc5..b7d436f28 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -95,6 +95,8 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toStartOf="@+id/settings_file_loading_priority" + android:ellipsize="end" + android:lines="1" android:paddingLeft="@dimen/medium_margin" android:paddingRight="@dimen/medium_margin" android:text="@string/file_loading_priority"/> From 89790ebdfe340b905b644508a5264a043c122d32 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 18 Jan 2020 23:27:40 +0100 Subject: [PATCH 63/66] reverting Glide back to 4.10.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c72469756..15c8c810f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.24' + implementation 'com.simplemobiletools:commons:5.21.25' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' @@ -84,7 +84,7 @@ dependencies { implementation 'com.github.tibbi:gestureviews:8dccb8450b' implementation 'com.github.tibbi:subsampling-scale-image-view:d404e74e39' - kapt 'com.github.bumptech.glide:compiler:4.11.0' + kapt 'com.github.bumptech.glide:compiler:4.10.0' kapt 'androidx.room:room-compiler:2.2.2' implementation 'androidx.room:room-runtime:2.2.2' From 6b95c585592a485878993e5d4f230c0736c7fbfd Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 18 Jan 2020 23:29:03 +0100 Subject: [PATCH 64/66] try flipping some migration lines to avoid working on nonexistent tables --- .../gallery/pro/databases/GalleryDatabase.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt index 9b01fe7cb..e190b37d7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/databases/GalleryDatabase.kt @@ -61,9 +61,9 @@ abstract class GalleryDatabase : RoomDatabase() { private val MIGRATION_6_7 = object : Migration(6, 7) { override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("CREATE TABLE IF NOT EXISTS `date_takens` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL, `date_taken` INTEGER NOT NULL, `last_fixed` INTEGER NOT NULL)") - database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") - database.execSQL("CREATE TABLE IF NOT EXISTS `favorites` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `full_path` TEXT NOT NULL, `filename` TEXT NOT NULL, `parent_path` TEXT NOT NULL)") + + database.execSQL("CREATE UNIQUE INDEX `index_date_takens_full_path` ON `date_takens` (`full_path`)") database.execSQL("CREATE UNIQUE INDEX `index_favorites_full_path` ON `favorites` (`full_path`)") } } From e93eade241124f797c4c43b7ee55896e0ac89fa1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 19 Jan 2020 10:51:36 +0100 Subject: [PATCH 65/66] update version to 6.11.8 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 15c8c810f..9b9269853 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 287 - versionName "6.11.7" + versionCode 288 + versionName "6.11.8" multiDexEnabled true setProperty("archivesBaseName", "gallery") vectorDrawables.useSupportLibrary = true From 4e2380f13af0894dcc343162712ec184a4534a61 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 19 Jan 2020 10:51:44 +0100 Subject: [PATCH 66/66] updating changelog --- CHANGELOG.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/288.txt | 1 + 2 files changed, 6 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/288.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index b2a0bb855..a76981def 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========== +Version 6.11.8 *(2020-01-19)* +---------------------------- + + * Reverted Glide to fix some crashes + Version 6.11.7 *(2020-01-16)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/288.txt b/fastlane/metadata/android/en-US/changelogs/288.txt new file mode 100644 index 000000000..9631ebb6a --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/288.txt @@ -0,0 +1 @@ + * Reverted Glide to fix some crashes