mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2024-11-22 20:48:00 +01:00
Merge branch 'master' of github.com:SimpleMobileTools/Simple-Gallery into master
This commit is contained in:
commit
273ac6bd01
67 changed files with 311 additions and 469 deletions
20
CHANGELOG.md
20
CHANGELOG.md
|
@ -1,6 +1,26 @@
|
|||
Changelog
|
||||
==========
|
||||
|
||||
Version 6.17.1 *(2020-11-03)*
|
||||
----------------------------
|
||||
|
||||
* Reverting to the previous UI of the main screen, but keep rounded corners at list view
|
||||
* Some UI and stability improvements
|
||||
|
||||
Version 6.17.0 *(2020-11-02)*
|
||||
----------------------------
|
||||
|
||||
* Redesigning the main folders screen, try making it moderner (!)
|
||||
* Fix some glitches with deep zoomable fullscreen images not loading in well
|
||||
* Couple other UX, stability and translation improvements
|
||||
|
||||
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 326
|
||||
versionName "6.17.1"
|
||||
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.19'
|
||||
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,6 +15,7 @@ import com.simplemobiletools.gallery.pro.R
|
|||
import com.simplemobiletools.gallery.pro.dialogs.PickDirectoryDialog
|
||||
import com.simplemobiletools.gallery.pro.extensions.*
|
||||
import com.simplemobiletools.gallery.pro.helpers.MyWidgetProvider
|
||||
import com.simplemobiletools.gallery.pro.helpers.ROUNDED_CORNERS_NONE
|
||||
import com.simplemobiletools.gallery.pro.models.Directory
|
||||
import com.simplemobiletools.gallery.pro.models.Widget
|
||||
import kotlinx.android.synthetic.main.activity_widget_config.*
|
||||
|
@ -166,7 +167,7 @@ class WidgetConfigureActivity : SimpleActivity() {
|
|||
val path = directoryDao.getDirectoryThumbnail(folderPath)
|
||||
if (path != null) {
|
||||
runOnUiThread {
|
||||
loadJpg(path, config_image, config.cropThumbnails)
|
||||
loadJpg(path, config_image, config.cropThumbnails, ROUNDED_CORNERS_NONE)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -38,7 +35,6 @@ import kotlinx.android.synthetic.main.directory_item_grid.view.dir_lock
|
|||
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_name
|
||||
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_pin
|
||||
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_thumbnail
|
||||
import kotlinx.android.synthetic.main.directory_item_grid.view.photo_cnt
|
||||
import kotlinx.android.synthetic.main.directory_item_list.view.*
|
||||
import java.io.File
|
||||
|
||||
|
@ -305,7 +301,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 +475,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)
|
||||
}
|
||||
|
@ -687,7 +683,8 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||
dir_lock.applyColorFilter(config.backgroundColor.getContrastColor())
|
||||
} else {
|
||||
dir_lock.beGone()
|
||||
activity.loadImage(thumbnailType, directory.tmb, dir_thumbnail, scrollHorizontally, animateGifs, cropThumbnails)
|
||||
val roundedCorners = if (isListViewType) ROUNDED_CORNERS_SMALL else ROUNDED_CORNERS_NONE
|
||||
activity.loadImage(thumbnailType, directory.tmb, dir_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners)
|
||||
}
|
||||
|
||||
dir_pin.beVisibleIf(pinnedFolders.contains(directory.path))
|
||||
|
|
|
@ -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
|
||||
|
@ -370,10 +371,10 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
|
|||
}
|
||||
|
||||
val shortcut = ShortcutInfo.Builder(activity, path)
|
||||
.setShortLabel(path.getFilenameFromPath())
|
||||
.setIcon(Icon.createWithBitmap(drawable.convertToBitmap()))
|
||||
.setIntent(intent)
|
||||
.build()
|
||||
.setShortLabel(path.getFilenameFromPath())
|
||||
.setIcon(Icon.createWithBitmap(drawable.convertToBitmap()))
|
||||
.setIntent(intent)
|
||||
.build()
|
||||
|
||||
manager.requestPinShortcut(shortcut, null)
|
||||
}
|
||||
|
@ -541,15 +542,16 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
|
|||
path = path.getOTGPublicPath(context)
|
||||
}
|
||||
|
||||
val roundedCorners = if (isListViewType) ROUNDED_CORNERS_SMALL else ROUNDED_CORNERS_NONE
|
||||
if (loadImageInstantly) {
|
||||
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, rotatedImagePaths)
|
||||
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners, rotatedImagePaths)
|
||||
} else {
|
||||
medium_thumbnail.setImageDrawable(null)
|
||||
medium_thumbnail.isHorizontalScrolling = scrollHorizontally
|
||||
delayHandler.postDelayed({
|
||||
val isVisible = visibleItemPaths.contains(medium.path)
|
||||
if (isVisible) {
|
||||
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, rotatedImagePaths)
|
||||
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, roundedCorners, rotatedImagePaths)
|
||||
}
|
||||
}, IMAGE_LOAD_DELAY)
|
||||
}
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -14,6 +14,8 @@ import com.bumptech.glide.Glide
|
|||
import com.bumptech.glide.Priority
|
||||
import com.bumptech.glide.load.DecodeFormat
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
|
@ -304,35 +306,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 +377,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
|
||||
|
@ -391,17 +398,17 @@ fun Context.getFolderNameFromPath(path: String): String {
|
|||
}
|
||||
|
||||
fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizontalScroll: Boolean, animateGifs: Boolean, cropThumbnails: Boolean,
|
||||
skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
target.isHorizontalScrolling = horizontalScroll
|
||||
if (type == TYPE_IMAGES || type == TYPE_VIDEOS || type == TYPE_RAWS || type == TYPE_PORTRAITS) {
|
||||
if (type == TYPE_IMAGES && path.isPng()) {
|
||||
loadPng(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
||||
loadPng(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||
} else {
|
||||
loadJpg(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
||||
loadJpg(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||
}
|
||||
} else if (type == TYPE_GIFS) {
|
||||
if (!animateGifs) {
|
||||
loadStaticGIF(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
||||
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -412,12 +419,12 @@ fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizo
|
|||
|
||||
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
|
||||
} catch (e: Exception) {
|
||||
loadStaticGIF(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
||||
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||
} catch (e: OutOfMemoryError) {
|
||||
loadStaticGIF(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
||||
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||
}
|
||||
} else if (type == TYPE_SVGS) {
|
||||
loadSVG(path, target, cropThumbnails)
|
||||
loadSVG(path, target, cropThumbnails, roundCorners)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -442,7 +449,7 @@ fun Context.getPathLocation(path: String): Int {
|
|||
}
|
||||
}
|
||||
|
||||
fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
val options = RequestOptions()
|
||||
.signature(path.getFileSignature())
|
||||
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
||||
|
@ -450,57 +457,83 @@ fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boo
|
|||
.priority(Priority.LOW)
|
||||
.format(DecodeFormat.PREFER_ARGB_8888)
|
||||
|
||||
val builder = Glide.with(applicationContext)
|
||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||
var builder = Glide.with(applicationContext)
|
||||
.asBitmap()
|
||||
.load(path)
|
||||
.apply(options)
|
||||
|
||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||
builder.apply(options).into(target)
|
||||
if (roundCorners != ROUNDED_CORNERS_NONE) {
|
||||
val cornerSize = if (roundCorners == ROUNDED_CORNERS_SMALL) R.dimen.rounded_corner_radius_small else R.dimen.rounded_corner_radius_big
|
||||
val cornerRadius = resources.getDimension(cornerSize).toInt()
|
||||
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||
}
|
||||
|
||||
builder.into(target)
|
||||
}
|
||||
|
||||
fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
val options = RequestOptions()
|
||||
.signature(path.getFileSignature())
|
||||
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
||||
.priority(Priority.LOW)
|
||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||
|
||||
val builder = Glide.with(applicationContext)
|
||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||
var builder = Glide.with(applicationContext)
|
||||
.load(path)
|
||||
|
||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||
builder.apply(options)
|
||||
.apply(options)
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.into(target)
|
||||
|
||||
if (roundCorners != ROUNDED_CORNERS_NONE) {
|
||||
val cornerSize = if (roundCorners == ROUNDED_CORNERS_SMALL) R.dimen.rounded_corner_radius_small else R.dimen.rounded_corner_radius_big
|
||||
val cornerRadius = resources.getDimension(cornerSize).toInt()
|
||||
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||
}
|
||||
|
||||
builder.into(target)
|
||||
}
|
||||
|
||||
fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnails: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||
val options = RequestOptions()
|
||||
.signature(path.getFileSignature())
|
||||
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
||||
.priority(Priority.LOW)
|
||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||
|
||||
val builder = Glide.with(applicationContext)
|
||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||
var builder = Glide.with(applicationContext)
|
||||
.asBitmap() // make sure the GIF wont animate
|
||||
.load(path)
|
||||
.apply(options)
|
||||
|
||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||
builder.apply(options)
|
||||
.into(target)
|
||||
if (roundCorners != ROUNDED_CORNERS_NONE) {
|
||||
val cornerSize = if (roundCorners == ROUNDED_CORNERS_SMALL) R.dimen.rounded_corner_radius_small else R.dimen.rounded_corner_radius_big
|
||||
val cornerRadius = resources.getDimension(cornerSize).toInt()
|
||||
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||
}
|
||||
|
||||
builder.into(target)
|
||||
}
|
||||
|
||||
fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boolean) {
|
||||
fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Int) {
|
||||
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
|
||||
|
||||
val options = RequestOptions().signature(path.getFileSignature())
|
||||
Glide.with(applicationContext)
|
||||
var builder = Glide.with(applicationContext)
|
||||
.`as`(PictureDrawable::class.java)
|
||||
.listener(SvgSoftwareLayerSetter())
|
||||
.load(path)
|
||||
.apply(options)
|
||||
.transition(DrawableTransitionOptions.withCrossFade())
|
||||
.into(target)
|
||||
|
||||
if (roundCorners != ROUNDED_CORNERS_NONE) {
|
||||
val cornerSize = if (roundCorners == ROUNDED_CORNERS_SMALL) R.dimen.rounded_corner_radius_small else R.dimen.rounded_corner_radius_big
|
||||
val cornerRadius = resources.getDimension(cornerSize).toInt()
|
||||
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||
}
|
||||
|
||||
builder.into(target)
|
||||
}
|
||||
|
||||
fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly: Boolean = false, forceShowHidden: Boolean = false, callback: (ArrayList<Directory>) -> Unit) {
|
||||
|
@ -519,10 +552,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 +576,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 +842,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 +866,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 +908,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 +929,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
|
||||
|
@ -225,3 +221,7 @@ const val LOW_TILE_DPI = 160
|
|||
const val NORMAL_TILE_DPI = 220
|
||||
const val WEIRD_TILE_DPI = 240
|
||||
const val HIGH_TILE_DPI = 280
|
||||
|
||||
const val ROUNDED_CORNERS_NONE = 1
|
||||
const val ROUNDED_CORNERS_SMALL = 2
|
||||
const val ROUNDED_CORNERS_BIG = 3
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -20,7 +20,7 @@ class MyGlideImageDecoder(val degrees: Int, val signature: ObjectKey) : ImageDec
|
|||
|
||||
val builder = Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(uri)
|
||||
.load(uri.toString().substringAfter("file://"))
|
||||
.apply(options)
|
||||
.transform(RotateTransformation(-degrees))
|
||||
.into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<corners android:radius="@dimen/small_margin" />
|
||||
|
||||
<solid android:color="@color/gradient_grey_start" />
|
||||
|
||||
</shape>
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/directories_refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -19,22 +18,22 @@
|
|||
android:gravity="center"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:text="@string/switch_to_file_search"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/directories_empty_placeholder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/directories_switch_searching"
|
||||
android:gravity="center_horizontal"
|
||||
android:alpha="0.8"
|
||||
android:textStyle="italic"
|
||||
android:gravity="center_horizontal"
|
||||
android:paddingStart="@dimen/activity_margin"
|
||||
android:paddingTop="@dimen/activity_margin"
|
||||
android:paddingEnd="@dimen/activity_margin"
|
||||
android:text="@string/no_media_with_filters"
|
||||
android:textSize="@dimen/bigger_text_size"
|
||||
android:visibility="gone"/>
|
||||
android:textStyle="italic"
|
||||
android:visibility="gone" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/directories_empty_placeholder_2"
|
||||
|
@ -46,7 +45,7 @@
|
|||
android:padding="@dimen/activity_margin"
|
||||
android:text="@string/change_filters_underlined"
|
||||
android:textSize="@dimen/bigger_text_size"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<com.simplemobiletools.commons.views.MyRecyclerView
|
||||
android:id="@+id/directories_grid"
|
||||
|
@ -55,7 +54,7 @@
|
|||
android:layout_below="@+id/directories_switch_searching"
|
||||
android:scrollbars="none"
|
||||
app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager"
|
||||
app:spanCount="@integer/directory_columns_vertical_scroll"/>
|
||||
app:spanCount="@integer/directory_columns_vertical_scroll" />
|
||||
|
||||
<com.simplemobiletools.commons.views.FastScroller
|
||||
android:id="@+id/directories_vertical_fastscroller"
|
||||
|
@ -66,7 +65,7 @@
|
|||
android:paddingStart="@dimen/normal_margin"
|
||||
android:visibility="gone">
|
||||
|
||||
<include layout="@layout/fastscroller_handle_vertical"/>
|
||||
<include layout="@layout/fastscroller_handle_vertical" />
|
||||
|
||||
</com.simplemobiletools.commons.views.FastScroller>
|
||||
|
||||
|
@ -79,7 +78,7 @@
|
|||
android:paddingTop="@dimen/normal_margin"
|
||||
android:visibility="gone">
|
||||
|
||||
<include layout="@layout/fastscroller_handle_horizontal"/>
|
||||
<include layout="@layout/fastscroller_handle_horizontal" />
|
||||
|
||||
</com.simplemobiletools.commons.views.FastScroller>
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/dir_holder"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -11,7 +10,7 @@
|
|||
<com.simplemobiletools.gallery.pro.views.MySquareImageView
|
||||
android:id="@+id/dir_thumbnail"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dir_lock"
|
||||
|
@ -26,7 +25,7 @@
|
|||
android:contentDescription="@string/lock_folder"
|
||||
android:padding="@dimen/lock_padding"
|
||||
android:src="@drawable/ic_lock_vector"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dir_check"
|
||||
|
@ -40,7 +39,7 @@
|
|||
android:contentDescription="@null"
|
||||
android:padding="@dimen/tiny_margin"
|
||||
android:src="@drawable/ic_check_vector"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dir_pin"
|
||||
|
@ -53,7 +52,7 @@
|
|||
android:contentDescription="@string/pin"
|
||||
android:padding="@dimen/small_margin"
|
||||
android:src="@drawable/ic_pin"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/dir_shadow_holder"
|
||||
|
@ -63,7 +62,7 @@
|
|||
android:layout_alignEnd="@+id/dir_bottom_holder"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@drawable/gradient_background"
|
||||
android:contentDescription="@null"/>
|
||||
android:contentDescription="@null" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/dir_bottom_holder"
|
||||
|
@ -89,14 +88,14 @@
|
|||
android:shadowColor="@color/default_background_color"
|
||||
android:shadowRadius="4"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/normal_text_size"/>
|
||||
android:textSize="@dimen/normal_text_size" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/photo_cnt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/normal_text_size"/>
|
||||
android:textSize="@dimen/normal_text_size" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -111,6 +110,6 @@
|
|||
android:paddingEnd="@dimen/small_margin"
|
||||
android:paddingBottom="@dimen/small_margin"
|
||||
android:src="@drawable/ic_sd_card_vector"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/photo_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
@ -9,7 +9,7 @@
|
|||
<com.alexvasilkov.gestures.GestureImageView
|
||||
android:id="@+id/gestures_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<com.alexvasilkov.gestures.GestureFrameLayout
|
||||
android:id="@+id/gif_view_frame"
|
||||
|
@ -22,7 +22,7 @@
|
|||
android:id="@+id/gif_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="fitCenter"/>
|
||||
android:scaleType="fitCenter" />
|
||||
|
||||
</com.alexvasilkov.gestures.GestureFrameLayout>
|
||||
|
||||
|
@ -30,17 +30,17 @@
|
|||
android:id="@+id/subsampling_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/panorama_outline"
|
||||
android:layout_width="@dimen/play_outline_size_big"
|
||||
android:layout_height="@dimen/play_outline_size_big"
|
||||
android:layout_centerInParent="true"
|
||||
android:padding="20dp"
|
||||
android:contentDescription="@null"
|
||||
android:padding="20dp"
|
||||
android:src="@drawable/ic_panorama_outline"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/photo_details"
|
||||
|
@ -49,18 +49,18 @@
|
|||
android:layout_alignParentStart="true"
|
||||
android:layout_marginLeft="@dimen/small_margin"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@color/gradient_grey_start"
|
||||
android:background="@drawable/extended_details_background"
|
||||
android:padding="@dimen/small_margin"
|
||||
android:textColor="@color/theme_dark_text_color"
|
||||
android:textSize="@dimen/smaller_text_size"
|
||||
android:visibility="gone"
|
||||
tools:text="My image\nAnother line"/>
|
||||
tools:text="My image\nAnother line" />
|
||||
|
||||
<com.simplemobiletools.gallery.pro.views.MediaSideScroll
|
||||
android:id="@+id/photo_brightness_controller"
|
||||
android:layout_width="@dimen/media_side_slider_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentStart="true"/>
|
||||
android:layout_alignParentStart="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/slide_info"
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:paddingRight="@dimen/activity_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/extra_big_text_size"/>
|
||||
android:textSize="@dimen/extra_big_text_size" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/photo_portrait_stripe_wrapper"
|
||||
|
@ -99,12 +99,12 @@
|
|||
<com.simplemobiletools.gallery.pro.views.InstantItemSwitch
|
||||
android:id="@+id/instant_prev_item"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"/>
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<com.simplemobiletools.gallery.pro.views.InstantItemSwitch
|
||||
android:id="@+id/instant_next_item"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/video_holder"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -9,7 +8,7 @@
|
|||
<ImageView
|
||||
android:id="@+id/video_preview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<com.alexvasilkov.gestures.GestureFrameLayout
|
||||
android:id="@+id/video_surface_frame"
|
||||
|
@ -20,7 +19,7 @@
|
|||
android:id="@+id/video_surface"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"/>
|
||||
android:layout_centerInParent="true" />
|
||||
|
||||
</com.alexvasilkov.gestures.GestureFrameLayout>
|
||||
|
||||
|
@ -28,12 +27,12 @@
|
|||
android:id="@+id/video_volume_controller"
|
||||
android:layout_width="@dimen/media_side_slider_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
android:layout_alignParentEnd="true" />
|
||||
|
||||
<com.simplemobiletools.gallery.pro.views.MediaSideScroll
|
||||
android:id="@+id/video_brightness_controller"
|
||||
android:layout_width="@dimen/media_side_slider_width"
|
||||
android:layout_height="match_parent"/>
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/video_play_outline"
|
||||
|
@ -41,7 +40,7 @@
|
|||
android:layout_height="@dimen/play_outline_size_big"
|
||||
android:layout_centerInParent="true"
|
||||
android:padding="20dp"
|
||||
android:src="@drawable/ic_play_outline_vector"/>
|
||||
android:src="@drawable/ic_play_outline_vector" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/panorama_outline"
|
||||
|
@ -50,7 +49,7 @@
|
|||
android:layout_centerInParent="true"
|
||||
android:padding="20dp"
|
||||
android:src="@drawable/ic_panorama_outline"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/video_details"
|
||||
|
@ -59,14 +58,14 @@
|
|||
android:layout_alignParentStart="true"
|
||||
android:layout_marginLeft="@dimen/small_margin"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@color/gradient_grey_start"
|
||||
android:background="@drawable/extended_details_background"
|
||||
android:padding="@dimen/small_margin"
|
||||
android:textColor="@color/theme_dark_text_color"
|
||||
android:textSize="@dimen/smaller_text_size"
|
||||
android:visibility="gone"
|
||||
tools:text="My video\nAnother line"/>
|
||||
tools:text="My video\nAnother line" />
|
||||
|
||||
<include layout="@layout/bottom_video_time_holder"/>
|
||||
<include layout="@layout/bottom_video_time_holder" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/slide_info"
|
||||
|
@ -83,6 +82,6 @@
|
|||
android:paddingRight="@dimen/activity_margin"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/extra_big_text_size"/>
|
||||
android:textSize="@dimen/extra_big_text_size" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -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">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="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">Set as default folder</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">Set as default folder</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">Set as default folder</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">Set as default folder</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">Set as default folder</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">Set as default folder</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 -->
|
||||
|
|
|
@ -22,5 +22,5 @@
|
|||
<dimen name="default_status_action_height">86dp</dimen>
|
||||
<dimen name="widget_initial_size">110dp</dimen>
|
||||
<dimen name="full_brush_size">40dp</dimen>
|
||||
<dimen name="lock_padding">40dp</dimen>
|
||||
<dimen name="lock_padding">30dp</dimen>
|
||||
</resources>
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ buildscript {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.0.2'
|
||||
classpath 'com.android.tools.build:gradle:4.1.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
if (is_proprietary) {
|
||||
classpath 'ly.img.android.pesdk:plugin:8.0.2'
|
||||
|
|
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
|
3
fastlane/metadata/android/en-US/changelogs/325.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/325.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
* Redesigning the main folders screen, try making it moderner (!)
|
||||
* Fix some glitches with deep zoomable fullscreen images not loading in well
|
||||
* Couple other UX, stability and translation improvements
|
2
fastlane/metadata/android/en-US/changelogs/326.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/326.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
* Reverting to the previous UI of the main screen, but keep rounded corners at list view
|
||||
* Some UI and stability improvements
|
Binary file not shown.
Before Width: | Height: | Size: 514 KiB After Width: | Height: | Size: 424 KiB |
Binary file not shown.
Before Width: | Height: | Size: 910 KiB After Width: | Height: | Size: 279 KiB |
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
#Fri Jun 19 14:12:24 CEST 2020
|
||||
#Tue Nov 03 10:00:17 CET 2020
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
|
||||
|
|
Loading…
Reference in a new issue