mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2024-11-26 14:37:59 +01:00
Merge branch 'master' into master
This commit is contained in:
commit
d79e6722c4
53 changed files with 170 additions and 386 deletions
|
@ -1,6 +1,13 @@
|
|||
Changelog
|
||||
==========
|
||||
|
||||
Version 6.16.5 *(2020-10-28)*
|
||||
----------------------------
|
||||
|
||||
* Added some hidden folder handling related improvements
|
||||
* Fixed saving files on the SD card after editing
|
||||
* Couple other UX, translation and performance improvements
|
||||
|
||||
Version 6.16.4 *(2020-10-24)*
|
||||
----------------------------
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ android {
|
|||
applicationId "com.simplemobiletools.gallery.pro"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode 323
|
||||
versionName "6.16.4"
|
||||
versionCode 324
|
||||
versionName "6.16.5"
|
||||
setProperty("archivesBaseName", "gallery-$versionCode")
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.simplemobiletools:commons:5.31.8'
|
||||
implementation 'com.simplemobiletools:commons:5.31.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.19'
|
||||
|
|
|
@ -23,7 +23,6 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.dialogs.CreateNewFolderDialog
|
||||
import com.simplemobiletools.commons.dialogs.FilePickerDialog
|
||||
import com.simplemobiletools.commons.dialogs.NewAppsIconsDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
|
@ -156,12 +155,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
// notify some users about the Dialer, SMS Messenger and Voice Recorder apps
|
||||
if (!config.wasMessengerRecorderShown && config.appRunCount > 35) {
|
||||
NewAppsIconsDialog(this)
|
||||
config.wasMessengerRecorderShown = true
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
|
@ -644,6 +637,21 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
layoutManager.spanCount = config.dirColumnCnt
|
||||
}
|
||||
|
||||
private fun setupListLayoutManager() {
|
||||
val layoutManager = directories_grid.layoutManager as MyGridLayoutManager
|
||||
layoutManager.spanCount = 1
|
||||
layoutManager.orientation = RecyclerView.VERTICAL
|
||||
directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
|
||||
|
||||
val smallMargin = resources.getDimension(R.dimen.small_margin).toInt()
|
||||
(directories_grid.layoutParams as RelativeLayout.LayoutParams).apply {
|
||||
topMargin = smallMargin
|
||||
bottomMargin = smallMargin
|
||||
}
|
||||
|
||||
mZoomListener = null
|
||||
}
|
||||
|
||||
private fun measureRecyclerViewContent(directories: ArrayList<Directory>) {
|
||||
directories_grid.onGlobalLayout {
|
||||
if (config.scrollHorizontally) {
|
||||
|
@ -693,21 +701,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
}
|
||||
}
|
||||
|
||||
private fun setupListLayoutManager() {
|
||||
val layoutManager = directories_grid.layoutManager as MyGridLayoutManager
|
||||
layoutManager.spanCount = 1
|
||||
layoutManager.orientation = RecyclerView.VERTICAL
|
||||
directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
|
||||
|
||||
val smallMargin = resources.getDimension(R.dimen.small_margin).toInt()
|
||||
(directories_grid.layoutParams as RelativeLayout.LayoutParams).apply {
|
||||
topMargin = smallMargin
|
||||
bottomMargin = smallMargin
|
||||
}
|
||||
|
||||
mZoomListener = null
|
||||
}
|
||||
|
||||
private fun toggleRecycleBin(show: Boolean) {
|
||||
config.showRecycleBinAtFolders = show
|
||||
invalidateOptionsMenu()
|
||||
|
@ -913,6 +906,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
val hiddenString = getString(R.string.hidden)
|
||||
val albumCovers = config.parseAlbumCovers()
|
||||
val includedFolders = config.includedFolders
|
||||
val noMediaFolders = getNoMediaFoldersSync()
|
||||
val tempFolderPath = config.tempFolderPath
|
||||
val getProperFileSize = config.directorySorting and SORT_BY_SIZE != 0
|
||||
val favoritePaths = getFavoritePaths()
|
||||
|
@ -947,7 +941,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
}
|
||||
directory
|
||||
} else {
|
||||
createDirectoryFromMedia(directory.path, curMedia, albumCovers, hiddenString, includedFolders, getProperFileSize)
|
||||
createDirectoryFromMedia(directory.path, curMedia, albumCovers, hiddenString, includedFolders, getProperFileSize, noMediaFolders)
|
||||
}
|
||||
|
||||
// we are looping through the already displayed folders looking for changes, do not do anything if nothing changed
|
||||
|
@ -1053,7 +1047,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
}
|
||||
}
|
||||
|
||||
val newDir = createDirectoryFromMedia(folder, newMedia, albumCovers, hiddenString, includedFolders, getProperFileSize)
|
||||
val newDir = createDirectoryFromMedia(folder, newMedia, albumCovers, hiddenString, includedFolders, getProperFileSize, noMediaFolders)
|
||||
dirs.add(newDir)
|
||||
setupAdapter(dirs)
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import androidx.core.view.MenuItemCompat
|
|||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
import com.simplemobiletools.commons.views.MyGridLayoutManager
|
||||
|
|
|
@ -15,10 +15,7 @@ import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
|||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.dialogs.*
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.FAVORITES
|
||||
import com.simplemobiletools.commons.helpers.SHOW_ALL_TABS
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
import com.simplemobiletools.commons.views.FastScroller
|
||||
import com.simplemobiletools.commons.views.MyRecyclerView
|
||||
|
@ -305,7 +302,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||
val includedFolders = activity.config.includedFolders
|
||||
val hidden = activity.getString(R.string.hidden)
|
||||
dirs.forEach {
|
||||
it.name = activity.checkAppendingHidden(it.path, hidden, includedFolders)
|
||||
it.name = activity.checkAppendingHidden(it.path, hidden, includedFolders, ArrayList())
|
||||
}
|
||||
listener?.updateDirectories(dirs.toMutableList() as ArrayList)
|
||||
activity.runOnUiThread {
|
||||
|
@ -479,10 +476,10 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||
intent.putExtra(DIRECTORY, path)
|
||||
|
||||
val shortcut = ShortcutInfo.Builder(activity, path)
|
||||
.setShortLabel(dir.name)
|
||||
.setIcon(Icon.createWithBitmap(drawable.convertToBitmap()))
|
||||
.setIntent(intent)
|
||||
.build()
|
||||
.setShortLabel(dir.name)
|
||||
.setIcon(Icon.createWithBitmap(drawable.convertToBitmap()))
|
||||
.setIntent(intent)
|
||||
.build()
|
||||
|
||||
manager.requestPinShortcut(shortcut, null)
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import com.simplemobiletools.commons.dialogs.RenameDialog
|
|||
import com.simplemobiletools.commons.dialogs.RenameItemDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.FAVORITES
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_LIST
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
|
|
|
@ -5,11 +5,11 @@ import androidx.appcompat.app.AlertDialog
|
|||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_LIST
|
||||
import com.simplemobiletools.gallery.pro.R
|
||||
import com.simplemobiletools.gallery.pro.extensions.config
|
||||
import com.simplemobiletools.gallery.pro.helpers.SHOW_ALL
|
||||
import com.simplemobiletools.gallery.pro.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.gallery.pro.helpers.VIEW_TYPE_LIST
|
||||
import kotlinx.android.synthetic.main.dialog_change_view_type.view.*
|
||||
|
||||
class ChangeViewTypeDialog(val activity: BaseSimpleActivity, val fromFoldersView: Boolean, val path: String = "", val callback: () -> Unit) {
|
||||
|
|
|
@ -6,11 +6,11 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.dialogs.FilePickerDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.commons.views.MyGridLayoutManager
|
||||
import com.simplemobiletools.gallery.pro.R
|
||||
import com.simplemobiletools.gallery.pro.adapters.DirectoryAdapter
|
||||
import com.simplemobiletools.gallery.pro.extensions.*
|
||||
import com.simplemobiletools.gallery.pro.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.gallery.pro.models.Directory
|
||||
import kotlinx.android.synthetic.main.dialog_directory_picker.view.*
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.simplemobiletools.commons.extensions.beGoneIf
|
|||
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||
import com.simplemobiletools.commons.extensions.getTimeFormat
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.commons.views.MyGridLayoutManager
|
||||
import com.simplemobiletools.gallery.pro.R
|
||||
import com.simplemobiletools.gallery.pro.adapters.MediaAdapter
|
||||
|
@ -14,7 +15,6 @@ import com.simplemobiletools.gallery.pro.asynctasks.GetMediaAsynctask
|
|||
import com.simplemobiletools.gallery.pro.extensions.config
|
||||
import com.simplemobiletools.gallery.pro.extensions.getCachedMedia
|
||||
import com.simplemobiletools.gallery.pro.helpers.SHOW_ALL
|
||||
import com.simplemobiletools.gallery.pro.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.gallery.pro.models.Medium
|
||||
import com.simplemobiletools.gallery.pro.models.ThumbnailItem
|
||||
import kotlinx.android.synthetic.main.dialog_medium_picker.view.*
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.simplemobiletools.gallery.pro.extensions
|
|||
import android.annotation.TargetApi
|
||||
import android.app.Activity
|
||||
import android.content.ContentProviderOperation
|
||||
import android.content.ContentValues
|
||||
import android.content.Intent
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.BitmapFactory
|
||||
|
@ -13,6 +14,7 @@ import android.media.ExifInterface
|
|||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.provider.MediaStore
|
||||
import android.provider.MediaStore.Files
|
||||
import android.provider.MediaStore.Images
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.View
|
||||
|
@ -102,7 +104,8 @@ fun SimpleActivity.launchAbout() {
|
|||
FAQItem(R.string.faq_15_title, R.string.faq_15_text),
|
||||
FAQItem(R.string.faq_2_title_commons, R.string.faq_2_text_commons),
|
||||
FAQItem(R.string.faq_6_title_commons, R.string.faq_6_text_commons),
|
||||
FAQItem(R.string.faq_7_title_commons, R.string.faq_7_text_commons))
|
||||
FAQItem(R.string.faq_7_title_commons, R.string.faq_7_text_commons),
|
||||
FAQItem(R.string.faq_9_title_commons, R.string.faq_9_text_commons))
|
||||
|
||||
startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true)
|
||||
}
|
||||
|
@ -147,9 +150,8 @@ fun BaseSimpleActivity.addNoMedia(path: String, callback: () -> Unit) {
|
|||
val fileDocument = getDocumentFile(path)
|
||||
if (fileDocument?.exists() == true && fileDocument.isDirectory) {
|
||||
fileDocument.createFile("", NOMEDIA)
|
||||
applicationContext.scanPathRecursively(file.absolutePath) {
|
||||
callback()
|
||||
}
|
||||
addNoMediaIntoMediaStore(file.absolutePath)
|
||||
callback()
|
||||
} else {
|
||||
toast(R.string.unknown_error_occurred)
|
||||
callback()
|
||||
|
@ -158,7 +160,7 @@ fun BaseSimpleActivity.addNoMedia(path: String, callback: () -> Unit) {
|
|||
} else {
|
||||
try {
|
||||
if (file.createNewFile()) {
|
||||
rescanFolderMedia(file.absolutePath)
|
||||
addNoMediaIntoMediaStore(file.absolutePath)
|
||||
} else {
|
||||
toast(R.string.unknown_error_occurred)
|
||||
}
|
||||
|
@ -169,6 +171,19 @@ fun BaseSimpleActivity.addNoMedia(path: String, callback: () -> Unit) {
|
|||
}
|
||||
}
|
||||
|
||||
fun BaseSimpleActivity.addNoMediaIntoMediaStore(path: String) {
|
||||
try {
|
||||
val content = ContentValues().apply {
|
||||
put(Files.FileColumns.TITLE, NOMEDIA)
|
||||
put(Files.FileColumns.DATA, path)
|
||||
put(Files.FileColumns.MEDIA_TYPE, Files.FileColumns.MEDIA_TYPE_NONE)
|
||||
}
|
||||
contentResolver.insert(Files.getContentUri("external"), content)
|
||||
} catch (e: Exception) {
|
||||
showErrorToast(e)
|
||||
}
|
||||
}
|
||||
|
||||
fun BaseSimpleActivity.removeNoMedia(path: String, callback: (() -> Unit)? = null) {
|
||||
val file = File(path, NOMEDIA)
|
||||
if (!getDoesFilePathExist(file.absolutePath)) {
|
||||
|
|
|
@ -304,35 +304,40 @@ fun Context.updateSubfolderCounts(children: ArrayList<Directory>, parentDirs: Ar
|
|||
|
||||
fun Context.getNoMediaFolders(callback: (folders: ArrayList<String>) -> Unit) {
|
||||
ensureBackgroundThread {
|
||||
val folders = ArrayList<String>()
|
||||
|
||||
val uri = Files.getContentUri("external")
|
||||
val projection = arrayOf(Files.FileColumns.DATA)
|
||||
val selection = "${Files.FileColumns.MEDIA_TYPE} = ? AND ${Files.FileColumns.TITLE} LIKE ?"
|
||||
val selectionArgs = arrayOf(Files.FileColumns.MEDIA_TYPE_NONE.toString(), "%$NOMEDIA%")
|
||||
val sortOrder = "${Files.FileColumns.DATE_MODIFIED} DESC"
|
||||
val OTGPath = config.OTGPath
|
||||
|
||||
var cursor: Cursor? = null
|
||||
try {
|
||||
cursor = contentResolver.query(uri, projection, selection, selectionArgs, sortOrder)
|
||||
if (cursor?.moveToFirst() == true) {
|
||||
do {
|
||||
val path = cursor.getStringValue(Files.FileColumns.DATA) ?: continue
|
||||
val noMediaFile = File(path)
|
||||
if (getDoesFilePathExist(noMediaFile.absolutePath, OTGPath) && noMediaFile.name == NOMEDIA) {
|
||||
folders.add("${noMediaFile.parent}/")
|
||||
}
|
||||
} while (cursor.moveToNext())
|
||||
}
|
||||
} finally {
|
||||
cursor?.close()
|
||||
}
|
||||
|
||||
callback(folders)
|
||||
callback(getNoMediaFoldersSync())
|
||||
}
|
||||
}
|
||||
|
||||
fun Context.getNoMediaFoldersSync(): ArrayList<String> {
|
||||
val folders = ArrayList<String>()
|
||||
|
||||
val uri = Files.getContentUri("external")
|
||||
val projection = arrayOf(Files.FileColumns.DATA)
|
||||
val selection = "${Files.FileColumns.MEDIA_TYPE} = ? AND ${Files.FileColumns.TITLE} LIKE ?"
|
||||
val selectionArgs = arrayOf(Files.FileColumns.MEDIA_TYPE_NONE.toString(), "%$NOMEDIA%")
|
||||
val sortOrder = "${Files.FileColumns.DATE_MODIFIED} DESC"
|
||||
val OTGPath = config.OTGPath
|
||||
|
||||
var cursor: Cursor? = null
|
||||
try {
|
||||
cursor = contentResolver.query(uri, projection, selection, selectionArgs, sortOrder)
|
||||
if (cursor?.moveToFirst() == true) {
|
||||
do {
|
||||
val path = cursor.getStringValue(Files.FileColumns.DATA) ?: continue
|
||||
val noMediaFile = File(path)
|
||||
if (getDoesFilePathExist(noMediaFile.absolutePath, OTGPath) && noMediaFile.name == NOMEDIA) {
|
||||
folders.add(noMediaFile.parent)
|
||||
}
|
||||
} while (cursor.moveToNext())
|
||||
}
|
||||
} catch (ignored: Exception) {
|
||||
} finally {
|
||||
cursor?.close()
|
||||
}
|
||||
|
||||
return folders
|
||||
}
|
||||
|
||||
fun Context.rescanFolderMedia(path: String) {
|
||||
ensureBackgroundThread {
|
||||
rescanFolderMediaSync(path)
|
||||
|
@ -370,9 +375,9 @@ fun Context.storeDirectoryItems(items: ArrayList<Directory>) {
|
|||
}
|
||||
}
|
||||
|
||||
fun Context.checkAppendingHidden(path: String, hidden: String, includedFolders: MutableSet<String>): String {
|
||||
fun Context.checkAppendingHidden(path: String, hidden: String, includedFolders: MutableSet<String>, noMediaFolders: ArrayList<String>): String {
|
||||
val dirName = getFolderNameFromPath(path)
|
||||
return if (path.doesThisOrParentHaveNoMedia() && !path.isThisOrParentIncluded(includedFolders)) {
|
||||
return if (path.doesThisOrParentHaveNoMedia(noMediaFolders) && !path.isThisOrParentIncluded(includedFolders)) {
|
||||
"$dirName $hidden"
|
||||
} else {
|
||||
dirName
|
||||
|
@ -519,10 +524,11 @@ fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly:
|
|||
val excludedPaths = config.excludedFolders
|
||||
val includedPaths = config.includedFolders
|
||||
|
||||
val folderNomediaStatuses = HashMap<String, Boolean>()
|
||||
val noMediaFolders = getNoMediaFoldersSync()
|
||||
val folderNoMediaStatuses = HashMap<String, Boolean>()
|
||||
var filteredDirectories = directories.filter {
|
||||
it.path.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNomediaStatuses) { path, hasNoMedia ->
|
||||
folderNomediaStatuses[path] = hasNoMedia
|
||||
it.path.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNoMediaStatuses, noMediaFolders) { path, hasNoMedia ->
|
||||
folderNoMediaStatuses[path] = hasNoMedia
|
||||
}
|
||||
} as ArrayList<Directory>
|
||||
val filterMedia = config.filterMedia
|
||||
|
@ -542,7 +548,7 @@ fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly:
|
|||
|
||||
val hiddenString = resources.getString(R.string.hidden)
|
||||
filteredDirectories.forEach {
|
||||
it.name = if (it.path.doesThisOrParentHaveNoMedia() && !it.path.isThisOrParentIncluded(includedPaths)) {
|
||||
it.name = if (it.path.doesThisOrParentHaveNoMedia(noMediaFolders) && !it.path.isThisOrParentIncluded(includedPaths)) {
|
||||
"${it.name.removeSuffix(hiddenString).trim()} $hiddenString"
|
||||
} else {
|
||||
it.name.removeSuffix(hiddenString).trim()
|
||||
|
@ -808,7 +814,7 @@ fun Context.addPathToDB(path: String) {
|
|||
}
|
||||
|
||||
fun Context.createDirectoryFromMedia(path: String, curMedia: ArrayList<Medium>, albumCovers: ArrayList<AlbumCover>, hiddenString: String,
|
||||
includedFolders: MutableSet<String>, getProperFileSize: Boolean): Directory {
|
||||
includedFolders: MutableSet<String>, getProperFileSize: Boolean, noMediaFolders: ArrayList<String>): Directory {
|
||||
val OTGPath = config.OTGPath
|
||||
val grouped = MediaFetcher(this).groupMedia(curMedia, path)
|
||||
var thumbnail: String? = null
|
||||
|
@ -832,7 +838,7 @@ fun Context.createDirectoryFromMedia(path: String, curMedia: ArrayList<Medium>,
|
|||
val defaultMedium = Medium(0, "", "", "", 0L, 0L, 0L, 0, 0, false, 0L)
|
||||
val firstItem = curMedia.firstOrNull() ?: defaultMedium
|
||||
val lastItem = curMedia.lastOrNull() ?: defaultMedium
|
||||
val dirName = checkAppendingHidden(path, hiddenString, includedFolders)
|
||||
val dirName = checkAppendingHidden(path, hiddenString, includedFolders, noMediaFolders)
|
||||
val lastModified = if (isSortingAscending) Math.min(firstItem.modified, lastItem.modified) else Math.max(firstItem.modified, lastItem.modified)
|
||||
val dateTaken = if (isSortingAscending) Math.min(firstItem.taken, lastItem.taken) else Math.max(firstItem.taken, lastItem.taken)
|
||||
val size = if (getProperFileSize) curMedia.sumByLong { it.size } else 0L
|
||||
|
@ -874,6 +880,7 @@ fun Context.updateDirectoryPath(path: String) {
|
|||
val hiddenString = getString(R.string.hidden)
|
||||
val albumCovers = config.parseAlbumCovers()
|
||||
val includedFolders = config.includedFolders
|
||||
val noMediaFolders = getNoMediaFoldersSync()
|
||||
|
||||
val sorting = config.getFolderSorting(path)
|
||||
val grouping = config.getFolderGrouping(path)
|
||||
|
@ -894,7 +901,7 @@ fun Context.updateDirectoryPath(path: String) {
|
|||
val favoritePaths = getFavoritePaths()
|
||||
val curMedia = mediaFetcher.getFilesFrom(path, getImagesOnly, getVideosOnly, getProperDateTaken, getProperLastModified, getProperFileSize,
|
||||
favoritePaths, false, lastModifieds, dateTakens)
|
||||
val directory = createDirectoryFromMedia(path, curMedia, albumCovers, hiddenString, includedFolders, getProperFileSize)
|
||||
val directory = createDirectoryFromMedia(path, curMedia, albumCovers, hiddenString, includedFolders, getProperFileSize, noMediaFolders)
|
||||
updateDBDirectory(directory)
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,8 @@ fun String.isThisOrParentExcluded(excludedPaths: MutableSet<String>) = excludedP
|
|||
|
||||
// cache which folders contain .nomedia files to avoid checking them over and over again
|
||||
fun String.shouldFolderBeVisible(excludedPaths: MutableSet<String>, includedPaths: MutableSet<String>, showHidden: Boolean,
|
||||
folderNomediaStatuses: HashMap<String, Boolean>, callback: (path: String, hasNoMedia: Boolean) -> Unit): Boolean {
|
||||
folderNoMediaStatuses: HashMap<String, Boolean>, noMediaFolders: ArrayList<String> = ArrayList(),
|
||||
callback: (path: String, hasNoMedia: Boolean) -> Unit): Boolean {
|
||||
if (isEmpty()) {
|
||||
return false
|
||||
}
|
||||
|
@ -36,7 +37,7 @@ fun String.shouldFolderBeVisible(excludedPaths: MutableSet<String>, includedPath
|
|||
val containsNoMedia = if (showHidden) {
|
||||
false
|
||||
} else {
|
||||
File(this, NOMEDIA).exists()
|
||||
noMediaFolders.contains(this) || File(this, NOMEDIA).exists()
|
||||
}
|
||||
|
||||
return if (!showHidden && containsNoMedia) {
|
||||
|
@ -54,13 +55,13 @@ fun String.shouldFolderBeVisible(excludedPaths: MutableSet<String>, includedPath
|
|||
for (i in 0 until count { it == '/' } - 1) {
|
||||
curPath = curPath.substringBeforeLast('/')
|
||||
val pathToCheck = "$curPath/${NOMEDIA}"
|
||||
if (folderNomediaStatuses.contains(pathToCheck)) {
|
||||
if (folderNomediaStatuses[pathToCheck] == true) {
|
||||
if (folderNoMediaStatuses.contains(pathToCheck)) {
|
||||
if (folderNoMediaStatuses[pathToCheck] == true) {
|
||||
containsNoMediaOrDot = true
|
||||
break
|
||||
}
|
||||
} else {
|
||||
val noMediaExists = File(pathToCheck).exists()
|
||||
val noMediaExists = noMediaFolders.contains(pathToCheck) || File(pathToCheck).exists()
|
||||
callback(pathToCheck, noMediaExists)
|
||||
if (noMediaExists) {
|
||||
containsNoMediaOrDot = true
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.google.gson.reflect.TypeToken
|
|||
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_MODIFIED
|
||||
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
|
||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
||||
import com.simplemobiletools.gallery.pro.R
|
||||
import com.simplemobiletools.gallery.pro.models.AlbumCover
|
||||
import java.util.*
|
||||
|
@ -409,8 +410,10 @@ class Config(context: Context) : BaseConfig(context) {
|
|||
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath,
|
||||
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).absolutePath,
|
||||
"${Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).absolutePath}/Screenshots",
|
||||
"internalStoragePath/WhatsApp/Media/WhatsApp Images",
|
||||
"internalStoragePath/WhatsApp/Media/WhatsApp Video"
|
||||
"$internalStoragePath/WhatsApp/Media/WhatsApp Images",
|
||||
"$internalStoragePath/WhatsApp/Media/WhatsApp Images/Sent",
|
||||
"$internalStoragePath/WhatsApp/Media/WhatsApp Video",
|
||||
"$internalStoragePath/WhatsApp/Media/WhatsApp Video/Sent",
|
||||
)
|
||||
|
||||
var showRecycleBinAtFolders: Boolean
|
||||
|
|
|
@ -145,10 +145,6 @@ const val PRIORITY_SPEED = 0
|
|||
const val PRIORITY_COMPROMISE = 1
|
||||
const val PRIORITY_VALIDITY = 2
|
||||
|
||||
// view types
|
||||
const val VIEW_TYPE_GRID = 1
|
||||
const val VIEW_TYPE_LIST = 2
|
||||
|
||||
// extended details values
|
||||
const val EXT_NAME = 1
|
||||
const val EXT_PATH = 2
|
||||
|
|
|
@ -82,8 +82,9 @@ class MediaFetcher(val context: Context) {
|
|||
}
|
||||
}
|
||||
|
||||
val noMediaFolders = context.getNoMediaFoldersSync()
|
||||
distinctPaths.filter {
|
||||
it.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNomediaStatuses) { path, hasNoMedia ->
|
||||
it.shouldFolderBeVisible(excludedPaths, includedPaths, shouldShowHidden, folderNomediaStatuses, noMediaFolders) { path, hasNoMedia ->
|
||||
folderNomediaStatuses[path] = hasNoMedia
|
||||
}
|
||||
}.toMutableList() as ArrayList<String>
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">مجلد آخر</string>
|
||||
<string name="show_on_map">عرض علي الخريطة</string>
|
||||
<string name="unknown_location">موقع غير معروف</string>
|
||||
<string name="increase_column_count">زيادة عدد الأعمدة</string>
|
||||
<string name="reduce_column_count">تقليل عدد الأعمدة</string>
|
||||
<string name="set_as_default_folder">تعيين كمجلد افتراضي</string>
|
||||
<string name="change_cover_image">تغيير صورة الغلاف</string>
|
||||
<string name="select_photo">تحديد صورة</string>
|
||||
<string name="volume">الصوت</string>
|
||||
<string name="brightness">السطوع</string>
|
||||
<string name="lock_orientation">قفل الاتجاه</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">لم يتم العثور علي أي وسائط لعرض الشرائح</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">تغيير نوع العرض</string>
|
||||
<string name="grid">الشبكة</string>
|
||||
<string name="list">القائمة</string>
|
||||
<string name="group_direct_subfolders">تجميع المجلدات الفرعية مباشرة</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Other folder</string>
|
||||
<string name="show_on_map">Show on map</string>
|
||||
<string name="unknown_location">Unknown location</string>
|
||||
<string name="increase_column_count">Increase column count</string>
|
||||
<string name="reduce_column_count">Reduce column count</string>
|
||||
<string name="set_as_default_folder">Varsayılan qovluq olaraq təyin edin</string>
|
||||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Brightness</string>
|
||||
<string name="lock_orientation">Lock orientation</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">No media for the slideshow have been found</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Change view type</string>
|
||||
<string name="grid">Grid</string>
|
||||
<string name="list">List</string>
|
||||
<string name="group_direct_subfolders">Group direct subfolders</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Un altre carpeta</string>
|
||||
<string name="show_on_map">Mostrar al mapa</string>
|
||||
<string name="unknown_location">Ubicació desconeguda</string>
|
||||
<string name="increase_column_count">Augmentar el número de columnes</string>
|
||||
<string name="reduce_column_count">Reduir el número de columnes</string>
|
||||
<string name="set_as_default_folder">Estableix com a carpeta predeterminada</string>
|
||||
<string name="change_cover_image">Canviar imatge de portada</string>
|
||||
<string name="select_photo">Sel·leccionar imatge</string>
|
||||
<string name="volume">Volum</string>
|
||||
<string name="brightness">Brillantor</string>
|
||||
<string name="lock_orientation">Bloquejar orientació</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">No s’han trobat mitjans per a la presentació de diapositives</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Canviar el tipus de vista</string>
|
||||
<string name="grid">Reixeta</string>
|
||||
<string name="list">Llista</string>
|
||||
<string name="group_direct_subfolders">Agrupar carpetes directes</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Jiná složka</string>
|
||||
<string name="show_on_map">Zobrazit na mapě</string>
|
||||
<string name="unknown_location">Neznámá poloha</string>
|
||||
<string name="increase_column_count">Zvýšit počet sloupců</string>
|
||||
<string name="reduce_column_count">Snížit počet sloupců</string>
|
||||
<string name="set_as_default_folder">Nastavit jako výchozí složku</string>
|
||||
<string name="change_cover_image">Změnit obal alba</string>
|
||||
<string name="select_photo">Vybrat fotografii</string>
|
||||
<string name="volume">Hlasitost</string>
|
||||
<string name="brightness">Jas</string>
|
||||
<string name="lock_orientation">Uzamknout orientaci</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Nebyla nalezena žádná média pro prezentaci</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Změnit typ zobrazení</string>
|
||||
<string name="grid">Mřížka</string>
|
||||
<string name="list">Seznam</string>
|
||||
<string name="group_direct_subfolders">Sloučit přímé podsložky</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Anden mappe</string>
|
||||
<string name="show_on_map">Vis på kort</string>
|
||||
<string name="unknown_location">Ukendt placering</string>
|
||||
<string name="increase_column_count">Flere kolonner</string>
|
||||
<string name="reduce_column_count">Færre kolonner</string>
|
||||
<string name="set_as_default_folder">Indstil som standardmappe</string>
|
||||
<string name="change_cover_image">Skift cover-billede</string>
|
||||
<string name="select_photo">Vælg billede</string>
|
||||
<string name="volume">Lydstyrke</string>
|
||||
<string name="brightness">Lysstyrke</string>
|
||||
<string name="lock_orientation">Lås orientering</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Der blev ikke funket nogen mediefiler til slideshowet</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Skift visning</string>
|
||||
<string name="grid">Gitter</string>
|
||||
<string name="list">Liste</string>
|
||||
<string name="group_direct_subfolders">Gruppér direkte undermapper</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Ordner wählen</string>
|
||||
<string name="show_on_map">Auf Karte zeigen</string>
|
||||
<string name="unknown_location">Unbekannter Pfad</string>
|
||||
<string name="increase_column_count">Kacheln verkleinern</string>
|
||||
<string name="reduce_column_count">Kacheln vergrößern</string>
|
||||
<string name="set_as_default_folder">Als Standardordner festlegen</string>
|
||||
<string name="change_cover_image">Coverbild ändern</string>
|
||||
<string name="select_photo">Auswählen</string>
|
||||
<string name="volume">Lautstärke</string>
|
||||
<string name="brightness">Helligkeit</string>
|
||||
<string name="lock_orientation">Bildausrichtung sperren</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Keine Medien für Diashow gefunden</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Darstellung ändern</string>
|
||||
<string name="grid">Gitternetz</string>
|
||||
<string name="list">Liste</string>
|
||||
<string name="group_direct_subfolders">Direkte Unterordner gruppieren</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Άλλος φάκελος</string>
|
||||
<string name="show_on_map">Εμφάνιση στο χάρτη</string>
|
||||
<string name="unknown_location">Άγνωστη τοποθεσία</string>
|
||||
<string name="increase_column_count">Αύξηση αριθμού στηλών</string>
|
||||
<string name="reduce_column_count">Μείωση αριθμού στηλών</string>
|
||||
<string name="set_as_default_folder">Set as default folder</string>
|
||||
<string name="change_cover_image">Αλλαγή εξώφυλλου φακέλου</string>
|
||||
<string name="select_photo">Επιλογή φωτογραφίας</string>
|
||||
<string name="volume">Ένταση</string>
|
||||
<string name="brightness">Φωτεινότητα</string>
|
||||
<string name="lock_orientation">Κλείδωμα προσανατολισμού</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Δεν βρέθηκαν πολυμέσα για την εμφάνιση διαφανειών</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Αλλαγή τύπου εμφάνισης</string>
|
||||
<string name="grid">Πλέγμα</string>
|
||||
<string name="list">Λίστα</string>
|
||||
<string name="group_direct_subfolders">Ομαδοποίηση υποφακέλων</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Otra carpeta</string>
|
||||
<string name="show_on_map">Mostrar en el mapa</string>
|
||||
<string name="unknown_location">Ubicación desconocida</string>
|
||||
<string name="increase_column_count">Aumentar el número de columnas</string>
|
||||
<string name="reduce_column_count">Reducir el número de columnas</string>
|
||||
<string name="set_as_default_folder">Establecer como carpeta predeterminada</string>
|
||||
<string name="change_cover_image">Cambiar imagen de portada</string>
|
||||
<string name="select_photo">Seleccionar imagen</string>
|
||||
<string name="volume">Volumen</string>
|
||||
<string name="brightness">Brillo</string>
|
||||
<string name="lock_orientation">Bloquear orientación</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">No se han encontrado medios para la presentación de diapositivas</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Cambiar tipo de vista</string>
|
||||
<string name="grid">Cuadrícula</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Agrupar subcarpetas directas</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
<string name="other_folder">Muu kansio</string>
|
||||
<string name="show_on_map">Näytä kartalla</string>
|
||||
<string name="unknown_location">Tuntematon sijainti</string>
|
||||
<string name="increase_column_count">Lisää sarakkeita</string>
|
||||
<string name="reduce_column_count">Vähennä sarakkeita</string>
|
||||
<string name="set_as_default_folder">Aseta oletuskansioksi</string>
|
||||
<string name="change_cover_image">Vaihda kansikuva</string>
|
||||
<string name="select_photo">Valitse kuva</string>
|
||||
<string name="volume">Äänenvoimakkuus</string>
|
||||
<string name="brightness">Kirkkaus</string>
|
||||
<string name="lock_orientation">Lukitse näytönkierto</string>
|
||||
|
@ -126,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Mediaa diaesitykseen ei löytynyt</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Vaihda näkymää</string>
|
||||
<string name="grid">Ruudukko</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Group direct subfolders</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Autre dossier</string>
|
||||
<string name="show_on_map">Afficher sur la carte</string>
|
||||
<string name="unknown_location">Position inconnue</string>
|
||||
<string name="increase_column_count">Ajouter une colonne</string>
|
||||
<string name="reduce_column_count">Supprimer une colonne</string>
|
||||
<string name="change_cover_image">Changer l\'image du dossier</string>
|
||||
<string name="select_photo">Choisir une image</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Luminosité</string>
|
||||
<string name="lock_orientation">Verrouiller la rotation</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Aucun média trouvé pour le diaporama</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Changer de mode d\'affichage</string>
|
||||
<string name="grid">Grille</string>
|
||||
<string name="list">Liste</string>
|
||||
<string name="group_direct_subfolders">Mode sous-dossiers</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Outro cartafol</string>
|
||||
<string name="show_on_map">Mostrar no mapa</string>
|
||||
<string name="unknown_location">Localización descoñecida</string>
|
||||
<string name="increase_column_count">Aumenta o número de columnas</string>
|
||||
<string name="reduce_column_count">Reduce o número de columnas</string>
|
||||
<string name="change_cover_image">Cambiar a imaxe de portada</string>
|
||||
<string name="select_photo">Escolle foto</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Brillo</string>
|
||||
<string name="lock_orientation">Fixar orientación</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Non se atopou multimedia para a presentación</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Cambiar o tipo de vista</string>
|
||||
<string name="grid">Grella</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Agrupar subcartafoles directos</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Ostale mape</string>
|
||||
<string name="show_on_map">Prikaži na karti</string>
|
||||
<string name="unknown_location">Nepoznata lokacija</string>
|
||||
<string name="increase_column_count">Povećaj broj stupaca</string>
|
||||
<string name="reduce_column_count">Smanji broj stupaca</string>
|
||||
<string name="change_cover_image">Promjeni naslovnu sliku</string>
|
||||
<string name="select_photo">Odaberi sliku</string>
|
||||
<string name="volume">Glasnoća</string>
|
||||
<string name="brightness">Svjetlina</string>
|
||||
<string name="lock_orientation">Zaključaj orijentaciju slike</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Nema datoteka za dijaprojekciju</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Promijeni vrstu prikaza</string>
|
||||
<string name="grid">Mreža</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Group direct subfolders</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Egyéb mappa</string>
|
||||
<string name="show_on_map">Mutassa a térképen</string>
|
||||
<string name="unknown_location">Ismeretlen helyszín</string>
|
||||
<string name="increase_column_count">Növelje az oszlopok számát</string>
|
||||
<string name="reduce_column_count">Csökkentse az oszlopok számát</string>
|
||||
<string name="change_cover_image">Borítókép változtatása</string>
|
||||
<string name="select_photo">Válasszon fotót</string>
|
||||
<string name="volume">Hangerő</string>
|
||||
<string name="brightness">Fényesség</string>
|
||||
<string name="lock_orientation">Tájolás zárolása</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">A diavetítéshez nem található média</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Nézet típus változtatása</string>
|
||||
<string name="grid">Rács</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Közvetlen almappa csoport</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Folder lainnya</string>
|
||||
<string name="show_on_map">Tampilkan di peta</string>
|
||||
<string name="unknown_location">Lokasi tidak diketahui</string>
|
||||
<string name="increase_column_count">Tambah jumlah kolom</string>
|
||||
<string name="reduce_column_count">Kurangi jumlah kolom</string>
|
||||
<string name="change_cover_image">Ubah gambar kover</string>
|
||||
<string name="select_photo">Pilih foto</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Kecerahan</string>
|
||||
<string name="lock_orientation">Kunci orientasi</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Tidak ditemukan media untuk slideshow</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Ubah tampilan</string>
|
||||
<string name="grid">Kotak</string>
|
||||
<string name="list">Daftar</string>
|
||||
<string name="group_direct_subfolders">Kelompokkan subfolder langsung</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Folder lainnya</string>
|
||||
<string name="show_on_map">Tampilkan di peta</string>
|
||||
<string name="unknown_location">Lokasi tidak diketahui</string>
|
||||
<string name="increase_column_count">Tambah jumlah kolom</string>
|
||||
<string name="reduce_column_count">Kurangi jumlah kolom</string>
|
||||
<string name="change_cover_image">Ubah gambar kover</string>
|
||||
<string name="select_photo">Pilih foto</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Kecerahan</string>
|
||||
<string name="lock_orientation">Kunci orientasi</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Tidak ditemukan media untuk slideshow</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Ubah tampilan</string>
|
||||
<string name="grid">Kotak</string>
|
||||
<string name="list">Daftar</string>
|
||||
<string name="group_direct_subfolders">Kelompokkan subfolder langsung</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Altra cartella</string>
|
||||
<string name="show_on_map">Mostra sulla mappa</string>
|
||||
<string name="unknown_location">Posizione sconosciuta</string>
|
||||
<string name="increase_column_count">Aumenta numero colonne</string>
|
||||
<string name="reduce_column_count">Riduci numero colonne</string>
|
||||
<string name="change_cover_image">Cambia immagine copertina</string>
|
||||
<string name="select_photo">Seleziona foto</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Luminosità</string>
|
||||
<string name="lock_orientation">Blocca orientamento</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Nessun file trovato per la presentazione</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Cambia modalità visualizzazione</string>
|
||||
<string name="grid">Griglia</string>
|
||||
<string name="list">Elenco</string>
|
||||
<string name="group_direct_subfolders">Raggruppa sottocartelle dirette</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">その他のフォルダ</string>
|
||||
<string name="show_on_map">地図上で表示</string>
|
||||
<string name="unknown_location">位置情報がありません</string>
|
||||
<string name="increase_column_count">列数を増やす</string>
|
||||
<string name="reduce_column_count">列数を減らす</string>
|
||||
<string name="change_cover_image">カバー画像を変更</string>
|
||||
<string name="select_photo">写真を選択</string>
|
||||
<string name="volume">音量</string>
|
||||
<string name="brightness">明るさ</string>
|
||||
<string name="lock_orientation">画面の向きを固定する</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">スライドショーに表示するメディアがありません</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">表示形式の変更</string>
|
||||
<string name="grid">グリッド</string>
|
||||
<string name="list">リスト</string>
|
||||
<string name="group_direct_subfolders">サブフォルダでグループ化</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">다른 폴더</string>
|
||||
<string name="show_on_map">지도에서 보기</string>
|
||||
<string name="unknown_location">위치정보 없음</string>
|
||||
<string name="increase_column_count">섬네일크기 축소</string>
|
||||
<string name="reduce_column_count">섬네일크기 확대</string>
|
||||
<string name="change_cover_image">커버 사진 변경</string>
|
||||
<string name="select_photo">사진 선택</string>
|
||||
<string name="volume">볼륨</string>
|
||||
<string name="brightness">밝기</string>
|
||||
<string name="lock_orientation">화면 회전 잠금</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">슬라이드 쇼를 표시할 사진이 없습니다.</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">보기 방식 변경</string>
|
||||
<string name="grid">타일</string>
|
||||
<string name="list">목록</string>
|
||||
<string name="group_direct_subfolders">상위 폴더 표시</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Kitas aplankas</string>
|
||||
<string name="show_on_map">Rodyti žemėlapyje</string>
|
||||
<string name="unknown_location">Nežinoma vieta</string>
|
||||
<string name="increase_column_count">Padidinti stulpelių skaičių</string>
|
||||
<string name="reduce_column_count">Sumažinti stulpelių skaičių</string>
|
||||
<string name="change_cover_image">Pakeisti viršelio atvaizdą</string>
|
||||
<string name="select_photo">Pasirinkti nuotrauką</string>
|
||||
<string name="volume">Garsas</string>
|
||||
<string name="brightness">Ryškumas</string>
|
||||
<string name="lock_orientation">Užrakinti orientaciją</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Nerasta medijos skaidrių demonstracijai</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Keisti peržiūros tipą</string>
|
||||
<string name="grid">Tinklelis</string>
|
||||
<string name="list">Sąrašas</string>
|
||||
<string name="group_direct_subfolders">Group direct subfolders</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Annen mappe</string>
|
||||
<string name="show_on_map">Vis på kart</string>
|
||||
<string name="unknown_location">Ukjent plassering</string>
|
||||
<string name="increase_column_count">Øk antall kolonner</string>
|
||||
<string name="reduce_column_count">Reduser antall kolonner</string>
|
||||
<string name="change_cover_image">Endre omslagsbilde</string>
|
||||
<string name="select_photo">Velg foto</string>
|
||||
<string name="volume">Volum</string>
|
||||
<string name="brightness">Lysstyrke</string>
|
||||
<string name="lock_orientation">Lås skjermorientering</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Ingen media for lysbildeshowet er funnet</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Endre visningstype</string>
|
||||
<string name="grid">Rutenett</string>
|
||||
<string name="list">Liste</string>
|
||||
<string name="group_direct_subfolders">Grupper direkte undermapper</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">अन्य फोल्डर</string>
|
||||
<string name="show_on_map">नक्सामा देखाउनुहोस</string>
|
||||
<string name="unknown_location">थाहानभएको ठाउ</string>
|
||||
<string name="increase_column_count">कोलम सङ्खा बढाउनुहोस</string>
|
||||
<string name="reduce_column_count">कोलम सङ्खा घटाउनुहोस</string>
|
||||
<string name="change_cover_image">कभर तस्बिर परिवर्तन गर्नुहोस</string>
|
||||
<string name="select_photo">फोटो चयन गर्नुहोस</string>
|
||||
<string name="volume">भोलुम</string>
|
||||
<string name="brightness">उज्यालोपन</string>
|
||||
<string name="lock_orientation">Lock orientation</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">No media for the slideshow have been found</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">भ्यू प्रकार परिवर्तन गर्नुहोस</string>
|
||||
<string name="grid">कोठे</string>
|
||||
<string name="list">सुची</string>
|
||||
<string name="group_direct_subfolders">Group direct subfolders</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Andere map</string>
|
||||
<string name="show_on_map">Op kaart tonen</string>
|
||||
<string name="unknown_location">Locatie onbekend</string>
|
||||
<string name="increase_column_count">Meer kolommen</string>
|
||||
<string name="reduce_column_count">Minder kolommen</string>
|
||||
<string name="change_cover_image">Afbeelding omslag wijzigen</string>
|
||||
<string name="select_photo">Foto selecteren</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Helderheid</string>
|
||||
<string name="lock_orientation">Schermoriëntatie vergrendelen</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Geen media gevonden voor diavoorstelling</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Weergave</string>
|
||||
<string name="grid">Raster</string>
|
||||
<string name="list">Lijst</string>
|
||||
<string name="group_direct_subfolders">Directe submappen groeperen</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Inny folder</string>
|
||||
<string name="show_on_map">Pokaż na mapie</string>
|
||||
<string name="unknown_location">Nieznana lokalizacja</string>
|
||||
<string name="increase_column_count">Zwiększ liczbę kolumn</string>
|
||||
<string name="reduce_column_count">Zmniejsz liczbę kolumn</string>
|
||||
<string name="change_cover_image">Zmień okładkę</string>
|
||||
<string name="select_photo">Wybierz obraz</string>
|
||||
<string name="volume">Głośność</string>
|
||||
<string name="brightness">Jasność</string>
|
||||
<string name="lock_orientation">Zablokuj orientację ekranu</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Nie znalazłem multimediów do pokazu slajdów</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Zmień typ widoku</string>
|
||||
<string name="grid">Siatka</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Grupuj bezpośrednie podfoldery</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Outra pasta</string>
|
||||
<string name="show_on_map">Exibir no mapa</string>
|
||||
<string name="unknown_location">Localização desconhecida</string>
|
||||
<string name="increase_column_count">Aumentar número de colunas</string>
|
||||
<string name="reduce_column_count">Reduzir número de colunas</string>
|
||||
<string name="change_cover_image">Trocar imagem de capa</string>
|
||||
<string name="select_photo">Selecionar foto</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Brilho</string>
|
||||
<string name="lock_orientation">Travar orientação</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Nenhuma mídia encontrada para a apresentação</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Alterar modo de visualização</string>
|
||||
<string name="grid">Grade</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Agrupar subpastas diretas</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Outra pasta</string>
|
||||
<string name="show_on_map">Mostrar no mapa</string>
|
||||
<string name="unknown_location">Localização desconhecida</string>
|
||||
<string name="increase_column_count">Aumentar número de colunas</string>
|
||||
<string name="reduce_column_count">Diminuir número de colunas</string>
|
||||
<string name="change_cover_image">Alterar imagem de capa</string>
|
||||
<string name="select_photo">Selecionar foto</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Brilho</string>
|
||||
<string name="lock_orientation">Bloquear orientação</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Não foram encontrados ficheiros para a apresentação</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Tipo de exibição</string>
|
||||
<string name="grid">Grelha</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Agrupar sub-pastas</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Выбор папки</string>
|
||||
<string name="show_on_map">Показать место съёмки</string>
|
||||
<string name="unknown_location">Место съёмки не указано</string>
|
||||
<string name="increase_column_count">Добавить столбец</string>
|
||||
<string name="reduce_column_count">Убрать столбец</string>
|
||||
<string name="change_cover_image">Изменить обложку</string>
|
||||
<string name="select_photo">Выбрать изображение</string>
|
||||
<string name="volume">Громкость</string>
|
||||
<string name="brightness">Яркость</string>
|
||||
<string name="lock_orientation">Заблокировать ориентацию</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Не найдено медиафайлов для слайдшоу</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Вид</string>
|
||||
<string name="grid">Сетка</string>
|
||||
<string name="list">Список</string>
|
||||
<string name="group_direct_subfolders">Объединять вложенные папки</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Iný priečinok</string>
|
||||
<string name="show_on_map">Zobraziť na mape</string>
|
||||
<string name="unknown_location">Neznáma poloha</string>
|
||||
<string name="increase_column_count">Zvýšiť počet stĺpcov</string>
|
||||
<string name="reduce_column_count">Znížiť počet stĺpcov</string>
|
||||
<string name="change_cover_image">Zmeniť obal albumu</string>
|
||||
<string name="select_photo">Zvoliť foto</string>
|
||||
<string name="volume">Hlasitosť</string>
|
||||
<string name="brightness">Jas</string>
|
||||
<string name="lock_orientation">Uzamknúť otočenie obrazovky</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Pre prezentáciu sa nenašli žiadne vhodné súbory</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Zmeniť typ zobrazenia</string>
|
||||
<string name="grid">Mriežka</string>
|
||||
<string name="list">Zoznam</string>
|
||||
<string name="group_direct_subfolders">Zlúčiť priame podpriečinky</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Druga mapa</string>
|
||||
<string name="show_on_map">Prikaži na zemljevidu</string>
|
||||
<string name="unknown_location">Neznana lokacija</string>
|
||||
<string name="increase_column_count">Povečaj število stolpcev</string>
|
||||
<string name="reduce_column_count">Zmanjšaj število stolpcev</string>
|
||||
<string name="change_cover_image">Spremeni naslovno fotografijo</string>
|
||||
<string name="select_photo">Izberi fotografijo</string>
|
||||
<string name="volume">Glasnost</string>
|
||||
<string name="brightness">Svetlost</string>
|
||||
<string name="lock_orientation">Zakleni usmerjenost</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Ne najdem datotek za diaprojekcijo</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Spremeni tip pogleda</string>
|
||||
<string name="grid">Mreža</string>
|
||||
<string name="list">Seznam</string>
|
||||
<string name="group_direct_subfolders">Združi neposredne podmape</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Друга фасцикла</string>
|
||||
<string name="show_on_map">Прикажи на мапи</string>
|
||||
<string name="unknown_location">Непозната локација</string>
|
||||
<string name="increase_column_count">Повећај број колона</string>
|
||||
<string name="reduce_column_count">Смањи број колона</string>
|
||||
<string name="change_cover_image">Промени насловну слику</string>
|
||||
<string name="select_photo">Изабери фотографију</string>
|
||||
<string name="volume">Јачина звука</string>
|
||||
<string name="brightness">Осветљење</string>
|
||||
<string name="lock_orientation">Закључај оријентацију</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Нису пронађени медији за слајдшоу</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Промени тип прегледа</string>
|
||||
<string name="grid">Мрежа</string>
|
||||
<string name="list">Листа</string>
|
||||
<string name="group_direct_subfolders">Групирај директне подфасцикле</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Annan mapp</string>
|
||||
<string name="show_on_map">Visa på karta</string>
|
||||
<string name="unknown_location">Okänd plats</string>
|
||||
<string name="increase_column_count">Öka antalet kolumner</string>
|
||||
<string name="reduce_column_count">Minska antalet kolumner</string>
|
||||
<string name="change_cover_image">Byt omslagsbild</string>
|
||||
<string name="select_photo">Välj foto</string>
|
||||
<string name="volume">Volym</string>
|
||||
<string name="brightness">Ljusstyrka</string>
|
||||
<string name="lock_orientation">Aktivera rotationslås</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Ingen media hittades för bildspelet</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Ändra vy</string>
|
||||
<string name="grid">Rutnät</string>
|
||||
<string name="list">Lista</string>
|
||||
<string name="group_direct_subfolders">Gruppera direkta undermappar</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Diğer klasör</string>
|
||||
<string name="show_on_map">Haritada göster</string>
|
||||
<string name="unknown_location">Bilinmeyen konum</string>
|
||||
<string name="increase_column_count">Sütun sayısını artır</string>
|
||||
<string name="reduce_column_count">Sütun sayısını azalt</string>
|
||||
<string name="change_cover_image">Kapak resmini değiştir</string>
|
||||
<string name="select_photo">Fotoğraf seç</string>
|
||||
<string name="volume">Ses</string>
|
||||
<string name="brightness">Parlaklık</string>
|
||||
<string name="lock_orientation">Yönü kilitle</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Slayt gösterisi için medya bulunamadı</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Görünüm türünü değiştir</string>
|
||||
<string name="grid">Izgara</string>
|
||||
<string name="list">Liste</string>
|
||||
<string name="group_direct_subfolders">Doğrudan alt klasörleri gruplandır</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Інша тека</string>
|
||||
<string name="show_on_map">Показати на мапі</string>
|
||||
<string name="unknown_location">Невідоме розташування</string>
|
||||
<string name="increase_column_count">Збільшити кількість колонок</string>
|
||||
<string name="reduce_column_count">Зменшити кількість колонок</string>
|
||||
<string name="change_cover_image">Змінити обкладинку</string>
|
||||
<string name="select_photo">Вибрати фото</string>
|
||||
<string name="volume">Об\'єм</string>
|
||||
<string name="brightness">Яскравість</string>
|
||||
<string name="lock_orientation">Закріпити орієнтацію</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Не знайдено медіафайлів для показу у слайдшоу</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Змінити тип перегляду</string>
|
||||
<string name="grid">Сітка</string>
|
||||
<string name="list">Список</string>
|
||||
<string name="group_direct_subfolders">Групувати безпосередні підтеки</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">Thư mục khác</string>
|
||||
<string name="show_on_map">Hiển thị trên bản đồ</string>
|
||||
<string name="unknown_location">Vị trí không xác định</string>
|
||||
<string name="increase_column_count">Tăng số lượng cột</string>
|
||||
<string name="reduce_column_count">Giảm số lượng cột</string>
|
||||
<string name="change_cover_image">Thay đổi ảnh bìa</string>
|
||||
<string name="select_photo">Chọn ảnh</string>
|
||||
<string name="volume">Âm lượng</string>
|
||||
<string name="brightness">Độ sáng</string>
|
||||
<string name="lock_orientation">Khóa xoay màn hình</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">Không có tập tin phương tiện cho trình chiếu được tìm thấy</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Thay đổi kiểu xem</string>
|
||||
<string name="grid">Lưới</string>
|
||||
<string name="list">Danh sách</string>
|
||||
<string name="group_direct_subfolders">Nhóm thư mục con trực tiếp</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">其他文件夹</string>
|
||||
<string name="show_on_map">在地图上显示</string>
|
||||
<string name="unknown_location">未知位置</string>
|
||||
<string name="increase_column_count">显示更多项目</string>
|
||||
<string name="reduce_column_count">显示更少项目</string>
|
||||
<string name="change_cover_image">更换封面图片</string>
|
||||
<string name="select_photo">选择图片</string>
|
||||
<string name="volume">音量</string>
|
||||
<string name="brightness">亮度</string>
|
||||
<string name="lock_orientation">锁定屏幕方向</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">没有找到可播放幻灯片媒体文件</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">更改视图类型</string>
|
||||
<string name="grid">网格</string>
|
||||
<string name="list">列表</string>
|
||||
<string name="group_direct_subfolders">直接分组文件夹</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
<string name="other_folder">其他資料夾</string>
|
||||
<string name="show_on_map">在地圖上顯示</string>
|
||||
<string name="unknown_location">未知的位置</string>
|
||||
<string name="increase_column_count">增加欄數</string>
|
||||
<string name="reduce_column_count">減少欄數</string>
|
||||
<string name="change_cover_image">更換封面圖片</string>
|
||||
<string name="select_photo">選擇相片</string>
|
||||
<string name="volume">音量</string>
|
||||
<string name="brightness">亮度</string>
|
||||
<string name="lock_orientation">鎖定方向</string>
|
||||
|
@ -125,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">找不到投影片的媒體檔案</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">改變瀏覽類型</string>
|
||||
<string name="grid">格狀</string>
|
||||
<string name="list">列表</string>
|
||||
<string name="group_direct_subfolders">歸類子資料夾</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -15,12 +15,6 @@
|
|||
<string name="other_folder">Other folder</string>
|
||||
<string name="show_on_map">Show on map</string>
|
||||
<string name="unknown_location">Unknown location</string>
|
||||
<string name="increase_column_count">Increase column count</string>
|
||||
<string name="reduce_column_count">Reduce column count</string>
|
||||
<string name="set_as_default_folder">Set as default folder</string>
|
||||
<string name="unset_as_default_folder">Unset as default folder</string>
|
||||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="brightness">Brightness</string>
|
||||
<string name="lock_orientation">Lock orientation</string>
|
||||
|
@ -127,9 +121,6 @@
|
|||
<string name="no_media_for_slideshow">No media for the slideshow have been found</string>
|
||||
|
||||
<!-- View types -->
|
||||
<string name="change_view_type">Change view type</string>
|
||||
<string name="grid">Grid</string>
|
||||
<string name="list">List</string>
|
||||
<string name="group_direct_subfolders">Group direct subfolders</string>
|
||||
|
||||
<!-- Grouping at media thumbnails -->
|
||||
|
|
|
@ -13,10 +13,12 @@ import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_STORAGE
|
|||
import com.simplemobiletools.commons.helpers.REAL_FILE_PATH
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.helpers.isNougatPlus
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
import com.simplemobiletools.gallery.pro.R
|
||||
import com.simplemobiletools.gallery.pro.dialogs.SaveAsDialog
|
||||
import com.simplemobiletools.gallery.pro.extensions.config
|
||||
import com.simplemobiletools.gallery.pro.extensions.fixDateTaken
|
||||
import com.simplemobiletools.gallery.pro.extensions.tryDeleteFileDirItem
|
||||
import ly.img.android.pesdk.PhotoEditorSettingsList
|
||||
import ly.img.android.pesdk.assets.filter.basic.FilterPackBasic
|
||||
import ly.img.android.pesdk.assets.font.basic.FontPackBasic
|
||||
|
@ -134,42 +136,44 @@ class NewEditActivity : SimpleActivity() {
|
|||
storeOldExif(source)
|
||||
sourceFileLastModified = File(source).lastModified()
|
||||
|
||||
var inputStream: InputStream? = null
|
||||
var outputStream: OutputStream? = null
|
||||
try {
|
||||
inputStream = contentResolver.openInputStream(Uri.parse(resultPath))
|
||||
outputStream = getFileOutputStreamSync(destinationFilePath, destinationFilePath.getMimeType())
|
||||
inputStream!!.copyTo(outputStream!!)
|
||||
outputStream.flush()
|
||||
inputStream.close()
|
||||
outputStream.close()
|
||||
|
||||
handleFileOverwriting(destinationFilePath) {
|
||||
var inputStream: InputStream? = null
|
||||
var outputStream: OutputStream? = null
|
||||
try {
|
||||
if (isNougatPlus()) {
|
||||
val newExif = ExifInterface(destinationFilePath)
|
||||
oldExif?.copyTo(newExif, false)
|
||||
inputStream = contentResolver.openInputStream(Uri.parse(resultPath))
|
||||
outputStream = getFileOutputStreamSync(destinationFilePath, destinationFilePath.getMimeType())
|
||||
inputStream!!.copyTo(outputStream!!)
|
||||
outputStream.flush()
|
||||
inputStream.close()
|
||||
outputStream.close()
|
||||
|
||||
try {
|
||||
if (isNougatPlus()) {
|
||||
val newExif = ExifInterface(destinationFilePath)
|
||||
oldExif?.copyTo(newExif, false)
|
||||
}
|
||||
} catch (ignored: Exception) {
|
||||
}
|
||||
} catch (ignored: Exception) {
|
||||
}
|
||||
|
||||
if (config.keepLastModified) {
|
||||
// add 1 s to the last modified time to properly update the thumbnail
|
||||
updateLastModified(destinationFilePath, sourceFileLastModified + 1000)
|
||||
}
|
||||
if (config.keepLastModified) {
|
||||
// add 1 s to the last modified time to properly update the thumbnail
|
||||
updateLastModified(destinationFilePath, sourceFileLastModified + 1000)
|
||||
}
|
||||
|
||||
val paths = arrayListOf(destinationFilePath)
|
||||
rescanPaths(arrayListOf(destinationFilePath)) {
|
||||
fixDateTaken(paths, false)
|
||||
}
|
||||
val paths = arrayListOf(destinationFilePath)
|
||||
rescanPaths(arrayListOf(destinationFilePath)) {
|
||||
fixDateTaken(paths, false)
|
||||
}
|
||||
|
||||
setResult(Activity.RESULT_OK, intent)
|
||||
toast(R.string.file_edited_successfully)
|
||||
finish()
|
||||
} catch (e: Exception) {
|
||||
showErrorToast(e)
|
||||
} finally {
|
||||
inputStream?.close()
|
||||
outputStream?.close()
|
||||
setResult(Activity.RESULT_OK, intent)
|
||||
toast(R.string.file_edited_successfully)
|
||||
finish()
|
||||
} catch (e: Exception) {
|
||||
showErrorToast(e)
|
||||
} finally {
|
||||
inputStream?.close()
|
||||
outputStream?.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -197,6 +201,23 @@ class NewEditActivity : SimpleActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
// in case the user wants to overwrite the original file and it is on an SD card, delete it manually. Else the system just appends (1)
|
||||
private fun handleFileOverwriting(path: String, callback: () -> Unit) {
|
||||
if (getDoesFilePathExist(path) && isPathOnSD(path)) {
|
||||
val fileDirItem = FileDirItem(path, path.getFilenameFromPath())
|
||||
tryDeleteFileDirItem(fileDirItem, false, true) { success ->
|
||||
if (success) {
|
||||
callback()
|
||||
} else {
|
||||
toast(R.string.unknown_error_occurred)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
private fun openEditor(inputImage: Uri) {
|
||||
val settingsList = createPesdkSettingsList()
|
||||
|
||||
|
|
3
fastlane/metadata/android/en-US/changelogs/324.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/324.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
* Added some hidden folder handling related improvements
|
||||
* Fixed saving files on the SD card after editing
|
||||
* Couple other UX, translation and performance improvements
|
Loading…
Reference in a new issue