commit
902c381321
36 changed files with 385 additions and 165 deletions
|
@ -43,7 +43,7 @@ ext {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.simplemobiletools:commons:3.8.11'
|
implementation 'com.simplemobiletools:commons:3.8.12'
|
||||||
implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.0'
|
implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.0'
|
||||||
implementation 'com.android.support:multidex:1.0.2'
|
implementation 'com.android.support:multidex:1.0.2'
|
||||||
implementation 'com.google.code.gson:gson:2.8.2'
|
implementation 'com.google.code.gson:gson:2.8.2'
|
||||||
|
|
|
@ -239,8 +239,9 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getDirectories() {
|
private fun getDirectories() {
|
||||||
if (mIsGettingDirs)
|
if (mIsGettingDirs) {
|
||||||
return
|
return
|
||||||
|
}
|
||||||
|
|
||||||
mIsGettingDirs = true
|
mIsGettingDirs = true
|
||||||
val dirs = getCachedDirectories()
|
val dirs = getCachedDirectories()
|
||||||
|
|
|
@ -42,7 +42,7 @@ import java.io.File
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
||||||
private val SAVE_MEDIA_CNT = 100
|
private val SAVE_MEDIA_CNT = 80
|
||||||
private val LAST_MEDIA_CHECK_PERIOD = 3000L
|
private val LAST_MEDIA_CHECK_PERIOD = 3000L
|
||||||
|
|
||||||
private var mPath = ""
|
private var mPath = ""
|
||||||
|
@ -611,9 +611,14 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
||||||
|
|
||||||
private fun storeFolder() {
|
private fun storeFolder() {
|
||||||
if (!config.temporarilyShowHidden) {
|
if (!config.temporarilyShowHidden) {
|
||||||
val subList = mMedia.subList(0, Math.min(SAVE_MEDIA_CNT, mMedia.size))
|
Thread {
|
||||||
val json = Gson().toJson(subList)
|
try {
|
||||||
config.saveFolderMedia(mPath, json)
|
val subList = mMedia.subList(0, Math.min(SAVE_MEDIA_CNT, mMedia.size))
|
||||||
|
val json = Gson().toJson(subList)
|
||||||
|
config.saveFolderMedia(mPath, json)
|
||||||
|
} catch (ignored: OutOfMemoryError) {
|
||||||
|
}
|
||||||
|
}.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,9 @@ class SettingsActivity : SimpleActivity() {
|
||||||
setupShowInfoBubble()
|
setupShowInfoBubble()
|
||||||
setupOneFingerZoom()
|
setupOneFingerZoom()
|
||||||
setupAllowInstantChange()
|
setupAllowInstantChange()
|
||||||
|
setupReplaceZoomableImages()
|
||||||
setupShowExtendedDetails()
|
setupShowExtendedDetails()
|
||||||
|
setupHideExtendedDetails()
|
||||||
setupManageExtendedDetails()
|
setupManageExtendedDetails()
|
||||||
updateTextColors(settings_holder)
|
updateTextColors(settings_holder)
|
||||||
setupSectionColors()
|
setupSectionColors()
|
||||||
|
@ -64,7 +66,8 @@ class SettingsActivity : SimpleActivity() {
|
||||||
|
|
||||||
private fun setupSectionColors() {
|
private fun setupSectionColors() {
|
||||||
val adjustedPrimaryColor = getAdjustedPrimaryColor()
|
val adjustedPrimaryColor = getAdjustedPrimaryColor()
|
||||||
arrayListOf(visibility_label, videos_label, thumbnails_label, scrolling_label, fullscreen_media_label, security_label, file_operations_label).forEach {
|
arrayListOf(visibility_label, videos_label, thumbnails_label, scrolling_label, fullscreen_media_label, security_label,
|
||||||
|
file_operations_label, extended_details_label).forEach {
|
||||||
it.setTextColor(adjustedPrimaryColor)
|
it.setTextColor(adjustedPrimaryColor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -295,12 +298,30 @@ class SettingsActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setupReplaceZoomableImages() {
|
||||||
|
settings_replace_zoomable_images.isChecked = config.replaceZoomableImages
|
||||||
|
settings_replace_zoomable_images_holder.setOnClickListener {
|
||||||
|
settings_replace_zoomable_images.toggle()
|
||||||
|
config.replaceZoomableImages = settings_replace_zoomable_images.isChecked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupShowExtendedDetails() {
|
private fun setupShowExtendedDetails() {
|
||||||
settings_show_extended_details.isChecked = config.showExtendedDetails
|
settings_show_extended_details.isChecked = config.showExtendedDetails
|
||||||
settings_show_extended_details_holder.setOnClickListener {
|
settings_show_extended_details_holder.setOnClickListener {
|
||||||
settings_show_extended_details.toggle()
|
settings_show_extended_details.toggle()
|
||||||
config.showExtendedDetails = settings_show_extended_details.isChecked
|
config.showExtendedDetails = settings_show_extended_details.isChecked
|
||||||
settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails)
|
settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails)
|
||||||
|
settings_hide_extended_details_holder.beVisibleIf(config.showExtendedDetails)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun setupHideExtendedDetails() {
|
||||||
|
settings_hide_extended_details_holder.beVisibleIf(config.showExtendedDetails)
|
||||||
|
settings_hide_extended_details.isChecked = config.hideExtendedDetails
|
||||||
|
settings_hide_extended_details_holder.setOnClickListener {
|
||||||
|
settings_hide_extended_details.toggle()
|
||||||
|
config.hideExtendedDetails = settings_hide_extended_details.isChecked
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
private var mIsOrientationLocked = false
|
private var mIsOrientationLocked = false
|
||||||
|
|
||||||
private var mStoredUseEnglish = false
|
private var mStoredUseEnglish = false
|
||||||
|
private var mStoredReplaceZoomableImages = false
|
||||||
private var mMediaFiles = ArrayList<Medium>()
|
private var mMediaFiles = ArrayList<Medium>()
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -106,6 +107,11 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mStoredReplaceZoomableImages != config.replaceZoomableImages) {
|
||||||
|
mPrevHashcode = 0
|
||||||
|
refreshViewPager()
|
||||||
|
}
|
||||||
|
|
||||||
supportActionBar?.setBackgroundDrawable(resources.getDrawable(R.drawable.actionbar_gradient_background))
|
supportActionBar?.setBackgroundDrawable(resources.getDrawable(R.drawable.actionbar_gradient_background))
|
||||||
|
|
||||||
if (config.maxBrightness) {
|
if (config.maxBrightness) {
|
||||||
|
@ -204,7 +210,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reloadViewPager()
|
refreshViewPager()
|
||||||
scanPath(mPath)
|
scanPath(mPath)
|
||||||
|
|
||||||
if (config.blackBackground) {
|
if (config.blackBackground) {
|
||||||
|
@ -291,7 +297,10 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun storeStateVariables() {
|
private fun storeStateVariables() {
|
||||||
mStoredUseEnglish = config.useEnglish
|
config.apply {
|
||||||
|
mStoredUseEnglish = useEnglish
|
||||||
|
mStoredReplaceZoomableImages = replaceZoomableImages
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updatePagerItems(media: MutableList<Medium>) {
|
private fun updatePagerItems(media: MutableList<Medium>) {
|
||||||
|
@ -456,7 +465,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
tryCopyMoveFilesTo(files, isCopyOperation) {
|
tryCopyMoveFilesTo(files, isCopyOperation) {
|
||||||
config.tempFolderPath = ""
|
config.tempFolderPath = ""
|
||||||
if (!isCopyOperation) {
|
if (!isCopyOperation) {
|
||||||
reloadViewPager()
|
refreshViewPager()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -605,8 +614,9 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
|
|
||||||
private fun isShowHiddenFlagNeeded(): Boolean {
|
private fun isShowHiddenFlagNeeded(): Boolean {
|
||||||
val file = File(mPath)
|
val file = File(mPath)
|
||||||
if (file.isHidden)
|
if (file.isHidden) {
|
||||||
return true
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
var parent = file.parentFile ?: return false
|
var parent = file.parentFile ?: return false
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -692,7 +702,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
if (requestCode == REQUEST_EDIT_IMAGE) {
|
if (requestCode == REQUEST_EDIT_IMAGE) {
|
||||||
if (resultCode == Activity.RESULT_OK && resultData != null) {
|
if (resultCode == Activity.RESULT_OK && resultData != null) {
|
||||||
mPos = -1
|
mPos = -1
|
||||||
reloadViewPager()
|
refreshViewPager()
|
||||||
}
|
}
|
||||||
} else if (requestCode == REQUEST_SET_AS) {
|
} else if (requestCode == REQUEST_SET_AS) {
|
||||||
if (resultCode == Activity.RESULT_OK) {
|
if (resultCode == Activity.RESULT_OK) {
|
||||||
|
@ -719,7 +729,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
|
|
||||||
private fun deleteConfirmed() {
|
private fun deleteConfirmed() {
|
||||||
deleteFile(File(getCurrentMedia()[mPos].path)) {
|
deleteFile(File(getCurrentMedia()[mPos].path)) {
|
||||||
reloadViewPager()
|
refreshViewPager()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -758,7 +768,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun reloadViewPager() {
|
private fun refreshViewPager() {
|
||||||
GetMediaAsynctask(applicationContext, mDirectory, false, false, mShowAll) {
|
GetMediaAsynctask(applicationContext, mDirectory, false, false, mShowAll) {
|
||||||
gotMedia(it)
|
gotMedia(it)
|
||||||
}.execute()
|
}.execute()
|
||||||
|
|
|
@ -8,6 +8,7 @@ import android.graphics.Matrix
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.media.ExifInterface.*
|
import android.media.ExifInterface.*
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.os.AsyncTask
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -41,10 +42,13 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
private var isFragmentVisible = false
|
private var isFragmentVisible = false
|
||||||
private var isFullscreen = false
|
private var isFullscreen = false
|
||||||
private var wasInit = false
|
private var wasInit = false
|
||||||
private var storedShowExtendedDetails = false
|
private var imageOrientation = -1
|
||||||
private var storedExtendedDetails = 0
|
|
||||||
private var gifDrawable: GifDrawable? = null
|
private var gifDrawable: GifDrawable? = null
|
||||||
|
|
||||||
|
private var storedShowExtendedDetails = false
|
||||||
|
private var storedHideExtendedDetails = false
|
||||||
|
private var storedExtendedDetails = 0
|
||||||
|
|
||||||
lateinit var view: ViewGroup
|
lateinit var view: ViewGroup
|
||||||
lateinit var medium: Medium
|
lateinit var medium: Medium
|
||||||
|
|
||||||
|
@ -56,6 +60,7 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
instant_next_item.setOnClickListener { listener?.goToNextItem() }
|
instant_next_item.setOnClickListener { listener?.goToNextItem() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
storeStateVariables()
|
||||||
if (!isFragmentVisible && activity is PhotoActivity) {
|
if (!isFragmentVisible && activity is PhotoActivity) {
|
||||||
isFragmentVisible = true
|
isFragmentVisible = true
|
||||||
}
|
}
|
||||||
|
@ -102,8 +107,7 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
super.onPause()
|
super.onPause()
|
||||||
storedShowExtendedDetails = context!!.config.showExtendedDetails
|
storeStateVariables()
|
||||||
storedExtendedDetails = context!!.config.extendedDetails
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
@ -115,6 +119,7 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
val allowInstantChange = context!!.config.allowInstantChange
|
val allowInstantChange = context!!.config.allowInstantChange
|
||||||
view.instant_prev_item.beVisibleIf(allowInstantChange)
|
view.instant_prev_item.beVisibleIf(allowInstantChange)
|
||||||
view.instant_next_item.beVisibleIf(allowInstantChange)
|
view.instant_next_item.beVisibleIf(allowInstantChange)
|
||||||
|
storeStateVariables()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setMenuVisibility(menuVisible: Boolean) {
|
override fun setMenuVisibility(menuVisible: Boolean) {
|
||||||
|
@ -129,6 +134,14 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun storeStateVariables() {
|
||||||
|
context!!.config.apply {
|
||||||
|
storedShowExtendedDetails = showExtendedDetails
|
||||||
|
storedHideExtendedDetails = hideExtendedDetails
|
||||||
|
storedExtendedDetails = extendedDetails
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun gifFragmentVisibilityChanged(isVisible: Boolean) {
|
private fun gifFragmentVisibilityChanged(isVisible: Boolean) {
|
||||||
if (isVisible) {
|
if (isVisible) {
|
||||||
gifDrawable?.start()
|
gifDrawable?.start()
|
||||||
|
@ -162,6 +175,7 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadImage() {
|
private fun loadImage() {
|
||||||
|
imageOrientation = getImageOrientation()
|
||||||
if (medium.isGif()) {
|
if (medium.isGif()) {
|
||||||
loadGif()
|
loadGif()
|
||||||
} else {
|
} else {
|
||||||
|
@ -193,8 +207,12 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
|
|
||||||
private fun loadBitmap(degrees: Float = 0f) {
|
private fun loadBitmap(degrees: Float = 0f) {
|
||||||
if (degrees == 0f) {
|
if (degrees == 0f) {
|
||||||
val targetWidth = if (ViewPagerActivity.screenWidth == 0) Target.SIZE_ORIGINAL else ViewPagerActivity.screenWidth
|
var targetWidth = if (ViewPagerActivity.screenWidth == 0) Target.SIZE_ORIGINAL else ViewPagerActivity.screenWidth
|
||||||
val targetHeight = if (ViewPagerActivity.screenHeight == 0) Target.SIZE_ORIGINAL else ViewPagerActivity.screenHeight
|
var targetHeight = if (ViewPagerActivity.screenHeight == 0) Target.SIZE_ORIGINAL else ViewPagerActivity.screenHeight
|
||||||
|
if (imageOrientation == ORIENTATION_ROTATE_90) {
|
||||||
|
targetWidth = targetHeight
|
||||||
|
targetHeight = Target.SIZE_ORIGINAL
|
||||||
|
}
|
||||||
|
|
||||||
val options = RequestOptions()
|
val options = RequestOptions()
|
||||||
.signature(medium.path.getFileSignature())
|
.signature(medium.path.getFileSignature())
|
||||||
|
@ -230,39 +248,24 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addZoomableView() {
|
private fun addZoomableView() {
|
||||||
if ((medium.isImage()) && isFragmentVisible && view.subsampling_view.isGone() && !medium.isDng()) {
|
if (!context!!.config.replaceZoomableImages && medium.isImage() && isFragmentVisible && view.subsampling_view.isGone() && !medium.isDng()) {
|
||||||
val defaultOrientation = -1
|
|
||||||
var orient = defaultOrientation
|
|
||||||
|
|
||||||
try {
|
|
||||||
val exif = android.media.ExifInterface(medium.path)
|
|
||||||
orient = exif.getAttributeInt(android.media.ExifInterface.TAG_ORIENTATION, defaultOrientation)
|
|
||||||
|
|
||||||
if (orient == defaultOrientation) {
|
|
||||||
val uri = if (medium.path.startsWith("content:/")) Uri.parse(medium.path) else Uri.fromFile(File(medium.path))
|
|
||||||
val inputStream = context!!.contentResolver.openInputStream(uri)
|
|
||||||
val exif2 = ExifInterface()
|
|
||||||
exif2.readExif(inputStream, ExifInterface.Options.OPTION_ALL)
|
|
||||||
orient = exif2.getTag(ExifInterface.TAG_ORIENTATION)?.getValueAsInt(defaultOrientation) ?: defaultOrientation
|
|
||||||
}
|
|
||||||
} catch (ignored: Exception) {
|
|
||||||
}
|
|
||||||
|
|
||||||
ViewPagerActivity.wasDecodedByGlide = false
|
ViewPagerActivity.wasDecodedByGlide = false
|
||||||
view.subsampling_view.apply {
|
view.subsampling_view.apply {
|
||||||
maxScale = 10f
|
maxScale = 10f
|
||||||
beVisible()
|
beVisible()
|
||||||
isQuickScaleEnabled = context.config.oneFingerZoom
|
isQuickScaleEnabled = context.config.oneFingerZoom
|
||||||
setImage(ImageSource.uri(medium.path))
|
setImage(ImageSource.uri(medium.path))
|
||||||
orientation = if (orient == -1) SubsamplingScaleImageView.ORIENTATION_USE_EXIF else degreesForRotation(orient)
|
orientation = if (imageOrientation == -1) SubsamplingScaleImageView.ORIENTATION_USE_EXIF else degreesForRotation(imageOrientation)
|
||||||
|
setEagerLoadingEnabled(false)
|
||||||
|
setExecutor(AsyncTask.SERIAL_EXECUTOR)
|
||||||
setOnImageEventListener(object : SubsamplingScaleImageView.OnImageEventListener {
|
setOnImageEventListener(object : SubsamplingScaleImageView.OnImageEventListener {
|
||||||
override fun onImageLoaded() {
|
override fun onImageLoaded() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onReady() {
|
override fun onReady() {
|
||||||
background = ColorDrawable(if (context.config.blackBackground) Color.BLACK else context.config.backgroundColor)
|
background = ColorDrawable(if (context.config.blackBackground) Color.BLACK else context.config.backgroundColor)
|
||||||
val useWidth = if (orient == ORIENTATION_ROTATE_90 || orient == ORIENTATION_ROTATE_270) sHeight else sWidth
|
val useWidth = if (imageOrientation == ORIENTATION_ROTATE_90 || imageOrientation == ORIENTATION_ROTATE_270) sHeight else sWidth
|
||||||
val useHeight = if (orient == ORIENTATION_ROTATE_90 || orient == ORIENTATION_ROTATE_270) sWidth else sHeight
|
val useHeight = if (imageOrientation == ORIENTATION_ROTATE_90 || imageOrientation == ORIENTATION_ROTATE_270) sWidth else sHeight
|
||||||
setDoubleTapZoomScale(getDoubleTapZoomScale(useWidth, useHeight))
|
setDoubleTapZoomScale(getDoubleTapZoomScale(useWidth, useHeight))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,6 +289,26 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getImageOrientation(): Int {
|
||||||
|
val defaultOrientation = -1
|
||||||
|
var orient = defaultOrientation
|
||||||
|
|
||||||
|
try {
|
||||||
|
val exif = android.media.ExifInterface(medium.path)
|
||||||
|
orient = exif.getAttributeInt(android.media.ExifInterface.TAG_ORIENTATION, defaultOrientation)
|
||||||
|
|
||||||
|
if (orient == defaultOrientation) {
|
||||||
|
val uri = if (medium.path.startsWith("content:/")) Uri.parse(medium.path) else Uri.fromFile(File(medium.path))
|
||||||
|
val inputStream = context!!.contentResolver.openInputStream(uri)
|
||||||
|
val exif2 = ExifInterface()
|
||||||
|
exif2.readExif(inputStream, ExifInterface.Options.OPTION_ALL)
|
||||||
|
orient = exif2.getTag(ExifInterface.TAG_ORIENTATION)?.getValueAsInt(defaultOrientation) ?: defaultOrientation
|
||||||
|
}
|
||||||
|
} catch (ignored: Exception) {
|
||||||
|
}
|
||||||
|
return orient
|
||||||
|
}
|
||||||
|
|
||||||
private fun getDoubleTapZoomScale(width: Int, height: Int): Float {
|
private fun getDoubleTapZoomScale(width: Int, height: Int): Float {
|
||||||
val bitmapAspectRatio = height / width.toFloat()
|
val bitmapAspectRatio = height / width.toFloat()
|
||||||
val screenAspectRatio = ViewPagerActivity.screenHeight / ViewPagerActivity.screenWidth.toFloat()
|
val screenAspectRatio = ViewPagerActivity.screenHeight / ViewPagerActivity.screenWidth.toFloat()
|
||||||
|
@ -350,8 +373,12 @@ class PhotoFragment : ViewPagerFragment() {
|
||||||
override fun fullscreenToggled(isFullscreen: Boolean) {
|
override fun fullscreenToggled(isFullscreen: Boolean) {
|
||||||
this.isFullscreen = isFullscreen
|
this.isFullscreen = isFullscreen
|
||||||
view.photo_details.apply {
|
view.photo_details.apply {
|
||||||
if (isVisible()) {
|
if (storedShowExtendedDetails) {
|
||||||
animate().y(getExtendedDetailsY(height))
|
animate().y(getExtendedDetailsY(height))
|
||||||
|
|
||||||
|
if (storedHideExtendedDetails) {
|
||||||
|
animate().alpha(if (isFullscreen) 0f else 1f).start()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,11 +43,9 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
||||||
private var mIsFullscreen = false
|
private var mIsFullscreen = false
|
||||||
private var mIsFragmentVisible = false
|
private var mIsFragmentVisible = false
|
||||||
private var mPlayOnPrepare = false
|
private var mPlayOnPrepare = false
|
||||||
private var mStoredShowExtendedDetails = false
|
|
||||||
private var wasEncoded = false
|
private var wasEncoded = false
|
||||||
private var wasInit = false
|
private var wasInit = false
|
||||||
private var isPrepared = false
|
private var isPrepared = false
|
||||||
private var mStoredExtendedDetails = 0
|
|
||||||
private var mCurrTime = 0
|
private var mCurrTime = 0
|
||||||
private var mDuration = 0
|
private var mDuration = 0
|
||||||
private var mEncodedPath = ""
|
private var mEncodedPath = ""
|
||||||
|
@ -63,6 +61,10 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
||||||
private var mSlideInfoText = ""
|
private var mSlideInfoText = ""
|
||||||
private var mSlideInfoFadeHandler = Handler()
|
private var mSlideInfoFadeHandler = Handler()
|
||||||
|
|
||||||
|
private var mStoredShowExtendedDetails = false
|
||||||
|
private var mStoredHideExtendedDetails = false
|
||||||
|
private var mStoredExtendedDetails = 0
|
||||||
|
|
||||||
lateinit var medium: Medium
|
lateinit var medium: Medium
|
||||||
|
|
||||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||||
|
@ -72,6 +74,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
||||||
mTimeHolder = video_time_holder
|
mTimeHolder = video_time_holder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
storeStateVariables()
|
||||||
medium = arguments!!.getSerializable(MEDIUM) as Medium
|
medium = arguments!!.getSerializable(MEDIUM) as Medium
|
||||||
|
|
||||||
// setMenuVisibility is not called at VideoActivity (third party intent)
|
// setMenuVisibility is not called at VideoActivity (third party intent)
|
||||||
|
@ -107,13 +110,13 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
||||||
if (context!!.config.showExtendedDetails != mStoredShowExtendedDetails || context!!.config.extendedDetails != mStoredExtendedDetails) {
|
if (context!!.config.showExtendedDetails != mStoredShowExtendedDetails || context!!.config.extendedDetails != mStoredExtendedDetails) {
|
||||||
checkExtendedDetails()
|
checkExtendedDetails()
|
||||||
}
|
}
|
||||||
|
storeStateVariables()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
super.onPause()
|
super.onPause()
|
||||||
pauseVideo()
|
pauseVideo()
|
||||||
mStoredShowExtendedDetails = context!!.config.showExtendedDetails
|
storeStateVariables()
|
||||||
mStoredExtendedDetails = context!!.config.extendedDetails
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
|
@ -123,6 +126,14 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun storeStateVariables() {
|
||||||
|
context!!.config.apply {
|
||||||
|
mStoredShowExtendedDetails = showExtendedDetails
|
||||||
|
mStoredHideExtendedDetails = hideExtendedDetails
|
||||||
|
mStoredExtendedDetails = extendedDetails
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupPlayer() {
|
private fun setupPlayer() {
|
||||||
if (activity == null)
|
if (activity == null)
|
||||||
return
|
return
|
||||||
|
@ -614,8 +625,12 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
||||||
mIsFullscreen = isFullscreen
|
mIsFullscreen = isFullscreen
|
||||||
checkFullscreen()
|
checkFullscreen()
|
||||||
mView!!.video_details.apply {
|
mView!!.video_details.apply {
|
||||||
if (isVisible()) {
|
if (mStoredShowExtendedDetails) {
|
||||||
animate().y(getExtendedDetailsY(height))
|
animate().y(getExtendedDetailsY(height))
|
||||||
|
|
||||||
|
if (mStoredHideExtendedDetails) {
|
||||||
|
animate().alpha(if (isFullscreen) 0f else 1f).start()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,6 +176,10 @@ class Config(context: Context) : BaseConfig(context) {
|
||||||
get() = prefs.getBoolean(ALLOW_INSTANT_CHANGE, false)
|
get() = prefs.getBoolean(ALLOW_INSTANT_CHANGE, false)
|
||||||
set(allowInstantChange) = prefs.edit().putBoolean(ALLOW_INSTANT_CHANGE, allowInstantChange).apply()
|
set(allowInstantChange) = prefs.edit().putBoolean(ALLOW_INSTANT_CHANGE, allowInstantChange).apply()
|
||||||
|
|
||||||
|
var replaceZoomableImages: Boolean
|
||||||
|
get() = prefs.getBoolean(REPLACE_ZOOMABLE_IMAGES, false)
|
||||||
|
set(replaceZoomableImages) = prefs.edit().putBoolean(REPLACE_ZOOMABLE_IMAGES, replaceZoomableImages).apply()
|
||||||
|
|
||||||
private fun getDirectoryColumnsField(): String {
|
private fun getDirectoryColumnsField(): String {
|
||||||
val isPortrait = context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
|
val isPortrait = context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
|
||||||
return if (isPortrait) {
|
return if (isPortrait) {
|
||||||
|
@ -305,6 +309,10 @@ class Config(context: Context) : BaseConfig(context) {
|
||||||
get() = prefs.getBoolean(SHOW_EXTENDED_DETAILS, false)
|
get() = prefs.getBoolean(SHOW_EXTENDED_DETAILS, false)
|
||||||
set(showExtendedDetails) = prefs.edit().putBoolean(SHOW_EXTENDED_DETAILS, showExtendedDetails).apply()
|
set(showExtendedDetails) = prefs.edit().putBoolean(SHOW_EXTENDED_DETAILS, showExtendedDetails).apply()
|
||||||
|
|
||||||
|
var hideExtendedDetails: Boolean
|
||||||
|
get() = prefs.getBoolean(HIDE_EXTENDED_DETAILS, false)
|
||||||
|
set(hideExtendedDetails) = prefs.edit().putBoolean(HIDE_EXTENDED_DETAILS, hideExtendedDetails).apply()
|
||||||
|
|
||||||
var extendedDetails: Int
|
var extendedDetails: Int
|
||||||
get() = prefs.getInt(EXTENDED_DETAILS, EXT_RESOLUTION or EXT_LAST_MODIFIED or EXT_EXIF_PROPERTIES)
|
get() = prefs.getInt(EXTENDED_DETAILS, EXT_RESOLUTION or EXT_LAST_MODIFIED or EXT_EXIF_PROPERTIES)
|
||||||
set(extendedDetails) = prefs.edit().putInt(EXTENDED_DETAILS, extendedDetails).apply()
|
set(extendedDetails) = prefs.edit().putInt(EXTENDED_DETAILS, extendedDetails).apply()
|
||||||
|
|
|
@ -1,109 +1,107 @@
|
||||||
package com.simplemobiletools.gallery.helpers
|
package com.simplemobiletools.gallery.helpers
|
||||||
|
|
||||||
// shared preferences
|
// shared preferences
|
||||||
val SORT_ORDER = "sort_order"
|
const val SORT_ORDER = "sort_order"
|
||||||
val DIRECTORY_SORT_ORDER = "directory_sort_order"
|
const val DIRECTORY_SORT_ORDER = "directory_sort_order"
|
||||||
val SORT_FOLDER_PREFIX = "sort_folder_"
|
const val SORT_FOLDER_PREFIX = "sort_folder_"
|
||||||
val SHOW_HIDDEN_MEDIA = "show_hidden_media"
|
const val SHOW_HIDDEN_MEDIA = "show_hidden_media"
|
||||||
val TEMPORARILY_SHOW_HIDDEN = "temporarily_show_hidden"
|
const val TEMPORARILY_SHOW_HIDDEN = "temporarily_show_hidden"
|
||||||
val IS_THIRD_PARTY_INTENT = "is_third_party_intent"
|
const val IS_THIRD_PARTY_INTENT = "is_third_party_intent"
|
||||||
val AUTOPLAY_VIDEOS = "autoplay_videos"
|
const val AUTOPLAY_VIDEOS = "autoplay_videos"
|
||||||
val LOOP_VIDEOS = "loop_videos"
|
const val LOOP_VIDEOS = "loop_videos"
|
||||||
val ANIMATE_GIFS = "animate_gifs"
|
const val ANIMATE_GIFS = "animate_gifs"
|
||||||
val MAX_BRIGHTNESS = "max_brightness"
|
const val MAX_BRIGHTNESS = "max_brightness"
|
||||||
val CROP_THUMBNAILS = "crop_thumbnails"
|
const val CROP_THUMBNAILS = "crop_thumbnails"
|
||||||
val SCREEN_ROTATION = "screen_rotation"
|
const val SCREEN_ROTATION = "screen_rotation"
|
||||||
val DISPLAY_FILE_NAMES = "display_file_names"
|
const val DISPLAY_FILE_NAMES = "display_file_names"
|
||||||
val DARK_BACKGROUND = "dark_background"
|
const val DARK_BACKGROUND = "dark_background"
|
||||||
val PINNED_FOLDERS = "pinned_folders"
|
const val PINNED_FOLDERS = "pinned_folders"
|
||||||
val FILTER_MEDIA = "filter_media"
|
const val FILTER_MEDIA = "filter_media"
|
||||||
val DIR_COLUMN_CNT = "dir_column_cnt"
|
const val DIR_COLUMN_CNT = "dir_column_cnt"
|
||||||
val DIR_LANDSCAPE_COLUMN_CNT = "dir_landscape_column_cnt"
|
const val DIR_LANDSCAPE_COLUMN_CNT = "dir_landscape_column_cnt"
|
||||||
val DIR_HORIZONTAL_COLUMN_CNT = "dir_horizontal_column_cnt"
|
const val DIR_HORIZONTAL_COLUMN_CNT = "dir_horizontal_column_cnt"
|
||||||
val DIR_LANDSCAPE_HORIZONTAL_COLUMN_CNT = "dir_landscape_horizontal_column_cnt"
|
const val DIR_LANDSCAPE_HORIZONTAL_COLUMN_CNT = "dir_landscape_horizontal_column_cnt"
|
||||||
val MEDIA_COLUMN_CNT = "media_column_cnt"
|
const val MEDIA_COLUMN_CNT = "media_column_cnt"
|
||||||
val MEDIA_LANDSCAPE_COLUMN_CNT = "media_landscape_column_cnt"
|
const val MEDIA_LANDSCAPE_COLUMN_CNT = "media_landscape_column_cnt"
|
||||||
val MEDIA_HORIZONTAL_COLUMN_CNT = "media_horizontal_column_cnt"
|
const val MEDIA_HORIZONTAL_COLUMN_CNT = "media_horizontal_column_cnt"
|
||||||
val MEDIA_LANDSCAPE_HORIZONTAL_COLUMN_CNT = "media_landscape_horizontal_column_cnt"
|
const val MEDIA_LANDSCAPE_HORIZONTAL_COLUMN_CNT = "media_landscape_horizontal_column_cnt"
|
||||||
val SHOW_ALL = "show_all" // display images and videos from all folders together
|
const val SHOW_ALL = "show_all" // display images and videos from all folders together
|
||||||
val SAVE_FOLDER_PREFIX = "folder2_"
|
const val SAVE_FOLDER_PREFIX = "folder2_"
|
||||||
val HIDE_FOLDER_TOOLTIP_SHOWN = "hide_folder_tooltip_shown"
|
const val HIDE_FOLDER_TOOLTIP_SHOWN = "hide_folder_tooltip_shown"
|
||||||
val EXCLUDED_FOLDERS = "excluded_folders"
|
const val EXCLUDED_FOLDERS = "excluded_folders"
|
||||||
val INCLUDED_FOLDERS = "included_folders"
|
const val INCLUDED_FOLDERS = "included_folders"
|
||||||
val ALBUM_COVERS = "album_covers"
|
const val ALBUM_COVERS = "album_covers"
|
||||||
val SCROLL_HORIZONTALLY = "scroll_horizontally"
|
const val SCROLL_HORIZONTALLY = "scroll_horizontally"
|
||||||
val HIDE_SYSTEM_UI = "hide_system_ui"
|
const val HIDE_SYSTEM_UI = "hide_system_ui"
|
||||||
val REPLACE_SHARE_WITH_ROTATE = "replace_share_with_rotate"
|
const val REPLACE_SHARE_WITH_ROTATE = "replace_share_with_rotate"
|
||||||
val DELETE_EMPTY_FOLDERS = "delete_empty_folders"
|
const val DELETE_EMPTY_FOLDERS = "delete_empty_folders"
|
||||||
val ALLOW_VIDEO_GESTURES = "allow_video_gestures"
|
const val ALLOW_VIDEO_GESTURES = "allow_video_gestures"
|
||||||
val SHOW_MEDIA_COUNT = "show_media_count"
|
const val SHOW_MEDIA_COUNT = "show_media_count"
|
||||||
val TEMP_FOLDER_PATH = "temp_folder_path"
|
const val TEMP_FOLDER_PATH = "temp_folder_path"
|
||||||
val VIEW_TYPE_FOLDERS = "view_type_folders"
|
const val VIEW_TYPE_FOLDERS = "view_type_folders"
|
||||||
val VIEW_TYPE_FILES = "view_type_files"
|
const val VIEW_TYPE_FILES = "view_type_files"
|
||||||
val SHOW_EXTENDED_DETAILS = "show_extended_details"
|
const val SHOW_EXTENDED_DETAILS = "show_extended_details"
|
||||||
val EXTENDED_DETAILS = "extended_details"
|
const val EXTENDED_DETAILS = "extended_details"
|
||||||
val LAST_FILE_CLEANUP = "last_file_cleanup"
|
const val HIDE_EXTENDED_DETAILS = "hide_extended_details"
|
||||||
val ONE_FINGER_ZOOM = "one_finger_zoom"
|
const val LAST_FILE_CLEANUP = "last_file_cleanup"
|
||||||
val ALLOW_INSTANT_CHANGE = "allow_instant_change"
|
const val ONE_FINGER_ZOOM = "one_finger_zoom"
|
||||||
|
const val ALLOW_INSTANT_CHANGE = "allow_instant_change"
|
||||||
|
const val REPLACE_ZOOMABLE_IMAGES = "replace_zoomable_images"
|
||||||
|
|
||||||
// slideshow
|
// slideshow
|
||||||
val SLIDESHOW_INTERVAL = "slideshow_interval"
|
const val SLIDESHOW_INTERVAL = "slideshow_interval"
|
||||||
val SLIDESHOW_INCLUDE_PHOTOS = "slideshow_include_photos"
|
const val SLIDESHOW_INCLUDE_PHOTOS = "slideshow_include_photos"
|
||||||
val SLIDESHOW_INCLUDE_VIDEOS = "slideshow_include_videos"
|
const val SLIDESHOW_INCLUDE_VIDEOS = "slideshow_include_videos"
|
||||||
val SLIDESHOW_INCLUDE_GIFS = "slideshow_include_gifs"
|
const val SLIDESHOW_INCLUDE_GIFS = "slideshow_include_gifs"
|
||||||
val SLIDESHOW_RANDOM_ORDER = "slideshow_random_order"
|
const val SLIDESHOW_RANDOM_ORDER = "slideshow_random_order"
|
||||||
val SLIDESHOW_USE_FADE = "slideshow_use_fade"
|
const val SLIDESHOW_USE_FADE = "slideshow_use_fade"
|
||||||
val SLIDESHOW_MOVE_BACKWARDS = "slideshow_move_backwards"
|
const val SLIDESHOW_MOVE_BACKWARDS = "slideshow_move_backwards"
|
||||||
val SLIDESHOW_LOOP = "loop_slideshow"
|
const val SLIDESHOW_LOOP = "loop_slideshow"
|
||||||
val SLIDESHOW_DEFAULT_INTERVAL = 5
|
const val SLIDESHOW_DEFAULT_INTERVAL = 5
|
||||||
val SLIDESHOW_SCROLL_DURATION = 500L
|
const val SLIDESHOW_SCROLL_DURATION = 500L
|
||||||
|
|
||||||
val NOMEDIA = ".nomedia"
|
const val NOMEDIA = ".nomedia"
|
||||||
val MAX_COLUMN_COUNT = 20
|
const val MAX_COLUMN_COUNT = 20
|
||||||
|
|
||||||
val DIRECTORY = "directory"
|
const val DIRECTORY = "directory"
|
||||||
val MEDIUM = "medium"
|
const val MEDIUM = "medium"
|
||||||
val PATH = "path"
|
const val PATH = "path"
|
||||||
val GET_IMAGE_INTENT = "get_image_intent"
|
const val GET_IMAGE_INTENT = "get_image_intent"
|
||||||
val GET_VIDEO_INTENT = "get_video_intent"
|
const val GET_VIDEO_INTENT = "get_video_intent"
|
||||||
val GET_ANY_INTENT = "get_any_intent"
|
const val GET_ANY_INTENT = "get_any_intent"
|
||||||
val SET_WALLPAPER_INTENT = "set_wallpaper_intent"
|
const val SET_WALLPAPER_INTENT = "set_wallpaper_intent"
|
||||||
val DIRECTORIES = "directories2"
|
const val DIRECTORIES = "directories2"
|
||||||
val IS_VIEW_INTENT = "is_view_intent"
|
const val IS_VIEW_INTENT = "is_view_intent"
|
||||||
val PICKED_PATHS = "picked_paths"
|
const val PICKED_PATHS = "picked_paths"
|
||||||
|
|
||||||
// rotations
|
// rotations
|
||||||
val ROTATE_BY_SYSTEM_SETTING = 0
|
const val ROTATE_BY_SYSTEM_SETTING = 0
|
||||||
val ROTATE_BY_DEVICE_ROTATION = 1
|
const val ROTATE_BY_DEVICE_ROTATION = 1
|
||||||
val ROTATE_BY_ASPECT_RATIO = 2
|
const val ROTATE_BY_ASPECT_RATIO = 2
|
||||||
|
|
||||||
val ORIENT_PORTRAIT = 0
|
|
||||||
val ORIENT_LANDSCAPE_LEFT = 1
|
|
||||||
val ORIENT_LANDSCAPE_RIGHT = 2
|
|
||||||
|
|
||||||
// filter media
|
// filter media
|
||||||
val IMAGES = 1
|
const val IMAGES = 1
|
||||||
val VIDEOS = 2
|
const val VIDEOS = 2
|
||||||
val GIFS = 4
|
const val GIFS = 4
|
||||||
|
|
||||||
// view types
|
// view types
|
||||||
val VIEW_TYPE_GRID = 1
|
const val VIEW_TYPE_GRID = 1
|
||||||
val VIEW_TYPE_LIST = 2
|
const val VIEW_TYPE_LIST = 2
|
||||||
|
|
||||||
// extended details values
|
// extended details values
|
||||||
val EXT_NAME = 1
|
const val EXT_NAME = 1
|
||||||
val EXT_PATH = 2
|
const val EXT_PATH = 2
|
||||||
val EXT_SIZE = 4
|
const val EXT_SIZE = 4
|
||||||
val EXT_RESOLUTION = 8
|
const val EXT_RESOLUTION = 8
|
||||||
val EXT_LAST_MODIFIED = 16
|
const val EXT_LAST_MODIFIED = 16
|
||||||
val EXT_DATE_TAKEN = 32
|
const val EXT_DATE_TAKEN = 32
|
||||||
val EXT_CAMERA_MODEL = 64
|
const val EXT_CAMERA_MODEL = 64
|
||||||
val EXT_EXIF_PROPERTIES = 128
|
const val EXT_EXIF_PROPERTIES = 128
|
||||||
val EXT_DURATION = 256
|
const val EXT_DURATION = 256
|
||||||
val EXT_ARTIST = 512
|
const val EXT_ARTIST = 512
|
||||||
val EXT_ALBUM = 1024
|
const val EXT_ALBUM = 1024
|
||||||
|
|
||||||
// media types
|
// media types
|
||||||
val TYPE_IMAGE = 1
|
const val TYPE_IMAGE = 1
|
||||||
val TYPE_VIDEO = 2
|
const val TYPE_VIDEO = 2
|
||||||
val TYPE_GIF = 3
|
const val TYPE_GIF = 3
|
||||||
|
|
|
@ -43,8 +43,11 @@ class MediaFetcher(val context: Context) {
|
||||||
Thread {
|
Thread {
|
||||||
val ONE_WEEK = 7 * 24 * 60 * 60 * 1000
|
val ONE_WEEK = 7 * 24 * 60 * 60 * 1000
|
||||||
if (System.currentTimeMillis() - context.config.lastFileCleanup > ONE_WEEK) {
|
if (System.currentTimeMillis() - context.config.lastFileCleanup > ONE_WEEK) {
|
||||||
media.filter { !File(it.path).exists() }.forEach {
|
media.forEach {
|
||||||
context.deleteFromMediaStore(File(it.path))
|
val file = File(it.path)
|
||||||
|
if (!it.path.contains("/.thumbnails") && !file.exists() && file.length() == 0L) {
|
||||||
|
context.deleteFromMediaStore(file)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
context.config.lastFileCleanup = System.currentTimeMillis()
|
context.config.lastFileCleanup = System.currentTimeMillis()
|
||||||
}
|
}
|
||||||
|
|
|
@ -498,7 +498,7 @@
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/settings_show_extended_details_holder"
|
android:id="@+id/settings_replace_zoomable_images_holder"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/medium_margin"
|
android:layout_marginTop="@dimen/medium_margin"
|
||||||
|
@ -506,32 +506,14 @@
|
||||||
android:padding="@dimen/activity_margin">
|
android:padding="@dimen/activity_margin">
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MySwitchCompat
|
<com.simplemobiletools.commons.views.MySwitchCompat
|
||||||
android:id="@+id/settings_show_extended_details"
|
android:id="@+id/settings_replace_zoomable_images"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@null"
|
android:background="@null"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:paddingLeft="@dimen/medium_margin"
|
android:paddingLeft="@dimen/medium_margin"
|
||||||
android:paddingStart="@dimen/medium_margin"
|
android:paddingStart="@dimen/medium_margin"
|
||||||
android:text="@string/show_extended_details"/>
|
android:text="@string/replace_zoomable_images"/>
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/settings_manage_extended_details_holder"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/medium_margin"
|
|
||||||
android:background="?attr/selectableItemBackground"
|
|
||||||
android:padding="@dimen/activity_margin">
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/settings_manage_extended_details"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:paddingLeft="@dimen/medium_margin"
|
|
||||||
android:paddingStart="@dimen/medium_margin"
|
|
||||||
android:text="@string/manage_extended_details"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
@ -570,6 +552,81 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/extended_details_divider"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1px"
|
||||||
|
android:background="@color/divider_grey"
|
||||||
|
android:importantForAccessibility="no"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/extended_details_label"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="@dimen/big_margin"
|
||||||
|
android:layout_marginStart="@dimen/big_margin"
|
||||||
|
android:layout_marginTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/extended_details"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textSize="@dimen/smaller_text_size"/>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/settings_show_extended_details_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/medium_margin"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
|
android:padding="@dimen/activity_margin">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MySwitchCompat
|
||||||
|
android:id="@+id/settings_show_extended_details"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@null"
|
||||||
|
android:clickable="false"
|
||||||
|
android:paddingLeft="@dimen/medium_margin"
|
||||||
|
android:paddingStart="@dimen/medium_margin"
|
||||||
|
android:text="@string/show_extended_details"/>
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/settings_hide_extended_details_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/medium_margin"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
|
android:padding="@dimen/activity_margin">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MySwitchCompat
|
||||||
|
android:id="@+id/settings_hide_extended_details"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@null"
|
||||||
|
android:clickable="false"
|
||||||
|
android:paddingLeft="@dimen/medium_margin"
|
||||||
|
android:paddingStart="@dimen/medium_margin"
|
||||||
|
android:text="@string/hide_extended_details"/>
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/settings_manage_extended_details_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/medium_margin"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
|
android:padding="@dimen/activity_margin">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/settings_manage_extended_details"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:paddingLeft="@dimen/medium_margin"
|
||||||
|
android:paddingStart="@dimen/medium_margin"
|
||||||
|
android:text="@string/manage_extended_details"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/security_divider"
|
android:id="@+id/security_divider"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -137,10 +137,13 @@
|
||||||
<string name="manage_extended_details">إدارة المجلدات المستبعدة</string>
|
<string name="manage_extended_details">إدارة المجلدات المستبعدة</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Gestioneu els detalls ampliats</string>
|
<string name="manage_extended_details">Gestioneu els detalls ampliats</string>
|
||||||
<string name="one_finger_zoom">Permet fer zoom amb un sol dit a pantalla complerta</string>
|
<string name="one_finger_zoom">Permet fer zoom amb un sol dit a pantalla complerta</string>
|
||||||
<string name="allow_instant_change">Permet canviar els mitjans de manera instantània fent clic als costats de la pantalla</string>
|
<string name="allow_instant_change">Permet canviar els mitjans de manera instantània fent clic als costats de la pantalla</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Miniatures</string>
|
<string name="thumbnails">Miniatures</string>
|
||||||
<string name="fullscreen_media">Mitjans a pantalla completa</string>
|
<string name="fullscreen_media">Mitjans a pantalla completa</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Manage extended details</string>
|
<string name="manage_extended_details">Manage extended details</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Eigenschaften auswählen</string>
|
<string name="manage_extended_details">Eigenschaften auswählen</string>
|
||||||
<string name="one_finger_zoom">Erlaube Ein-Finger-Zoom im Vollbild</string>
|
<string name="one_finger_zoom">Erlaube Ein-Finger-Zoom im Vollbild</string>
|
||||||
<string name="allow_instant_change">Wechsle sofort zwischen Medien beim Klicken auf eine Bildschirmseite</string>
|
<string name="allow_instant_change">Wechsle sofort zwischen Medien beim Klicken auf eine Bildschirmseite</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Vollbild-Medien</string>
|
<string name="fullscreen_media">Vollbild-Medien</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Administrar detalles ampliados</string>
|
<string name="manage_extended_details">Administrar detalles ampliados</string>
|
||||||
<string name="one_finger_zoom">Permitir zoom con un dedo en pantalla completa</string>
|
<string name="one_finger_zoom">Permitir zoom con un dedo en pantalla completa</string>
|
||||||
<string name="allow_instant_change">Permitir el cambio instantáneo de medios haciendo clic en los lados de la pantalla</string>
|
<string name="allow_instant_change">Permitir el cambio instantáneo de medios haciendo clic en los lados de la pantalla</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Miniaturas</string>
|
<string name="thumbnails">Miniaturas</string>
|
||||||
<string name="fullscreen_media">Medios a pantalla compelta</string>
|
<string name="fullscreen_media">Medios a pantalla compelta</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Manage extended details</string>
|
<string name="manage_extended_details">Manage extended details</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Gérer les détails supplémentaires</string>
|
<string name="manage_extended_details">Gérer les détails supplémentaires</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Xestionar información polo miúdo</string>
|
<string name="manage_extended_details">Xestionar información polo miúdo</string>
|
||||||
<string name="one_finger_zoom">Permitir zoom con un dedo a pantalla completa</string>
|
<string name="one_finger_zoom">Permitir zoom con un dedo a pantalla completa</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Upravljaj detaljnim informacijama</string>
|
<string name="manage_extended_details">Upravljaj detaljnim informacijama</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Manage extended details</string>
|
<string name="manage_extended_details">Manage extended details</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Gestisci le informazioni estese</string>
|
<string name="manage_extended_details">Gestisci le informazioni estese</string>
|
||||||
<string name="one_finger_zoom">Abilita zoom con un dito su media a schermo intero</string>
|
<string name="one_finger_zoom">Abilita zoom con un dito su media a schermo intero</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Manage extended details</string>
|
<string name="manage_extended_details">Manage extended details</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">확장된 세부정보 관리</string>
|
<string name="manage_extended_details">확장된 세부정보 관리</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -132,11 +132,14 @@
|
||||||
<string name="show_extended_details">Vis flere detaljer i mediavisningen</string>
|
<string name="show_extended_details">Vis flere detaljer i mediavisningen</string>
|
||||||
<string name="manage_extended_details">Velg detaljer</string>
|
<string name="manage_extended_details">Velg detaljer</string>
|
||||||
<string name="one_finger_zoom">Tillat en-finger-zoom i mediavisningen</string>
|
<string name="one_finger_zoom">Tillat en-finger-zoom i mediavisningen</string>
|
||||||
<string name="allow_instant_change">Tillat å skifte media øyeblikkelig ved å klikke på kanten av skjermen</string>
|
<string name="allow_instant_change">Tillat å skifte media øyeblikkelig ved å trykke på kanten av skjermen</string>
|
||||||
|
<string name="replace_zoomable_images">Erstatt dyp-zoombare bilder med bilder av bedre kvalitet</string>
|
||||||
|
<string name="hide_extended_details">Skjul utvidede detaljer når statuslinjen er skjult</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Minibilder</string>
|
<string name="thumbnails">Minibilder</string>
|
||||||
<string name="fullscreen_media">Mediavisning</string>
|
<string name="fullscreen_media">Mediavisning</string>
|
||||||
|
<string name="extended_details">Utvidede detaljer</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Uitgebreide informatie</string>
|
<string name="manage_extended_details">Uitgebreide informatie</string>
|
||||||
<string name="one_finger_zoom">Met één vinger zoomen in volledig scherm</string>
|
<string name="one_finger_zoom">Met één vinger zoomen in volledig scherm</string>
|
||||||
<string name="allow_instant_change">Direct naar vorige/volgende door op de zijkanten van het scherm te tikken</string>
|
<string name="allow_instant_change">Direct naar vorige/volgende door op de zijkanten van het scherm te tikken</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Miniatuurvoorbeelden</string>
|
<string name="thumbnails">Miniatuurvoorbeelden</string>
|
||||||
<string name="fullscreen_media">Volledig scherm</string>
|
<string name="fullscreen_media">Volledig scherm</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Zarządzaj dodatkowymi szczegółami</string>
|
<string name="manage_extended_details">Zarządzaj dodatkowymi szczegółami</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Gerenciar detalhes extendidos</string>
|
<string name="manage_extended_details">Gerenciar detalhes extendidos</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Gerir detalhes exibidos</string>
|
<string name="manage_extended_details">Gerir detalhes exibidos</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Выбрать подробности файла</string>
|
<string name="manage_extended_details">Выбрать подробности файла</string>
|
||||||
<string name="one_finger_zoom">Масштабирование одним пальцем в полноэкранном режиме</string>
|
<string name="one_finger_zoom">Масштабирование одним пальцем в полноэкранном режиме</string>
|
||||||
<string name="allow_instant_change">Мгновенное переключение медиафайлов нажатием по краю экрана</string>
|
<string name="allow_instant_change">Мгновенное переключение медиафайлов нажатием по краю экрана</string>
|
||||||
|
<string name="replace_zoomable_images">Заменить масштабируемые изображения высококачественными</string>
|
||||||
|
<string name="hide_extended_details">Не показывать подробности, если скрыта строка состояния</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Миниатюры</string>
|
<string name="thumbnails">Миниатюры</string>
|
||||||
<string name="fullscreen_media">Полноэкранное отображение медиафайлов</string>
|
<string name="fullscreen_media">Полноэкранное отображение медиафайлов</string>
|
||||||
|
<string name="extended_details">Подробности</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Spravovať rozšírené vlastnosti</string>
|
<string name="manage_extended_details">Spravovať rozšírené vlastnosti</string>
|
||||||
<string name="one_finger_zoom">Povoliť približovanie jedným prstom v celoobrazovkovom režime</string>
|
<string name="one_finger_zoom">Povoliť približovanie jedným prstom v celoobrazovkovom režime</string>
|
||||||
<string name="allow_instant_change">Povoliť instantné prepínanie médií kliknutím na okraj obrazovky</string>
|
<string name="allow_instant_change">Povoliť instantné prepínanie médií kliknutím na okraj obrazovky</string>
|
||||||
|
<string name="replace_zoomable_images">Nahradiť hlboko priblížiteľné obrázky s obrázkami s lepšou kvalitou</string>
|
||||||
|
<string name="hide_extended_details">Skryť rozšírené vlastnosti ak je skrytá stavová lišta</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Náhľady</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Celoobrazovkový režim</string>
|
||||||
|
<string name="extended_details">Rozšírené vlastnosti</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Hantera utökad information</string>
|
<string name="manage_extended_details">Hantera utökad information</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Manage extended details</string>
|
<string name="manage_extended_details">Manage extended details</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">要显示的详细信息项目</string>
|
<string name="manage_extended_details">要显示的详细信息项目</string>
|
||||||
<string name="one_finger_zoom">单指缩放</string>
|
<string name="one_finger_zoom">单指缩放</string>
|
||||||
<string name="allow_instant_change">通过单击屏幕边缘来切换媒体</string>
|
<string name="allow_instant_change">通过单击屏幕边缘来切换媒体</string>
|
||||||
|
<string name="replace_zoomable_images">用质量更好的图像替换可深度缩放的图像</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">缩略图</string>
|
<string name="thumbnails">缩略图</string>
|
||||||
<string name="fullscreen_media">全屏显示媒体</string>
|
<string name="fullscreen_media">全屏显示媒体</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">管理詳細資訊</string>
|
<string name="manage_extended_details">管理詳細資訊</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
|
@ -133,10 +133,13 @@
|
||||||
<string name="manage_extended_details">Manage extended details</string>
|
<string name="manage_extended_details">Manage extended details</string>
|
||||||
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
<string name="one_finger_zoom">Allow one finger zoom at fullscreen media</string>
|
||||||
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
<string name="allow_instant_change">Allow instantly changing media by clicking on screen sides</string>
|
||||||
|
<string name="replace_zoomable_images">Replace deep zoomable images with better quality ones</string>
|
||||||
|
<string name="hide_extended_details">Hide extended details when status bar is hidden</string>
|
||||||
|
|
||||||
<!-- Setting sections -->
|
<!-- Setting sections -->
|
||||||
<string name="thumbnails">Thumbnails</string>
|
<string name="thumbnails">Thumbnails</string>
|
||||||
<string name="fullscreen_media">Fullscreen media</string>
|
<string name="fullscreen_media">Fullscreen media</string>
|
||||||
|
<string name="extended_details">Extended details</string>
|
||||||
|
|
||||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||||
<!-- Short description has to have less than 80 chars -->
|
<!-- Short description has to have less than 80 chars -->
|
||||||
|
|
Loading…
Reference in a new issue