From 78495f512515aa9a36942e2cf2310b8dfce2b460 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sun, 18 Oct 2020 17:25:25 +0530 Subject: [PATCH 01/95] Add Room KTX and coroutine dependencies. --- app/build.gradle | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fe52e34f8..bf0c59a78 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,6 +76,11 @@ android { } } +ext { + room_version = '2.2.5' + coroutines_version = '1.3.9' +} + dependencies { implementation 'com.simplemobiletools:commons:5.32.4' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' @@ -96,9 +101,14 @@ dependencies { kapt 'com.github.bumptech.glide:compiler:4.10.0' - kapt 'androidx.room:room-compiler:2.2.5' - implementation 'androidx.room:room-runtime:2.2.5' - annotationProcessor 'androidx.room:room-compiler:2.2.5' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0' + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" + + kapt "androidx.room:room-compiler:$room_version" + implementation "androidx.room:room-ktx:$room_version" + implementation "androidx.room:room-runtime:$room_version" + annotationProcessor "androidx.room:room-compiler:$room_version" } // Apply the PESDKPlugin From 8def34faf04548228b83b5d9db59ce108a783f6c Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sun, 18 Oct 2020 17:34:20 +0530 Subject: [PATCH 02/95] Convert DateTakensDao functions to suspend functions. --- .../gallery/pro/extensions/Activity.kt | 21 ++++++++++++------- .../gallery/pro/helpers/MediaFetcher.kt | 14 ++++++++----- .../gallery/pro/interfaces/DateTakensDao.kt | 6 +++--- 3 files changed, 26 insertions(+), 15 deletions(-) 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 5a0057a91..84d167b0a 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 @@ -19,6 +19,7 @@ import android.provider.MediaStore.Images import android.util.DisplayMetrics import android.view.View import androidx.appcompat.app.AppCompatActivity +import androidx.lifecycle.lifecycleScope import com.bumptech.glide.Glide import com.bumptech.glide.load.DecodeFormat import com.bumptech.glide.load.engine.DiskCacheStrategy @@ -36,6 +37,9 @@ import com.simplemobiletools.gallery.pro.dialogs.PickDirectoryDialog import com.simplemobiletools.gallery.pro.helpers.RECYCLE_BIN import com.simplemobiletools.gallery.pro.models.DateTaken import com.squareup.picasso.Picasso +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.io.File import java.io.FileOutputStream import java.io.InputStream @@ -424,7 +428,12 @@ fun Activity.hasNavBar(): Boolean { return (realDisplayMetrics.widthPixels - displayMetrics.widthPixels > 0) || (realDisplayMetrics.heightPixels - displayMetrics.heightPixels > 0) } -fun Activity.fixDateTaken(paths: ArrayList, showToasts: Boolean, hasRescanned: Boolean = false, callback: (() -> Unit)? = null) { +fun AppCompatActivity.fixDateTaken( + paths: ArrayList, + showToasts: Boolean, + hasRescanned: Boolean = false, + callback: (() -> Unit)? = null +) { val BATCH_SIZE = 50 if (showToasts) { toast(R.string.fixing) @@ -435,7 +444,7 @@ fun Activity.fixDateTaken(paths: ArrayList, showToasts: Boolean, hasResc var didUpdateFile = false val operations = ArrayList() - ensureBackgroundThread { + lifecycleScope.launch(Dispatchers.IO) { val dateTakens = ArrayList() for (path in paths) { @@ -479,10 +488,8 @@ fun Activity.fixDateTaken(paths: ArrayList, showToasts: Boolean, hasResc toast(R.string.no_date_takens_found) } - runOnUiThread { - callback?.invoke() - } - return@ensureBackgroundThread + withContext(Dispatchers.Main) { callback?.invoke() } + return@launch } val resultSize = contentResolver.applyBatch(MediaStore.AUTHORITY, operations).size @@ -495,7 +502,7 @@ fun Activity.fixDateTaken(paths: ArrayList, showToasts: Boolean, hasResc dateTakensDB.insertAll(dateTakens) } - runOnUiThread { + withContext(Dispatchers.Main) { if (showToasts) { toast(if (didUpdateFile) R.string.dates_fixed_successfully else R.string.unknown_error_occurred) } 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 4c4daa180..d45bcdc78 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 @@ -15,6 +15,8 @@ import com.simplemobiletools.gallery.pro.extensions.* import com.simplemobiletools.gallery.pro.models.Medium import com.simplemobiletools.gallery.pro.models.ThumbnailItem import com.simplemobiletools.gallery.pro.models.ThumbnailSection +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.runBlocking import java.io.File import java.util.* @@ -456,10 +458,12 @@ class MediaFetcher(val context: Context) { } val dateTakenValues = try { - if (folder == FAVORITES) { - context.dateTakensDB.getAllDateTakens() - } else { - context.dateTakensDB.getDateTakensFromPath(folder) + runBlocking { + if (folder == FAVORITES) { + context.dateTakensDB.getAllDateTakens() + } else { + context.dateTakensDB.getDateTakensFromPath(folder) + } } } catch (e: Exception) { return dateTakens @@ -493,7 +497,7 @@ class MediaFetcher(val context: Context) { } } - val dateTakenValues = context.dateTakensDB.getAllDateTakens() + val dateTakenValues = runBlocking(Dispatchers.IO) { context.dateTakensDB.getAllDateTakens() } dateTakenValues.forEach { dateTakens[it.fullPath] = it.taken 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 index 5041727e9..93b27b88c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDao.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDao.kt @@ -9,11 +9,11 @@ import com.simplemobiletools.gallery.pro.models.DateTaken @Dao interface DateTakensDao { @Insert(onConflict = OnConflictStrategy.REPLACE) - fun insertAll(dateTakens: List) + suspend fun insertAll(dateTakens: List) @Query("SELECT full_path, filename, parent_path, date_taken, last_fixed, last_modified FROM date_takens WHERE parent_path = :path COLLATE NOCASE") - fun getDateTakensFromPath(path: String): List + suspend fun getDateTakensFromPath(path: String): List @Query("SELECT full_path, filename, parent_path, date_taken, last_fixed, last_modified FROM date_takens") - fun getAllDateTakens(): List + suspend fun getAllDateTakens(): List } From ee04f330139fa3a1eeecdf3e44ca87960dd0a9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solatec=20Inform=C3=A0tica?= <35220662+Solatec@users.noreply.github.com> Date: Sun, 21 Feb 2021 09:42:00 +0100 Subject: [PATCH 03/95] Update strings.xml --- app/src/main/res/values-ca/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 35ecebb3c..17da42cd1 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -200,7 +200,7 @@ Limiteu els títols de carpeta llarga a 1 línia Quadrat Cantonades arrodonides - Export favorite file paths + Exportar camins de fitxers preferits Miniatures From cdcd935879c213539840537814319c954ca246cd Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 28 Feb 2021 09:36:06 +0100 Subject: [PATCH 04/95] adding tamil strings file --- app/src/main/res/values-ta/strings.xml | 427 +++++++++++++++++++++++++ 1 file changed, 427 insertions(+) create mode 100644 app/src/main/res/values-ta/strings.xml diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml new file mode 100644 index 000000000..8047b0ab2 --- /dev/null +++ b/app/src/main/res/values-ta/strings.xml @@ -0,0 +1,427 @@ + + + Simple Gallery + Gallery + Edit + Open camera + (hidden) + (excluded) + Pin folder + Unpin folder + Pin to the top + Show all folders content + All folders + Switch to folder view + Other folder + Show on map + Unknown location + Volume + Brightness + Lock orientation + Unlock orientation + Change orientation + Force portrait + Force landscape + Use default orientation + Fix Date Taken value + Fixing… + Dates fixed successfully + No Date Taken values have been found + 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 + Set as default folder + Unset as default folder + + + Filter media + Images + Videos + GIFs + RAW images + 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 + Add folder + 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 + Width + Height + Keep aspect ratio + Please enter a valid resolution + + + Editor + Rotate + Invalid image path + Invalid video path + Image editing failed + Video editing failed + Image editing cancelled + Video editing cancelled + File edited successfully + Image edited successfully + Video edited successfully + Edit image with: + Edit video with: + No image editor found + No video editor found + Unknown file location + Could not overwrite the source file + Rotate left + Rotate right + Rotate by 180º + Flip + Flip horizontally + Flip vertically + Free + Other + + + Simple Wallpaper + Set as Wallpaper + Setting as Wallpaper failed + Set as wallpaper with: + Setting wallpaper… + Wallpaper set successfully + Portrait aspect ratio + Landscape aspect ratio + Home screen + Lock screen + Home and lock screen + + + Slideshow + Interval (seconds): + Include photos + Include videos + Include GIFs + Random order + Move backwards + Loop slideshow + Animation + None + Fade + Slide + The slideshow ended + No media for the slideshow have been found + + + Group direct subfolders + + + Group by + Do not group files + Folder + Last modified + Last modified (daily) + Last modified (monthly) + Date taken + Date taken (daily) + Date taken (monthly) + File type + Extension + Please note that grouping and sorting are 2 independent fields + + + Folder shown on the widget: + Show folder name + + + Play videos automatically + Remember last video playback position + Loop videos + Animate GIFs at thumbnails + Max brightness when viewing fullscreen media + Crop thumbnails into squares + Show video durations + Rotate fullscreen media by + System setting + 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 + Speed + Compromise + Avoid showing invalid files + Show image file types + Allow zooming videos with double tapping them + Folder thumbnail style + File thumbnail style + Thumbnail spacing + Show file count on a separate line + Show file count in brackets + Do not show file count + Limit long folder titles to 1 line + Square + Rounded corners + Export favorite file paths + + + Thumbnails + Fullscreen media + Extended details + Bottom actions + + + Manage visible bottom actions + Toggle favorite + Toggle file visibility + + + Custom + Reset + Square + Transform + Filter + None + Adjust + Shadows + Exposure + Highlights + Brightness + Contrast + Saturation + Clarity + 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 + Editor + Close Editor? + Do you really want to discard the changes? + Yes + No + Cancel + Accept + Save + Exporting… + Exporting %s. + Sticker + Sticker Color + Sticker Options + Add + Color + Delete + To Front + Straighten + Replace + Opacity + Contrast + Saturation + Brightness + Uploads + Overlay + Normal + Darken + Screen + Overlay + Lighten + Multiply + Color Burn + Soft Light + Hard Light + None + Golden + Lightleak 1 + Mosaic + Paper + Rain + Vintage + 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 + Trim + + + 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 do it by double tapping the side of the screen, or tapping the current or max duration texts near the seekbar. If you enable opening videos on a separate screen in the app settings, you can use horizontal gestures too. + 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. Note that some devices do not allow hiding folders like Camera, Screenshots and Downloads. + 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. Note that hiding works recursively though, so if you hide a folder, all subfolders will become hidden too. So for unhiding the subfolders you have to unhide the parent folder. + 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 + + A premium app for managing and editing your photos, videos, GIFs without ads + + 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 ab2fd66624791d469a9638c4f5123c634f3cf8ed Mon Sep 17 00:00:00 2001 From: GobinathAL <58905033+GobinathAL@users.noreply.github.com> Date: Sun, 28 Feb 2021 17:14:41 +0530 Subject: [PATCH 05/95] Tamil language translation --- app/src/main/res/values-ta/strings.xml | 655 +++++++++++++------------ 1 file changed, 328 insertions(+), 327 deletions(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 8047b0ab2..5d12dc280 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -1,368 +1,368 @@ - Simple Gallery - Gallery - Edit - Open camera - (hidden) - (excluded) - Pin folder - Unpin folder - Pin to the top - Show all folders content - All folders - Switch to folder view - Other folder - Show on map - Unknown location - Volume - Brightness - Lock orientation - Unlock orientation - Change orientation - Force portrait - Force landscape - Use default orientation - Fix Date Taken value - Fixing… - Dates fixed successfully - No Date Taken values have been found - 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 - Set as default folder - Unset as default folder + எளிய கேலரி + ேலரி + மாற்று + புகைப்படக்கருவியை திறக்கவும் + (மறைக்கப்பற்றுள்ளவை) + (விலக்கப்பட்டவை) + கோப்புறையை முள் + கோப்புறையைத் திறக்கவும் + மேலே போடு + எல்லா கோப்புறைகளின் உள்ளடக்கத்தையும் காட்டு + அனைத்து ககோப்புறைகள் + கோப்புறை பார்வைக்கு மாறவும் + பிற கோப்புறை + வரைபடத்தில் காண்பி + தெரியாத இடம் + ஒலி + ஒளி + நோக்குநிலையை பூட்டு + நோக்குநிலையைத் திற + நோக்குநிலையை மாற்று + எப்பொழுதும் உருவப்படம் + நிலத்தோற்ற நிலை + இயல்புநிலை நோக்குநிலையைப் பயன்படுத்தவும் + தேதி எடுத்த மதிப்பை சரிசெய்யவும் + சரிசெய்தல்… + தேதிகள் வெற்றிகரமாக சரி செய்யப்பட்டன + தேதி எடுக்கப்பட்ட மதிப்புகள் எதுவும் கண்டறியப்படவில்லை + மறுஅளவிடப்பட்ட பதிப்பைப் பகிரவும் + ஏய்,\n\nபழைய இலவச பயன்பாட்டிலிருந்து மேம்படுத்தப்பட்டதாக தெரிகிறது. பயன்பாட்டு அமைப்புகளின் மேலே \'புரோவுக்கு மேம்படுத்து\' பொத்தானைக் கொண்ட பழைய பதிப்பை இப்போது நீங்கள் நிறுவல் நீக்கலாம்.\n\nநீங்கள் மறுசுழற்சி தொட்டி உருப்படிகளை மட்டுமே நீக்குவீர்கள், பிடித்த உருப்படிகள் குறிக்கப்படாமல் இருக்கும், மேலும் உங்கள் பயன்பாட்டு அமைப்புகளையும் மீட்டமைக்க வேண்டும்.\n\nநன்றி! + காணக்கூடிய அனைத்து கோப்புறைகளிலும் கோப்பு தேடலுக்கு மாறவும் + இயல்புநிலை கோப்புறையாக அமைக்கவும் + இயல்புநிலை கோப்புறையாக அமைக்காதீர்கள் - Filter media - Images - Videos - GIFs - RAW images - SVGs - Portraits - No media files have been found with the selected filters. - Change filters + மீடியாவை வடிகட்டவும் + புகைப்படங்கள் + வீடியோக்கள் + GIF கள் + RAW புகைப்படங்கள் + SVG கள் + உருவப்படங்கள் + தேர்ந்தெடுக்கப்பட்ட வடிப்பான்களுடன் ஊடக கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. + வடிப்பான்களை மாற்றவும் - 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. + இந்த செயல்பாடு ஒரு \'.nomedia\' கோப்பைச் சேர்ப்பதன் மூலம் கோப்புறையை மறைக்கிறது, இது எல்லா துணை கோப்புறைகளையும் மறைக்கும். அமைப்புகளில் \'மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\' விருப்பத்தை மாற்றுவதன் மூலம் அவற்றைக் காணலாம். தொடரவா? + விலக்கு + விலக்கப்பட்ட கோப்புறைகள் + விலக்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும் + இது எளிய கேலரியில் இருந்து அதன் துணை கோப்புறைகளுடன் தேர்வை விலக்கும். அமைப்புகளில் விலக்கப்பட்ட கோப்புறைகளை நீங்கள் நிர்வகிக்கலாம். + அதற்கு பதிலாக ஒரு பெற்றோரை விலக்கவா? + கோப்புறைகளைத் தவிர்த்து, எளிய கேலரியில் மறைத்து வைக்கப்பட்டுள்ள அவற்றின் துணை கோப்புறைகளுடன் அவற்றை ஒன்றிணைக்கும், அவை இன்னும் பிற பயன்பாடுகளில் தெரியும்.\n\nபிற பயன்பாடுகளிலிருந்தும் அவற்றை மறைக்க விரும்பினால், மறை செயல்பாட்டைப் பயன்படுத்தவும். + அனைத்து நீக்க + விலக்கப்பட்டவர்களின் பட்டியலிலிருந்து எல்லா கோப்புறைகளையும் அகற்றவா? இது கோப்புறைகளை நீக்காது. + மறைக்கப்பட்ட கோப்புறைகள் + மறைக்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும் + உங்களிடம் \".nomedia\" கோப்புடன் எந்த கோப்புறைகளும் மறைக்கப்படவில்லை என தெரிகிறது. - Included folders - Manage included folders - Add folder - 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. + கோப்புறைகள் சேர்க்கப்பட்டுள்ளன + சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும் + கோப்புறையைச் சேர் + உங்களிடம் சில கோப்புறைகள் இருந்தால், அவை பயன்பாட்டைக் கொண்டிருக்கவில்லை, ஆனால் அவற்றை கைமுறையாக இங்கே சேர்க்கலாம்.\n\nசில உருப்படிகளை இங்கே சேர்ப்பது வேறு எந்த கோப்புறையையும் விலக்காது. + மீடியா கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. மீடியா கோப்புகளைக் கொண்ட கோப்புறைகளை கைமுறையாகச் சேர்ப்பதன் மூலம் அதைத் தீர்க்கலாம். - Resize - Resize selection and save - Width - Height - Keep aspect ratio - Please enter a valid resolution + மறுஅளவிடு + அளவை மறுஅளவித்து சேமி + அகலம் + உயரம் + விகித விகிதத்தை வைத்திருங்கள் + சரியான தீர்மானத்தை உள்ளிடவும் - Editor - Rotate - Invalid image path - Invalid video path - Image editing failed - Video editing failed - Image editing cancelled - Video editing cancelled - File edited successfully - Image edited successfully - Video edited successfully - Edit image with: - Edit video with: - No image editor found - No video editor found - Unknown file location - Could not overwrite the source file - Rotate left - Rotate right - Rotate by 180º - Flip - Flip horizontally - Flip vertically - Free - Other + எடிட்டர் + சுழற்று + தவறான பட பாதை + தவறான வீடியோ பாதை + பட எடிட்டிங் தோல்வியுற்றது + வீடியோ எடிட்டிங் தோல்வியுற்றது + பட எடிட்டிங் ரத்து + வீடியோ எடிட்டிங் ரத்து + கோப்பு வெற்றிகரமாக திருத்தப்பட்டது + படம் வெற்றிகரமாக திருத்தப்பட்டது + வீடியோ வெற்றிகரமாக திருத்தப்பட்டது + படத்தை இதனுடன் திருத்தவும்: + இதனுடன் வீடியோவைத் திருத்துக: + பட எடிட்டர் எதுவும் கிடைக்கவில்லை + வீடியோ எடிட்டர் எதுவும் கிடைக்கவில்லை + அறியப்படாத கோப்பு இடம் + மூல கோப்பை மேலெழுத முடியவில்லை + இடதுபுறம் சுழற்று + வலதுபுறம் சுழற்று + 180º ஆல் சுழற்று + புரட்டு + கிடைமட்டமாக புரட்டவும் + செங்குத்தாக புரட்டவும் + கட்டுப்பாடற்ற + மற்றவை - Simple Wallpaper - Set as Wallpaper - Setting as Wallpaper failed - Set as wallpaper with: - Setting wallpaper… - Wallpaper set successfully - Portrait aspect ratio - Landscape aspect ratio - Home screen - Lock screen - Home and lock screen + எளிய வால்பேப்பர் + வால்பேப்பராக அமைக்கவும் + வால்பேப்பராக அமைப்பது தோல்வியடைந்தது + இதனுடன் வால்பேப்பராக அமைக்கவும்: + வால்பேப்பரை அமைத்தல்… + வால்பேப்பர் வெற்றிகரமாக அமைக்கப்பட்டது + உருவப்படம் விகிதம் + நிலத்தோற்ற விகிதம் + முகப்புத் திரை + பூட்டுத் திரை + முகப்பு மற்றும் பூட்டுத் திரை - Slideshow - Interval (seconds): - Include photos - Include videos - Include GIFs - Random order - Move backwards - Loop slideshow - Animation - None - Fade - Slide - The slideshow ended - No media for the slideshow have been found + ஸ்லைடுஷோ + இடைவெளி (விநாடிகள்): + புகைப்படங்களைச் சேர்க்கவும் + வீடியோக்களைச் சேர்க்கவும் + GIF களைச் சேர்க்கவும் + சீரற்ற வரிசை + பின்னோக்கி நகர்த்தவும் + லூப் ஸ்லைடுஷோ + இயங்குபடம் + எதுவுமில்லை + மங்கல் + ஸ்லைடு + ஸ்லைடுஷோ முடிந்தது + ஸ்லைடுஷோவுக்கான ஊடகங்கள் எதுவும் கிடைக்கவில்லை - Group direct subfolders + குழு நேரடி துணை கோப்புறைகள் - Group by - Do not group files - Folder - Last modified - Last modified (daily) - Last modified (monthly) - Date taken - Date taken (daily) - Date taken (monthly) - File type - Extension - Please note that grouping and sorting are 2 independent fields + குழு + கோப்புகளை குழு செய்ய வேண்டாம் + கோப்புறை + கடைசியாக மாற்றப்பட்டது + கடைசியாக மாற்றியமைக்கப்பட்டது (தினசரி) + கடைசியாக மாற்றியமைக்கப்பட்டது (மாதாந்திரம்) + எடுக்கப்பட்ட தேதி + எடுக்கப்பட்ட தேதி (தினசரி) + எடுக்கப்பட்ட தேதி (மாதாந்திர) + கோப்பு வகை + நீட்டிப்பு + தொகுத்தல் மற்றும் வரிசைப்படுத்துதல் 2 சுயாதீன புலங்கள் என்பதை நினைவில் கொள்க - Folder shown on the widget: - Show folder name + விட்ஜெட்டில் கோப்புறை காட்டப்பட்டுள்ளது: + கோப்புறை பெயரைக் காட்டு - Play videos automatically - Remember last video playback position - Loop videos - Animate GIFs at thumbnails - Max brightness when viewing fullscreen media - Crop thumbnails into squares - Show video durations - Rotate fullscreen media by - System setting - 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 - Speed - Compromise - Avoid showing invalid files - Show image file types - Allow zooming videos with double tapping them - Folder thumbnail style - File thumbnail style - Thumbnail spacing - Show file count on a separate line - Show file count in brackets - Do not show file count - Limit long folder titles to 1 line - Square - Rounded corners - Export favorite file paths + வீடியோக்களை தானாக இயக்கு + கடைசி வீடியோ பின்னணி நிலையை நினைவில் கொள்க + வீடியோக்களை லூப் செய் + சிறு உருவங்களில் GIF களை உயிரூட்டுங்கள் + முழுத்திரை மீடியாவைப் பார்க்கும்போது அதிகபட்ச பிரகாசம் + சிறு உருவங்களை சதுரங்களாக செய்யவும் + வீடியோ காலங்களைக் காட்டு + முழுத்திரை ஊடகத்தை சுழற்று + கணினி அமைப்பு + சாதன சுழற்சி + விகிதம் + முழுத்திரை ஊடகங்களில் கருப்பு பின்னணி + சிறு உருவங்களை கிடைமட்டமாக உருட்டவும் + முழுத்திரை மீடியாவில் கணினி UI ஐ தானாக மறைக்கவும் + வெற்று கோப்புறைகளை அவற்றின் உள்ளடக்கத்தை நீக்கிய பின் நீக்கவும் + செங்குத்து சைகைகளுடன் புகைப்பட பிரகாசத்தை கட்டுப்படுத்த அனுமதிக்கவும் + வீடியோ அளவு மற்றும் பிரகாசத்தை செங்குத்து சைகைகளுடன் கட்டுப்படுத்த அனுமதிக்கவும் + கோப்புறை மீடியா எண்ணிக்கையை பிரதான பார்வையில் காட்டு + முழுத்திரை ஊடகங்களில் நீட்டிக்கப்பட்ட விவரங்களைக் காட்டு + நீட்டிக்கப்பட்ட விவரங்களை நிர்வகிக்கவும் + முழுத்திரை மீடியாவில் ஒரு விரல் பெரிதாக்க அனுமதிக்கவும் + திரை பக்கங்களில் கிளிக் செய்வதன் மூலம் உடனடியாக ஊடகத்தை மாற்ற அனுமதிக்கவும் + ஆழமான பெரிதாக்கும் படங்களை அனுமதிக்கவும் + நிலைப்பட்டி மறைக்கப்படும்போது நீட்டிக்கப்பட்ட விவரங்களை மறைக்கவும் + திரையின் அடிப்பகுதியில் சில செயல் பொத்தான்களைக் காட்டு + கோப்புறைகள் திரையில் மறுசுழற்சி தொட்டியைக் காட்டு + ஆழமான பெரிதாக்கக்கூடிய படங்கள் + படங்களை மிக உயர்ந்த தரத்தில் காட்டுங்கள் + பிரதான திரையில் கடைசி உருப்படியாக மறுசுழற்சி தொட்டியைக் காட்டு + கீழ்நிலை சைகை மூலம் முழுத்திரை காட்சியை மூட அனுமதிக்கவும் + இரண்டு இரட்டை தட்டுகளுடன் 1: 1 பெரிதாக்க அனுமதிக்கவும் + புதிய கிடைமட்ட சைகைகளுடன் வீடியோக்களை எப்போதும் தனித் திரையில் திறக்கவும் + கிடைத்தால் ஒரு உச்சநிலையைக் காட்டு + சைகைகளுடன் படங்களை சுழற்ற அனுமதிக்கவும் + கோப்பு ஏற்றுதல் முன்னுரிமை + வேகம் + சமரசம் + தவறான கோப்புகளைக் காண்பிப்பதைத் தவிர்க்கவும் + பட கோப்பு வகைகளைக் காட்டு + வீடியோக்களை இருமுறை தட்டுவதன் மூலம் பெரிதாக்க அனுமதிக்கவும் + கோப்புறை சிறு நடை + கோப்பு சிறு உருவத்தின் பாணி + சிறுபடத்தில் இடைவெளி + கோப்பு எண்ணிக்கையை தனி வரியில் காண்பி + கோப்பு எண்ணிக்கையை அடைப்புக்குறிக்குள் காட்டு + கோப்பு எண்ணிக்கையைக் காட்ட வேண்டாம் + நீண்ட கோப்புறை தலைப்புகளை 1 வரிக்கு மட்டுப்படுத்தவும் + சதுரம் + மழுங்கையாக்கப்பட்ட மூலைகள் + பிடித்த கோப்பு பாதைகளை ஏற்றுமதி செய்க - Thumbnails - Fullscreen media - Extended details - Bottom actions + சிறு உருவங்கள் + முழுத்திரை ஊடகம் + விரிவாக்கப்பட்ட விவரங்கள் + கீழே செயல்கள் - Manage visible bottom actions - Toggle favorite - Toggle file visibility + புலப்படும் கீழ் செயல்களை நிர்வகிக்கவும் + பிடித்ததை நிலைமாற்று + கோப்பு தெரிவுநிலையை நிலைமாற்று - Custom - Reset - Square - Transform - Filter - None - Adjust - Shadows - Exposure - Highlights - Brightness - Contrast - Saturation - Clarity - 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 - Editor - Close Editor? - Do you really want to discard the changes? - Yes - No - Cancel - Accept - Save - Exporting… - Exporting %s. - Sticker - Sticker Color - Sticker Options - Add - Color - Delete - To Front - Straighten - Replace - Opacity - Contrast - Saturation - Brightness - Uploads - Overlay - Normal - Darken - Screen - Overlay - Lighten - Multiply - Color Burn - Soft Light - Hard Light - None - Golden - Lightleak 1 - Mosaic - Paper - Rain - Vintage - 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 - Trim + தனிப்பயன் + மீட்டமை + சதுரம் + உருமாற்றம் + வடிகட்டி + எதுவுமில்லை + சரிசெய் + நிழல்கள் + நேரிடுவது + சிறப்பம்சங்கள் + பிரகாசம் + மாறுபாடு + செறிவூட்டல் + தெளிவு + காமா + கறுப்புகள் + வெள்ளைகள் + வெப்ப நிலை + கூர்மை + மீட்டமை + கவனம் செலுத்துங்கள் + எதுவுமில்லை + ரேடியல் + நேரியல் + பிரதிபலித்தது + காஸியன் + உரை + உரை விருப்பங்கள் + உரை வண்ணம் + எழுத்துரு + கூட்டு + தொகு + நேராக்கு + எழுத்துரு + நிறம் + பி.ஜி நிறம் + சீரமைப்பு + முன் + அழி + உங்கள் உரை + தூரிகை + நிறம் + அளவு + கடினத்தன்மை + முன் + அழி + தூரிகை வண்ணம் + எடிட்டர் + மூடு எடிட்டர்? + மாற்றங்களை நிராகரிக்க விரும்புகிறீர்களா? + ஆம் + இல்லை + ரத்துசெய் + ஏற்றுக்கொள் + சேமி + ஏற்றுமதி செய்கிறது… + ஏற்றுமதி செய்கிறது %s. + ஸ்டிக்கர் + ஸ்டிக்கர் நிறம் + ஸ்டிக்கர் விருப்பங்கள் + கூட்டு + நிறம் + அழி + முன் + நேராக்கு + மாற்றவும் + ஒளிபுகா தன்மை + மாறுபாடு + செறிவூட்டல் + பிரகாசம் + பதிவேற்றங்கள் + மேலடுக்கு + இயல்பானது + இருட்டாக + திரை + மேலடுக்கு + ஒளிரச் செய்யுங்கள் + பெருக்கவும் + வண்ண எரிப்பு + மென்மையான ஒளி + கடின ஒளி + எதுவுமில்லை + கோல்டன் + லைட்லீக் 1 + மொசைக் + காகிதம் + மழை + விண்டேஜ் + திருப்பு கி + திருப்பு செ + செயல்தவிர் + மீண்டும் செய் + வண்ண தெரிவு + ஒளி புகும் + வெள்ளை + சாம்பல் + கருப்பு + வெளிர் நீலம் + நீலம் + ஊதா + ஆர்க்கிட் + இளஞ்சிவப்பு + சிவப்பு + ஆரஞ்சு + தங்கம் + மஞ்சள் + ஆலிவ் + பச்சை + அக்வாமரின் + பைப்பேட் வண்ணம் + ஒழுங்கமைக்கவும் - 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 do it by double tapping the side of the screen, or tapping the current or max duration texts near the seekbar. If you enable opening videos on a separate screen in the app settings, you can use horizontal gestures too. - 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. Note that some devices do not allow hiding folders like Camera, Screenshots and Downloads. - 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. + எளிய கேலரியை இயல்புநிலை சாதன கேலரியாக மாற்றுவது எப்படி? + முதலில் உங்கள் சாதன அமைப்புகளின் பயன்பாடுகள் பிரிவில் தற்போது இயல்புநிலை கேலரியைக் கண்டுபிடிக்க வேண்டும், \"இயல்புநிலையாகத் திற\" போன்ற ஒன்றைக் கூறும் பொத்தானைத் தேடுங்கள், அதைக் கிளிக் செய்து, \"இயல்புநிலைகளை அழி\" என்பதைத் தேர்ந்தெடுக்கவும். + அடுத்த முறை நீங்கள் ஒரு படத்தை அல்லது வீடியோவைத் திறக்க முயற்சிப்பீர்கள், நீங்கள் ஒரு பயன்பாட்டு தேர்வாளரைப் பார்க்க வேண்டும், அங்கு நீங்கள் எளிய கேலரியைத் தேர்ந்தெடுத்து அதை இயல்புநிலை பயன்பாடாக மாற்றலாம். + கடவுச்சொல்லுடன் பயன்பாட்டை பூட்டினேன், ஆனால் நான் அதை மறந்துவிட்டேன். என்னால் என்ன செய்ய முடியும்? + நீங்கள் அதை 2 வழிகளில் தீர்க்கலாம். நீங்கள் பயன்பாட்டை நிறுவலாம் அல்லது உங்கள் சாதன அமைப்புகளில் பயன்பாட்டைக் கண்டுபிடித்து \"தரவை அழி\" என்பதைத் தேர்ந்தெடுக்கலாம். இது உங்கள் எல்லா அமைப்புகளையும் மீட்டமைக்கும், இது எந்த மீடியா கோப்புகளையும் அகற்றாது. + ஒரு ஆல்பத்தை எப்போதும் மேலே காண்பிப்பது எப்படி? + நீங்கள் விரும்பிய ஆல்பத்தை நீண்ட நேரம் அழுத்தி, செயல்கள் மெனுவில் பின் ஐகானைத் தேர்ந்தெடுக்கலாம், அது மேலே பொருத்தப்படும். நீங்கள் பல கோப்புறைகளையும் பின் செய்யலாம், பின் செய்யப்பட்ட உருப்படிகள் இயல்புநிலை வரிசையாக்க முறையால் வரிசைப்படுத்தப்படும். + வீடியோக்களை எவ்வாறு வேகமாக அனுப்புவது? + திரையின் பக்கத்தை இருமுறை தட்டுவதன் மூலமோ அல்லது சீக்பார் அருகே தற்போதைய அல்லது அதிகபட்ச கால நூல்களைத் தட்டுவதன் மூலமோ நீங்கள் இதைச் செய்யலாம். பயன்பாட்டு அமைப்புகளில் தனித் திரையில் வீடியோக்களைத் திறக்க நீங்கள் இயக்கினால், கிடைமட்ட சைகைகளையும் பயன்படுத்தலாம். + ஒரு கோப்புறையை மறைப்பதற்கும் விலக்குவதற்கும் என்ன வித்தியாசம்? + விலக்கு எளிய கேலரியில் மட்டுமே கோப்புறையைக் காண்பிப்பதைத் தடுக்கிறது, அதே சமயம் கணினி வாரியாக மறைக்கிறது, மேலும் இது மற்ற கேலரிகளிலிருந்தும் கோப்புறையை மறைக்கிறது. கொடுக்கப்பட்ட கோப்புறையில் வெற்று \".nomedia\" கோப்பை உருவாக்குவதன் மூலம் இது செயல்படுகிறது, அதை நீங்கள் எந்த கோப்பு மேலாளரிடமும் அகற்றலாம். கேமரா, ஸ்கிரீன் ஷாட்கள் மற்றும் பதிவிறக்கங்கள் போன்ற கோப்புறைகளை மறைக்க சில சாதனங்கள் அனுமதிக்காது என்பதை நினைவில் கொள்க. + மியூசிக் கவர் ஆர்ட் அல்லது ஸ்டிக்கர்களைக் கொண்ட கோப்புறைகள் ஏன் காண்பிக்கப்படுகின்றன? + சில அசாதாரண ஆல்பங்கள் காண்பிக்கப்படுவதை நீங்கள் காண்பீர்கள். அவற்றை நீண்ட நேரம் அழுத்தி, விலக்கு என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அவற்றை எளிதாக விலக்கலாம். அடுத்த உரையாடலில் நீங்கள் பெற்றோர் கோப்புறையைத் தேர்ந்தெடுக்கலாம், இது பிற தொடர்புடைய ஆல்பங்களையும் காண்பிப்பதைத் தடுக்கும் வாய்ப்புகள் உள்ளன. + படத்தைக் கொண்ட கோப்புறை காண்பிக்கப்படவில்லை, அல்லது அது எல்லா உருப்படிகளையும் காட்டாது. என்னால் என்ன செய்ய முடியும்? + அதற்கு பல காரணங்கள் இருக்கலாம், ஆனால் அதைத் தீர்ப்பது எளிதானது. அமைப்புகள் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும், பிளஸ் என்பதைத் தேர்ந்தெடுத்து தேவையான கோப்புறையில் செல்லவும். + ஒரு சில குறிப்பிட்ட கோப்புறைகளை நான் காண விரும்பினால் என்ன செய்வது? + சேர்க்கப்பட்ட கோப்புறைகளில் ஒரு கோப்புறையைச் சேர்ப்பது தானாக எதையும் விலக்காது. நீங்கள் செய்யக்கூடியது அமைப்புகள் -> விலக்கப்பட்ட கோப்புறைகளை நிர்வகி, \"/\" என்ற ரூட் கோப்புறையை விலக்கி, பின்னர் அமைப்புகளில் விரும்பிய கோப்புறைகளைச் சேர்க்கவும் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும். + இது தேர்ந்தெடுக்கப்பட்ட கோப்புறைகளை மட்டுமே காணும், ஏனெனில் தவிர்த்து, உள்ளடக்குவது இரண்டும் சுழல்நிலை மற்றும் ஒரு கோப்புறை விலக்கப்பட்டு சேர்க்கப்பட்டால், அது காண்பிக்கப்படும். + இந்த பயன்பாட்டின் மூலம் படங்களை செதுக்க முடியுமா? + ஆம், பட மூலைகளை இழுப்பதன் மூலம், எடிட்டரில் படங்களை செதுக்கலாம். பட சிறுபடத்தை நீண்ட நேரம் அழுத்தி திருத்து என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அல்லது முழுத்திரைக் காட்சியில் இருந்து திருத்து என்பதைத் தேர்ந்தெடுப்பதன் மூலம் நீங்கள் எடிட்டரைப் பெறலாம். + நான் எப்படியாவது குழு மீடியா கோப்பு சிறு உருவங்களை குழு செய்யலாமா? + நிச்சயமாக, சிறுபடங்களின் பார்வையில் \"குழு மூலம்\" மெனு உருப்படியைப் பயன்படுத்தவும். எடுக்கப்பட்ட தேதி உட்பட பல அளவுகோல்களால் கோப்புகளை தொகுக்கலாம். \"எல்லா கோப்புறைகளையும் காண்பி\" செயல்பாட்டை நீங்கள் பயன்படுத்தினால், அவற்றை கோப்புறைகளாலும் தொகுக்கலாம். + எடுக்கப்பட்ட தேதியின்படி வரிசைப்படுத்துவது சரியாக வேலை செய்யத் தெரியவில்லை, அதை எவ்வாறு சரிசெய்வது? + கோப்புகள் எங்கிருந்தோ நகலெடுக்கப்படுவதால் இது பெரும்பாலும் ஏற்படுகிறது. கோப்பு சிறு உருவங்களைத் தேர்ந்தெடுத்து \"தேதியை எடுத்த மதிப்பை சரி\" என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அதை சரிசெய்யலாம். + படங்களில் சில கலர் பேண்டிங்கை நான் காண்கிறேன். தரத்தை எவ்வாறு மேம்படுத்துவது? + படங்களைக் காண்பிப்பதற்கான தற்போதைய தீர்வு பெரும்பாலான சந்தர்ப்பங்களில் சிறப்பாக செயல்படுகிறது, ஆனால் நீங்கள் இன்னும் சிறந்த படத் தரத்தை விரும்பினால், \"ஆழமான பெரிதாக்கக்கூடிய படங்கள்\" பிரிவில், பயன்பாட்டு அமைப்புகளில் "படங்களை மிக உயர்ந்த தரத்தில் காட்டு\" என்பதை இயக்கலாம். . 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. Note that hiding works recursively though, so if you hide a folder, all subfolders will become hidden too. So for unhiding the subfolders you have to unhide the parent folder. - 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. + பிரதான திரையில் \"தற்காலிகமாக மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\" மெனு உருப்படியை அழுத்தவும் அல்லது மறைக்கப்பட்ட உருப்படியைக் காண பயன்பாட்டு அமைப்புகளில் \"மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\" என்பதை மாற்றவும். நீங்கள் அதை மறைக்க விரும்பினால், அதை நீண்ட நேரம் அழுத்தி \"மறை\" என்பதைத் தேர்ந்தெடுக்கவும். கோப்புறைகள் ஒரு மறைக்கப்பட்ட \".nomedia\" கோப்பைச் சேர்ப்பதன் மூலம் மறைக்கப்படுகின்றன, நீங்கள் எந்த கோப்பு மேலாளரிடமும் கோப்பை நீக்கலாம். மறைப்பது மீண்டும் மீண்டும் செயல்படுகிறது என்பதை நினைவில் கொள்க, எனவே நீங்கள் ஒரு கோப்புறையை மறைத்தால், எல்லா துணை கோப்புறைகளும் மறைக்கப்படும். எனவே துணை கோப்புறைகளை மறைக்க நீங்கள் பெற்றோர் கோப்புறையை மறைக்க வேண்டும். + பயன்பாடு ஏன் அதிக இடத்தை எடுத்துக்கொள்கிறது? + பயன்பாட்டு தற்காலிக சேமிப்பு 250MB வரை ஆகலாம், இது படத்தை விரைவாக ஏற்றுவதை உறுதி செய்கிறது. பயன்பாடு இன்னும் அதிக இடத்தை எடுத்துக்கொண்டால், மறுசுழற்சி தொட்டியில் நீங்கள் உருப்படிகளை வைத்திருப்பதால் இது பெரும்பாலும் ஏற்படலாம். அந்த கோப்புகள் பயன்பாட்டு அளவிற்கு எண்ணப்படுகின்றன. மறுசுழற்சி தொட்டியைத் திறந்து எல்லா கோப்புகளையும் நீக்குவதன் மூலம் அல்லது பயன்பாட்டு அமைப்புகளிலிருந்து அழிக்கலாம். தொட்டியில் உள்ள ஒவ்வொரு கோப்பும் 30 நாட்களுக்குப் பிறகு தானாகவே நீக்கப்படும். Simple Gallery Pro - Photo Manager & Editor - A premium app for managing and editing your photos, videos, GIFs without ads + விளம்பரங்கள் இல்லாமல் உங்கள் புகைப்படங்கள், வீடியோக்கள், GIF களை நிர்வகிப்பதற்கும் திருத்துவதற்கும் ஒரு பிரீமியம் பயன்பாடு 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. @@ -425,3 +425,4 @@ https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> + From 46464f365e17c93426e09ead2a53eb70ed199d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Marques?= Date: Sun, 28 Feb 2021 19:30:07 +0000 Subject: [PATCH 06/95] Update strings.xml --- app/src/main/res/values-pt/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 597ffa4bd..d9de5c8df 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -71,15 +71,15 @@ Largura Altura Manter proporção - Digite uma resolução válida + Introduza uma resolução válida Editor Rodar Caminho inválido Caminho de vídeo inválido - Falha na edição da imagem - Falha na edição do vídeo + Falha ao editar a imagem + Falha ao editar o vídeo Edição de imagem cancelada Edição de vídeo cancelada Imagem editada com sucesso @@ -192,20 +192,20 @@ Mostrar o tipo de imagem Permitir ampliação de vídeos com dois toques Estilo de miniatura das pastas - File thumbnail style - Thumbnail spacing + Estilo das miniaturas + Espaçamento entre miniaturas Mostrar número de ficherios em linha distinta Mostrar número de ficheiros em chavetas Não mostrar número de ficheiros Restringir título das pastas a 1 linha Quadrado Cantos arredondados - Export favorite file paths + Exportar caminho dos ficheiros favoritos Miniaturas Multimédia em ecrã completo - Detalhes extra + Mais detalhes Ações em baixo @@ -292,7 +292,7 @@ Sobreposição Clarear Multiplicar - Color Burn + Aquecimento de cor Luz suave Luz forte Nenhuma @@ -324,7 +324,7 @@ Verde Aquamarino Pipeta de cores - Trim + Recortar How can I make Simple Gallery the default device gallery? From 8b735f36d7dfa982b435df674c13cb2c906397ad Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 7 Mar 2021 22:43:06 +0100 Subject: [PATCH 07/95] adding some GIF and SVG improvements --- .../gallery/pro/fragments/PhotoFragment.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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 e5a80b9e3..88a2641bd 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 @@ -374,8 +374,10 @@ class PhotoFragment : ViewPagerFragment() { mView.apply { gestures_view.beGone() - gif_view.setInputSource(source) gif_view_frame.beVisible() + ensureBackgroundThread { + gif_view.setInputSource(source) + } } } catch (e: Exception) { loadBitmap() @@ -385,11 +387,13 @@ class PhotoFragment : ViewPagerFragment() { } private fun loadSVG() { - Glide.with(context!!) - .`as`(PictureDrawable::class.java) - .listener(SvgSoftwareLayerSetter()) - .load(mMedium.path) - .into(mView.gestures_view) + if (context != null) { + Glide.with(context!!) + .`as`(PictureDrawable::class.java) + .listener(SvgSoftwareLayerSetter()) + .load(mMedium.path) + .into(mView.gestures_view) + } } private fun loadBitmap(addZoomableView: Boolean = true) { From 34824e79ff0f2f3b74eb1e22abb15187105e23c0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 7 Mar 2021 22:48:07 +0100 Subject: [PATCH 08/95] updating commons, kotlin and photo editor sdk --- app/build.gradle | 2 +- build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5d7f0aab8..39137dcab 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -77,7 +77,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.33.34' + implementation 'com.simplemobiletools:commons:5.34.17' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/build.gradle b/build.gradle index 5a9a50030..fd77b1a29 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.4.30' + ext.kotlin_version = '1.4.31' ext.is_proprietary = gradle.startParameter.taskNames.any { task -> task.contains("Proprietary") } repositories { @@ -16,7 +16,7 @@ buildscript { classpath 'com.android.tools.build:gradle:4.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" if (is_proprietary) { - classpath 'ly.img.android.pesdk:plugin:8.0.9' + classpath 'ly.img.android.pesdk:plugin:8.1.0' } // NOTE: Do not place your application dependencies here; they belong From fa41371209251243cea79a9c74d8b1bfd853dbc1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 7 Mar 2021 22:49:41 +0100 Subject: [PATCH 09/95] use Down animation at closing fullscreen view with a gesture --- .../gallery/pro/fragments/ViewPagerFragment.kt | 4 +++- 1 file changed, 3 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 66fbd8df5..99208403c 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 @@ -7,6 +7,7 @@ import android.view.MotionEvent import androidx.exifinterface.media.ExifInterface import androidx.fragment.app.Fragment import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.gallery.pro.R import com.simplemobiletools.gallery.pro.extensions.config import com.simplemobiletools.gallery.pro.helpers.* import com.simplemobiletools.gallery.pro.models.Medium @@ -145,7 +146,8 @@ abstract class ViewPagerFragment : Fragment() { val downGestureDuration = System.currentTimeMillis() - mTouchDownTime if (!mIgnoreCloseDown && Math.abs(diffY) > Math.abs(diffX) && diffY < -mCloseDownThreshold && downGestureDuration < MAX_CLOSE_DOWN_GESTURE_DURATION && context?.config?.allowDownGesture == true) { - activity?.supportFinishAfterTransition() + activity?.finish() + activity?.overridePendingTransition(0, R.anim.slide_down) } mIgnoreCloseDown = false } From 463c0ed719486ad5c4fd6b268ef33c18f73e24a5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 7 Mar 2021 22:59:57 +0100 Subject: [PATCH 10/95] add animations to listviews --- .../gallery/pro/activities/MainActivity.kt | 4 ++++ .../gallery/pro/activities/MediaActivity.kt | 6 ++++++ app/src/main/res/layout/activity_main.xml | 1 + app/src/main/res/layout/activity_media.xml | 1 + 4 files changed, 12 insertions(+) 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 b8b6e0266..a04df1ac7 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 @@ -1206,6 +1206,10 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { runOnUiThread { directories_grid.adapter = this setupScrollDirection() + + if (config.viewTypeFolders == VIEW_TYPE_LIST) { + directories_grid.scheduleLayoutAnimation() + } } } measureRecyclerViewContent(dirsToShow) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index c13654404..a49dd6bbf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -420,6 +420,12 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { setupZoomListener(mZoomListener) media_grid.adapter = this } + + val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) + if (viewType == VIEW_TYPE_LIST) { + media_grid.scheduleLayoutAnimation() + } + setupLayoutManager() handleGridSpacing() measureRecyclerViewContent(mMedia) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3756cbb82..905823c41 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -52,6 +52,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/directories_switch_searching" + android:layoutAnimation="@anim/layout_animation" android:scrollbars="none" app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager" app:spanCount="@integer/directory_columns_vertical_scroll" /> diff --git a/app/src/main/res/layout/activity_media.xml b/app/src/main/res/layout/activity_media.xml index c157f234b..c17033620 100644 --- a/app/src/main/res/layout/activity_media.xml +++ b/app/src/main/res/layout/activity_media.xml @@ -40,6 +40,7 @@ android:id="@+id/media_grid" android:layout_width="match_parent" android:layout_height="match_parent" + android:layoutAnimation="@anim/layout_animation" android:scrollbars="none" app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager" app:spanCount="@integer/media_columns_vertical_scroll" /> From 9f54d04df044cc55c11224ae8dbb73bf8c5a9b47 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 8 Mar 2021 18:35:35 +0100 Subject: [PATCH 11/95] update commons to 5.34.21 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 39137dcab..8d6f4bf48 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -77,7 +77,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.34.17' + implementation 'com.simplemobiletools:commons:5.34.21' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' From ddbc78226e9359e93b3f646edc6893df5f743ead Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 8 Mar 2021 21:21:49 +0100 Subject: [PATCH 12/95] make sure the FixDateTaken callback gets called --- .../gallery/pro/extensions/Activity.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) 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 62b6e994c..5315dd2d8 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 @@ -18,8 +18,8 @@ import android.provider.MediaStore.Images import android.util.DisplayMetrics import android.view.View import androidx.appcompat.app.AppCompatActivity -import androidx.lifecycle.lifecycleScope import androidx.exifinterface.media.ExifInterface +import androidx.lifecycle.lifecycleScope import com.bumptech.glide.Glide import com.bumptech.glide.load.DecodeFormat import com.bumptech.glide.load.engine.DiskCacheStrategy @@ -87,8 +87,8 @@ fun Activity.launchCamera() { fun SimpleActivity.launchAbout() { val licenses = LICENSE_GLIDE or LICENSE_CROPPER or LICENSE_RTL or LICENSE_SUBSAMPLING or LICENSE_PATTERN or LICENSE_REPRINT or LICENSE_GIF_DRAWABLE or - LICENSE_PICASSO or LICENSE_EXOPLAYER or LICENSE_PANORAMA_VIEW or LICENSE_SANSELAN or LICENSE_FILTERS or LICENSE_GESTURE_VIEWS or - LICENSE_APNG + LICENSE_PICASSO or LICENSE_EXOPLAYER or LICENSE_PANORAMA_VIEW or LICENSE_SANSELAN or LICENSE_FILTERS or LICENSE_GESTURE_VIEWS or + LICENSE_APNG val faqItems = arrayListOf( FAQItem(R.string.faq_3_title, R.string.faq_3_text), @@ -121,8 +121,8 @@ fun AppCompatActivity.showSystemUI(toggleActionBarVisibility: Boolean) { } window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or - View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or - View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN } fun AppCompatActivity.hideSystemUI(toggleActionBarVisibility: Boolean) { @@ -131,12 +131,12 @@ fun AppCompatActivity.hideSystemUI(toggleActionBarVisibility: Boolean) { } window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or - View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or - View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or - View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or - View.SYSTEM_UI_FLAG_LOW_PROFILE or - View.SYSTEM_UI_FLAG_FULLSCREEN or - View.SYSTEM_UI_FLAG_IMMERSIVE + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or + View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or + View.SYSTEM_UI_FLAG_LOW_PROFILE or + View.SYSTEM_UI_FLAG_FULLSCREEN or + View.SYSTEM_UI_FLAG_IMMERSIVE } fun BaseSimpleActivity.addNoMedia(path: String, callback: () -> Unit) { @@ -513,7 +513,7 @@ fun AppCompatActivity.fixDateTaken( } } else { rescanPaths(pathsToRescan) { - fixDateTaken(paths, showToasts, true) + fixDateTaken(paths, showToasts, true, callback) } } } From 95a8c327ee27a2eca546b6f6659340440c4a89a1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 8 Mar 2021 21:23:09 +0100 Subject: [PATCH 13/95] updating some coroutine related libraries --- app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c3fba1918..e3893bdf2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,9 +96,9 @@ dependencies { kapt 'com.github.bumptech.glide:compiler:4.10.0' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0' - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9" + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0' + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2" kapt "androidx.room:room-compiler:2.2.6" implementation "androidx.room:room-ktx:2.2.6" From f4c788fa94d8f10f49515fe7a3042da69940d7dd Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 8 Mar 2021 22:59:08 +0100 Subject: [PATCH 14/95] try setting higher thread priority at fetching cached folders --- .../com/simplemobiletools/gallery/pro/extensions/Context.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt index 63cb478f4..771aa8ee3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt @@ -8,6 +8,7 @@ import android.database.Cursor import android.graphics.Bitmap import android.graphics.drawable.PictureDrawable import android.media.AudioManager +import android.os.Process import android.provider.MediaStore.Files import android.provider.MediaStore.Images import android.widget.ImageView @@ -587,6 +588,11 @@ fun Context.tryLoadingWithPicasso(path: String, view: MySquareImageView, cropThu fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly: Boolean = false, forceShowHidden: Boolean = false, callback: (ArrayList) -> Unit) { ensureBackgroundThread { + try { + Process.setThreadPriority(Process.THREAD_PRIORITY_MORE_FAVORABLE) + } catch (ignored: Exception) { + } + val directories = try { directoryDao.getAll() as ArrayList } catch (e: Exception) { From 700d262c91453dfa5d07c19d7c0015ed9952086a Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 8 Mar 2021 23:05:08 +0100 Subject: [PATCH 15/95] update version to 6.19.3 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e3893bdf2..cd8792c13 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 337 - versionName "6.19.2" + versionCode 338 + versionName "6.19.3" setProperty("archivesBaseName", "gallery-$versionCode") vectorDrawables.useSupportLibrary = true } From ab3e656a2786732d418e0ba915496f0e4b5211fd Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 8 Mar 2021 23:05:14 +0100 Subject: [PATCH 16/95] updating changelog --- CHANGELOG.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/338.txt | 1 + 2 files changed, 6 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/338.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e776d29c..c652ceff9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========== +Version 6.19.3 *(2021-03-08)* +---------------------------- + + * Added some design, stability, translation and performance improvements + Version 6.19.2 *(2021-02-19)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/338.txt b/fastlane/metadata/android/en-US/changelogs/338.txt new file mode 100644 index 000000000..02ecbb525 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/338.txt @@ -0,0 +1 @@ + * Added some design, stability, translation and performance improvements From 350bf0a7f61d653d776b4d9d281f2fb4f5fc16ac Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 9 Mar 2021 09:11:55 +0100 Subject: [PATCH 17/95] reverting the coroutines thing, it is too unstable --- app/build.gradle | 11 +++-------- .../gallery/pro/extensions/Activity.kt | 14 ++++++-------- .../gallery/pro/helpers/MediaFetcher.kt | 14 +++++--------- .../gallery/pro/interfaces/DateTakensDao.kt | 6 +++--- 4 files changed, 17 insertions(+), 28 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cd8792c13..0e0520f4a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,14 +96,9 @@ dependencies { kapt 'com.github.bumptech.glide:compiler:4.10.0' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0' - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2" - - kapt "androidx.room:room-compiler:2.2.6" - implementation "androidx.room:room-ktx:2.2.6" - implementation "androidx.room:room-runtime:2.2.6" - annotationProcessor "androidx.room:room-compiler:2.2.6" + kapt 'androidx.room:room-compiler:2.2.6' + implementation 'androidx.room:room-runtime:2.2.6' + annotationProcessor 'androidx.room:room-compiler:2.2.6' } // Apply the PESDKPlugin 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 5315dd2d8..a0fdf3c51 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 @@ -19,7 +19,6 @@ import android.util.DisplayMetrics import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.exifinterface.media.ExifInterface -import androidx.lifecycle.lifecycleScope import com.bumptech.glide.Glide import com.bumptech.glide.load.DecodeFormat import com.bumptech.glide.load.engine.DiskCacheStrategy @@ -37,9 +36,6 @@ import com.simplemobiletools.gallery.pro.dialogs.PickDirectoryDialog import com.simplemobiletools.gallery.pro.helpers.RECYCLE_BIN import com.simplemobiletools.gallery.pro.models.DateTaken import com.squareup.picasso.Picasso -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext import java.io.File import java.io.FileOutputStream import java.io.InputStream @@ -446,7 +442,7 @@ fun AppCompatActivity.fixDateTaken( var didUpdateFile = false val operations = ArrayList() - lifecycleScope.launch(Dispatchers.IO) { + ensureBackgroundThread { val dateTakens = ArrayList() for (path in paths) { @@ -490,8 +486,10 @@ fun AppCompatActivity.fixDateTaken( toast(R.string.no_date_takens_found) } - withContext(Dispatchers.Main) { callback?.invoke() } - return@launch + runOnUiThread { + callback?.invoke() + } + return@ensureBackgroundThread } val resultSize = contentResolver.applyBatch(MediaStore.AUTHORITY, operations).size @@ -504,7 +502,7 @@ fun AppCompatActivity.fixDateTaken( dateTakensDB.insertAll(dateTakens) } - withContext(Dispatchers.Main) { + runOnUiThread { if (showToasts) { toast(if (didUpdateFile) R.string.dates_fixed_successfully else R.string.unknown_error_occurred) } 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 8a4b17f07..25d2ffb60 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 @@ -15,8 +15,6 @@ import com.simplemobiletools.gallery.pro.extensions.* import com.simplemobiletools.gallery.pro.models.Medium import com.simplemobiletools.gallery.pro.models.ThumbnailItem import com.simplemobiletools.gallery.pro.models.ThumbnailSection -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.runBlocking import java.io.File import java.util.* @@ -460,12 +458,10 @@ class MediaFetcher(val context: Context) { } val dateTakenValues = try { - runBlocking { - if (folder == FAVORITES) { - context.dateTakensDB.getAllDateTakens() - } else { - context.dateTakensDB.getDateTakensFromPath(folder) - } + if (folder == FAVORITES) { + context.dateTakensDB.getAllDateTakens() + } else { + context.dateTakensDB.getDateTakensFromPath(folder) } } catch (e: Exception) { return dateTakens @@ -499,7 +495,7 @@ class MediaFetcher(val context: Context) { } } - val dateTakenValues = runBlocking(Dispatchers.IO) { context.dateTakensDB.getAllDateTakens() } + val dateTakenValues = context.dateTakensDB.getAllDateTakens() dateTakenValues.forEach { dateTakens[it.fullPath] = it.taken 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 index 93b27b88c..5041727e9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDao.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/interfaces/DateTakensDao.kt @@ -9,11 +9,11 @@ import com.simplemobiletools.gallery.pro.models.DateTaken @Dao interface DateTakensDao { @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insertAll(dateTakens: List) + fun insertAll(dateTakens: List) @Query("SELECT full_path, filename, parent_path, date_taken, last_fixed, last_modified FROM date_takens WHERE parent_path = :path COLLATE NOCASE") - suspend fun getDateTakensFromPath(path: String): List + fun getDateTakensFromPath(path: String): List @Query("SELECT full_path, filename, parent_path, date_taken, last_fixed, last_modified FROM date_takens") - suspend fun getAllDateTakens(): List + fun getAllDateTakens(): List } From 1fc32855d04665b002fe4d227e7000e283c98bae Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 9 Mar 2021 09:20:20 +0100 Subject: [PATCH 18/95] update version to 6.19.4 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0e0520f4a..6e8c346b6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 338 - versionName "6.19.3" + versionCode 339 + versionName "6.19.4" setProperty("archivesBaseName", "gallery-$versionCode") vectorDrawables.useSupportLibrary = true } From 8a7171a7fef1cacb4e11c332863c071031b1d632 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 9 Mar 2021 09:20:27 +0100 Subject: [PATCH 19/95] updating changelog --- CHANGELOG.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/339.txt | 1 + 2 files changed, 6 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/339.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index c652ceff9..6e5937952 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========== +Version 6.19.4 *(2021-03-09)* +---------------------------- + + * Adding some crashfixes + Version 6.19.3 *(2021-03-08)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/339.txt b/fastlane/metadata/android/en-US/changelogs/339.txt new file mode 100644 index 000000000..02ecbb525 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/339.txt @@ -0,0 +1 @@ + * Added some design, stability, translation and performance improvements From 2bd05c42a87c5af0dc529061d8fba973a8eb6bf2 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Tue, 16 Mar 2021 20:43:32 +0100 Subject: [PATCH 20/95] Convert img_widget_preview to webp for smaller filesizes --- .../res/drawable-hdpi/img_widget_preview.png | Bin 29459 -> 0 bytes .../res/drawable-hdpi/img_widget_preview.webp | Bin 0 -> 20138 bytes .../res/drawable-xhdpi/img_widget_preview.png | Bin 45258 -> 0 bytes .../res/drawable-xhdpi/img_widget_preview.webp | Bin 0 -> 29356 bytes .../res/drawable-xxhdpi/img_widget_preview.png | Bin 62900 -> 0 bytes .../res/drawable-xxhdpi/img_widget_preview.webp | Bin 0 -> 40052 bytes .../res/drawable-xxxhdpi/img_widget_preview.png | Bin 85765 -> 0 bytes .../drawable-xxxhdpi/img_widget_preview.webp | Bin 0 -> 53130 bytes 8 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/src/main/res/drawable-hdpi/img_widget_preview.png create mode 100644 app/src/main/res/drawable-hdpi/img_widget_preview.webp delete mode 100644 app/src/main/res/drawable-xhdpi/img_widget_preview.png create mode 100644 app/src/main/res/drawable-xhdpi/img_widget_preview.webp delete mode 100644 app/src/main/res/drawable-xxhdpi/img_widget_preview.png create mode 100644 app/src/main/res/drawable-xxhdpi/img_widget_preview.webp delete mode 100644 app/src/main/res/drawable-xxxhdpi/img_widget_preview.png create mode 100644 app/src/main/res/drawable-xxxhdpi/img_widget_preview.webp diff --git a/app/src/main/res/drawable-hdpi/img_widget_preview.png b/app/src/main/res/drawable-hdpi/img_widget_preview.png deleted file mode 100644 index 625e39531a06432628bad2e3646cf811ef75eb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29459 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 diff --git a/app/src/main/res/drawable-hdpi/img_widget_preview.webp b/app/src/main/res/drawable-hdpi/img_widget_preview.webp new file mode 100644 index 0000000000000000000000000000000000000000..64b1fdc10f0180dcdb056749874f215829f147fd GIT binary patch literal 20138 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�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 c{J(FWbX<7rT_o{ diff --git a/app/src/main/res/drawable-xxhdpi/img_widget_preview.webp b/app/src/main/res/drawable-xxhdpi/img_widget_preview.webp new file mode 100644 index 0000000000000000000000000000000000000000..29595a8aa57dcfdbd3c903e0636dd4a29271c987 GIT binary patch literal 40052 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

C41~F@+)<}E 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 Date: Tue, 16 Mar 2021 21:14:04 +0100 Subject: [PATCH 21/95] remove okhttp dependency from runtime classpath to save appsize --- app/build.gradle | 6 +++++- .../kotlin/com/simplemobiletools/gallery/pro/App.kt | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 6e8c346b6..39b6370a9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -87,7 +87,11 @@ dependencies { implementation 'com.google.vr:sdk-videowidget:1.180.0' implementation 'org.apache.sanselan:sanselan:0.97-incubator' implementation 'info.androidhive:imagefilters:1.0.7' - implementation 'com.squareup.picasso:picasso:2.71828' + implementation('com.squareup.picasso:picasso:2.71828') { + exclude group: 'com.squareup.okhttp3', module: 'okhttp' + } + compileOnly 'com.squareup.okhttp3:okhttp:4.9.0' + implementation 'com.squareup.okio:okio:2.10.0' implementation 'com.caverock:androidsvg-aar:1.4' implementation 'com.github.tibbi:gestureviews:a8e8fa8d27' implementation 'com.github.tibbi:subsampling-scale-image-view:961f7b5f2d' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt index 07e9a4097..62d2c3332 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt @@ -3,11 +3,23 @@ package com.simplemobiletools.gallery.pro import android.app.Application import com.github.ajalt.reprint.core.Reprint import com.simplemobiletools.commons.extensions.checkUseEnglish +import com.squareup.picasso.Downloader +import com.squareup.picasso.Picasso +import okhttp3.Response class App : Application() { override fun onCreate() { super.onCreate() checkUseEnglish() Reprint.initialize(this) + Picasso.setSingletonInstance(Picasso.Builder(this).downloader(object: Downloader { + override fun load(request: okhttp3.Request): Response { + return Response.Builder().build() + } + + override fun shutdown() { + + } + }).build()) } } From 4f657a9be863ecb516c1dd3ab80a9d4ba258a727 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Wed, 17 Mar 2021 07:30:09 +0100 Subject: [PATCH 22/95] enable shrinkResources --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index 6e8c346b6..bdb113665 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,6 +41,7 @@ android { } release { minifyEnabled true + shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' if (keystorePropertiesFile.exists()) { signingConfig signingConfigs.release From 1b5b825e4bc5a08a5458c7cea2c5f0397b82759f Mon Sep 17 00:00:00 2001 From: GobinathAL <58905033+GobinathAL@users.noreply.github.com> Date: Thu, 18 Mar 2021 19:03:30 +0530 Subject: [PATCH 23/95] Corrected the spelling --- app/src/main/res/values-ta/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 5d12dc280..955f09d82 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -1,7 +1,7 @@ எளிய கேலரி - ேலரி + கேலரி மாற்று புகைப்படக்கருவியை திறக்கவும் (மறைக்கப்பற்றுள்ளவை) From 48885a8ac6eed62b1887bfe5a541688a9f46009e Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Mar 2021 23:08:48 +0200 Subject: [PATCH 24/95] updating gradle, commons and photo editor sdk --- app/build.gradle | 2 +- build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6e8c346b6..6c610fd1d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -77,7 +77,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.34.21' + implementation 'com.simplemobiletools:commons:5.34.24' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/build.gradle b/build.gradle index fd77b1a29..bd7a31b87 100644 --- a/build.gradle +++ b/build.gradle @@ -13,10 +13,10 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.2' + classpath 'com.android.tools.build:gradle:4.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" if (is_proprietary) { - classpath 'ly.img.android.pesdk:plugin:8.1.0' + classpath 'ly.img.android.pesdk:plugin:8.1.1' } // NOTE: Do not place your application dependencies here; they belong From 80def972018d586e38d6e7f88c71b69359b92cb3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Mar 2021 23:09:12 +0200 Subject: [PATCH 25/95] adding a threading crashfix --- .../com/simplemobiletools/gallery/pro/extensions/Activity.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 a0fdf3c51..d2a9bfa48 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 @@ -217,7 +217,10 @@ fun BaseSimpleActivity.toggleFileVisibility(oldPath: String, hide: Boolean, call val newPath = "$path/$filename" renameFile(oldPath, newPath) { - callback?.invoke(newPath) + runOnUiThread { + callback?.invoke(newPath) + } + ensureBackgroundThread { updateDBMediaPath(oldPath, newPath) } From d068135a39a14380f46bbdadce1104542d0bedee Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Mar 2021 15:16:41 +0200 Subject: [PATCH 26/95] shortening some Picasso initialization code --- .../kotlin/com/simplemobiletools/gallery/pro/App.kt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt index 62d2c3332..ef2768318 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/App.kt @@ -5,6 +5,7 @@ import com.github.ajalt.reprint.core.Reprint import com.simplemobiletools.commons.extensions.checkUseEnglish import com.squareup.picasso.Downloader import com.squareup.picasso.Picasso +import okhttp3.Request import okhttp3.Response class App : Application() { @@ -12,14 +13,10 @@ class App : Application() { super.onCreate() checkUseEnglish() Reprint.initialize(this) - Picasso.setSingletonInstance(Picasso.Builder(this).downloader(object: Downloader { - override fun load(request: okhttp3.Request): Response { - return Response.Builder().build() - } + Picasso.setSingletonInstance(Picasso.Builder(this).downloader(object : Downloader { + override fun load(request: Request) = Response.Builder().build() - override fun shutdown() { - - } + override fun shutdown() {} }).build()) } } From 16e8207b36fe9d15b34b93fec4b209658b80227e Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Mar 2021 15:22:52 +0200 Subject: [PATCH 27/95] updating kotlin and the webp displaying library --- app/build.gradle | 10 +++++----- build.gradle | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 162acf2ba..f6a1cdb63 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -88,16 +88,16 @@ dependencies { implementation 'com.google.vr:sdk-videowidget:1.180.0' implementation 'org.apache.sanselan:sanselan:0.97-incubator' implementation 'info.androidhive:imagefilters:1.0.7' - implementation('com.squareup.picasso:picasso:2.71828') { - exclude group: 'com.squareup.okhttp3', module: 'okhttp' - } - compileOnly 'com.squareup.okhttp3:okhttp:4.9.0' implementation 'com.squareup.okio:okio:2.10.0' implementation 'com.caverock:androidsvg-aar:1.4' implementation 'com.github.tibbi:gestureviews:a8e8fa8d27' implementation 'com.github.tibbi:subsampling-scale-image-view:961f7b5f2d' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' - implementation 'com.github.penfeizhou.android.animation:awebp:2.7.0' + implementation 'com.github.penfeizhou.android.animation:awebp:2.9.0' + implementation('com.squareup.picasso:picasso:2.71828') { + exclude group: 'com.squareup.okhttp3', module: 'okhttp' + } + compileOnly 'com.squareup.okhttp3:okhttp:4.9.0' kapt 'com.github.bumptech.glide:compiler:4.10.0' diff --git a/build.gradle b/build.gradle index bd7a31b87..5dacc5f26 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.4.31' + ext.kotlin_version = '1.4.32' ext.is_proprietary = gradle.startParameter.taskNames.any { task -> task.contains("Proprietary") } repositories { From bfda618d7febe5cbd7b9b32ff0162c4784f77ba0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Mar 2021 22:57:52 +0200 Subject: [PATCH 28/95] try setting speed as the file loading priority by default --- .../kotlin/com/simplemobiletools/gallery/pro/helpers/Config.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Config.kt index a47cd8f08..21d3d463e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Config.kt @@ -172,7 +172,7 @@ class Config(context: Context) : BaseConfig(context) { set(screenRotation) = prefs.edit().putInt(SCREEN_ROTATION, screenRotation).apply() var fileLoadingPriority: Int - get() = prefs.getInt(FILE_LOADING_PRIORITY, PRIORITY_COMPROMISE) + get() = prefs.getInt(FILE_LOADING_PRIORITY, PRIORITY_SPEED) set(fileLoadingPriority) = prefs.edit().putInt(FILE_LOADING_PRIORITY, fileLoadingPriority).apply() var loopVideos: Boolean From cef127dae47f5e3d47fd645c68871989161a4f0f Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 31 Mar 2021 00:27:27 +0200 Subject: [PATCH 29/95] updating commons to 5.34.25 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index f6a1cdb63..150ba2f01 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.34.24' + implementation 'com.simplemobiletools:commons:5.34.25' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' From 0e36f653e53893d50a4dc5e2cdadccbe84a8c9f5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 31 Mar 2021 11:50:48 +0200 Subject: [PATCH 30/95] handle max brightness at panoramas too --- .../gallery/pro/activities/PanoramaPhotoActivity.kt | 6 ++++++ .../gallery/pro/activities/PanoramaVideoActivity.kt | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaPhotoActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaPhotoActivity.kt index 362bd6f8b..f2bb28a04 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaPhotoActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaPhotoActivity.kt @@ -57,6 +57,12 @@ open class PanoramaPhotoActivity : SimpleActivity() { } window.statusBarColor = resources.getColor(R.color.circle_black_background) + + if (config.maxBrightness) { + val attributes = window.attributes + attributes.screenBrightness = 1f + window.attributes = attributes + } } override fun onPause() { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaVideoActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaVideoActivity.kt index 7098e3e4a..e546ec1af 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaVideoActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/PanoramaVideoActivity.kt @@ -55,6 +55,12 @@ open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeList } window.statusBarColor = resources.getColor(R.color.circle_black_background) + + if (config.maxBrightness) { + val attributes = window.attributes + attributes.screenBrightness = 1f + window.attributes = attributes + } } override fun onPause() { From 7ccaa2d94ed94d61e373b71ead6727d173959060 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 31 Mar 2021 12:13:56 +0200 Subject: [PATCH 31/95] update version to 6.19.5 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 150ba2f01..298232902 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 339 - versionName "6.19.4" + versionCode 340 + versionName "6.19.5" setProperty("archivesBaseName", "gallery-$versionCode") vectorDrawables.useSupportLibrary = true } From 5ababbe4eae1b36e40001092bf79d64e6b586d49 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 31 Mar 2021 12:14:02 +0200 Subject: [PATCH 32/95] updating changelog --- CHANGELOG.md | 7 +++++++ fastlane/metadata/android/en-US/changelogs/340.txt | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/340.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e5937952..71ffa3c93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========== +Version 6.19.5 *(2021-03-31)* +---------------------------- + + * Changed the default file loading priority to Speed + * Apply the max brightness option to panoramas too + * Some smaller stability and translation improvements + Version 6.19.4 *(2021-03-09)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/340.txt b/fastlane/metadata/android/en-US/changelogs/340.txt new file mode 100644 index 000000000..257962342 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/340.txt @@ -0,0 +1,3 @@ + * Changed the default file loading priority to Speed + * Apply the max brightness option to panoramas too + * Some smaller stability and translation improvements From c4cfa1ba06defc76a834876c257e660f20068d14 Mon Sep 17 00:00:00 2001 From: Mek101 Date: Mon, 5 Apr 2021 18:36:33 +0200 Subject: [PATCH 33/95] Initial update italiano translation --- app/src/main/res/values-it/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ded30bf9e..69c0fbaab 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -191,15 +191,15 @@ Evita di mostrare file non validi Mostra i tipi di file immagine Permetti l\'ingrandimento dei video con un doppio tocco - Folder thumbnail style - File thumbnail style - Thumbnail spacing + Stile anteprime delle cartelle + Stile anteprime dei file + Spaziatura tra le anteprime Show file count on a separate line Show file count in brackets Do not show file count Limit long folder titles to 1 line Square - Rounded corners + Angoli arrotondati Export favorite file paths From afe24f8a9112f90f3c826268a80ca6b93352dc05 Mon Sep 17 00:00:00 2001 From: teemue Date: Mon, 5 Apr 2021 19:57:31 +0300 Subject: [PATCH 34/95] Improved FI translation --- app/src/main/res/values-fi/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 8ceb2dae9..4c21e003b 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -200,7 +200,7 @@ Rajoita pitkät kansioiden nimet yhdelle riville Suorakulmio Pyöristetyt kulmat - Export favorite file paths + Vie suosikkitiedostojen polut Esikatselukuvat From 7308a5944366c964922dee4305a8dc545e3b1488 Mon Sep 17 00:00:00 2001 From: Mek101 Date: Tue, 6 Apr 2021 10:44:21 +0200 Subject: [PATCH 35/95] Update italian translation --- app/src/main/res/values-it/strings.xml | 86 +++++++++++++------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 69c0fbaab..3609d3638 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -30,8 +30,8 @@ Condividi una versione ridimensionata Hey,\n\nhai aggiornato dalla vecchia versione gratuita. Puoi disinstallare le vecchia versione, che ha un pulsante \'Aggiorna a Pro\' in alto nelle impostazioni.\n\nNon potrai recuperare gli elementi dal cestino, gli elementi marcati come preferiti e dovrai anche reimpostare le impostazioni dell\'app.\n\nGrazie! Passa alla ricerca file su tutte le cartelle visibili - Set as default folder - Unset as default folder + Imposta come cartella di default + Non impostare come cartella di default Filtra i file @@ -63,7 +63,7 @@ Gestisci le cartelle incluse Aggiungi cartella Se si hanno alcune cartelle che contengono media, ma non sono state riconosciute dall\'app, si possono aggiungerle manualmente qui. - Nessun file multimediale trovato. Puoi risolvere aggiungendo a mano le cartelle contenenti i file multimediali. + Nessun file multimediale trovato. È risolvibile aggiungendo a mano le cartelle contenenti i file multimediali. Ridimensiona @@ -77,18 +77,18 @@ Editor Ruota Percorso dell\'immagine non valido - Invalid video path + Percorso del video non valido Modifica dell\'immagine fallita - Video editing failed + Modifica del video fallita Modifica immagine annullata - Video editing cancelled + Modifica video annullata File modificato correttamente - Image edited successfully - Video edited successfully + Immagine modificata correttamente + Video modificato correttamente Modifica immagine con: - Edit video with: + Modifica video con: Editor delle immagini non trovato - No video editor found + Editor dei video non trovato Posizione del file sconosciuta Impossibile sovrascrivere il file originale Ruota a sinistra @@ -194,13 +194,13 @@ Stile anteprime delle cartelle Stile anteprime dei file Spaziatura tra le anteprime - Show file count on a separate line - Show file count in brackets - Do not show file count - Limit long folder titles to 1 line - Square + Mostra il numero dei file in una riga separata + Mostra il numero dei file tra parentesi + Non mostrare il numero dei file + Limita i nomi lunghi delle cartelle a 1 riga + Quadrato Angoli arrotondati - Export favorite file paths + Esporta i percorsi dei file preferiti Anteprime @@ -263,7 +263,7 @@ Colore pennello Editor Chiudere l\'editor? - Do you really want to discard the changes? + Scartare i cambiamenti? No Annulla @@ -272,35 +272,35 @@ Esportazione… Esportazione %s. Sticker - Sticker Color - Sticker Options - Add - Color - Delete - To Front - Straighten - Replace - Opacity - Contrast - Saturation - Brightness + Colore Sticker + Opzioni Sticker Options + Aggiungi + Colore + Cancella + Sposta davanti + Raddrizza + Sostituisci + Opacità + Contrasto + Saturazione + Luminosità Uploads Overlay - Normal - Darken - Screen + Normale + Scurisci + Schermo Overlay - Lighten - Multiply - Color Burn - Soft Light - Hard Light - None - Golden - Lightleak 1 - Mosaic - Paper - Rain + Illumina + Moltiplica + Colore bruciato + Luce soffice + Luce dura + Nessuno + Dorato + Perdita di luce 1 + Mosaico + Carta + Pioggia Vintage Capovolgi O Capovolgi V From 9e74fa598dc4061f209be690983d16ae697eaaa7 Mon Sep 17 00:00:00 2001 From: Mek101 Date: Tue, 6 Apr 2021 10:52:29 +0200 Subject: [PATCH 36/95] Update italian translation --- app/src/main/res/values-it/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 3609d3638..b7d209eaf 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -80,8 +80,8 @@ Percorso del video non valido Modifica dell\'immagine fallita Modifica del video fallita - Modifica immagine annullata - Modifica video annullata + Modifica dell\'immagine annullata + Modifica del video annullata File modificato correttamente Immagine modificata correttamente Video modificato correttamente @@ -285,11 +285,11 @@ Saturazione Luminosità Uploads - Overlay + Sovrapponi Normale Scurisci Schermo - Overlay + Sovrapponi Illumina Moltiplica Colore bruciato From d28674aa080295689c9b2f308df5b51b51d7d96c Mon Sep 17 00:00:00 2001 From: Mek101 Date: Tue, 6 Apr 2021 13:22:31 +0200 Subject: [PATCH 37/95] Translated pesdk_sticker_category_name_custom --- app/src/main/res/values-it/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index b7d209eaf..7efc9d6b3 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -284,7 +284,7 @@ Contrasto Saturazione Luminosità - Uploads + Caricati Sovrapponi Normale Scurisci From 1526b592ab8426d7ab513828f3e026435b0450a3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 8 Apr 2021 23:15:36 +0200 Subject: [PATCH 38/95] adding the svg icon --- fastlane/metadata/android/en-US/images/icon.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/en-US/images/icon.svg diff --git a/fastlane/metadata/android/en-US/images/icon.svg b/fastlane/metadata/android/en-US/images/icon.svg new file mode 100644 index 000000000..f22f19e1c --- /dev/null +++ b/fastlane/metadata/android/en-US/images/icon.svg @@ -0,0 +1 @@ +hory \ No newline at end of file From c96a50b9e9c6bf1286de510a278e06d6ecd5dc4f Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 17 Apr 2021 22:33:58 +0200 Subject: [PATCH 39/95] updating photo editor to 8.1.3 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5dacc5f26..75a29704b 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ buildscript { classpath 'com.android.tools.build:gradle:4.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" if (is_proprietary) { - classpath 'ly.img.android.pesdk:plugin:8.1.1' + classpath 'ly.img.android.pesdk:plugin:8.1.3' } // NOTE: Do not place your application dependencies here; they belong From 5202b77e8c607c02df5f5b8e57cdf42253110cb1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 17 Apr 2021 22:51:15 +0200 Subject: [PATCH 40/95] updating commons --- app/build.gradle | 2 +- .../gallery/pro/activities/ViewPagerActivity.kt | 13 ++++++------- .../gallery/pro/extensions/Activity.kt | 6 +----- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 298232902..8e7286938 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.34.25' + implementation 'com.github.SimpleMobileTools:Simple-Commons:b3a9e4114f' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt index b01727673..d069e8b98 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt @@ -5,6 +5,7 @@ import android.animation.ValueAnimator import android.annotation.SuppressLint import android.annotation.TargetApi import android.app.Activity +import android.content.ActivityNotFoundException import android.content.Intent import android.content.pm.ActivityInfo import android.content.pm.ShortcutInfo @@ -1236,16 +1237,14 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View putExtra(SHOW_PREV_ITEM, view_pager.currentItem != 0) putExtra(SHOW_NEXT_ITEM, view_pager.currentItem != mMediaFiles.size - 1) - if (resolveActivity(packageManager) != null) { - try { - startActivityForResult(this, REQUEST_VIEW_VIDEO) - } catch (e: NullPointerException) { - showErrorToast(e) - } - } else { + try { + startActivityForResult(this, REQUEST_VIEW_VIDEO) + } catch (e: ActivityNotFoundException) { if (!tryGenericMimeType(this, mimeType, newUri)) { toast(R.string.no_app_found) } + } catch (e: Exception) { + showErrorToast(e) } } } 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 d2a9bfa48..d7a1ee3d4 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 @@ -74,11 +74,7 @@ fun Activity.openEditor(path: String, forceChooser: Boolean = false) { fun Activity.launchCamera() { val intent = Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA) - if (intent.resolveActivity(packageManager) != null) { - startActivity(intent) - } else { - toast(R.string.no_app_found) - } + launchActivityIntent(intent) } fun SimpleActivity.launchAbout() { From 851fddc67a3076999e845dc3f9801a35c68fc4ff Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 17 Apr 2021 23:29:40 +0200 Subject: [PATCH 41/95] use the new way of querying contentresolver on api 30+ --- .../gallery/pro/helpers/MediaFetcher.kt | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 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 25d2ffb60..1dd87325d 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 @@ -1,8 +1,11 @@ package com.simplemobiletools.gallery.pro.helpers +import android.annotation.SuppressLint +import android.content.ContentResolver import android.content.Context import android.database.Cursor import android.net.Uri +import android.os.Bundle import android.os.Environment import android.provider.BaseColumns import android.provider.MediaStore.Files @@ -97,19 +100,37 @@ class MediaFetcher(val context: Context) { } } + @SuppressLint("NewApi") private fun getLatestFileFolders(): LinkedHashSet { val uri = Files.getContentUri("external") val projection = arrayOf(Images.ImageColumns.DATA) val parents = LinkedHashSet() - val sorting = "${BaseColumns._ID} DESC LIMIT 50" var cursor: Cursor? = null try { - cursor = context.contentResolver.query(uri, projection, null, null, sorting) - if (cursor?.moveToFirst() == true) { - do { - val path = cursor.getStringValue(Images.ImageColumns.DATA) ?: continue - parents.add(path.getParentPath()) - } while (cursor.moveToNext()) + if (isRPlus()) { + val bundle = Bundle().apply { + putInt(ContentResolver.QUERY_ARG_LIMIT, 10) + putStringArray(ContentResolver.QUERY_ARG_SORT_COLUMNS, arrayOf(BaseColumns._ID)) + putInt(ContentResolver.QUERY_ARG_SORT_DIRECTION, ContentResolver.QUERY_SORT_DIRECTION_DESCENDING) + } + + cursor = context.contentResolver.query(uri, projection, bundle, null) + if (cursor?.moveToFirst() == true) { + do { + val path = cursor.getStringValue(Images.ImageColumns.DATA) ?: continue + parents.add(path.getParentPath()) + } while (cursor.moveToNext()) + } + } else { + val sorting = "${BaseColumns._ID} DESC LIMIT 10" + cursor = context.contentResolver.query(uri, projection, null, null, sorting) + if (cursor?.moveToFirst() == true) { + do { + val path = cursor.getStringValue(Images.ImageColumns.DATA) ?: continue + mydebug("path $path") + parents.add(path.getParentPath()) + } while (cursor.moveToNext()) + } } } catch (e: Exception) { context.showErrorToast(e) From 4a20695d7751f92a53fb2c30727e1ca7544ad2c5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 20:04:21 +0200 Subject: [PATCH 42/95] use a better confirmation dialog text at clearing the recycle bin --- .../gallery/pro/adapters/DirectoryAdapter.kt | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index d4a54bd3d..6f5abe839 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -42,7 +42,7 @@ import java.io.File class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, val isPickIntent: Boolean, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit) : - MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { + MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { private val config = activity.config private val isListViewType = config.viewTypeFolders == VIEW_TYPE_LIST @@ -439,12 +439,12 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList deleteFolders() else -> { val itemsCnt = selectedKeys.size - val items = if (itemsCnt == 1) { - var folder = getSelectedPaths().first().getFilenameFromPath() - if (folder == RECYCLE_BIN) { - folder = activity.getString(R.string.recycle_bin) + if (itemsCnt == 1 && getSelectedItems().first().isRecycleBin()) { + ConfirmationDialog(activity, "", R.string.empty_recycle_bin_confirmation, R.string.yes, R.string.no) { + deleteFolders() } + return + } + + val items = if (itemsCnt == 1) { + val folder = getSelectedPaths().first().getFilenameFromPath() "\"$folder\"" } else { resources.getQuantityString(R.plurals.delete_items, itemsCnt, itemsCnt) } val fileDirItem = getFirstSelectedItem() ?: return - val baseString = if (!config.useRecycleBin || (isOneItemSelected() && fileDirItem.isRecycleBin()) || (isOneItemSelected() && fileDirItem.areFavorites())) { + val baseString = if (!config.useRecycleBin || (isOneItemSelected() && fileDirItem.areFavorites())) { R.string.deletion_confirmation } else { R.string.move_to_recycle_bin_confirmation From 3d0a11d96f252470f20ac1d46cf6b2c1a3ac6660 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 20:25:51 +0200 Subject: [PATCH 43/95] fix #1911, add clipdata to share intents --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 8e7286938..55a5229d2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:b3a9e4114f' + implementation 'com.github.SimpleMobileTools:Simple-Commons:c9c5682bc1' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' From 762220533cac51ea4427fb38fe0e8821df5dca30 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 21:21:46 +0200 Subject: [PATCH 44/95] removing a debug statement --- .../com/simplemobiletools/gallery/pro/helpers/MediaFetcher.kt | 1 - 1 file changed, 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 1dd87325d..9ab822705 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 @@ -127,7 +127,6 @@ class MediaFetcher(val context: Context) { if (cursor?.moveToFirst() == true) { do { val path = cursor.getStringValue(Images.ImageColumns.DATA) ?: continue - mydebug("path $path") parents.add(path.getParentPath()) } while (cursor.moveToNext()) } From 5f77fca4f4a42192201677ede6d9cf7ac6fd441d Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 21:21:55 +0200 Subject: [PATCH 45/95] updating commons --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 55a5229d2..bdc1f8b69 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:c9c5682bc1' + implementation 'com.github.SimpleMobileTools:Simple-Commons:4c93c0a510' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' From f3d026cef4a6231799744ad3f4fe7f5157d530fc Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 22:44:36 +0200 Subject: [PATCH 46/95] updating commons --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index bdc1f8b69..4df7e8129 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:4c93c0a510' + implementation 'com.github.SimpleMobileTools:Simple-Commons:99a97f2e16' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' From 44d5cb2b1904bac36ff89c18ee84db34d1bb5505 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 22:59:26 +0200 Subject: [PATCH 47/95] update version to 6.19.6 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4df7e8129..d2b3fdb20 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 340 - versionName "6.19.5" + versionCode 341 + versionName "6.19.6" setProperty("archivesBaseName", "gallery-$versionCode") vectorDrawables.useSupportLibrary = true } From 2e78d70c720406934acbf867372071512339c4f4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Apr 2021 22:59:33 +0200 Subject: [PATCH 48/95] updating changelog --- CHANGELOG.md | 6 ++++++ fastlane/metadata/android/en-US/changelogs/341.txt | 1 + 2 files changed, 7 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/341.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 71ffa3c93..f6f1a190d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Changelog ========== +Version 6.19.6 *(2021-04-18)* +---------------------------- + + * Fixed some photo editor related glitches + * Some smaller bugfixes, translation and stability improvements + Version 6.19.5 *(2021-03-31)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/341.txt b/fastlane/metadata/android/en-US/changelogs/341.txt new file mode 100644 index 000000000..9703df840 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/341.txt @@ -0,0 +1 @@ + * Some smaller bugfixes, translation and stability improvements From 255ec41bee6f44d469e29b8ec23273c44bdb5b80 Mon Sep 17 00:00:00 2001 From: GobinathAL <58905033+GobinathAL@users.noreply.github.com> Date: Sun, 2 May 2021 15:15:12 +0530 Subject: [PATCH 49/95] translation improvements --- app/src/main/res/values-ta/strings.xml | 139 +++++++++++-------------- 1 file changed, 61 insertions(+), 78 deletions(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 955f09d82..307ee1068 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -1,28 +1,28 @@ - எளிய கேலரி - கேலரி + எளிய காட்சியகம் + காட்சியகம் மாற்று - புகைப்படக்கருவியை திறக்கவும் - (மறைக்கப்பற்றுள்ளவை) - (விலக்கப்பட்டவை) + படக்கருவியை திற + (மறைந்த) + (விலக்கிய) கோப்புறையை முள் - கோப்புறையைத் திறக்கவும் + கோப்புறையை முள்ளெடு மேலே போடு - எல்லா கோப்புறைகளின் உள்ளடக்கத்தையும் காட்டு - அனைத்து ககோப்புறைகள் - கோப்புறை பார்வைக்கு மாறவும் + எல்லா கோப்புறைகளின் உள்ளடக்கத்தை காட்டு + எல்லா கோப்புறைகள் + கோப்புறை பார்வைக்கு மாறு பிற கோப்புறை வரைபடத்தில் காண்பி தெரியாத இடம் ஒலி ஒளி நோக்குநிலையை பூட்டு - நோக்குநிலையைத் திற + நோக்குநிலையை பூட்டவிழ் நோக்குநிலையை மாற்று எப்பொழுதும் உருவப்படம் நிலத்தோற்ற நிலை - இயல்புநிலை நோக்குநிலையைப் பயன்படுத்தவும் + இயல்புநிலை நோக்குநிலையைப் பயன்படுத்து தேதி எடுத்த மதிப்பை சரிசெய்யவும் சரிசெய்தல்… தேதிகள் வெற்றிகரமாக சரி செய்யப்பட்டன @@ -32,106 +32,99 @@ காணக்கூடிய அனைத்து கோப்புறைகளிலும் கோப்பு தேடலுக்கு மாறவும் இயல்புநிலை கோப்புறையாக அமைக்கவும் இயல்புநிலை கோப்புறையாக அமைக்காதீர்கள் - மீடியாவை வடிகட்டவும் புகைப்படங்கள் - வீடியோக்கள் - GIF கள் + காணொலிகள் + GIFகள் RAW புகைப்படங்கள் - SVG கள் + SVGகள் உருவப்படங்கள் தேர்ந்தெடுக்கப்பட்ட வடிப்பான்களுடன் ஊடக கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. வடிப்பான்களை மாற்றவும் - இந்த செயல்பாடு ஒரு \'.nomedia\' கோப்பைச் சேர்ப்பதன் மூலம் கோப்புறையை மறைக்கிறது, இது எல்லா துணை கோப்புறைகளையும் மறைக்கும். அமைப்புகளில் \'மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\' விருப்பத்தை மாற்றுவதன் மூலம் அவற்றைக் காணலாம். தொடரவா? விலக்கு - விலக்கப்பட்ட கோப்புறைகள் - விலக்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும் + விலக்கிய கோப்புறைகள் + விலக்கிய கோப்புறைகளை நிர்வகி இது எளிய கேலரியில் இருந்து அதன் துணை கோப்புறைகளுடன் தேர்வை விலக்கும். அமைப்புகளில் விலக்கப்பட்ட கோப்புறைகளை நீங்கள் நிர்வகிக்கலாம். அதற்கு பதிலாக ஒரு பெற்றோரை விலக்கவா? கோப்புறைகளைத் தவிர்த்து, எளிய கேலரியில் மறைத்து வைக்கப்பட்டுள்ள அவற்றின் துணை கோப்புறைகளுடன் அவற்றை ஒன்றிணைக்கும், அவை இன்னும் பிற பயன்பாடுகளில் தெரியும்.\n\nபிற பயன்பாடுகளிலிருந்தும் அவற்றை மறைக்க விரும்பினால், மறை செயல்பாட்டைப் பயன்படுத்தவும். - அனைத்து நீக்க + எல்லாம் நீக்கு விலக்கப்பட்டவர்களின் பட்டியலிலிருந்து எல்லா கோப்புறைகளையும் அகற்றவா? இது கோப்புறைகளை நீக்காது. - மறைக்கப்பட்ட கோப்புறைகள் - மறைக்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும் + மறைத்த கோப்புறைகள் + மறைத்த கோப்புறைகளை நிர்வகி உங்களிடம் \".nomedia\" கோப்புடன் எந்த கோப்புறைகளும் மறைக்கப்படவில்லை என தெரிகிறது. - - கோப்புறைகள் சேர்க்கப்பட்டுள்ளன - சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும் - கோப்புறையைச் சேர் + உள்ளடக்கிய கோப்புறைகள் + உள்ளடக்கிய கோப்புறைகளை நிர்வகி + கோப்புறையை சேர் உங்களிடம் சில கோப்புறைகள் இருந்தால், அவை பயன்பாட்டைக் கொண்டிருக்கவில்லை, ஆனால் அவற்றை கைமுறையாக இங்கே சேர்க்கலாம்.\n\nசில உருப்படிகளை இங்கே சேர்ப்பது வேறு எந்த கோப்புறையையும் விலக்காது. மீடியா கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. மீடியா கோப்புகளைக் கொண்ட கோப்புறைகளை கைமுறையாகச் சேர்ப்பதன் மூலம் அதைத் தீர்க்கலாம். - மறுஅளவிடு - அளவை மறுஅளவித்து சேமி + தேர்வை மறுஅளவிட்டு சேமி அகலம் உயரம் - விகித விகிதத்தை வைத்திருங்கள் + விகித விகிதத்தை வைத்திரு சரியான தீர்மானத்தை உள்ளிடவும் - - எடிட்டர் + திருத்தி சுழற்று தவறான பட பாதை - தவறான வீடியோ பாதை - பட எடிட்டிங் தோல்வியுற்றது - வீடியோ எடிட்டிங் தோல்வியுற்றது - பட எடிட்டிங் ரத்து - வீடியோ எடிட்டிங் ரத்து - கோப்பு வெற்றிகரமாக திருத்தப்பட்டது - படம் வெற்றிகரமாக திருத்தப்பட்டது - வீடியோ வெற்றிகரமாக திருத்தப்பட்டது - படத்தை இதனுடன் திருத்தவும்: - இதனுடன் வீடியோவைத் திருத்துக: - பட எடிட்டர் எதுவும் கிடைக்கவில்லை - வீடியோ எடிட்டர் எதுவும் கிடைக்கவில்லை - அறியப்படாத கோப்பு இடம் + தவறான காணொலி பாதை + பட திருத்தம் தோல்வி + காணொலி திருத்தம் தோல்வி + பட திருத்தம் ரத்து + காணொலி திருத்தம் ரத்து + கோப்பு திருத்தம் வெற்றி + பட திருத்தம் வெற்றி + காணொலி திருத்தம் வெற்றி + படத்தை இதனுடன் திருத்து: + வீடியோவை இதனுடன் திருத்து: + பட திருத்தி ஏதுமில்லை + காணொலி திருத்தி ஏதுமில்லை + அறியப்படா கோப்பு இடம் மூல கோப்பை மேலெழுத முடியவில்லை இடதுபுறம் சுழற்று வலதுபுறம் சுழற்று 180º ஆல் சுழற்று புரட்டு - கிடைமட்டமாக புரட்டவும் - செங்குத்தாக புரட்டவும் - கட்டுப்பாடற்ற - மற்றவை - + கிடைமட்டமாக புரட்டு + செங்குத்தாக புரட்டு + கட்டுப்பாடற்ற + + மற்ற + - எளிய வால்பேப்பர் - வால்பேப்பராக அமைக்கவும் - வால்பேப்பராக அமைப்பது தோல்வியடைந்தது - இதனுடன் வால்பேப்பராக அமைக்கவும்: - வால்பேப்பரை அமைத்தல்… - வால்பேப்பர் வெற்றிகரமாக அமைக்கப்பட்டது + எளிய சுவரொட்டி + சுவரொட்டியாக அமை + சுவரொட்டியாக அமைத்தல் தோல்வி + இதனுடன் சுவரொட்டியாக அமை: + சுவரொட்டி அமைத்தல்… + சுவரொட்டி அமைத்தல் வெற்றி உருவப்படம் விகிதம் நிலத்தோற்ற விகிதம் முகப்புத் திரை பூட்டுத் திரை முகப்பு மற்றும் பூட்டுத் திரை - ஸ்லைடுஷோ இடைவெளி (விநாடிகள்): - புகைப்படங்களைச் சேர்க்கவும் - வீடியோக்களைச் சேர்க்கவும் - GIF களைச் சேர்க்கவும் + புகைப்படங்களைச் உள்ளடக்கு + காணொலிகளை உள்ளடக்கு + GIFகளை உள்ளடக்கு சீரற்ற வரிசை - பின்னோக்கி நகர்த்தவும் + பின்னோக்கி நகர்த்து லூப் ஸ்லைடுஷோ இயங்குபடம் - எதுவுமில்லை + ஏதுமில்லை மங்கல் ஸ்லைடு ஸ்லைடுஷோ முடிந்தது ஸ்லைடுஷோவுக்கான ஊடகங்கள் எதுவும் கிடைக்கவில்லை - குழு நேரடி துணை கோப்புறைகள் - குழு கோப்புகளை குழு செய்ய வேண்டாம் @@ -145,11 +138,9 @@ கோப்பு வகை நீட்டிப்பு தொகுத்தல் மற்றும் வரிசைப்படுத்துதல் 2 சுயாதீன புலங்கள் என்பதை நினைவில் கொள்க - விட்ஜெட்டில் கோப்புறை காட்டப்பட்டுள்ளது: கோப்புறை பெயரைக் காட்டு - வீடியோக்களை தானாக இயக்கு கடைசி வீடியோ பின்னணி நிலையை நினைவில் கொள்க @@ -201,18 +192,15 @@ சதுரம் மழுங்கையாக்கப்பட்ட மூலைகள் பிடித்த கோப்பு பாதைகளை ஏற்றுமதி செய்க - சிறு உருவங்கள் முழுத்திரை ஊடகம் விரிவாக்கப்பட்ட விவரங்கள் கீழே செயல்கள் - புலப்படும் கீழ் செயல்களை நிர்வகிக்கவும் பிடித்ததை நிலைமாற்று கோப்பு தெரிவுநிலையை நிலைமாற்று - தனிப்பயன் மீட்டமை @@ -325,7 +313,6 @@ அக்வாமரின் பைப்பேட் வண்ணம் ஒழுங்கமைக்கவும் - எளிய கேலரியை இயல்புநிலை சாதன கேலரியாக மாற்றுவது எப்படி? முதலில் உங்கள் சாதன அமைப்புகளின் பயன்பாடுகள் பிரிவில் தற்போது இயல்புநிலை கேலரியைக் கண்டுபிடிக்க வேண்டும், \"இயல்புநிலையாகத் திற\" போன்ற ஒன்றைக் கூறும் பொத்தானைத் தேடுங்கள், அதைக் கிளிக் செய்து, \"இயல்புநிலைகளை அழி\" என்பதைத் தேர்ந்தெடுக்கவும். @@ -341,9 +328,9 @@ மியூசிக் கவர் ஆர்ட் அல்லது ஸ்டிக்கர்களைக் கொண்ட கோப்புறைகள் ஏன் காண்பிக்கப்படுகின்றன? சில அசாதாரண ஆல்பங்கள் காண்பிக்கப்படுவதை நீங்கள் காண்பீர்கள். அவற்றை நீண்ட நேரம் அழுத்தி, விலக்கு என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அவற்றை எளிதாக விலக்கலாம். அடுத்த உரையாடலில் நீங்கள் பெற்றோர் கோப்புறையைத் தேர்ந்தெடுக்கலாம், இது பிற தொடர்புடைய ஆல்பங்களையும் காண்பிப்பதைத் தடுக்கும் வாய்ப்புகள் உள்ளன. படத்தைக் கொண்ட கோப்புறை காண்பிக்கப்படவில்லை, அல்லது அது எல்லா உருப்படிகளையும் காட்டாது. என்னால் என்ன செய்ய முடியும்? - அதற்கு பல காரணங்கள் இருக்கலாம், ஆனால் அதைத் தீர்ப்பது எளிதானது. அமைப்புகள் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும், பிளஸ் என்பதைத் தேர்ந்தெடுத்து தேவையான கோப்புறையில் செல்லவும். + அதற்கு பல காரணங்கள் இருக்கலாம், ஆனால் அதைத் தீர்ப்பது எளிதானது. அமைப்புகள் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும், பிளஸ் என்பதைத் தேர்ந்தெடுத்து தேவையான கோப்புறையில் செல்லவும். ஒரு சில குறிப்பிட்ட கோப்புறைகளை நான் காண விரும்பினால் என்ன செய்வது? - சேர்க்கப்பட்ட கோப்புறைகளில் ஒரு கோப்புறையைச் சேர்ப்பது தானாக எதையும் விலக்காது. நீங்கள் செய்யக்கூடியது அமைப்புகள் -> விலக்கப்பட்ட கோப்புறைகளை நிர்வகி, \"/\" என்ற ரூட் கோப்புறையை விலக்கி, பின்னர் அமைப்புகளில் விரும்பிய கோப்புறைகளைச் சேர்க்கவும் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும். + சேர்க்கப்பட்ட கோப்புறைகளில் ஒரு கோப்புறையைச் சேர்ப்பது தானாக எதையும் விலக்காது. நீங்கள் செய்யக்கூடியது அமைப்புகள் -> விலக்கப்பட்ட கோப்புறைகளை நிர்வகி, \"/\" என்ற ரூட் கோப்புறையை விலக்கி, பின்னர் அமைப்புகளில் விரும்பிய கோப்புறைகளைச் சேர்க்கவும் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும். இது தேர்ந்தெடுக்கப்பட்ட கோப்புறைகளை மட்டுமே காணும், ஏனெனில் தவிர்த்து, உள்ளடக்குவது இரண்டும் சுழல்நிலை மற்றும் ஒரு கோப்புறை விலக்கப்பட்டு சேர்க்கப்பட்டால், அது காண்பிக்கப்படும். இந்த பயன்பாட்டின் மூலம் படங்களை செதுக்க முடியுமா? ஆம், பட மூலைகளை இழுப்பதன் மூலம், எடிட்டரில் படங்களை செதுக்கலாம். பட சிறுபடத்தை நீண்ட நேரம் அழுத்தி திருத்து என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அல்லது முழுத்திரைக் காட்சியில் இருந்து திருத்து என்பதைத் தேர்ந்தெடுப்பதன் மூலம் நீங்கள் எடிட்டரைப் பெறலாம். @@ -352,19 +339,17 @@ எடுக்கப்பட்ட தேதியின்படி வரிசைப்படுத்துவது சரியாக வேலை செய்யத் தெரியவில்லை, அதை எவ்வாறு சரிசெய்வது? கோப்புகள் எங்கிருந்தோ நகலெடுக்கப்படுவதால் இது பெரும்பாலும் ஏற்படுகிறது. கோப்பு சிறு உருவங்களைத் தேர்ந்தெடுத்து \"தேதியை எடுத்த மதிப்பை சரி\" என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அதை சரிசெய்யலாம். படங்களில் சில கலர் பேண்டிங்கை நான் காண்கிறேன். தரத்தை எவ்வாறு மேம்படுத்துவது? - படங்களைக் காண்பிப்பதற்கான தற்போதைய தீர்வு பெரும்பாலான சந்தர்ப்பங்களில் சிறப்பாக செயல்படுகிறது, ஆனால் நீங்கள் இன்னும் சிறந்த படத் தரத்தை விரும்பினால், \"ஆழமான பெரிதாக்கக்கூடிய படங்கள்\" பிரிவில், பயன்பாட்டு அமைப்புகளில் "படங்களை மிக உயர்ந்த தரத்தில் காட்டு\" என்பதை இயக்கலாம். . - I have hidden a file/folder. How can I unhide it? + படங்களைக் காண்பிப்பதற்கான தற்போதைய தீர்வு பெரும்பாலான சந்தர்ப்பங்களில் சிறப்பாக செயல்படுகிறது, ஆனால் நீங்கள் இன்னும் சிறந்த படத் தரத்தை விரும்பினால், \"ஆழமான பெரிதாக்கக்கூடிய படங்கள்\" பிரிவில், பயன்பாட்டு அமைப்புகளில் \"படங்களை மிக உயர்ந்த தரத்தில் காட்டு\" என்பதை இயக்கலாம். . + நான் ஒரு கோப்பு / கோப்புறையை மறைத்துள்ளேன். நான் அதை எப்படி அமறைக்க முடியும்? பிரதான திரையில் \"தற்காலிகமாக மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\" மெனு உருப்படியை அழுத்தவும் அல்லது மறைக்கப்பட்ட உருப்படியைக் காண பயன்பாட்டு அமைப்புகளில் \"மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\" என்பதை மாற்றவும். நீங்கள் அதை மறைக்க விரும்பினால், அதை நீண்ட நேரம் அழுத்தி \"மறை\" என்பதைத் தேர்ந்தெடுக்கவும். கோப்புறைகள் ஒரு மறைக்கப்பட்ட \".nomedia\" கோப்பைச் சேர்ப்பதன் மூலம் மறைக்கப்படுகின்றன, நீங்கள் எந்த கோப்பு மேலாளரிடமும் கோப்பை நீக்கலாம். மறைப்பது மீண்டும் மீண்டும் செயல்படுகிறது என்பதை நினைவில் கொள்க, எனவே நீங்கள் ஒரு கோப்புறையை மறைத்தால், எல்லா துணை கோப்புறைகளும் மறைக்கப்படும். எனவே துணை கோப்புறைகளை மறைக்க நீங்கள் பெற்றோர் கோப்புறையை மறைக்க வேண்டும். பயன்பாடு ஏன் அதிக இடத்தை எடுத்துக்கொள்கிறது? பயன்பாட்டு தற்காலிக சேமிப்பு 250MB வரை ஆகலாம், இது படத்தை விரைவாக ஏற்றுவதை உறுதி செய்கிறது. பயன்பாடு இன்னும் அதிக இடத்தை எடுத்துக்கொண்டால், மறுசுழற்சி தொட்டியில் நீங்கள் உருப்படிகளை வைத்திருப்பதால் இது பெரும்பாலும் ஏற்படலாம். அந்த கோப்புகள் பயன்பாட்டு அளவிற்கு எண்ணப்படுகின்றன. மறுசுழற்சி தொட்டியைத் திறந்து எல்லா கோப்புகளையும் நீக்குவதன் மூலம் அல்லது பயன்பாட்டு அமைப்புகளிலிருந்து அழிக்கலாம். தொட்டியில் உள்ள ஒவ்வொரு கோப்பும் 30 நாட்களுக்குப் பிறகு தானாகவே நீக்கப்படும். - - Simple Gallery Pro - Photo Manager & Editor + எளிய காட்சியகம் தொ - பட நிர்வாகி & திருத்தி விளம்பரங்கள் இல்லாமல் உங்கள் புகைப்படங்கள், வீடியோக்கள், GIF களை நிர்வகிப்பதற்கும் திருத்துவதற்கும் ஒரு பிரீமியம் பயன்பாடு - - 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. + 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. @@ -419,10 +404,8 @@ Reddit: https://www.reddit.com/r/SimpleMobileTools - - From 266746b723d678fd30c88855b1bdacd421e9ecc4 Mon Sep 17 00:00:00 2001 From: GobinathAL <58905033+GobinathAL@users.noreply.github.com> Date: Mon, 3 May 2021 20:04:14 +0530 Subject: [PATCH 50/95] Update strings.xml --- app/src/main/res/values-ta/strings.xml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 307ee1068..3405786da 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -32,6 +32,7 @@ காணக்கூடிய அனைத்து கோப்புறைகளிலும் கோப்பு தேடலுக்கு மாறவும் இயல்புநிலை கோப்புறையாக அமைக்கவும் இயல்புநிலை கோப்புறையாக அமைக்காதீர்கள் + மீடியாவை வடிகட்டவும் புகைப்படங்கள் @@ -42,6 +43,7 @@ உருவப்படங்கள் தேர்ந்தெடுக்கப்பட்ட வடிப்பான்களுடன் ஊடக கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. வடிப்பான்களை மாற்றவும் + இந்த செயல்பாடு ஒரு \'.nomedia\' கோப்பைச் சேர்ப்பதன் மூலம் கோப்புறையை மறைக்கிறது, இது எல்லா துணை கோப்புறைகளையும் மறைக்கும். அமைப்புகளில் \'மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\' விருப்பத்தை மாற்றுவதன் மூலம் அவற்றைக் காணலாம். தொடரவா? விலக்கு @@ -61,6 +63,7 @@ கோப்புறையை சேர் உங்களிடம் சில கோப்புறைகள் இருந்தால், அவை பயன்பாட்டைக் கொண்டிருக்கவில்லை, ஆனால் அவற்றை கைமுறையாக இங்கே சேர்க்கலாம்.\n\nசில உருப்படிகளை இங்கே சேர்ப்பது வேறு எந்த கோப்புறையையும் விலக்காது. மீடியா கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. மீடியா கோப்புகளைக் கொண்ட கோப்புறைகளை கைமுறையாகச் சேர்ப்பதன் மூலம் அதைத் தீர்க்கலாம். + மறுஅளவிடு தேர்வை மறுஅளவிட்டு சேமி @@ -68,6 +71,7 @@ உயரம் விகித விகிதத்தை வைத்திரு சரியான தீர்மானத்தை உள்ளிடவும் + திருத்தி சுழற்று @@ -92,10 +96,9 @@ புரட்டு கிடைமட்டமாக புரட்டு செங்குத்தாக புரட்டு - கட்டுப்பாடற்ற - - மற்ற - + கட்டுப்பாடற்ற + மற்ற + எளிய சுவரொட்டி சுவரொட்டியாக அமை @@ -108,6 +111,7 @@ முகப்புத் திரை பூட்டுத் திரை முகப்பு மற்றும் பூட்டுத் திரை + ஸ்லைடுஷோ இடைவெளி (விநாடிகள்): @@ -123,8 +127,10 @@ ஸ்லைடு ஸ்லைடுஷோ முடிந்தது ஸ்லைடுஷோவுக்கான ஊடகங்கள் எதுவும் கிடைக்கவில்லை + குழு நேரடி துணை கோப்புறைகள் + குழு கோப்புகளை குழு செய்ய வேண்டாம் @@ -138,9 +144,11 @@ கோப்பு வகை நீட்டிப்பு தொகுத்தல் மற்றும் வரிசைப்படுத்துதல் 2 சுயாதீன புலங்கள் என்பதை நினைவில் கொள்க + விட்ஜெட்டில் கோப்புறை காட்டப்பட்டுள்ளது: கோப்புறை பெயரைக் காட்டு + வீடியோக்களை தானாக இயக்கு கடைசி வீடியோ பின்னணி நிலையை நினைவில் கொள்க @@ -192,15 +200,18 @@ சதுரம் மழுங்கையாக்கப்பட்ட மூலைகள் பிடித்த கோப்பு பாதைகளை ஏற்றுமதி செய்க + சிறு உருவங்கள் முழுத்திரை ஊடகம் விரிவாக்கப்பட்ட விவரங்கள் கீழே செயல்கள் + புலப்படும் கீழ் செயல்களை நிர்வகிக்கவும் பிடித்ததை நிலைமாற்று கோப்பு தெரிவுநிலையை நிலைமாற்று + தனிப்பயன் மீட்டமை @@ -313,6 +324,7 @@ அக்வாமரின் பைப்பேட் வண்ணம் ஒழுங்கமைக்கவும் + எளிய கேலரியை இயல்புநிலை சாதன கேலரியாக மாற்றுவது எப்படி? முதலில் உங்கள் சாதன அமைப்புகளின் பயன்பாடுகள் பிரிவில் தற்போது இயல்புநிலை கேலரியைக் கண்டுபிடிக்க வேண்டும், \"இயல்புநிலையாகத் திற\" போன்ற ஒன்றைக் கூறும் பொத்தானைத் தேடுங்கள், அதைக் கிளிக் செய்து, \"இயல்புநிலைகளை அழி\" என்பதைத் தேர்ந்தெடுக்கவும். @@ -344,6 +356,7 @@ பிரதான திரையில் \"தற்காலிகமாக மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\" மெனு உருப்படியை அழுத்தவும் அல்லது மறைக்கப்பட்ட உருப்படியைக் காண பயன்பாட்டு அமைப்புகளில் \"மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\" என்பதை மாற்றவும். நீங்கள் அதை மறைக்க விரும்பினால், அதை நீண்ட நேரம் அழுத்தி \"மறை\" என்பதைத் தேர்ந்தெடுக்கவும். கோப்புறைகள் ஒரு மறைக்கப்பட்ட \".nomedia\" கோப்பைச் சேர்ப்பதன் மூலம் மறைக்கப்படுகின்றன, நீங்கள் எந்த கோப்பு மேலாளரிடமும் கோப்பை நீக்கலாம். மறைப்பது மீண்டும் மீண்டும் செயல்படுகிறது என்பதை நினைவில் கொள்க, எனவே நீங்கள் ஒரு கோப்புறையை மறைத்தால், எல்லா துணை கோப்புறைகளும் மறைக்கப்படும். எனவே துணை கோப்புறைகளை மறைக்க நீங்கள் பெற்றோர் கோப்புறையை மறைக்க வேண்டும். பயன்பாடு ஏன் அதிக இடத்தை எடுத்துக்கொள்கிறது? பயன்பாட்டு தற்காலிக சேமிப்பு 250MB வரை ஆகலாம், இது படத்தை விரைவாக ஏற்றுவதை உறுதி செய்கிறது. பயன்பாடு இன்னும் அதிக இடத்தை எடுத்துக்கொண்டால், மறுசுழற்சி தொட்டியில் நீங்கள் உருப்படிகளை வைத்திருப்பதால் இது பெரும்பாலும் ஏற்படலாம். அந்த கோப்புகள் பயன்பாட்டு அளவிற்கு எண்ணப்படுகின்றன. மறுசுழற்சி தொட்டியைத் திறந்து எல்லா கோப்புகளையும் நீக்குவதன் மூலம் அல்லது பயன்பாட்டு அமைப்புகளிலிருந்து அழிக்கலாம். தொட்டியில் உள்ள ஒவ்வொரு கோப்பும் 30 நாட்களுக்குப் பிறகு தானாகவே நீக்கப்படும். + எளிய காட்சியகம் தொ - பட நிர்வாகி & திருத்தி @@ -404,6 +417,7 @@ Reddit: https://www.reddit.com/r/SimpleMobileTools + உள்ளடக்கிய கோப்புறைகள் உள்ளடக்கிய கோப்புறைகளை நிர்வகி From 6d4588becc1262be89d67bc417efd3cb5bfcdbcf Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Mon, 3 May 2021 22:21:43 +0200 Subject: [PATCH 52/95] removing some spaces --- app/src/main/res/values-ta/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 76ec94e82..06bfefdda 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -32,7 +32,7 @@ காணக்கூடிய அனைத்து கோப்புறைகளிலும் கோப்பு தேடலுக்கு மாறவும் இயல்புநிலை கோப்புறையாக அமைக்கவும் இயல்புநிலை கோப்புறையாக அமைக்காதீர்கள் - + மீடியாவை வடிகட்டவும் புகைப்படங்கள் @@ -43,7 +43,7 @@ உருவப்படங்கள் தேர்ந்தெடுக்கப்பட்ட வடிப்பான்களுடன் ஊடக கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. வடிப்பான்களை மாற்றவும் - + இந்த செயல்பாடு ஒரு \'.nomedia\' கோப்பைச் சேர்ப்பதன் மூலம் கோப்புறையை மறைக்கிறது, இது எல்லா துணை கோப்புறைகளையும் மறைக்கும். அமைப்புகளில் \'மறைக்கப்பட்ட உருப்படிகளைக் காண்பி\' விருப்பத்தை மாற்றுவதன் மூலம் அவற்றைக் காணலாம். தொடரவா? விலக்கு @@ -64,7 +64,7 @@ கோப்புறையை சேர் உங்களிடம் சில கோப்புறைகள் இருந்தால், அவை பயன்பாட்டைக் கொண்டிருக்கவில்லை, ஆனால் அவற்றை கைமுறையாக இங்கே சேர்க்கலாம்.\n\nசில உருப்படிகளை இங்கே சேர்ப்பது வேறு எந்த கோப்புறையையும் விலக்காது. மீடியா கோப்புகள் எதுவும் கண்டுபிடிக்கப்படவில்லை. மீடியா கோப்புகளைக் கொண்ட கோப்புறைகளை கைமுறையாகச் சேர்ப்பதன் மூலம் அதைத் தீர்க்கலாம். - + மறுஅளவிடு தேர்வை மறுஅளவிட்டு சேமி @@ -72,7 +72,7 @@ உயரம் விகித விகிதத்தை வைத்திரு சரியான தீர்மானத்தை உள்ளிடவும் - + திருத்தி சுழற்று @@ -97,8 +97,8 @@ புரட்டு கிடைமட்டமாக புரட்டு செங்குத்தாக புரட்டு - கட்டுப்பாடற்ற - மற்ற + கட்டுப்பாடற்ற + மற்ற எளிய சுவரொட்டி From e84f1cf00707227110a65359de48dba65be74d81 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Mon, 3 May 2021 22:22:59 +0200 Subject: [PATCH 53/95] Update strings.xml --- app/src/main/res/values-ta/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 06bfefdda..86620773d 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -341,9 +341,9 @@ மியூசிக் கவர் ஆர்ட் அல்லது ஸ்டிக்கர்களைக் கொண்ட கோப்புறைகள் ஏன் காண்பிக்கப்படுகின்றன? சில அசாதாரண ஆல்பங்கள் காண்பிக்கப்படுவதை நீங்கள் காண்பீர்கள். அவற்றை நீண்ட நேரம் அழுத்தி, விலக்கு என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அவற்றை எளிதாக விலக்கலாம். அடுத்த உரையாடலில் நீங்கள் பெற்றோர் கோப்புறையைத் தேர்ந்தெடுக்கலாம், இது பிற தொடர்புடைய ஆல்பங்களையும் காண்பிப்பதைத் தடுக்கும் வாய்ப்புகள் உள்ளன. படத்தைக் கொண்ட கோப்புறை காண்பிக்கப்படவில்லை, அல்லது அது எல்லா உருப்படிகளையும் காட்டாது. என்னால் என்ன செய்ய முடியும்? - அதற்கு பல காரணங்கள் இருக்கலாம், ஆனால் அதைத் தீர்ப்பது எளிதானது. அமைப்புகள் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும், பிளஸ் என்பதைத் தேர்ந்தெடுத்து தேவையான கோப்புறையில் செல்லவும். + அதற்கு பல காரணங்கள் இருக்கலாம், ஆனால் அதைத் தீர்ப்பது எளிதானது. அமைப்புகள் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும், பிளஸ் என்பதைத் தேர்ந்தெடுத்து தேவையான கோப்புறையில் செல்லவும். ஒரு சில குறிப்பிட்ட கோப்புறைகளை நான் காண விரும்பினால் என்ன செய்வது? - சேர்க்கப்பட்ட கோப்புறைகளில் ஒரு கோப்புறையைச் சேர்ப்பது தானாக எதையும் விலக்காது. நீங்கள் செய்யக்கூடியது அமைப்புகள் -> விலக்கப்பட்ட கோப்புறைகளை நிர்வகி, \"/\" என்ற ரூட் கோப்புறையை விலக்கி, பின்னர் அமைப்புகளில் விரும்பிய கோப்புறைகளைச் சேர்க்கவும் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும். + சேர்க்கப்பட்ட கோப்புறைகளில் ஒரு கோப்புறையைச் சேர்ப்பது தானாக எதையும் விலக்காது. நீங்கள் செய்யக்கூடியது அமைப்புகள் -> விலக்கப்பட்ட கோப்புறைகளை நிர்வகி, \"/\" என்ற ரூட் கோப்புறையை விலக்கி, பின்னர் அமைப்புகளில் விரும்பிய கோப்புறைகளைச் சேர்க்கவும் -> சேர்க்கப்பட்ட கோப்புறைகளை நிர்வகிக்கவும். இது தேர்ந்தெடுக்கப்பட்ட கோப்புறைகளை மட்டுமே காணும், ஏனெனில் தவிர்த்து, உள்ளடக்குவது இரண்டும் சுழல்நிலை மற்றும் ஒரு கோப்புறை விலக்கப்பட்டு சேர்க்கப்பட்டால், அது காண்பிக்கப்படும். இந்த பயன்பாட்டின் மூலம் படங்களை செதுக்க முடியுமா? ஆம், பட மூலைகளை இழுப்பதன் மூலம், எடிட்டரில் படங்களை செதுக்கலாம். பட சிறுபடத்தை நீண்ட நேரம் அழுத்தி திருத்து என்பதைத் தேர்ந்தெடுப்பதன் மூலம் அல்லது முழுத்திரைக் காட்சியில் இருந்து திருத்து என்பதைத் தேர்ந்தெடுப்பதன் மூலம் நீங்கள் எடிட்டரைப் பெறலாம். From fed392f1f6f9eb4732da5228f5aed001492d9acc Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Mon, 3 May 2021 22:24:23 +0200 Subject: [PATCH 54/95] Update strings.xml --- app/src/main/res/values-ta/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 86620773d..7f6f8e11a 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -363,7 +363,8 @@ எளிய காட்சியகம் தொ - பட நிர்வாகி & திருத்தி விளம்பரங்கள் இல்லாமல் உங்கள் புகைப்படங்கள், வீடியோக்கள், GIF களை நிர்வகிப்பதற்கும் திருத்துவதற்கும் ஒரு பிரீமியம் பயன்பாடு - 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. + + 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. From 871f1274e334044226ea96dc29a53779384b1b3f Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Mon, 3 May 2021 22:25:01 +0200 Subject: [PATCH 55/95] Update strings.xml --- app/src/main/res/values-ta/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 7f6f8e11a..94b06826d 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -363,7 +363,7 @@ எளிய காட்சியகம் தொ - பட நிர்வாகி & திருத்தி விளம்பரங்கள் இல்லாமல் உங்கள் புகைப்படங்கள், வீடியோக்கள், GIF களை நிர்வகிப்பதற்கும் திருத்துவதற்கும் ஒரு பிரீமியம் பயன்பாடு - + 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. From 9656da47ae00f0cb3f990bc346816f9d849c7bce Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 11 May 2021 15:01:02 +0200 Subject: [PATCH 56/95] updating gradle --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 75a29704b..f4d3077a9 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:4.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" if (is_proprietary) { classpath 'ly.img.android.pesdk:plugin:8.1.3' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a9ff48fcd..34b3166b4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip From c84a2bfafe29ab5b5f41ca6e29757d4c9dbaef6e Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 11 May 2021 15:01:36 +0200 Subject: [PATCH 57/95] fix #2128, properly show recycle bin item size at the app settings --- .../gallery/pro/activities/SettingsActivity.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt index 1a7641b3b..6bc52d698 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt @@ -16,10 +16,7 @@ import com.simplemobiletools.gallery.pro.dialogs.ChangeFileThumbnailStyleDialog import com.simplemobiletools.gallery.pro.dialogs.ChangeFolderThumbnailStyleDialog import com.simplemobiletools.gallery.pro.dialogs.ManageBottomActionsDialog import com.simplemobiletools.gallery.pro.dialogs.ManageExtendedDetailsDialog -import com.simplemobiletools.gallery.pro.extensions.config -import com.simplemobiletools.gallery.pro.extensions.emptyTheRecycleBin -import com.simplemobiletools.gallery.pro.extensions.mediaDB -import com.simplemobiletools.gallery.pro.extensions.showRecycleBinEmptyingDialog +import com.simplemobiletools.gallery.pro.extensions.* import com.simplemobiletools.gallery.pro.helpers.* import com.simplemobiletools.gallery.pro.models.AlbumCover import kotlinx.android.synthetic.main.activity_settings.* @@ -576,9 +573,18 @@ class SettingsActivity : SimpleActivity() { private fun setupEmptyRecycleBin() { ensureBackgroundThread { try { - mRecycleBinContentSize = mediaDB.getDeletedMedia().sumByLong { it.size } + mRecycleBinContentSize = mediaDB.getDeletedMedia().sumByLong { medium -> + val size = medium.size + if (size == 0L) { + val path = medium.path.removePrefix(RECYCLE_BIN).prependIndent(recycleBinPath) + File(path).length() + } else { + size + } + } } catch (ignored: Exception) { } + runOnUiThread { settings_empty_recycle_bin_size.text = mRecycleBinContentSize.formatSize() } From c56327eae7b85f047bf5ccb2e8e9f9f2b0950c11 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 11 May 2021 22:56:31 +0200 Subject: [PATCH 58/95] adding some new drag & drop related strings --- app/src/main/res/values-ar/strings.xml | 2 ++ app/src/main/res/values-az/strings.xml | 2 ++ app/src/main/res/values-bn/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-eu/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-ne/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 | 4 +++- 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-ta/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 ++ 40 files changed, 81 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index e09536426..6c2585fcf 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -32,6 +32,8 @@ التبديل إلي البحث فى الملفات عبر كافة المجلدات المرئية Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop فلترة الوسائط diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 2fbbb9c50..2751a8a47 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index a638cf63a..3f9eb3cf1 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -32,6 +32,8 @@ সব দেখা যাওয়া ফোল্ডারে ফাইল সার্চে চলে যান ডিফল্ট ফোল্ডার হিশেবে সেট করুন ডিফল্ট ফোল্ডার হিশেবে আর রাখবেন না + Reorder folders by dragging + Use custom sorting set by Drag and Drop মিডিয়া ফিল্টার করুন diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 17da42cd1..fbb74efce 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -32,6 +32,8 @@ Canvia a la cerca de fitxers a totes les carpetes visibles Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtre d’arxius diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 5c787b6f6..50ed9aa8a 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -32,6 +32,8 @@ Přepnout na vyhledávání souborů ve všech viditelných složkách Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtr médií diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 311cad35e..2596d49ea 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -32,6 +32,8 @@ Skift til filsøgning på tværs af synlige mapper Vælg som standard mappe Fravælg som standard mappe + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrer medier diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 786695c30..28bdf2955 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -32,6 +32,8 @@ Zur Dateisuche in allen sichtbaren Ordnern wechseln Als Standardordner festlegen Nicht mehr als Standardordner festlegen + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filter diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 7f8d47170..3bf77dced 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -32,6 +32,8 @@ Εναλλαγή αναζήτησης αρχείων σε όλους τους ορατούς φακέλους Ορισμός ως προεπιλεγμένου φακέλου Κατάργηση ως προεπιλεγμένου φακέλου + Reorder folders by dragging + Use custom sorting set by Drag and Drop Φιλτράρισμα πολυμέσων diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4b27ce810..c11b5d89c 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -32,6 +32,8 @@ Cambiar a la búsqueda de archivos en todas las carpetas visibles Poner como carpeta predeterminada Quitar como carpeta predeterminada + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtro de medios diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 26c5b5773..293fc6292 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -32,6 +32,8 @@ Aldatu fitxategi-bilaketa ikusgai dauden karpeta guztien artean Ezarri lehenetsitako karpeta gisa Kendu karpeta lehenetsitako karpeta gisa + Reorder folders by dragging + Use custom sorting set by Drag and Drop Iragazi multimedia diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 4c21e003b..1a3cce6ed 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -32,6 +32,8 @@ Vaihda tiedostohakuun kaikissa näkyvillä olevissa kansioissa Aseta oletushakemistoksi Älä käytä oletushakemistona + Reorder folders by dragging + Use custom sorting set by Drag and Drop Suodata media diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c8972420f..d1889ae9c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -32,6 +32,8 @@ Basculer vers la recherche de fichiers Dossier par défaut Oublier le dossier + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrer les médias diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 0baafef85..ab3076044 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -32,6 +32,8 @@ Cambiar á procura de ficheiros en todos os cartafoles visibles. Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrar medios diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index df9398060..cb44eb266 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtriranje medija diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 7b8012449..b3bde7555 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -32,6 +32,8 @@ Váltás a fájlkeresésre az összes látható mappában Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Média szűrő diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 064313749..fdc8c3dda 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -32,6 +32,8 @@ Beralih ke pencarian berkas di semua folder yang terlihat Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 3a691ecc0..cfe58fe15 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -32,6 +32,8 @@ Beralih ke pencarian berkas di semua folder yang terlihat Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7efc9d6b3..4b25f1408 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -32,6 +32,8 @@ Passa alla ricerca file su tutte le cartelle visibili Imposta come cartella di default Non impostare come cartella di default + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtra i file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 3a469d217..bc6a81a1a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -32,6 +32,8 @@ 表示されているすべてのフォルダで検索 に切り替え デフォルトのフォルダとして設定 デフォルトのフォルダから外す + Reorder folders by dragging + Use custom sorting set by Drag and Drop 表示する形式 diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 5cda33508..2fb0e1577 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop 필터 설정 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index d900ed262..4fc67efe5 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtruoti mediją diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 7e66847ad..73fd42fde 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -32,6 +32,8 @@ Skift til filsøk i alle synlige mapper Sett som standardmappe Ikke lenger sett som standardmappe + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrer media diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index 8b7ac59e8..bb8da2f1b 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8617dce3f..4a0955474 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -32,6 +32,8 @@ Zoeken in alle zichtbare mappen Als standaardmap instellen Standaardmap herstellen + Reorder folders by dragging + Use custom sorting set by Drag and Drop Media filteren diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 1283142e0..a39c1b15c 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -32,6 +32,8 @@ Przełącz na przeszukiwanie plików we wszystkich widocznych folderach Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtruj multimedia diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index f55dd0dce..852a32c45 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -32,6 +32,8 @@ Alternar para a pesquisa de arquivos em todas as pastas visíveis Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrar mídia diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index d9de5c8df..6d925d408 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -32,6 +32,8 @@ Trocar para pesquisa de ficheiros em todas as pastas visíveis Utilizar como pasta padrão Deixar de utilizar como pasta padrão + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrar multimédia diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 4177b5113..6a6d2ff23 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -32,6 +32,8 @@ Переключиться на поиск файлов по всем видимым папкам Установить как папку по умолчанию Отключить как папку по умолчанию + Reorder folders by dragging + Use custom sorting set by Drag and Drop Фильтр медиа diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 9da616a12..fc0fedef1 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -28,10 +28,12 @@ Dátumy vytvorenia boli úspešne opravené Nenašli sa žiadne dátumy vytvorenia Zdieľať verziu so zmenenou veľkosťou - Zdravím,\n\nvyzerá to tak, že ste zo starej bezplatnej apky prešlie na novú, platenú. Starú apku, ktorá má na vrchu nastavení tlačidlo \'Stiahnuť Pro verziu\', môžete už odinštalovať.\n\nStratíte tým iba súbory v odpadkovom koši, obľúbené položky budú odznačené a tiež si budete musieť opäť nastaviť položky v nastaveniach aplikácie.\n\nVďaka! + Zdravím,\n\nvyzerá to tak, že ste zo starej bezplatnej apky prešli na novú, platenú. Starú apku, ktorá má na vrchu nastavení tlačidlo \'Stiahnuť Pro verziu\', môžete už odinštalovať.\n\nStratíte tým iba súbory v odpadkovom koši, obľúbené položky budú odznačené a tiež si budete musieť opäť nastaviť položky v nastaveniach aplikácie.\n\nVďaka! Prepnúť na vyhľadávanie súborov vo všetkých viditeľných priečinkoch Nastaviť ako predvolený priečinok Odobrať predvolený priečinok + Zmeniť poradie priečinkov presunutím + Použiť manuálne zoradenie presúvaním Filter médií diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 32318ddd4..441c7f246 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtriranje datotek diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 9631fd9d8..d1db7f7e0 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Филтрирај медију diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 167ae07f2..c4198d159 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -32,6 +32,8 @@ Växla till filsökning i alla synliga mappar Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filtrera media diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 94b06826d..84a252236 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -32,6 +32,8 @@ காணக்கூடிய அனைத்து கோப்புறைகளிலும் கோப்பு தேடலுக்கு மாறவும் இயல்புநிலை கோப்புறையாக அமைக்கவும் இயல்புநிலை கோப்புறையாக அமைக்காதீர்கள் + Reorder folders by dragging + Use custom sorting set by Drag and Drop மீடியாவை வடிகட்டவும் diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 0dbfb3568..e2803d863 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -32,6 +32,8 @@ Tüm görünür klasörler arasında dosya aramaya geç Varsayılan klasör olarak ayarla Varsayılan klasör olarak ayarlama + Reorder folders by dragging + Use custom sorting set by Drag and Drop Medyayı filtrele diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 6683d8bd7..8ce152c1e 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -32,6 +32,8 @@ Перейти до пошуку файла в усіх видимих теках Встановити теку за замовчуванням Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Фільтр мультимедійних файлів diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 737df5c17..e9e23d488 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -32,6 +32,8 @@ Chuyển sang tìm kiếm tệp trên tất cả các thư mục hiển thị Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Lọc diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 420210b82..f348c2da2 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -32,6 +32,8 @@ 切换文件搜索范围为所有可见的文件夹 设置为默认文件夹 取消设置为默认文件夹 + Reorder folders by dragging + Use custom sorting set by Drag and Drop 筛选媒体文件 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 40bf6ec12..b69e37ddb 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop 篩選媒體檔案 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index f44656c01..6be9677d2 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -32,6 +32,8 @@ 檔案搜尋目標切換成全部的可見資料夾 Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop 篩選媒體檔案 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8047b0ab2..6dca7ce9b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -32,6 +32,8 @@ Switch to file search across all visible folders Set as default folder Unset as default folder + Reorder folders by dragging + Use custom sorting set by Drag and Drop Filter media From 413f915cd0c3be9cd775f3cafc22f44677cc436d Mon Sep 17 00:00:00 2001 From: Guillaume Date: Tue, 11 May 2021 23:34:32 +0200 Subject: [PATCH 59/95] Dutch --- app/src/main/res/values-nl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 4a0955474..335ac46d6 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -32,8 +32,8 @@ Zoeken in alle zichtbare mappen Als standaardmap instellen Standaardmap herstellen - Reorder folders by dragging - Use custom sorting set by Drag and Drop + Volgorde mappen bepalen met sleepgebaren + De met sleepgebaren ingestelde sortering gebruiken Media filteren From a9367b257614795cd68f86c3a5893a5b1a15952e Mon Sep 17 00:00:00 2001 From: Guillaume Date: Tue, 11 May 2021 23:35:29 +0200 Subject: [PATCH 60/95] Update strings.xml --- 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 335ac46d6..c3c626224 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -33,7 +33,7 @@ Als standaardmap instellen Standaardmap herstellen Volgorde mappen bepalen met sleepgebaren - De met sleepgebaren ingestelde sortering gebruiken + De met sleepgebaren ingestelde volgorde gebruiken Media filteren From 2e08b5b94b9d699817a4ba8f1f59e8e25ba20d16 Mon Sep 17 00:00:00 2001 From: spkprs Date: Wed, 12 May 2021 00:48:17 +0300 Subject: [PATCH 61/95] Update strings.xml --- app/src/main/res/values-el/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 3bf77dced..064456b72 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -32,8 +32,8 @@ Εναλλαγή αναζήτησης αρχείων σε όλους τους ορατούς φακέλους Ορισμός ως προεπιλεγμένου φακέλου Κατάργηση ως προεπιλεγμένου φακέλου - Reorder folders by dragging - Use custom sorting set by Drag and Drop + Αναδιάταξη φακέλων με μεταφορά + Χρήση προσαρμοσμογής ταξινόμησης με μεταφορά και απόθεση Φιλτράρισμα πολυμέσων From 9dc37f285d8c7913202fd25f946e28130ff55576 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Solatec=20Inform=C3=A0tica?= <35220662+Solatec@users.noreply.github.com> Date: Wed, 12 May 2021 10:17:33 +0200 Subject: [PATCH 62/95] Update strings.xml --- app/src/main/res/values-ca/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index fbb74efce..fb0caf40b 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -32,8 +32,8 @@ Canvia a la cerca de fitxers a totes les carpetes visibles Set as default folder Unset as default folder - Reorder folders by dragging - Use custom sorting set by Drag and Drop + Reordeneu les carpetes arrossegant-les + Utilitzeu el sistema d'ordenació personalitzat arrossegant-ho Filtre d’arxius From 9320115330608ea964244266b8608066915020b5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 12 May 2021 21:55:33 +0200 Subject: [PATCH 63/95] escaping an apostrophe --- app/src/main/res/values-ca/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index fb0caf40b..c77626227 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -33,7 +33,7 @@ Set as default folder Unset as default folder Reordeneu les carpetes arrossegant-les - Utilitzeu el sistema d'ordenació personalitzat arrossegant-ho + Utilitzeu el sistema d\'ordenació personalitzat arrossegant-ho Filtre d’arxius From c3bcbd6174a2395173ee1455b8daf9232f014fcf Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 12 May 2021 22:14:02 +0200 Subject: [PATCH 64/95] adding the drag handle at folders --- .../layout/directory_item_grid_rounded_corners.xml | 13 +++++++++++++ .../main/res/layout/directory_item_grid_square.xml | 13 +++++++++++++ app/src/main/res/layout/directory_item_list.xml | 11 ++++++++++- app/src/main/res/values/dimens.xml | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/directory_item_grid_rounded_corners.xml b/app/src/main/res/layout/directory_item_grid_rounded_corners.xml index 0a6b516ff..75abaa12b 100644 --- a/app/src/main/res/layout/directory_item_grid_rounded_corners.xml +++ b/app/src/main/res/layout/directory_item_grid_rounded_corners.xml @@ -42,6 +42,19 @@ android:src="@drawable/ic_check_vector" android:visibility="gone" /> + + + + @@ -111,5 +111,14 @@ android:src="@drawable/ic_pin" android:visibility="gone" /> + + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 48dd76ef1..096eed654 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -5,6 +5,7 @@ 20dp 22dp 26dp + 34dp 96dp 70dp 60dp From c73300ccd269010169ddd36799429e087021085c Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 12 May 2021 23:02:57 +0200 Subject: [PATCH 65/95] show the reordering drag handles when appropriate --- .../gallery/pro/adapters/DirectoryAdapter.kt | 48 ++++++++++++++++++- .../directory_item_grid_rounded_corners.xml | 33 ++++++++----- .../res/layout/directory_item_grid_square.xml | 33 ++++++++----- app/src/main/res/menu/cab_directories.xml | 43 +++++++++-------- 4 files changed, 112 insertions(+), 45 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index 6f5abe839..09ee897f1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -11,6 +11,8 @@ import android.view.Menu import android.view.View import android.view.ViewGroup import android.widget.RelativeLayout +import androidx.recyclerview.widget.ItemTouchHelper +import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.google.gson.Gson import com.simplemobiletools.commons.activities.BaseSimpleActivity @@ -18,6 +20,9 @@ import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.* import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* +import com.simplemobiletools.commons.interfaces.ItemMoveCallback +import com.simplemobiletools.commons.interfaces.ItemTouchHelperContract +import com.simplemobiletools.commons.interfaces.StartReorderDragListener import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView @@ -31,6 +36,7 @@ import com.simplemobiletools.gallery.pro.helpers.* import com.simplemobiletools.gallery.pro.interfaces.DirectoryOperationsListener import com.simplemobiletools.gallery.pro.models.AlbumCover import com.simplemobiletools.gallery.pro.models.Directory +import kotlinx.android.synthetic.main.directory_item_grid_square.view.* import kotlinx.android.synthetic.main.directory_item_grid_square.view.dir_check import kotlinx.android.synthetic.main.directory_item_grid_square.view.dir_location import kotlinx.android.synthetic.main.directory_item_grid_square.view.dir_lock @@ -38,11 +44,14 @@ import kotlinx.android.synthetic.main.directory_item_grid_square.view.dir_name import kotlinx.android.synthetic.main.directory_item_grid_square.view.dir_pin import kotlinx.android.synthetic.main.directory_item_grid_square.view.dir_thumbnail import kotlinx.android.synthetic.main.directory_item_list.view.* +import kotlinx.android.synthetic.main.directory_item_list.view.dir_drag_handle +import kotlinx.android.synthetic.main.directory_item_list.view.dir_holder +import kotlinx.android.synthetic.main.directory_item_list.view.photo_cnt import java.io.File class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, val isPickIntent: Boolean, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit) : - MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { + MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick), ItemTouchHelperContract { private val config = activity.config private val isListViewType = config.viewTypeFolders == VIEW_TYPE_LIST @@ -53,6 +62,8 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList() + private var isChangingOrder = false + private var startReorderDragListener: StartReorderDragListener private var showMediaCount = config.showFolderMediaCount private var folderStyle = config.folderStyle @@ -61,6 +72,15 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList renameDir() R.id.cab_pin -> pinFolders(true) R.id.cab_unpin -> pinFolders(false) + R.id.cab_change_order -> changeOrder() R.id.cab_empty_recycle_bin -> tryEmptyRecycleBin(true) R.id.cab_empty_disable_recycle_bin -> emptyAndDisableRecycleBin() R.id.cab_hide -> toggleFoldersVisibility(true) @@ -146,7 +167,13 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList - + + + + + - + + + + +

+ xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + android:title="@string/select_photo" /> + android:title="@string/use_default" /> + app:showAsAction="ifRoom" /> From ec5fd3d08819c50c2962dd6d086599e294d762c9 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 12 May 2021 23:32:03 +0200 Subject: [PATCH 66/95] add the reordering animation at drag and drop --- .../gallery/pro/adapters/DirectoryAdapter.kt | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index 09ee897f1..c7ea3253f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -8,6 +8,7 @@ import android.graphics.drawable.ColorDrawable import android.graphics.drawable.Icon import android.text.TextUtils import android.view.Menu +import android.view.MotionEvent import android.view.View import android.view.ViewGroup import android.widget.RelativeLayout @@ -48,6 +49,9 @@ import kotlinx.android.synthetic.main.directory_item_list.view.dir_drag_handle import kotlinx.android.synthetic.main.directory_item_list.view.dir_holder import kotlinx.android.synthetic.main.directory_item_list.view.photo_cnt import java.io.File +import java.util.* +import kotlin.collections.ArrayList +import kotlin.collections.HashMap class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, val isPickIntent: Boolean, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit) : @@ -98,7 +102,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList - setupView(itemView, dir) + setupView(itemView, dir, holder) } bindViewHolder(holder) } @@ -699,7 +703,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList + if (event.action == MotionEvent.ACTION_DOWN) { + startReorderDragListener.requestDrag(holder) + } + false + } + } } } - override fun onRowClear(myViewHolder: ViewHolder?) { - } - override fun onRowMoved(fromPosition: Int, toPosition: Int) { + if (fromPosition < toPosition) { + for (i in fromPosition until toPosition) { + Collections.swap(dirs, i, i + 1) + } + } else { + for (i in fromPosition downTo toPosition + 1) { + Collections.swap(dirs, i, i - 1) + } + } + + notifyItemMoved(fromPosition, toPosition) } - override fun onRowSelected(myViewHolder: ViewHolder?) { - } + override fun onRowClear(myViewHolder: ViewHolder?) {} + + override fun onRowSelected(myViewHolder: ViewHolder?) {} } From 4841666e18590b1807ba4087dfbf2d57864a33ef Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 11:32:34 +0200 Subject: [PATCH 67/95] =?UTF-8?q?stop=20pull-to-refresh=20while=20drag=20&?= =?UTF-8?q?=C2=A0dropping?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../gallery/pro/activities/MainActivity.kt | 2 +- .../gallery/pro/adapters/DirectoryAdapter.kt | 11 ++++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d2b3fdb20..9f6e749bd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:99a97f2e16' + implementation 'com.github.SimpleMobileTools:Simple-Commons:94718a76cb' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' 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 a04df1ac7..13983c47f 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 @@ -1189,7 +1189,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { if (currAdapter == null || forceRecreate) { initZoomListener() val fastscroller = if (config.scrollHorizontally) directories_horizontal_fastscroller else directories_vertical_fastscroller - DirectoryAdapter(this, dirsToShow, this, directories_grid, isPickIntent(intent) || isGetAnyContentIntent(intent), fastscroller) { + DirectoryAdapter(this, dirsToShow, this, directories_grid, isPickIntent(intent) || isGetAnyContentIntent(intent), directories_refresh_layout, fastscroller) { val clickedDir = it as Directory val path = clickedDir.path if (clickedDir.subfoldersCount == 1 || !config.groupDirectSubfolders) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index c7ea3253f..2974af647 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -14,6 +14,7 @@ import android.view.ViewGroup import android.widget.RelativeLayout import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.bumptech.glide.Glide import com.google.gson.Gson import com.simplemobiletools.commons.activities.BaseSimpleActivity @@ -54,7 +55,7 @@ import kotlin.collections.ArrayList import kotlin.collections.HashMap class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, - val isPickIntent: Boolean, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit) : + val isPickIntent: Boolean, val swipeRefreshLayout: SwipeRefreshLayout? = null, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick), ItemTouchHelperContract { private val config = activity.config @@ -826,7 +827,11 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList Date: Thu, 13 May 2021 14:50:54 +0200 Subject: [PATCH 68/95] adding some widget related null checks --- .../gallery/pro/activities/WidgetConfigureActivity.kt | 2 +- .../com/simplemobiletools/gallery/pro/extensions/Context.kt | 2 +- 2 files changed, 2 insertions(+), 2 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 4521e64a1..662dbd17c 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 @@ -89,7 +89,7 @@ class WidgetConfigureActivity : SimpleActivity() { private fun saveConfig() { val views = RemoteViews(packageName, R.layout.widget) views.setBackgroundColor(R.id.widget_holder, mBgColor) - AppWidgetManager.getInstance(this).updateAppWidget(mWidgetId, views) + AppWidgetManager.getInstance(this)?.updateAppWidget(mWidgetId, views) ?: return config.showWidgetFolderName = folder_picker_show_folder_name.isChecked val widget = Widget(null, mWidgetId, mFolderPath) ensureBackgroundThread { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt index 771aa8ee3..cd120112d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt @@ -818,7 +818,7 @@ fun Context.deleteMediumWithPath(path: String) { } fun Context.updateWidgets() { - val widgetIDs = AppWidgetManager.getInstance(applicationContext).getAppWidgetIds(ComponentName(applicationContext, MyWidgetProvider::class.java)) + val widgetIDs = AppWidgetManager.getInstance(applicationContext)?.getAppWidgetIds(ComponentName(applicationContext, MyWidgetProvider::class.java)) ?: return if (widgetIDs.isNotEmpty()) { Intent(applicationContext, MyWidgetProvider::class.java).apply { action = AppWidgetManager.ACTION_APPWIDGET_UPDATE From 5dcad025bbad33a1bca8585fdb39b58284c4fa42 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 18:56:09 +0200 Subject: [PATCH 69/95] store custom folder order in shared prefs --- .../gallery/pro/adapters/DirectoryAdapter.kt | 3 +++ .../com/simplemobiletools/gallery/pro/helpers/Config.kt | 4 ++++ .../com/simplemobiletools/gallery/pro/helpers/Constants.kt | 1 + 3 files changed, 8 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index 2974af647..a48a16740 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -175,6 +175,9 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList Date: Thu, 13 May 2021 19:10:31 +0200 Subject: [PATCH 70/95] add Custom sorting at the sorting dialog --- .../gallery/pro/adapters/DirectoryAdapter.kt | 1 + .../pro/dialogs/ChangeSortingDialog.kt | 7 ++++ .../main/res/layout/dialog_change_sorting.xml | 38 +++++++++++-------- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index a48a16740..88241ab2e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -178,6 +178,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList sortingRadio.sorting_dialog_radio_last_modified currSorting and SORT_BY_DATE_TAKEN != 0 -> sortingRadio.sorting_dialog_radio_date_taken currSorting and SORT_BY_RANDOM != 0 -> sortingRadio.sorting_dialog_radio_random + currSorting and SORT_BY_CUSTOM != 0 -> sortingRadio.sorting_dialog_radio_custom else -> sortingRadio.sorting_dialog_radio_name } sortBtn.isChecked = true @@ -82,6 +88,7 @@ class ChangeSortingDialog(val activity: BaseSimpleActivity, val isDirectorySorti R.id.sorting_dialog_radio_size -> SORT_BY_SIZE R.id.sorting_dialog_radio_last_modified -> SORT_BY_DATE_MODIFIED R.id.sorting_dialog_radio_random -> SORT_BY_RANDOM + R.id.sorting_dialog_radio_custom -> SORT_BY_CUSTOM else -> SORT_BY_DATE_TAKEN } diff --git a/app/src/main/res/layout/dialog_change_sorting.xml b/app/src/main/res/layout/dialog_change_sorting.xml index 96fb61ad5..d23537b83 100644 --- a/app/src/main/res/layout/dialog_change_sorting.xml +++ b/app/src/main/res/layout/dialog_change_sorting.xml @@ -1,6 +1,5 @@ - @@ -26,7 +25,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/medium_margin" android:paddingBottom="@dimen/medium_margin" - android:text="@string/name"/> + android:text="@string/name" /> + android:text="@string/path" /> + android:text="@string/size" /> + android:text="@string/last_modified" /> + android:text="@string/date_taken" /> + android:text="@string/random" /> + + + android:id="@+id/sorting_dialog_order_divider" + layout="@layout/divider" /> + android:text="@string/ascending" /> + android:text="@string/descending" /> + layout="@layout/divider" /> + android:text="@string/sort_numeric_parts" /> + android:text="@string/use_for_this_folder" /> + android:textSize="@dimen/smaller_text_size" /> From 3450c2e41dac44a519d780d7ff2aeb8f50ec201e Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 19:29:55 +0200 Subject: [PATCH 71/95] apply the custom sorting when appropriate --- .../gallery/pro/extensions/Context.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt index cd120112d..ad27c0495 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/extensions/Context.kt @@ -114,6 +114,18 @@ fun Context.getSortedDirectories(source: ArrayList): ArrayList() + config.customFoldersOrder.split("|||").forEach { path -> + val index = dirs.indexOfFirst { it.path == path } + if (index != -1) { + val dir = dirs.removeAt(index) + newDirsOrdered.add(dir) + } + } + + dirs.mapTo(newDirsOrdered, { it }) + return newDirsOrdered } dirs.sortWith(Comparator { o1, o2 -> From a28744ddc64873fcd8870897ddbcc64647c85368 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 19:37:09 +0200 Subject: [PATCH 72/95] removing a string that won't be used afterall --- app/src/main/res/values-ar/strings.xml | 1 - app/src/main/res/values-az/strings.xml | 1 - app/src/main/res/values-bn/strings.xml | 1 - app/src/main/res/values-ca/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-da/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-el/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fi/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-gl/strings.xml | 1 - app/src/main/res/values-hr/strings.xml | 1 - app/src/main/res/values-hu/strings.xml | 1 - app/src/main/res/values-id/strings.xml | 1 - app/src/main/res/values-in/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 1 - app/src/main/res/values-ko-rKR/strings.xml | 1 - app/src/main/res/values-lt/strings.xml | 1 - app/src/main/res/values-nb/strings.xml | 1 - app/src/main/res/values-ne/strings.xml | 1 - app/src/main/res/values-nl/strings.xml | 1 - app/src/main/res/values-pl/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - app/src/main/res/values-pt/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-sk/strings.xml | 1 - app/src/main/res/values-sl/strings.xml | 1 - app/src/main/res/values-sr/strings.xml | 1 - app/src/main/res/values-sv/strings.xml | 1 - app/src/main/res/values-ta/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-uk/strings.xml | 1 - app/src/main/res/values-vi/strings.xml | 1 - app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values-zh-rHK/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 40 files changed, 40 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 6c2585fcf..0658e52e8 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop فلترة الوسائط diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 2751a8a47..a211f00e8 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 3f9eb3cf1..a54b1c4a5 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -33,7 +33,6 @@ ডিফল্ট ফোল্ডার হিশেবে সেট করুন ডিফল্ট ফোল্ডার হিশেবে আর রাখবেন না Reorder folders by dragging - Use custom sorting set by Drag and Drop মিডিয়া ফিল্টার করুন diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index c77626227..cc47352a7 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reordeneu les carpetes arrossegant-les - Utilitzeu el sistema d\'ordenació personalitzat arrossegant-ho Filtre d’arxius diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 50ed9aa8a..2f276754c 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtr médií diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 2596d49ea..3a85c026a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -33,7 +33,6 @@ Vælg som standard mappe Fravælg som standard mappe Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrer medier diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 28bdf2955..672ccb137 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -33,7 +33,6 @@ Als Standardordner festlegen Nicht mehr als Standardordner festlegen Reorder folders by dragging - Use custom sorting set by Drag and Drop Filter diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 064456b72..84657d1bc 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -33,7 +33,6 @@ Ορισμός ως προεπιλεγμένου φακέλου Κατάργηση ως προεπιλεγμένου φακέλου Αναδιάταξη φακέλων με μεταφορά - Χρήση προσαρμοσμογής ταξινόμησης με μεταφορά και απόθεση Φιλτράρισμα πολυμέσων diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index c11b5d89c..d1d3e02d1 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -33,7 +33,6 @@ Poner como carpeta predeterminada Quitar como carpeta predeterminada Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtro de medios diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 293fc6292..12bc810a8 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -33,7 +33,6 @@ Ezarri lehenetsitako karpeta gisa Kendu karpeta lehenetsitako karpeta gisa Reorder folders by dragging - Use custom sorting set by Drag and Drop Iragazi multimedia diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 1a3cce6ed..44b8dcd9b 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -33,7 +33,6 @@ Aseta oletushakemistoksi Älä käytä oletushakemistona Reorder folders by dragging - Use custom sorting set by Drag and Drop Suodata media diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index d1889ae9c..54dd68c9a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -33,7 +33,6 @@ Dossier par défaut Oublier le dossier Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrer les médias diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index ab3076044..d3fa769f0 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrar medios diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index cb44eb266..0a93ede84 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtriranje medija diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index b3bde7555..ef263816b 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Média szűrő diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index fdc8c3dda..981598953 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index cfe58fe15..faac8eacf 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4b25f1408..0be2a88c8 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -33,7 +33,6 @@ Imposta come cartella di default Non impostare come cartella di default Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtra i file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index bc6a81a1a..378625e16 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -33,7 +33,6 @@ デフォルトのフォルダとして設定 デフォルトのフォルダから外す Reorder folders by dragging - Use custom sorting set by Drag and Drop 表示する形式 diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 2fb0e1577..48423e94d 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop 필터 설정 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 4fc67efe5..7f71f5649 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtruoti mediją diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 73fd42fde..719a57baf 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -33,7 +33,6 @@ Sett som standardmappe Ikke lenger sett som standardmappe Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrer media diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index bb8da2f1b..b69b7770d 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filter media diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index c3c626224..53483e78b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -33,7 +33,6 @@ Als standaardmap instellen Standaardmap herstellen Volgorde mappen bepalen met sleepgebaren - De met sleepgebaren ingestelde volgorde gebruiken Media filteren diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a39c1b15c..b6da1ae06 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtruj multimedia diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 852a32c45..3eade0e2d 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrar mídia diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 6d925d408..d7dfb3188 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -33,7 +33,6 @@ Utilizar como pasta padrão Deixar de utilizar como pasta padrão Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrar multimédia diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 6a6d2ff23..b37ae976e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -33,7 +33,6 @@ Установить как папку по умолчанию Отключить как папку по умолчанию Reorder folders by dragging - Use custom sorting set by Drag and Drop Фильтр медиа diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index fc0fedef1..a8f7b8152 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -33,7 +33,6 @@ Nastaviť ako predvolený priečinok Odobrať predvolený priečinok Zmeniť poradie priečinkov presunutím - Použiť manuálne zoradenie presúvaním Filter médií diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 441c7f246..a2b0bbae2 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtriranje datotek diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index d1db7f7e0..a14d1ad4f 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Филтрирај медију diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index c4198d159..fa90a7152 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filtrera media diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 84a252236..6206d13e8 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -33,7 +33,6 @@ இயல்புநிலை கோப்புறையாக அமைக்கவும் இயல்புநிலை கோப்புறையாக அமைக்காதீர்கள் Reorder folders by dragging - Use custom sorting set by Drag and Drop மீடியாவை வடிகட்டவும் diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index e2803d863..3ab5340ca 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -33,7 +33,6 @@ Varsayılan klasör olarak ayarla Varsayılan klasör olarak ayarlama Reorder folders by dragging - Use custom sorting set by Drag and Drop Medyayı filtrele diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 8ce152c1e..360e4de05 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -33,7 +33,6 @@ Встановити теку за замовчуванням Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Фільтр мультимедійних файлів diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index e9e23d488..f08c0e995 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Lọc diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f348c2da2..1a4d21d3c 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -33,7 +33,6 @@ 设置为默认文件夹 取消设置为默认文件夹 Reorder folders by dragging - Use custom sorting set by Drag and Drop 筛选媒体文件 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index b69e37ddb..0cff21e27 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop 篩選媒體檔案 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 6be9677d2..d06d1d9fd 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop 篩選媒體檔案 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6dca7ce9b..0d7728f05 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -33,7 +33,6 @@ Set as default folder Unset as default folder Reorder folders by dragging - Use custom sorting set by Drag and Drop Filter media From fccae90f0bdd642179134052a04ff838401ee8c4 Mon Sep 17 00:00:00 2001 From: solokot Date: Thu, 13 May 2021 21:10:24 +0300 Subject: [PATCH 73/95] Updated Russian language --- app/src/main/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index b37ae976e..9cc852f22 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -32,7 +32,7 @@ Переключиться на поиск файлов по всем видимым папкам Установить как папку по умолчанию Отключить как папку по умолчанию - Reorder folders by dragging + Менять порядок папок перетаскиванием Фильтр медиа From 97e16e06d7a87948e3c7d634cc18c46e9ee11d15 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 20:55:05 +0200 Subject: [PATCH 74/95] updating photo editor to 8.2.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f4d3077a9..30c0141ad 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ buildscript { classpath 'com.android.tools.build:gradle:4.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" if (is_proprietary) { - classpath 'ly.img.android.pesdk:plugin:8.1.3' + classpath 'ly.img.android.pesdk:plugin:8.2.0' } // NOTE: Do not place your application dependencies here; they belong From acc6890a08b8bb6e6ddc1355d92bfe3a91def4f4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 21:22:57 +0200 Subject: [PATCH 75/95] updating room to 2.3.0 --- app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 9f6e749bd..59547752c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -101,9 +101,9 @@ dependencies { kapt 'com.github.bumptech.glide:compiler:4.10.0' - kapt 'androidx.room:room-compiler:2.2.6' - implementation 'androidx.room:room-runtime:2.2.6' - annotationProcessor 'androidx.room:room-compiler:2.2.6' + kapt 'androidx.room:room-compiler:2.3.0' + implementation 'androidx.room:room-runtime:2.3.0' + annotationProcessor 'androidx.room:room-compiler:2.3.0' } // Apply the PESDKPlugin From da47c199d92ad3263eaaf83743fab7c277feede1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 13 May 2021 21:53:29 +0200 Subject: [PATCH 76/95] add some menu buttons for quickly moving a folder to the top or bottom --- app/build.gradle | 2 +- .../gallery/pro/adapters/DirectoryAdapter.kt | 43 ++++++++++++++++--- app/src/main/res/menu/cab_directories.xml | 10 +++++ 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 59547752c..66366e3b9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:94718a76cb' + implementation 'com.github.SimpleMobileTools:Simple-Commons:5c4094baf8' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index 88241ab2e..caf048394 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -67,7 +67,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList() - private var isChangingOrder = false + private var isDragAndDropping = false private var startReorderDragListener: StartReorderDragListener private var showMediaCount = config.showFolderMediaCount @@ -111,6 +111,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList moveSelectedItemsToTop() + R.id.cab_move_to_bottom -> moveSelectedItemsToBottom() R.id.cab_properties -> showProperties() R.id.cab_rename -> renameDir() R.id.cab_pin -> pinFolders(true) @@ -173,7 +179,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList + val position = dirs.indexOfFirst { it.path.hashCode() == key } + val tempItem = dirs[position] + dirs.removeAt(position) + dirs.add(0, tempItem) + } + + notifyDataSetChanged() + } + + private fun moveSelectedItemsToBottom() { + selectedKeys.forEach { key -> + val position = dirs.indexOfFirst { it.path.hashCode() == key } + val tempItem = dirs[position] + dirs.removeAt(position) + dirs.add(dirs.size, tempItem) + } + + notifyDataSetChanged() + } + private fun showProperties() { if (selectedKeys.size <= 1) { val path = getFirstSelectedItemPath() ?: return @@ -463,8 +491,9 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList if (event.action == MotionEvent.ACTION_DOWN) { diff --git a/app/src/main/res/menu/cab_directories.xml b/app/src/main/res/menu/cab_directories.xml index b1265795e..196107fda 100644 --- a/app/src/main/res/menu/cab_directories.xml +++ b/app/src/main/res/menu/cab_directories.xml @@ -1,6 +1,16 @@ + + Date: Thu, 13 May 2021 21:54:37 +0200 Subject: [PATCH 77/95] removing a log statement --- .../simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index caf048394..9f9a0cf25 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -111,7 +111,6 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList Date: Thu, 13 May 2021 22:53:33 +0200 Subject: [PATCH 78/95] don't always reenable swipeRefreshLayout after drag & drop --- .../simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index 9f9a0cf25..973c0e218 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -864,6 +864,6 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList Date: Fri, 14 May 2021 10:09:11 +0200 Subject: [PATCH 79/95] fix a glitch at toggling fullscreen mode in split screen --- .../gallery/pro/activities/ViewPagerActivity.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt index d069e8b98..dce1b4e33 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt @@ -27,6 +27,7 @@ import android.view.View import android.view.WindowManager import android.view.animation.DecelerateInterpolator import android.widget.Toast +import androidx.annotation.RequiresApi import androidx.exifinterface.media.ExifInterface import androidx.print.PrintHelper import androidx.viewpager.widget.ViewPager @@ -323,6 +324,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } } + @RequiresApi(Build.VERSION_CODES.N) private fun initContinue() { if (intent.extras?.containsKey(IS_VIEW_INTENT) == true) { if (isShowHiddenFlagNeeded()) { @@ -368,7 +370,9 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } window.decorView.setOnSystemUiVisibilityChangeListener { visibility -> - mIsFullScreen = if (visibility and View.SYSTEM_UI_FLAG_LOW_PROFILE == 0) { + mIsFullScreen = if (isNougatPlus() && isInMultiWindowMode) { + visibility and View.SYSTEM_UI_FLAG_LOW_PROFILE != 0 + } else if (visibility and View.SYSTEM_UI_FLAG_LOW_PROFILE == 0) { false } else { visibility and View.SYSTEM_UI_FLAG_FULLSCREEN != 0 From 7cbb533270f02e1ee3bc940b8852837c76da4054 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 10:26:32 +0200 Subject: [PATCH 80/95] ignore the newApi at a fullscreen mode function --- .../gallery/pro/activities/ViewPagerActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt index dce1b4e33..5c372a28c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt @@ -324,7 +324,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } } - @RequiresApi(Build.VERSION_CODES.N) + @SuppressLint("NewApi") private fun initContinue() { if (intent.extras?.containsKey(IS_VIEW_INTENT) == true) { if (isShowHiddenFlagNeeded()) { From d0016247d97624caaef691e3f0ae81c5935aa306 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 11:13:44 +0200 Subject: [PATCH 81/95] lets try showing 3 icons on the main screens top menu --- app/src/main/res/menu/menu_main.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 646b3f165..ca197dc82 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -11,12 +11,12 @@ android:id="@+id/open_camera" android:icon="@drawable/ic_camera_vector" android:title="@string/open_camera" - app:showAsAction="ifRoom" /> + app:showAsAction="always" /> + app:showAsAction="always" /> Date: Fri, 14 May 2021 11:34:41 +0200 Subject: [PATCH 82/95] updating commons --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 66366e3b9..88146e7b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:5c4094baf8' + implementation 'com.github.SimpleMobileTools:Simple-Commons:170b5cbaae' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' From 5043e29f7b3535d306625f8bc2117b67662b44b0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 11:44:27 +0200 Subject: [PATCH 83/95] update version to 6.20.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 88146e7b1..971d4d0f2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 341 - versionName "6.19.6" + versionCode 342 + versionName "6.20.0" setProperty("archivesBaseName", "gallery-$versionCode") vectorDrawables.useSupportLibrary = true } From 047f6bf18d65e0142e254687bb3d4d2b7ca21d09 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 11:44:33 +0200 Subject: [PATCH 84/95] updating changelog --- CHANGELOG.md | 10 ++++++++++ fastlane/metadata/android/en-US/changelogs/342.txt | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/342.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index f6f1a190d..055a52db4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ Changelog ========== +Version 6.20.0 *(2021-05-14)* +---------------------------- + + * Allow ordering folders in a custom order by Drag & Drop + * Properly show the recycle bin files size in all cases + * Show at least 3 items at the main screens top menu + * Fixed some split screen related glitches + * Updated the photo/video editor, videos can now be paused easier + * Added some stability and translation improvements + Version 6.19.6 *(2021-04-18)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/342.txt b/fastlane/metadata/android/en-US/changelogs/342.txt new file mode 100644 index 000000000..accee8477 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/342.txt @@ -0,0 +1,6 @@ + * Allow ordering folders in a custom order by Drag & Drop + * Properly show the recycle bin files size in all cases + * Show at least 3 items at the main screens top menu + * Fixed some split screen related glitches + * Updated the photo/video editor, videos can now be paused easier + * Added some stability and translation improvements From 53f3cfe02ebb4b7e9ec6edc2eff142ea1f3740ef Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 20:01:47 +0200 Subject: [PATCH 85/95] initiate touchhelper at folders only when going to drag & drop --- .../gallery/pro/adapters/DirectoryAdapter.kt | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index 973c0e218..28401776a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -68,7 +68,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList() private var isDragAndDropping = false - private var startReorderDragListener: StartReorderDragListener + private var startReorderDragListener: StartReorderDragListener? = null private var showMediaCount = config.showFolderMediaCount private var folderStyle = config.folderStyle @@ -77,15 +77,6 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList if (event.action == MotionEvent.ACTION_DOWN) { - startReorderDragListener.requestDrag(holder) + startReorderDragListener?.requestDrag(holder) } false } From ee68525a40039587fe0cc4769a4f4f32d613517d Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 20:07:31 +0200 Subject: [PATCH 86/95] update version to 6.20.1 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 971d4d0f2..f835cea4d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 342 - versionName "6.20.0" + versionCode 343 + versionName "6.20.1" setProperty("archivesBaseName", "gallery-$versionCode") vectorDrawables.useSupportLibrary = true } From bf727c8f5c1be0de2b7edbf612546b74cd76a695 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 14 May 2021 20:07:40 +0200 Subject: [PATCH 87/95] updating changelog --- CHANGELOG.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/343.txt | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/343.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 055a52db4..8df656df0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========== +Version 6.20.1 *(2021-05-14)* +---------------------------- + + * Adding a crashfix + Version 6.20.0 *(2021-05-14)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/343.txt b/fastlane/metadata/android/en-US/changelogs/343.txt new file mode 100644 index 000000000..accee8477 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/343.txt @@ -0,0 +1,6 @@ + * Allow ordering folders in a custom order by Drag & Drop + * Properly show the recycle bin files size in all cases + * Show at least 3 items at the main screens top menu + * Fixed some split screen related glitches + * Updated the photo/video editor, videos can now be paused easier + * Added some stability and translation improvements From 26701c65ded1f4365b634612fa8d246ae26290f0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 15 May 2021 12:59:10 +0200 Subject: [PATCH 88/95] tweaking a german string --- 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 672ccb137..f8c703892 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -102,7 +102,7 @@ Anderes - Schlichter Hintergrund + Schlichte Hintergrund Als Hintergrund festlegen Hintergrundbild festlegen fehlgeschlagen. Als Hintergrund festlegen mit From 4ca46c8512dfd83210ac7b1680095fce384e42a4 Mon Sep 17 00:00:00 2001 From: teemue Date: Sat, 15 May 2021 15:14:28 +0300 Subject: [PATCH 89/95] Improved FI Translation --- app/src/main/res/values-fi/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 44b8dcd9b..ed3a36229 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -32,7 +32,7 @@ Vaihda tiedostohakuun kaikissa näkyvillä olevissa kansioissa Aseta oletushakemistoksi Älä käytä oletushakemistona - Reorder folders by dragging + Järjestä kansiot uudelleen vetämällä Suodata media From 9a853cd9a35b4292e6df091a640ba004200eeb87 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 16 May 2021 23:59:44 +0200 Subject: [PATCH 90/95] updating gradle to 4.2.1 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 30c0141ad..1af5d5726 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.2.0' + classpath 'com.android.tools.build:gradle:4.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" if (is_proprietary) { classpath 'ly.img.android.pesdk:plugin:8.2.0' From f4549b3924f062d438b15535a720a0965aad7a2a Mon Sep 17 00:00:00 2001 From: AlbatorV Date: Mon, 17 May 2021 10:11:56 +0200 Subject: [PATCH 91/95] Update strings.xml --- app/src/main/res/values-fr/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 54dd68c9a..e9dd3be3b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -32,7 +32,7 @@ Basculer vers la recherche de fichiers Dossier par défaut Oublier le dossier - Reorder folders by dragging + Réordonner par glisser Filtrer les médias @@ -201,7 +201,7 @@ Limiter à une ligne les noms de fichiers Carré Arrondi - Export favorite file paths + Exporter les emplacements favoris Miniatures From b34d94b5ed8316fd3607d73a7fcba97a2eb3668a Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 17 May 2021 10:43:20 +0200 Subject: [PATCH 92/95] updating commons --- app/build.gradle | 2 +- .../gallery/pro/activities/ViewPagerActivity.kt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f835cea4d..13bddfe93 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:170b5cbaae' + implementation 'com.github.SimpleMobileTools:Simple-Commons:1fcf1ebded' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt index 5c372a28c..b7337b39e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt @@ -27,7 +27,6 @@ import android.view.View import android.view.WindowManager import android.view.animation.DecelerateInterpolator import android.widget.Toast -import androidx.annotation.RequiresApi import androidx.exifinterface.media.ExifInterface import androidx.print.PrintHelper import androidx.viewpager.widget.ViewPager From ae45420c17569c19568f82f157996a6fe3678057 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 18 May 2021 09:22:07 +0200 Subject: [PATCH 93/95] improving the polish translation --- app/src/main/res/values-pl/strings.xml | 174 ++++++++++++------------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index b6da1ae06..34af1f46b 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -28,10 +28,10 @@ Daty zostały naprawione Nie znaleziono wartości dat utworzenia Udostępnij zmienioną wersję - Hej,\n\nwygląda na to że zaktualizowałeś ze starszej, darmowej wersji aplikacji. Możesz ją teraz odinstalować przyciskiej \'Upgrade to Pro\' w ustawieniach.\n\nZostaną jedynie usunięte elementy z Kosza, odznaczone Ulubione i konieczne będzie zresetowanie ustawień aplikacji.\n\nDziękujemy! + Hej,\n\nwygląda na to że zaktualizowałeś ze starszej, darmowej wersji aplikacji. Możesz ją teraz odinstalować przyciskiem \'Uaktualnij do Pro\' w ustawieniach.\n\nZostaną jedynie usunięte elementy z Kosza, odznaczone Ulubione elementy i konieczne będzie zresetowanie ustawień aplikacji.\n\nDziękujemy! Przełącz na przeszukiwanie plików we wszystkich widocznych folderach - Set as default folder - Unset as default folder + Ustaw jako folder domyślny + Anuluj ustawienie folderu domyślnego Reorder folders by dragging @@ -46,11 +46,11 @@ Zmień filtry - Ta funkcja ukrywa foldery, dodając do nich pusty plik \'.nomedia\'. Aby móc je zobaczyć, należy włączyć opcję \'Pokazuj ukryte foldery\' w ustawieniach. Kontynuować? + Funkcja ta ukrywa folder poprzez dodanie do niego pliku \'.nomedia\', ukryje również wszystkie podfoldery. Możesz je zobaczyć przełączając opcję \'Pokazuj ukryte elementy\' w Ustawieniach. Kontynuować? Wyklucz Wykluczone foldery Zarządzaj wykluczonymi folderami - Działa na folderach galerii. Możesz zarządzać wykluczonymi folderami w ustawieniach aplikacji. + Dotyczy tylko folderów i podfolderów aplikacji Prosta Galeria. Możesz zarządzać wykluczonymi folderami w ustawieniach aplikacji. Wykluczyć folder nadrzędny? Wykluczenie folderów ukryje je tylko w niniejszej aplikacji, w innych aplikacjach będą one wciąż widoczne.\n\nJeśli chcesz je ukryć także w innych aplikacjach, użyj funkcji ukrywania. Usuń wszystko @@ -63,12 +63,12 @@ Dołączone foldery Zarządzaj dołączonymi folderami Dodaj folder - Jeśli masz jakieś foldery z multimediami, ale aplikacja ich nie wykryła, możesz je dodać ręcznie tutaj. - Nie znaleziono plików z multimediami. Możesz to naprawić poprzez dodanie folderów ręcznie. + Jeśli masz jakieś foldery z multimediami, ale aplikacja ich nie wykryła, możesz je dodać ręcznie tutaj.\n\nDodanie niektórych elementów tutaj nie wykluczy żadnego innego folderu + Nie znaleziono plików z multimediami. Możesz to naprawić poprzez dodanie folderów z multimediami ręcznie. Zmień rozmiar - Zmień i zapisz + Zmień rozmiar zaznaczenia i zapisz Szerokość Wysokość Zachowaj proporcje @@ -77,21 +77,21 @@ Edycja Obróć - Nieprawidłowa ścieżka - Invalid video path + Nieprawidłowa ścieżka do obrazu + Nieprawidłowa ścieżka do wideo Edycja obrazu nie powiodła się - Video editing failed + Edycja wideo nie powiodła się Anulowano edycję obrazu - Video editing cancelled - Plik wyedytowany - Image edited successfully - Video edited successfully + Anulowano edycję wideo + Pomyślna edycja pliku + Pomyślna edycja obrazu + Pomyślna edycja wideo Edytuj obraz w: - Edit video with: - Nie znalazłem edytora zdjęć - No video editor found + Edytuj wideo w: + Nie znalaziono edytora obrazów + Nie znalaziono edytora wideo Nieznana lokalizacja pliku - Nie udało się zastąpić pliku + Nie udało się zastąpić pliku źródłowego Obróć w lewo Obróć w prawo Obróć o 180 stopni @@ -106,7 +106,7 @@ Ustaw jako tapetę Ustawienie tapety nie powiodło się Ustaw jako tapetę w: - Ustawiam tapetę… + Ustawianie tapety… Tapeta została ustawiona Proporcje ekranu w trybie pionowym Proporcje ekranu w trybie poziomym @@ -128,7 +128,7 @@ Przenikanie Przesuwanie Pokaz slajdów zakończony - Nie znalazłem multimediów do pokazu slajdów + Nie znaleziono multimediów do pokazu slajdów Grupuj bezpośrednie podfoldery @@ -141,8 +141,8 @@ Daty ostatniej modyfikacji (dniami) Daty ostatniej modyfikacji (miesiącami) Daty utworzenia - Data utworzenia (dniami) - Data utworzenia (miesiącami) + Daty utworzenia (dniami) + Daty utworzenia (miesiącami) Typu Rozszerzenia Uwaga: grupowanie i sortowanie to dwa niezależne pola @@ -156,7 +156,7 @@ Pamiętaj ostatni moment odtwarzania filmów Zapętlaj odtwarzanie filmów Animowane miniatury GIFów - Maksymalna jasność podczas wyświetlania multimediów + Maksymalna jasność podczas wyświetlania multimediów na pełnym ekranie Przycinaj miniatury do kwadratów Pokazuj czas trwania filmów Obracaj pełnoekranowe multimedia według @@ -190,18 +190,18 @@ Szybkość Kompromis Unikaj pokazywania niewłaściwych plików - Pokazuj rozszerzenia zdjęć - Allow zooming videos with double tapping them - Folder thumbnail style - File thumbnail style - Thumbnail spacing - Show file count on a separate line - Show file count in brackets - Do not show file count - Limit long folder titles to 1 line - Square - Rounded corners - Export favorite file paths + Pokazuj rozszerzenia obrazów + Zezwalaj na powiększanie filmów poprzez dwukrotne ich dotknięcie + Styl miniatury folderu + Styl miniatury pliku + Odstępy między miniaturami + Pokaż liczbę plików w osobnym wierszu + Pokaż liczbę plików w nawiasach + Nie pokazuj liczby plików + Ogranicz długie tytuły folderów do 1 linii + Kwadrat + Zaokrąglone rogi + Eksportuj ulubione ścieżki plików Miniatury @@ -228,7 +228,7 @@ Jasność Kontrast Nasycenie - Klarowniść + Klarowność Gamma Czerń Biel @@ -264,45 +264,45 @@ Kolor pędzla Edytor Zamknąć edytor? - Do you really want to discard the changes? + Czy na pewno chcesz odrzucić zmiany? Tak Nie Anuluj Zaakceptuj Zapisz - Eksport… + Eksportowanie… Wyeksportowano %s. - Sticker - Sticker Color - Sticker Options - Add - Color - Delete - To Front - Straighten - Replace - Opacity - Contrast - Saturation - Brightness - Uploads - Overlay - Normal - Darken - Screen - Overlay - Lighten - Multiply - Color Burn - Soft Light - Hard Light - None - Golden - Lightleak 1 - Mosaic - Paper - Rain - Vintage + Naklejka + Kolor naklejki + Opcje naklejki + Dodaj + Kolor + Usuń + Do przodu + Wyprostuj + Zamień + Przezroczystość + Kontrast + Nasycenie + Jasność + Przesłane + Pokrycie + Zwykły + Ciemniej + Ekran + Nakładka + Jaśniej + Mnożenie + Ściemnianie + Łagodne światło + Ostre światło + Brak + Złoty + Lekki wyciek 1 + Mozajka + Papier + Deszcz + Starodawny Odbij w poziomie Odbij w pionie Cofnij @@ -325,21 +325,21 @@ Zielony Akwamaryna Kolor pipety - Trim + Przytnij - Jak mogę ustawić tą aplikację jako domyślną aplikację galerii? - Znajdź obecną domyślną aplikację galerii w ustawieniach systemowych (sekcja \'Aplikacje\'). Na ekranie z informacjami o niej kliknij \'Otwórz domyślnie\', a następnie \'Wyczyść domyślne\'. Gdy podczas następnej próby otwarcia zdjęcia czy filmu system zapyta Cię jaką aplikacją to zrobić, wybierz Prostą Galerię i opcję zapamiętania tego wyboru. + Jak mogę ustawić Prostą Galerię jako domyślną aplikację galerii? + Znajdź obecną domyślną aplikację galerii w ustawieniach systemowych (sekcja \'Aplikacje\'). Na ekranie z informacjami o niej wybierz \'Otwórz domyślnie\', a następnie \'Wyczyść domyślne\'. Gdy podczas następnej próby otwarcia zdjęcia czy filmu system zapyta Cię jaką aplikacją to zrobić, wybierz Prostą Galerię i opcję zapamiętania tego wyboru. Zablokowałem(-am) aplikację hasłem i wyleciało mi ono z głowy. Co mogę zrobić? Masz dwie opcje: przeinstalowanie aplikacji lub wyczyszczenie jej ustawień. Niezależnie od wyboru, pliki pozostaną nienaruszone. Jak sprawić, aby album(y) zawsze pojawiał(y) się na górze? Przytrzymaj album(y) i wybierz ikonę przypięcia w pasku akcji. Jak mogę przwijać filmy? - Możesz to osiągnąć dotykając dwa razu z boku ekranu, lub dotykając aktualnej lub makysmalnej długości tekstu przy pasku wyszukiwania. Jeśli włączysz w ustawieniach otwieranie video na nowym ekranie, możesz też używać gestów poziomych. + Możesz to osiągnąć dotykając dwa razu z boku ekranu, lub dotykając aktualnej lub makysmalnej długości tekstu przy pasku wyszukiwania. Jeśli włączysz w ustawieniach "Zawsze otwieraj filmy na osobnym ekranie...", możesz też używać gestów poziomych. Jaka jest różnica między ukryciem, a wykluczeniem folderu? - Wykluczenie działa tylko w obrębie niniejszej aplikacji (wszędzie indziej pliki są normalnie widoczne), ukrywanie - w obrębie całego systemu (nie widać ich nigdzie), dodawany jest wtedy do folderu pusty plik \'.nomedia\', który możesz usunąć w dowolnym menedżerze plików. Note that some devices do not allow hiding folders like Camera, Screenshots and Downloads. + Wykluczenie działa tylko w obrębie niniejszej aplikacji (wszędzie indziej pliki są normalnie widoczne), ukrywanie - w obrębie całego systemu (nie widać ich nigdzie), dodawany jest wtedy do folderu pusty plik \'.nomedia\', który możesz usunąć w dowolnym menedżerze plików. Uwaga: niektóre urządzenia nie pozwalają na ukrywanie folderów takich jak Aparat, Zrzuty ekranu i Pobrane. Dlaczego pokazują mi się foldery z okładkami do piosenek i tym podobne rzeczy? - Aplikacja nie wie, czy dany obraz jest okładką od piosenki czy czymś innym. Aby ukryć niechciane rzeczy, przytrzymaj je i wybierz opcję \'Wyklucz\' z paska akcji. + Aplikacja nie wie, czy dany obraz jest okładką od piosenki czy czymś innym. Aby ukryć niechciane rzeczy, dotknij i przytrzymaj je, następnie wybierz opcję \'Wyklucz\' z paska akcji. Nie pokazuje(-ą) mi się folder(y) ze zdjęciami / filmami. Co mogę zrobić? Wejdź do ustawień aplikacji i w sekcji z dołączonymi folderami dodaj tenże folder do listy. Co jeśli chcę widzieć tylko wybrane foldery? @@ -351,24 +351,24 @@ Sortowanie według daty utworzenia nie działa poprawnie. Dlaczego tak się dzieje i jak mogę to naprawić? Dzieje się tak, gdyż prawdopodobnie pliki zostały skądś do urządzenia skopiowane. Naprawić to można wybierając miniatury plików, a następnie opcję \'Napraw datę utworzenia\'. Na obrazach widzę wyraźne zmiany w kolorach. Jak mogę to naprawić? - Obecne rozwiązanie służące wyświetlaniu obrazów działa jak powinno w większości w przypadków. Jeśli jednak tak nie jest, pomocna może okazać się opcja \'Pokazuj obrazy w najwyższej możliwej jakości\' w sekcji \'Duże powiększanie obrazów\'. - Mam ukryte pliki i / lub foldery. Jak mogę zobaczyć? - Możesz to zrobić albo wybierając opcję \'Tymczasowo pokaż ukryte multimedia\' w menu na ekranie głównym, lub \'Pokazuj ukryte elementy\' w ustawieniach. Foldery są ukrywane poprzez dodanie do nich pustego, ukrytego pliku \'.nomedia\'. Usunąć go możesz dowolnym menedżerem plików. Note that hiding works recursively though, so if you hide a folder, all subfolders will become hidden too. So for unhiding the subfolders you have to unhide the parent folder. + Obecne rozwiązanie służące wyświetlaniu obrazów działa jak powinno w większości przypadków. Jeśli jednak tak nie jest, pomocna może okazać się opcja \'Pokazuj obrazy w najwyższej możliwej jakości\' w sekcji \'Duże powiększanie obrazów\'. + Mam ukryte pliki i / lub foldery. Jak mogę je zobaczyć? + Możesz to zrobić albo wybierając opcję \'Tymczasowo pokaż ukryte multimedia\' w menu na ekranie głównym, lub \'Pokazuj ukryte elementy\' w ustawieniach. Foldery są ukrywane poprzez dodanie do nich pustego, ukrytego pliku \'.nomedia\'. Usunąć go możesz dowolnym menedżerem plików. Zauważ, że ukrywanie działa rekurencyjnie, więc jeśli ukryjesz folder, wszystkie podfoldery również zostaną ukryte. Tak więc, aby usunąć ukrycie podfolderów, musisz usunąć ukrycie folderu nadrzędnego. Dlaczego aplikacja zajmuje tak dużo miejsca? Pamięć podręczna aplikacji zajmuje do 250MB, zapewniając szybsze ładowanie obrazów. Aplikacja może zajmować więcej miejsca przez elementy w Koszu, które doliczane są do rozmiaru aplikacji. Wyczyść Kosz przez otwarcie go i usunięcie wszystkich elementów, lub z poziomu ustawień aplikacji. Każdy plik w Koszu jest też automatycznie usuwany po 30 dniach. - Simple Gallery Pro - Photo Manager & Editor + Prosta Galeria Pro - Menadżer i edytor multimediów - Browse your memories without any interruptions with this photo and video gallery + Przeglądaj swoje wspomnienia bez żadnych przerw dzięki tej galerii zdjęć i wideo - 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. + Prosta Galeria 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. Aplikacja nie zawiera reklam ani zezwoleń ponad te, których naprawdę potrzebuje. Nie musisz się także martwić o kwestie prywatności, gdyż nie potrzebuje ona dostępu do internetu. ------------------------------------------------- - SIMPLE GALLERY PRO – FUNKCJE + PROSTA GALERIA PRO – FUNKCJE ------------------------------------------------- • Brak reklam i denerwujących okienek @@ -392,13 +392,13 @@ … i wiele więcej! EDYTOR ZDJĘĆ - Simple Gallery Pro ułatwi Ci szybką edycję zdjęć. Przycinaj je, przewracaj, obracaj, zmniejszaj i powiększaj. A w napływie kreatywności dodawaj filtry i narysuj coś na nich! + Prosta Galeria Pro ułatwi Ci szybką edycję zdjęć. Przycinaj je, przewracaj, obracaj, zmniejszaj i powiększaj. A w napływie kreatywności dodawaj filtry i narysuj coś na nich! WSPARCIE DLA WIELU TYPÓW PLIKÓW - W przeciwieństwie do niektórych aplikacji galerii, Simple Gallery Pro wspiera dużo formatów plików, w tym JPEG, PNG, MP4, MKV, RAW, SVG, panoramiczne filmy i zdjęcia oraz wiele więcej. + W przeciwieństwie do niektórych aplikacji galerii, Prosta Galeria Pro wspiera dużo formatów plików, w tym JPEG, PNG, MP4, MKV, RAW, SVG, panoramiczne filmy i zdjęcia oraz wiele więcej. WSZECHSTRONNOŚĆ - Od interfejsu do przycisków funkcyjnych na dolnym pasku, Simple Gallery Pro jest wysoce konfigurowalny, przez co działa i wygląda tak jak chcesz. Żadna inna aplikacja galerii nie jest pod tym względem tak wszechstronna. A dzięki naszej otwartości to wszystko dostępne jest w 32 językach (w tym po polsku :]). + Od interfejsu do przycisków funkcyjnych na dolnym pasku, Prosta Galeria Pro jest wysoce konfigurowalny, przez co działa i wygląda tak jak chcesz. Żadna inna aplikacja galerii nie jest pod tym względem tak wszechstronna. A dzięki naszej otwartości to wszystko dostępne jest w 32 językach (w tym po polsku :]). ODZYSKIWANIE PLIKÓW Coś Ci się niechcący usunęło? A może ktoś to zrobił po złości? Żaden problem! Dzięki funkcji kosza z łatwością to odzyskasz. @@ -409,7 +409,7 @@ Sprawdź cały zestaw naszych aplikacji: https://www.simplemobiletools.com - Standalone website of Simple Gallery Pro: + Strona domowa Prostej Galerii Pro: https://www.simplemobiletools.com/gallery Odwiedź nasz profil na Facebooku... From 6c487790b411fc69a1ef4eb99bf8a0f17b121b2e Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 18 May 2021 15:18:38 +0200 Subject: [PATCH 94/95] reverting a german translation --- 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 f8c703892..672ccb137 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -102,7 +102,7 @@ Anderes - Schlichte Hintergrund + Schlichter Hintergrund Als Hintergrund festlegen Hintergrundbild festlegen fehlgeschlagen. Als Hintergrund festlegen mit From 1ab417110077992330df44d6f85a1eec29473cf1 Mon Sep 17 00:00:00 2001 From: Yngvar-Skjaldulfsson <68789018+Yngvar-Skjaldulfsson@users.noreply.github.com> Date: Fri, 21 May 2021 04:56:27 +0000 Subject: [PATCH 95/95] Update strings.xml Improved some translations to spanish so they sound more natively natural and not harsh literally translated --- app/src/main/res/values-es/strings.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index d1d3e02d1..cb739a4eb 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -52,9 +52,9 @@ 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 \"Ocultar\". + La opción de 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 \"Ocultar\". Eliminar todo - ¿Eliminar todas las carpetas de la lista de excluidas? Esto no borrará las carpetas. + ¿Eliminar todas las carpetas de la lista de excluidas? Nota: Esto no borrará las carpetas. Carpetas ocultas Gestionar carpetas ocultas Parece que no tiene carpetas ocultas con archivos \".nomedia\". @@ -153,17 +153,17 @@ Reproducir videos automáticamente - Recordar la última posición en la reproducción de video - Reproducir videos en bucle + Recordar la última posición de avance en la reproducción de video + Repetir reproducción de videos en bucle Animar las miniaturas de GIFs - Brillo máximo cuando se muestra multimedia + Incrementar el brillo de la pantalla al máximo cuando se muestran los archivos multimedia Recortar miniaturas en cuadrados Mostrar la duración de los videos Rotar multimedia en pantalla completa según Configuración del sistema Rotación del dispositivo Relación de aspecto - Fondo y barra de estado negra en medios en pantalla completa + Fondo y barra de estado completamente oscuros en medios al estar en pantalla completa Desplazar miniaturas horizontalmente Ocultar la interfaz del sistema en pantalla completa Eliminar carpetas vacías después de borrar su contenido @@ -263,8 +263,8 @@ Eliminar Color del pincel Editor - ¿Cerrar editor? - ¿Realmente quiere descartar los cambios? + ¿Desea cerrar el editor? + ¿Realmente desea descartar todos los cambios? No Cancelar