diff --git a/CHANGELOG.md b/CHANGELOG.md index 77fb901d3..da47dde05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,27 @@ Changelog ========== +Version 3.1.0 *(2017-12-25)* +---------------------------- + + * Fixed some issues around picking contact images + * Misc other improvements + +Version 3.0.3 *(2017-12-20)* +---------------------------- + + * Added a new Black & White theme with special handling + * Fixed opening MMS attachments + * Fixed viewing properties/sharing etc at fullscreen media + * Apply "Dark background at fullscreen media" to the status bar too + * Misc performance/stability improvements + +Version 3.0.2 *(2017-12-17)* +---------------------------- + + * Properly display email attachments + * Some crashfixes + Version 3.0.1 *(2017-12-06)* ---------------------------- diff --git a/app/build.gradle b/app/build.gradle index 4e3615997..cd09b01ca 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,14 +4,13 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 27 - buildToolsVersion "27.0.1" defaultConfig { applicationId "com.simplemobiletools.gallery" minSdkVersion 16 targetSdkVersion 27 - versionCode 147 - versionName "3.0.1" + versionCode 150 + versionName "3.1.0" multiDexEnabled true setProperty("archivesBaseName", "gallery") } @@ -43,9 +42,9 @@ ext { } dependencies { - implementation 'com.simplemobiletools:commons:3.2.19' - implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.8.0' - implementation 'com.theartofdev.edmodo:android-image-cropper:2.4.0' + implementation 'com.simplemobiletools:commons:3.4.2' + implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.9.0' + implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.0' implementation 'com.android.support:multidex:1.0.2' implementation 'com.google.code.gson:gson:2.8.2' implementation 'it.sephiroth.android.exif:library:1.0.1' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/EditActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/EditActivity.kt index 5b62357ab..d41ba13c4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/EditActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/EditActivity.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.gallery.activities import android.app.Activity +import android.content.Intent import android.graphics.Bitmap import android.graphics.Bitmap.CompressFormat import android.graphics.Point @@ -10,6 +11,7 @@ import android.provider.MediaStore import android.view.Menu import android.view.MenuItem import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_STORAGE import com.simplemobiletools.gallery.R import com.simplemobiletools.gallery.dialogs.ResizeDialog import com.simplemobiletools.gallery.dialogs.SaveAsDialog @@ -23,17 +25,28 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener private val ASPECT_Y = "aspectY" private val CROP = "crop" - lateinit var uri: Uri - lateinit var saveUri: Uri - var resizeWidth = 0 - var resizeHeight = 0 - var isCropIntent = false - var isEditingWithThirdParty = false + private lateinit var uri: Uri + private lateinit var saveUri: Uri + private var resizeWidth = 0 + private var resizeHeight = 0 + private var isCropIntent = false + private var isEditingWithThirdParty = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.view_crop_image) + handlePermission(PERMISSION_WRITE_STORAGE) { + if (it) { + initEditActivity() + } else { + toast(R.string.no_storage_permissions) + finish() + } + } + } + + private fun initEditActivity() { if (intent.data == null) { toast(R.string.invalid_image_path) finish() @@ -143,7 +156,11 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener inputStream?.close() outputStream?.close() } - setResult(RESULT_OK) + + Intent().apply { + addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) + setResult(RESULT_OK, this) + } finish() } else if (saveUri.scheme == "file") { SaveAsDialog(this, saveUri.path, true) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/IncludedFoldersActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/IncludedFoldersActivity.kt index 3f4067312..c9f67d621 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/IncludedFoldersActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/IncludedFoldersActivity.kt @@ -52,7 +52,9 @@ class IncludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener { FilePickerDialog(this, pickFile = false, showHidden = config.shouldShowHidden) { config.addIncludedFolder(it) updateIncludedFolders() - scanPath(it) + Thread { + scanPath(it) + }.start() } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MainActivity.kt index 05baef15e..9694a0348 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MainActivity.kt @@ -133,13 +133,13 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener { handleAppPasswordProtection { if (it) { mIsPasswordProtectionPending = false - tryloadGallery() + tryLoadGallery() } else { finish() } } } else { - tryloadGallery() + tryLoadGallery() } } @@ -209,16 +209,18 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener { } private fun removeTempFolder() { - val newFolder = File(config.tempFolderPath) - if (newFolder.exists() && newFolder.isDirectory) { - if (newFolder.list()?.isEmpty() == true) { - deleteFile(newFolder, true) + if (config.tempFolderPath.isNotEmpty()) { + val newFolder = File(config.tempFolderPath) + if (newFolder.exists() && newFolder.isDirectory) { + if (newFolder.list()?.isEmpty() == true) { + deleteFile(newFolder, true) + } } + config.tempFolderPath = "" } - config.tempFolderPath = "" } - private fun tryloadGallery() { + private fun tryLoadGallery() { handlePermission(PERMISSION_WRITE_STORAGE) { if (it) { if (config.showAll) { @@ -443,17 +445,12 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener { if (resultCode == Activity.RESULT_OK) { if (requestCode == PICK_MEDIA && resultData != null) { val resultIntent = Intent() - if (mIsGetImageContentIntent || mIsGetVideoContentIntent || mIsGetAnyContentIntent) { + if (mIsThirdPartyIntent) { when { intent.extras?.containsKey(MediaStore.EXTRA_OUTPUT) == true -> fillExtraOutput(resultData) resultData.extras?.containsKey(PICKED_PATHS) == true -> fillPickedPaths(resultData, resultIntent) else -> fillIntentPath(resultData, resultIntent) } - } else if ((mIsPickImageIntent || mIsPickVideoIntent)) { - val path = resultData.data?.path - val uri = getFilePublicUri(File(path), BuildConfig.APPLICATION_ID) - resultIntent.data = uri - resultIntent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION } setResult(Activity.RESULT_OK, resultIntent) @@ -491,7 +488,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener { clipData.addItem(ClipData.Item(it)) } - resultIntent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION + resultIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) resultIntent.clipData = clipData } @@ -500,7 +497,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener { val uri = getFilePublicUri(File(path), BuildConfig.APPLICATION_ID) val type = path.getMimeTypeFromPath() resultIntent.setDataAndTypeAndNormalize(uri, type) - resultIntent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION + resultIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) } private fun itemClicked(path: String) { @@ -526,9 +523,11 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener { } private fun gotDirectories(newDirs: ArrayList, isFromCache: Boolean) { - val dirs = getSortedDirectories(newDirs) + Thread { + mLatestMediaId = getLatestMediaId() + }.start() - mLatestMediaId = getLatestMediaId() + val dirs = getSortedDirectories(newDirs) directories_refresh_layout.isRefreshing = false mIsGettingDirs = false diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt index c432843bb..5f0ab42fa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt @@ -134,6 +134,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener { super.onDestroy() if (config.showAll) config.temporarilyShowHidden = false + mMedia.clear() } @@ -360,7 +361,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener { private fun deleteDirectoryIfEmpty() { val file = File(mPath) - if (config.deleteEmptyFolders && !file.isDownloadsFolder() && file.isDirectory && file.listFiles()?.isEmpty() == true) { + if (config.deleteEmptyFolders && !file.isDownloadsFolder() && file.isDirectory && file.list()?.isEmpty() == true) { deleteFile(file, true) } } @@ -378,6 +379,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener { } mLoadedInitialPhotos = true + mCurrAsyncTask?.stopFetching() mCurrAsyncTask = GetMediaAsynctask(applicationContext, mPath, mIsGetVideoIntent, mIsGetImageIntent, mShowAll) { gotMedia(it) } @@ -537,7 +539,10 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener { } private fun gotMedia(media: ArrayList, isFromCache: Boolean = false) { - mLatestMediaId = getLatestMediaId() + Thread { + mLatestMediaId = getLatestMediaId() + }.start() + mIsGettingMedia = false media_refresh_layout.isRefreshing = false diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt index de41a30a8..ef52e77a2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt @@ -67,7 +67,7 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList return } else { val path = applicationContext.getRealPathFromURI(mUri!!) ?: "" - if (path != mUri.toString() && path.isNotEmpty()) { + if (path != mUri.toString() && path.isNotEmpty() && mUri!!.authority != "mms") { scanPath(mUri!!.path) sendViewPagerIntent(path) finish() @@ -89,7 +89,7 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, mFragment).commit() } - if (config.darkBackground) { + if (config.blackBackground) { fragment_holder.background = ColorDrawable(Color.BLACK) } @@ -102,6 +102,9 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList override fun onResume() { super.onResume() supportActionBar?.setBackgroundDrawable(resources.getDrawable(R.drawable.actionbar_gradient_background)) + if (config.blackBackground) { + updateStatusbarColor(Color.BLACK) + } } private fun sendViewPagerIntent(path: String) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt index 6309dd18e..950f356cf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt @@ -148,10 +148,10 @@ class SettingsActivity : SimpleActivity() { } private fun setupDarkBackground() { - settings_dark_background.isChecked = config.darkBackground - settings_dark_background_holder.setOnClickListener { - settings_dark_background.toggle() - config.darkBackground = settings_dark_background.isChecked + settings_black_background.isChecked = config.blackBackground + settings_black_background_holder.setOnClickListener { + settings_black_background.toggle() + config.blackBackground = settings_black_background.isChecked } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt index a551e96ff..f901cb7c2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt @@ -32,7 +32,6 @@ import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_STORAGE import com.simplemobiletools.commons.helpers.REQUEST_EDIT_IMAGE import com.simplemobiletools.commons.helpers.REQUEST_SET_AS import com.simplemobiletools.gallery.R -import com.simplemobiletools.gallery.activities.MediaActivity.Companion.mMedia import com.simplemobiletools.gallery.adapters.MyPagerAdapter import com.simplemobiletools.gallery.asynctasks.GetMediaAsynctask import com.simplemobiletools.gallery.dialogs.DeleteWithRememberDialog @@ -70,6 +69,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View private var mIsOrientationLocked = false private var mStoredUseEnglish = false + private var mMediaFiles = ArrayList() companion object { var screenWidth = 0 @@ -81,6 +81,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View super.onCreate(savedInstanceState) setContentView(R.layout.activity_medium) setTranslucentNavigation() + mMediaFiles = MediaActivity.mMedia.clone() as ArrayList handlePermission(PERMISSION_WRITE_STORAGE) { if (it) { @@ -116,6 +117,10 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View setupRotation() invalidateOptionsMenu() + + if (config.blackBackground) { + updateStatusbarColor(Color.BLACK) + } } override fun onPause() { @@ -135,7 +140,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View config.isThirdPartyIntent = false if (intent.extras == null || !intent.getBooleanExtra(IS_FROM_GALLERY, false)) { - mMedia.clear() + mMediaFiles.clear() } } } @@ -189,8 +194,8 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View view_pager.onGlobalLayout { if (!isActivityDestroyed()) { - if (mMedia.isNotEmpty()) { - gotMedia(mMedia) + if (mMediaFiles.isNotEmpty()) { + gotMedia(mMediaFiles) } } } @@ -198,8 +203,9 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View reloadViewPager() scanPath(mPath) - if (config.darkBackground) + if (config.blackBackground) { view_pager.background = ColorDrawable(Color.BLACK) + } if (config.hideSystemUI) fragmentClicked() @@ -419,7 +425,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } private fun getMediaForSlideshow(): Boolean { - mSlideshowMedia = mMedia.toMutableList() + mSlideshowMedia = mMediaFiles.toMutableList() if (!config.slideshowIncludePhotos) { mSlideshowMedia = mSlideshowMedia.filter { !it.isImage() } as MutableList } @@ -609,7 +615,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View var parent = file.parentFile ?: return false while (true) { - if (parent.isHidden || parent.listFiles()?.contains(File(NOMEDIA)) == true) { + if (parent.isHidden || parent.list()?.contains(NOMEDIA) == true) { return true } @@ -769,15 +775,15 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } mPrevHashcode = media.hashCode() - mMedia = media + mMediaFiles = media mPos = if (mPos == -1) { getPositionInList(media) } else { - Math.min(mPos, mMedia.size - 1) + Math.min(mPos, mMediaFiles.size - 1) } updateActionbarTitle() - updatePagerItems(mMedia.toMutableList()) + updatePagerItems(mMediaFiles.toMutableList()) invalidateOptionsMenu() checkOrientation() } @@ -794,7 +800,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View private fun deleteDirectoryIfEmpty() { val file = File(mDirectory) - if (config.deleteEmptyFolders && !file.isDownloadsFolder() && file.isDirectory && file.listFiles()?.isEmpty() == true) { + if (config.deleteEmptyFolders && !file.isDownloadsFolder() && file.isDirectory && file.list()?.isEmpty() == true) { deleteFile(file, true) } @@ -848,7 +854,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } } - private fun getCurrentMedia() = if (mAreSlideShowMediaVisible) mSlideshowMedia else mMedia + private fun getCurrentMedia() = if (mAreSlideShowMediaVisible) mSlideshowMedia else mMediaFiles private fun getCurrentPath() = getCurrentMedium()!!.path @@ -860,11 +866,14 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View if (view_pager.offscreenPageLimit == 1) { view_pager.offscreenPageLimit = 2 } - mPos = position - updateActionbarTitle() - mRotationDegrees = 0f - supportInvalidateOptionsMenu() - scheduleSwipe() + + if (mPos != position) { + mPos = position + updateActionbarTitle() + mRotationDegrees = 0f + supportInvalidateOptionsMenu() + scheduleSwipe() + } } override fun onPageScrollStateChanged(state: Int) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/extensions/Resources.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/extensions/Resources.kt index a2a2ef7af..73a56c5ba 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/extensions/Resources.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/extensions/Resources.kt @@ -6,11 +6,10 @@ import android.util.TypedValue fun Resources.getActionBarHeight(context: Context): Int { val tv = TypedValue() - var height = 0 - if (context.theme.resolveAttribute(android.R.attr.actionBarSize, tv, true)) { - height = TypedValue.complexToDimensionPixelSize(tv.data, displayMetrics) - } - return height + return if (context.theme.resolveAttribute(android.R.attr.actionBarSize, tv, true)) { + TypedValue.complexToDimensionPixelSize(tv.data, displayMetrics) + } else + 0 } fun Resources.getStatusBarHeight(): Int { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt index a7297449b..747742a59 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt @@ -55,7 +55,7 @@ class PhotoFragment : ViewPagerFragment() { } medium = arguments!!.getSerializable(MEDIUM) as Medium - if (medium.path.startsWith("content://")) { + if (medium.path.startsWith("content://") && !medium.path.startsWith("content://mms/")) { val originalPath = medium.path medium.path = context!!.getRealPathFromURI(Uri.parse(originalPath)) ?: medium.path @@ -224,21 +224,35 @@ class PhotoFragment : ViewPagerFragment() { private fun addZoomableView() { if ((medium.isImage()) && isFragmentVisible && view.subsampling_view.isGone() && !medium.isDng()) { - val exif = android.media.ExifInterface(medium.path) - val orientation = exif.getAttributeInt(android.media.ExifInterface.TAG_ORIENTATION, android.media.ExifInterface.ORIENTATION_NORMAL) + 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 view.subsampling_view.apply { maxScale = 10f beVisible() setImage(ImageSource.uri(medium.path)) - this.orientation = degreesForRotation(orientation) + orientation = if (orient == -1) SubsamplingScaleImageView.ORIENTATION_USE_EXIF else degreesForRotation(orient) setOnImageEventListener(object : SubsamplingScaleImageView.OnImageEventListener { override fun onImageLoaded() { } override fun onReady() { - background = ColorDrawable(if (context.config.darkBackground) Color.BLACK else context.config.backgroundColor) + background = ColorDrawable(if (context.config.blackBackground) Color.BLACK else context.config.backgroundColor) setDoubleTapZoomScale(getDoubleTapZoomScale(sWidth, sHeight)) } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/VideoFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/VideoFragment.kt index e6b0831d5..7ee976475 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/VideoFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/VideoFragment.kt @@ -8,6 +8,7 @@ import android.os.Build import android.os.Bundle import android.os.Handler import android.provider.Settings +import android.support.annotation.RequiresApi import android.util.DisplayMetrics import android.view.* import android.view.animation.AnimationUtils @@ -44,6 +45,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee private var mStoredShowExtendedDetails = false private var wasEncoded = false private var wasInit = false + private var isPrepared = false private var mStoredExtendedDetails = 0 private var mCurrTime = 0 private var mDuration = 0 @@ -395,7 +397,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee } fun playVideo() { - if (mMediaPlayer != null) { + if (mMediaPlayer != null && isPrepared) { mIsPlaying = true mMediaPlayer?.start() } else { @@ -471,13 +473,15 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee } private fun videoPrepared(mediaPlayer: MediaPlayer) { + isPrepared = true mDuration = mediaPlayer.duration / 1000 addPreviewImage() setupTimeHolder() setProgress(mCurrTime) - if (mIsFragmentVisible && (context!!.config.autoplayVideos || mPlayOnPrepare)) + if (mIsFragmentVisible && (context!!.config.autoplayVideos || mPlayOnPrepare)) { playVideo() + } } private fun videoCompleted() { @@ -509,6 +513,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee releaseMediaPlayer() } + @RequiresApi(Build.VERSION_CODES.JELLY_BEAN_MR1) private fun setVideoSize() { if (mSurfaceHolder == null) mSurfaceHolder = mSurfaceView!!.holder @@ -526,7 +531,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee val screenWidth: Int val screenHeight: Int - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + if (activity!!.isJellyBean1Plus()) { val realMetrics = DisplayMetrics() display.getRealMetrics(realMetrics) screenWidth = realMetrics.widthPixels diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt index 5df4ae0b5..8c2f7cdb1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt @@ -156,7 +156,7 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getBoolean(DISPLAY_FILE_NAMES, false) set(display) = prefs.edit().putBoolean(DISPLAY_FILE_NAMES, display).apply() - var darkBackground: Boolean + var blackBackground: Boolean get() = prefs.getBoolean(DARK_BACKGROUND, false) set(darkBackground) = prefs.edit().putBoolean(DARK_BACKGROUND, darkBackground).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/MediaFetcher.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/MediaFetcher.kt index cce57aa36..efad5c169 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/MediaFetcher.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/MediaFetcher.kt @@ -98,9 +98,6 @@ class MediaFetcher(val context: Context) { val config = context.config val filterMedia = config.filterMedia val showHidden = config.shouldShowHidden - val includedFolders = config.includedFolders.map { "${it.trimEnd('/')}/" } - val excludedFolders = config.excludedFolders.map { "${it.trimEnd('/')}/" } - val noMediaFolders = getNoMediaFolders() val isThirdPartyIntent = config.isThirdPartyIntent cur.use { @@ -143,40 +140,14 @@ class MediaFetcher(val context: Context) { if (size <= 0L) continue - var isExcluded = false - excludedFolders.forEach { - if (path.startsWith(it)) { - isExcluded = true - includedFolders.forEach { - if (path.startsWith(it)) { - isExcluded = false - } - } - } - } + if (!file.exists()) + continue - if (!isExcluded && !showHidden) { - noMediaFolders.forEach { - if (path.startsWith(it)) { - isExcluded = true - } - } - } + val dateTaken = cur.getLongValue(MediaStore.Images.Media.DATE_TAKEN) + val dateModified = cur.getIntValue(MediaStore.Images.Media.DATE_MODIFIED) * 1000L - if (!isExcluded && !showHidden && path.contains("/.")) { - isExcluded = true - } - - if (!isExcluded || isThirdPartyIntent) { - if (!file.exists()) - continue - - val dateTaken = cur.getLongValue(MediaStore.Images.Media.DATE_TAKEN) - val dateModified = cur.getIntValue(MediaStore.Images.Media.DATE_MODIFIED) * 1000L - - val medium = Medium(filename, path, isVideo, dateModified, dateTaken, size) - curMedia.add(medium) - } + val medium = Medium(filename, path, isVideo, dateModified, dateTaken, size) + curMedia.add(medium) } catch (e: Exception) { continue } @@ -258,7 +229,7 @@ class MediaFetcher(val context: Context) { val isVideo = if (isImage) false else filename.isVideoFast() val isGif = if (isImage || isVideo) false else filename.isGif() - if (!isImage && !isVideo) + if (!isImage && !isVideo && !isGif) continue if (isVideo && (isPickImage || filterMedia and VIDEOS == 0)) @@ -271,7 +242,7 @@ class MediaFetcher(val context: Context) { continue val size = file.length() - if (size <= 0L) + if (size <= 0L && !file.exists()) continue val dateTaken = file.lastModified() @@ -301,31 +272,4 @@ class MediaFetcher(val context: Context) { "$sortValue ASC" } } - - private fun getNoMediaFolders(): ArrayList { - val folders = ArrayList() - val noMediaCondition = "${MediaStore.Files.FileColumns.MEDIA_TYPE} = ${MediaStore.Files.FileColumns.MEDIA_TYPE_NONE}" - - val uri = MediaStore.Files.getContentUri("external") - val columns = arrayOf(MediaStore.Files.FileColumns.DATA) - val where = "$noMediaCondition AND ${MediaStore.Files.FileColumns.TITLE} LIKE ?" - val args = arrayOf("%$NOMEDIA%") - var cursor: Cursor? = null - - try { - cursor = context.contentResolver.query(uri, columns, where, args, null) - if (cursor?.moveToFirst() == true) { - do { - val path = cursor.getString(cursor.getColumnIndex(MediaStore.Files.FileColumns.DATA)) ?: continue - val noMediaFile = File(path) - if (noMediaFile.exists()) - folders.add("${noMediaFile.parent}/") - } while (cursor.moveToNext()) - } - } finally { - cursor?.close() - } - - return folders - } } diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 2a862daea..9437d049a 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -209,7 +209,7 @@ + android:text="@string/black_background_at_fullscreen"/> diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml new file mode 100644 index 000000000..7249f797b --- /dev/null +++ b/app/src/main/res/values-ar/strings.xml @@ -0,0 +1,149 @@ + + + الاستوديو البسيط + الاستوديو + تعديل + فتح الكاميرا + (مخفية) + تثبيت المجلد + ازالة تثبيت الملف + عرض كل محتوى المجلدات + كل المجلدات + التبديل إلى عرض المجلد + مجلد آخر + عرض على الخريطة + موقع غير معروف + لم يتم العثور على أي تطبيق مع الخرائط + لم يتم العثور على تطبيق كاميرا + زيادة عدد الأعمدة + تقليل عدد الأعمدة + تغيير صورة الغلاف + اختر الصور + استخدم الافتراضي + الصوت + السطوع + لا تسأل مرة أخرى في هذه الجلسة + غلق الاتجاه + فتح الاتجاه + + + فلتر الميديا + الصور + الفديوهات + الصور المتحركة + لم يتم العثور على ملفات وسائط مع الفلاتر المحددة + تغيير الفلاتر + + + هذه الميزة تخفي المجلد عن طريق إضافة ملف \'.nomedia\' بداخله، فإنه سيتم إخفاء كافة المجلدات الفرعية أيضا. يمكنك رؤيتها عن طريق تبديل الخيار \"إظهار العناصر المخفية\" في الإعدادات. استمر؟ + استبعد + المجلدات المستبعدة + ادارة المجلدات المستبعدة + سيؤدي هذا إلى استبعاد التحديد مع مجلداته الفرعية من الاستوديو فقط. يمكنك إدارة المجلدات المستبعدة في الإعدادات + هل تريد استبعاد أحد الوالدين بدلا من ذلك؟ + باستثناء المجلدات سيجعلها جنبا إلى جنب مع المجلدات الفرعية مخبأة فقط في الاستوديو ، فإنها لا تزال مرئية في تطبيقات أخرى.\n + \n + إذا كنت تريد إخفاءها من تطبيقات أخرى أيضا، استخدم ميزة الإخفاء + حذف الكل + هل تريد إزالة جميع المجلدات من القائمة المستبعدة؟ لن يؤدي هذا إلى حذف المجلدات + Manage hidden folders + + + المجلدات المضمنة + إدارة المجلدات المضمنة + اضافة مجلد + إذا كان لديك بعض المجلدات التي تحتوي على الملتيميديا ، ولكن لم يتم التعرف عليها من قبل التطبيق، يمكنك إضافتها يدويا هنا.\n + \n + لن تؤدي إضافة بعض العناصر هنا إلى استبعاد أي مجلد آخر. + + + تحجيم + تغيير حجم التحديد وحفظ + العرض + الارتفاع + إبقاء نسبة القياس + الرجاء إدخال درجة دقة صحيحة + + + تعديل + حفظ + التدوير + المسار + مسار صورة غير صحيح + فشل تعديل الصورة + تعديل الصورة باستخدام: + لم يتم العثور على أي محرر للصور + موقع ملف غير معروف + تعذر الكتابة فوق الملف المصدر + تدوير لليسار + تدوير لليمين + تدوير 180º + قلب + قلب أفقيا + قلب عموديا + تعديل باستخدام + + + خلفية بسيطة + تعيين كخلفية الشاشة + فشل الإعداد كخلفية + تعيين كخلفية بواسطة: + لم يتم العثور على أي تطبيق لأداء المهمة + ... جار تعيين الخلفية ... + تم تعيبن الخلفية بنجاح + صورة نسبة العرض إلى الارتفاع + نسبة العرض إلى الارتفاع في المناظر الطبيعية + الشاشة الرئيسية + شاشة القفل + الرئيسية وشاشة القفل + + + عرض الشرائح + الفاصل الزمني (بالثواني): + تضمين الصور + تضمين الفديو + تضمين GIF + ترتيب عشوائي + استخدام تاثير التلاشي + ارجع للخلف + حلقة عرض الشرائح + انتهى عرض الشرائح + لم يتم العثور على وسائط لعرض الشرائح + + + تغيير طريقة العرض + الشبكة + القائمة + + + تشغيل الفديوهات تلقائيا + تبديل رؤية اسم الملف + حلقة الفيديو + عرض صور GIF المتحركة في الصور المصغرة + أقصى سطوع عند عرض الوسائط + قص الصور المصغرة الى مستطيلات + تدوير وسائط ملء الشاشة بواسطة + اعدادات النظام + تدوير الجهاز + الابعاد + اجعل الخلفية وشريط الحالة باللون الاسود عند عرض المحتوى في كامل الشاشة + قم بتمرير الصور المصغرة أفقيا + إخفاء واجهة النظام تلقائيا عند العرض في وضع ملء الشاشة + احذف المجلدات الفارغة بعد حذف محتواها + السماح بالتحكم في صوت الفيديو والسطوع بالإيماءات العمودية + إظهار عدد لوسائط المجلد على طريقة العرض الرئيسية + استبدال خيار المشاركة مع خيار تدوير في القائمة ملء الشاشة + عرض تفاصيل موسعة على وسائط ملء الشاشة + إدارة المجلدات المستبعدة + + + + استوديو لعرض الصور والفيديو بدون اعلانات. + أداة بسيطة تستخدام لعرض الصور ومقاطع الفيديو. يمكن فرز العناصر حسب التاريخ والحجم والاسم على حد سواء تصاعدي أو تنازلي، يمكن تكبير الصور. يتم عرض ملفات الوسائط في أعمدة متعددة اعتمادا على حجم الشاشة، يمكنك تغيير عدد الأعمدة عبر إيماءاة القرص . يمكن إعادة تسميته، مشاركة، حذف، نسخ، نقل. ويمكن أيضا اقتصاص الصور، استدارة، او قلب أو تعيين كخلفية مباشرة من التطبيق. يتم عرض المحتوى أيضا للاستخدام طرف ثالث لمعاينة الصور / الفيديو، إضافة المرفقات في برامج البريد الإلكتروني الخ انه مثالي للاستخدام اليومي. لا يحتوي على إعلانات أو أذونات لا حاجة لها. مفتوح المصدر بشكل كلي ، ويوفر الألوان للتخصيص. هذا التطبيق هو مجرد قطعة واحدة من سلسلة أكبر من التطبيقات. يمكنك العثور على بقيتهم هنا\n + http://www.simplemobiletools.com + + + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9c2530c34..c7dd015b0 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -44,6 +44,7 @@ Vyloučené složky budou spolu s podsložkami vyloučeny jen z Jednoduché Galerie, ostatní aplikace je nadále uvidí.\n\nPokud je chcete skrýt i před ostatními aplikacemi, použijte funkci Skrýt. Odstranit všechny Odstranit všechny složky ze seznamu vyloučených? Tato operace neodstraní obsah složek. + Manage hidden folders Přidané složky @@ -121,7 +122,7 @@ System setting Device rotation Aspect ratio - Dark background at fullscreen media + Black background and status bar at fullscreen media Scroll thumbnails horizontally Automatically hide system UI at fullscreen media Delete empty folders after deleting their content @@ -139,6 +140,8 @@ Galerie je též k disposici ostatním aplikacím za účelem zobrazení fotografií a videí a přidávání příloh v e-mailových klientech. Je vhodná ke každodennímu použití. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Neobsahuje žádné reklamy ani nepotřebná oprávnění a má otevřený zdrojový kód. Poskytuje možnost změny barev rozhraní. Táto aplikace je jen jednou ze skupiny aplikací. Všechny tyto aplikace naleznete na http://www.simplemobiletools.com diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index af2bfb338..ad8a1e6f6 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -44,6 +44,7 @@ \'Ordner ausblenden\' wird ausgewählte Ordner und deren Unterordner nur in dieser App ausblenden. Andere Apps werden solche Ordner weiterhin anzeigen.\\n\\nWenn Sie Ordner auch für andere Apps verstecken wollen, verwenden Sie dafür die Funktion \'Ordner verstecken\'. Alle entfernen Alle Ordner aus der Ausgeblendet-Liste entfernen? Die Ordner selbst werden nicht gelöscht. + Versteckte Ordner verwalten Einbezogene Ordner @@ -121,9 +122,9 @@ Systemeinstellung Gerätedrehung Seitenverhältnis - Schwarzer Hintergrund im Vollbild + Schwarzer Hintergrund und Statusleiste bei Vollbild-Medien Kacheln horizontal scrollen - Systemleisten ausblenden im Vollbild + Systemleisten in Vollbild ausblenden Nach Löschen leere Ordner löschen Gesten für Videolautstärke/Helligkeit Medienanzahl bei Ordnern anzeigen @@ -139,6 +140,8 @@ Diese Galerie bietet auch für Drittanbieter einige Funktionen an: zum Vorschauen von Bildern / Videos, zum Hinzufügen von Anhängen bei Email-Apps, etc. Sie ist perfekt für den täglichen Gebrauch. + Die Berechtigung für Fingerabdrücke wird nur benötigt, um die Sichtbarkeit von versteckten Dateien oder die gesamte App zu sperren. + Beinhaltet keine Werbung oder unnötigen Berechtigungen. Sie ist komplett Open Source, verwendete Farben sind anpassbar. Diese App ist nur eine aus einer größeren Serie von schlichten Apps. Der Rest davon findet sich auf http://www.simplemobiletools.com diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index fcd5e2b5a..bfce999e1 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -44,6 +44,7 @@ Excluir las carpetas las hará junto a sus subcarpetas ocultas sólo en Simple Gallery, estas seguirán siendo visibles en otras aplicaciones.\\n\\nSi desea ocultarlo de otras aplicaciones, utilice la función de Ocultar. Eliminar todo ¿Eliminar todas las carpetas de la lista de excluidas? Esto no borrará las carpetas. + Manage hidden folders Carpetas incluidas @@ -121,7 +122,7 @@ Configuración del sistema Rotación del dispositivo Relación de aspecto - Utilizar siempre fondo oscuro en pantalla completa + Black background and status bar at fullscreen media Desplazar miniaturas horizontalmente Ocultar automáticamente la interfaz de usuario del sistema en medios de pantalla completa Eliminar carpetas vacias despues de borrar su contenido @@ -139,6 +140,8 @@ Gallery también se ofrece para uso de terceros para previsualizar imágenes/vídeos, agregar adjuntos en clientes de correo, etc. Es perfecta para uso diario. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + No contiene publicidad ni permisos innecesarios. Es totalmente libre, proporciona colores personalizables. Esta aplicación es solamente una pieza de una serie más grande de aplicaciones. Puede encontrar el resto en http://www.simplemobiletools.com diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 92510937e..c4a20e38d 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -44,6 +44,7 @@ Kansion poissulkeminen piilottaa kansion alikansioineen vain Simple Galleryssa, ne jäävät näkyviin muihin sovelluksiin.\n\nJos haluat piilottaa kansion myös muissa sovelluksissa, käytä piilota-funktiota. Poista kaikki Poista kaikki kansiot poissuljettujen listasta? Tämä ei poista kansioita. + Manage hidden folders Sisällytä kansiot @@ -121,7 +122,7 @@ Järjestelmän asetukset Laitteen kierto Kuvasuhde - Tumma tausta koko ruudun medioissa + Black background and status bar at fullscreen media Vieritä pienoiskuvia vaakasuorassa Piilota järjestelmän UI automaattisesti koko näytön mediassa Poista tyhjät kansiot kansion tyhjennyksen jälkeen @@ -139,6 +140,8 @@ Galleriaa tarjotaan myös kolmansille osapuolille kuvien / videoiden tarkasteluun, liitteiden lisäämiseksi sähköpostiin yms. Täydellinen jokapäiväiseen käyttöön. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Ei sisällä mainoksia tai turhia käyttöoikeuksia. Täysin avointa lähdekoodia, tarjoaa muokattavat värit. Tämä sovellus on vain yksi osa suurempaa kokoelmaa. Löydät loput osoitteesta http://www.simplemobiletools.com diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 593daf531..7701830bc 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -44,6 +44,7 @@ Exclure des dossiers les masquera ainsi que leurs sous-dossiers uniquement dans Simple Galerie, ils seront toujours visibles depuis d\'autres applications.\\n\\nSi vous voulez aussi les masquer ailleurs, utilisez la fonction Masquer. Tout supprimer Supprimer tous les dossiers de la liste des exclusions ? Ceci n\'effacera pas les dossiers. + Manage hidden folders Dossiers inclus @@ -121,7 +122,7 @@ Paramètres système Rotation de l\'appareil Ratio d\'aspect - Arrière-plan sombre pour média plein écran + Black background and status bar at fullscreen media Défilement des miniatures horizontalement Masquer automatiquement l\'interface utilisateur si média plein écran Supprimer les dossiers vides après avoir supprimé leur contenu @@ -139,6 +140,8 @@ La galerie est également proposée pour une utilisation comme tierce partie pour la prévisualisation des images/vidéos, ajouter des pièces jointes aux clients email etc. C\'est parfait pour un usage au quotidien. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + L\'application ne contient ni publicité ni autorisation inutile. Elle est totalement opensource et est aussi fournie avec des couleurs personnalisables. Cette application est juste l\'une des applications d\'une plus grande suite. Vous pouvez trouver les autres sur http://www.simplemobiletools.com diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 63ee0f11f..0f50fe1a7 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -40,10 +40,11 @@ Cartafoles excluídos Xestionar cartafoles excluídos Esto ocultará a selección xunto cos seus subcartafoles son en Simple Gallery. Pode xestionar os cartafoles ocultos en Axustes. - ?Excluír o cartafol fai no seu lugar? + \?Excluír o cartafol fai no seu lugar? Excluír un cartafol xunto cos subcartafoles só terá efecto en Simple Gallery, seguirán sendo visibles en outros aplicativos.\n\nSi tamén quere excluílos en outros aplicativos, utilice a opción Agochar. Eliminar todos Eliminar todos os cartafoles da lista de excluídos? Esto non borrará os cartafoles. + Manage hidden folders Cartafoles incluídos @@ -121,7 +122,7 @@ Axuste do sistema Rotación do dispositivo Relación de aspecto - Fondo oscura a pantalla completa + Black background and status bar at fullscreen media Desplazar iconas horizontalmente Agochar controis do sistema cando visualice a pantalla completa Borrar cartafoles baldeiros cando elmine o seu contido @@ -138,7 +139,9 @@ Unha simple ferramenta para ver fotos e vídeos. Pode organizar os elementos por data, tamaño, nome tanto ascendentes como descendentes, pode facer zoom nas fotografías. Os ficheiros de medios móstranse en múltiples columnas dependendo do tamaño da pantalla, pode mudar o número de columnas con xestos de belisco. Poden ser renomeados, compartidos, eliminados, copiados, movidos. As imaxes tamén se poden recortar, rotar, voltear ou establecer como fondo de pantalla directamente no aplicativo. A Galería tamén se ofrece como aplicación de terceiros para vista previa de imaxes / vídeos, engadir anexos en correos etc. É perfecta para o uso diario. - + + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Non contén anuncios nin solicita permisos innecesarios. É de código aberto, con cores personalizadas. Este aplicativo é só unha das pezas de unha grande familia. Pode atopar o resto en http://www.simplemobiletools.com diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index a05379db4..0ba59c891 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -44,6 +44,7 @@ Izostavljanje direktorija učiniti će ih nevidljivim zajedno s njihovim poddirektorijima samo u Simple Gallery, ali će oni biti vidljivi u drugim aplikacijama.\n\nAko ih želite sakriti od drugih aplikacija također, koristite Sakrij opciju. Ukloni sve Ukloni sve direktorije iz liste izostavljenih? Ovo neće izbrisati direktorije. + Manage hidden folders Dodaj direktorije @@ -121,7 +122,7 @@ Postavke sustava Rotacija uređaja Omjer slike - Crna pozadina pri pregledu datoteka + Black background and status bar at fullscreen media Listaj sličice horizontalno Automatski sakrij UI sustava pri pregledu datoteka Izbriži prazne direktorije nakon brisanja njihovog sadržaja @@ -139,6 +140,8 @@ Galerija se također može koristiti za pregledavanje slika i videa u drugim aplikacijama, prikačivanja datoteka u e-mail aplikacije itd. Savršeno za svakodnevno korištenje. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Ne sadrži reklame niti nepotrebna dopuštenja. Aplikacije je otvorenog koda, te pruža mogućnost promjene boja. Ova aplikacija je samo dio veće skupine aplikacije. Ostatak možete pronaći na http://www.simplemobiletools.com diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 1ce01199e..aff4967b1 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -44,6 +44,7 @@ Excluding folders will make them together with their subfolders hidden just in Simple Gallery, they will still be visible in other applications.\\n\\nIf you want to hide them from other apps too, use the Hide function. Remove all Remove all folders from the list of excluded? This will not delete the folders. + Manage hidden folders Included folders @@ -121,7 +122,7 @@ System setting Device rotation Aspect ratio - Dark background at fullscreen media + Black background and status bar at fullscreen media Scroll thumbnails horizontally Automatically hide system UI at fullscreen media Delete empty folders after deleting their content @@ -139,6 +140,8 @@ The Gallery is also offered for third party usage for previewing images / videos, adding attachments at email clients etc. It\'s perfect for everyday usage. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Contains no ads or unnecessary permissions. It is fully opensource, provides customizable colors. This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1fbdc0cc6..b969dfde5 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -44,6 +44,7 @@ L\'esclusione delle cartelle e delle sottocartelle le renderà nascoste solo in Simple Gallery, saranno ancora visibili in altre applicazioni.\\n\\nSe desideri nasconderle anche nelle altre app, usa la funzione Nascondi. Rimuovi tutte Rimuovere tutte le cartelle dalla lista delle esclusioni? Ciò non eliminerà le cartelle. + Manage hidden folders Includi cartelle @@ -121,7 +122,7 @@ Impostazione di sistema Rotazione dispositivo Proporzioni - Sfondo scuro a schermo intero + Black background and status bar at fullscreen media Scorri le miniature orizzontalmente Nascondi UI di sistema con media a schermo intero Elimina cartelle vuote dopo averne eliminato il contenuto @@ -139,6 +140,8 @@ Simple Gallery è anche offerta per utilizzo di terze parti per anteprime di immagini / video, aggiunta di allegati ai client email, ecc. È perfetta per un uso quotidiano. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Non contiene pubblicità o autorizzazioni non necessarie. È completamente opensource, offre colori personalizzabili. Questa app è solo una piccola parte di una grande serie di altre app. Puoi trovarle tutte su http://www.simplemobiletools.com diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index e56c10c04..aae7cccbf 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -44,6 +44,7 @@ フォルダーを除外すると、サブフォルダーも含めSimple Galleyの一覧から除外します。他のアプリでは引き続き表示されます。\\n\\n他のアプリでも非表示にしたい場合は、「非表示」機能を使用してください。 すべて解除 除外するフォルダーの登録をすべて解除しますか? フォルダー自体は削除されません。 + Manage hidden folders 追加フォルダー @@ -121,7 +122,7 @@ システム設定に従う 端末の向きに従う メディアの縦横比に従う - 黒背景でフルスクリーン表示 + Black background and status bar at fullscreen media サムネイル画面を横方向にスクロール フルスクリーン時にシステムUIを非表示にする メディアの削除後にフォルダーが空になった場合、そのフォルダーを削除する @@ -139,6 +140,8 @@ ギャラリーは、画像やビデオのプレビュー、メールクライアントで添付ファイルの追加など、サードパーティの用途にも提供されます。 毎日の使用には完璧です。 + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + 広告や不要なアクセス許可は含まれていません。 完全にオープンソースで、ダークテーマも提供しています。 このアプリは、大きな一連のアプリの一つです。 他のアプリは http://www.simplemobiletools.com で見つけることができます diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 000000000..202baecaa --- /dev/null +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,154 @@ + + + 심플 갤러리 + 갤러리 + 편집 + 카메라 열기 + (숨기기) + 폴더 고정 + 폴더 고정 해제 + 모든 폴더의 컨텐츠 보기 + 모든 폴더 + 폴더 보기로 변경 + 다른 폴더 + 지도에서 보기 + 위치정보 없음 + 연결 가능한 지도 애플리케이션이 없습니다. + 연결 가능한 카메라 애플리케이션이 없습니다. + 섬네일크기 축소 + 섬네일크기 확대 + Change cover image + 사진 선택 + Use default + 볼륨 + 밝기 + 다시 물어보지 않음 + 사진회전 잠금 + 사진회전 해제 + + + 미디어 필터 설정 + 이미지 + 비디오 + GIFs + 설정된 필터와 일치하는 컨텐츠가 존재하지 않습니다. + 필터 변경 + + + 현재폴더 및 모든 하위폴더를 \'.nomedia\' 폴더를 생성하여 숨김니다. 숨김 처리된 모들 폴더는 옵션설정의 \'숨김파일 보기\' 메뉴를 이용하여 다시 보실 수 있습니다. 계속 하시겠습니까? + 제외하기 + 제외된 폴더 + 제외된 폴더관리 + 현재폴더 및 모든 하위폴더를 심플 갤러리에서 제외시킵니다. 제외된 폴더는 옵션설정에서 관리 할 수 있습니다. + 상위 폴더를 제외 하시겠습니까? + Excluding folders will make them together with their subfolders hidden just in Simple Gallery, they will still be visible in other applications.\n\nIf you want to hide them from other apps too, use the Hide function. + 모두 제거 + 제외 목록을 모두 삭제 하시겠습니다? 목록을 삭제해도 폴더가 삭제되지는 않습니다. + Manage hidden folders + + + 포함된 폴더 + 포함된 폴더 관리 + 폴더 추가 + 미디어가 포함되어 있지만 앱에서 인식하지 못하는 폴더가있는 경우 여기에서 수동으로 추가 할 수 있습니다. \n\n여기에 항목을 추가해도 원본 폴더에서 제외되지 않습니다. + + + 크기 변경 + 크기 변경 및 저장 + 넓이 + 높이 + 가로세로 비율 유지 + 올바른 비율을 입력하세요. + + + 편집 + 저장 + 회전 + 경로 + 유효하지 않은 이미지 경로 + 이미지 편집 실패 + 이미지편집 프로그램 연결: + 이미지편집 프로그램 없음 + 알 수 없는 파일위치 + 원본파일 덮어쓰기 실패 + 왼쪽으로 회전 + 오른쪽으로 회전 + 180도 회전 + 반전 + 가로 반전 + 세로 반전 + 이미지편집 프로그램 연결 + + + Simple Wallpaper + Set as Wallpaper + Setting as Wallpaper failed + Set as wallpaper with: + No app capable of it has been found + Setting wallpaper… + Wallpaper set successfully + Portrait aspect ratio + Landscape aspect ratio + Home screen + Lock screen + Home and lock screen + + + 슬라이드 쇼 + 간격 (초): + 포함된 사진 + 포함된 비디오 + 포함된 GIFs + 랜덤 순서 + 페이드 애니메이션 사용 + 뒤로 이동 + 슬라이드 쇼 반복 + 슬라이드 쇼 종료 + 슬라이드 쇼를 위한 미디어를 찾을 수 없음 + + + 보기방식 변경 + 그리드 + 목록 + + + 비디오 자동재생 + 파일이름 보기 + 비디오 반복 + 섬네일에서 GIFs 애니메이션 활성화 + 미디어 최대 밝기 + 미리보기 사각형으로 자름 + 전체화면으로 회전기준 + 시스템 설정 + 디바이스 회전 + 가로세로 비율 + Black background and status bar at fullscreen media + 섬네일 수평스크롤 + 전체화면 모드에서 시스템 UI 숨김 + 콘텐츠 삭제 후 빈폴더 삭제 + 수직 제스처로 비디오 볼륨 및 밝기 제어 + 폴더에 포함된 미디어파일 수 표시 + 전체화면 메뉴의 공유 아이콘을 회전 아이콘으로 변경 + 전체화면 모드에서 세부정보 표시 + 확장된 세부정보 관리 + + + + 광고없이 사진과 동영상을 볼 수 있는 갤러리. + + 사진과 비디오 보기위한 간편한 툴입니다. 날짜, 크기, 이름을 오름차순 또는 내림차순으로 정렬 할 수 있으며 사진을 확대 할 수 있습니다. 미디어 파일은 디스플레이의 크기에 따라 여러 열로 표시되며 핀치 제스처로 열 수를 변경할 수 있습니다. 이름 변경, 공유, 삭제, 복사, 이동이 가능합니다. 이미지는 자르기, 회전, 반전 또는 앱에서 직접 배경 화면으로 설정할 수도 있습니다. + + 갤러리는 \'이미지/비디오 미리보기\', \'이메일 클라이언트에서 첨부파일 추가하기\' 등의 기능을 서드파티에 제공합니다. 언제나 완벽하게 사용할 수 있습니다. + + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + + 광고가 포함되어 있거나, 불필요한 권한을 요청하지 않습니다. 이 앱의 모든 소스는 오픈소스이며, 사용자가 직접 애플리케이션의 컬러를 설정 할 수 있습니다. + + 이 앱은 다양한 시리즈의 모바일앱 중 하나입니다. 나머지는 http://www.simplemobiletools.com 에서 찾아 보실 수 있습니다. + + + + diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 37751c779..3d1b245e1 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -44,6 +44,7 @@ Ekskludering av mapper vil gjøre dem sammen med deres undermapper, skjulte bare i denne appen. De vil fortsatt være synlige i andre apper.\n\nHvis du vil skjule dem fra andre apper, bruk Skjul-funksjonen. Fjern alle Fjerne alle mapper fra listen av ekskluderte? Dette sletter ikke mappene. + Manage hidden folders Inkluderte mapper @@ -121,7 +122,7 @@ Systeminnstilling Enhetsrotasjon Sideforhold - Mørk bakgrunn i mediavisningen + Svart bakgrunn og statuslinje i mediavisningen Horisontal rulling av minibilder Skjul automatisk systemlinjer ved mediavisning Slett tomme mapper etter sletting av deres innhold @@ -139,6 +140,8 @@ The Gallery is also offered for third party usage for previewing images / videos, adding attachments at email clients etc. It\'s perfect for everyday usage. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Contains no ads or unnecessary permissions. It is fully opensource, provides customizable colors. This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 6908de84d..fc3dd2d0b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -44,6 +44,7 @@ Uitsluiten zal mappen en hun submappen verbergen voor deze galerij, maar niet voor andere apps.\n\nAls u de mappen ook in andere apps wilt verbergen, kies dan voor de functie Verbergen. Alles verwijderen Verwijder alles uit de lijst van uitgesloten mappen? Dit zal de mappen zelf niet verwijderen. + Verborgen mappen beheren Toegevoegde mappen @@ -121,7 +122,7 @@ Systeeminstelling Rotatie van apparaat Afmetingen van bestand - Donkere achtergrond bij volledige weergave + Zwarte achtergrond en statusbalk bij volledige weergave Horizontaal scrollen Automatisch de statusbalk verbergen in volledige weergave Lege mappen verwijderen na het verwijderen van hun inhoud @@ -139,6 +140,8 @@ De galerij kan ook worden gebruikt voor het bekijken van afbeeldingen of video\'s vanuit andere apps, om bijlagen toe te voegen in e-mail, etc. Perfect voor dagelijks gebruik. + De permissie voor het uitlezen van vingerafdrukken is benodigd voor het vergendelen van verborgen items of de gehele app. + Bevat geen advertenties of onnodige permissies. Volledig open-source. Kleuren van de app kunnen worden aangepast. Deze app is onderdeel van een grotere verzameling. Vind de andere apps op http://www.simplemobiletools.com diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 5b68cb861..7a707b80a 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1,7 +1,7 @@ Prosta Galeria - Galeria +    Prosta Galeria Edytuj Uruchom aplikację aparatu (ukryty) @@ -44,6 +44,7 @@ Wykluczenie folderów ukryje je tylko w aplikacji Simple Gallery, w innych aplikacjach będą one wciąż widoczne.\n\nJeśli chcesz je ukryć także w innych aplikacjach, użyj funkcji ukrywania. Usuń wszystko Usunąć wszystkie foldery z listy wykluczonych? Foldery nie zostaną fizycznie usunięte. +    Zarządzaj ukrytymi folderami Dołączone foldery @@ -88,9 +89,9 @@ Tapeta została ustawiona Proporcje ekranu w trybie pionowym Proporcje ekranu w trybie poziomym - Home screen - Lock screen - Home and lock screen +    Pulpit +    Ekran blokady +    Pulpit i ekran blokady Pokaz slajdów @@ -121,7 +122,7 @@ Ustawień systemowych Orientacji urządzenia Proporcji - Czarne tło przy podglądzie pełnoekranowym +    Czarne tło i pasek stanu przy widoku pełnoekranowym Przewijaj miniatury poziomo Ukrywaj interfejs przy pełnoekranowym podglądzie Usuwaj puste foldery po usunięciu ich zawartości @@ -135,11 +136,13 @@ Prosta galeria bez reklam do przeglądania obrazów i filmów. - Prosta aplikacja galerii do oglądania obrazów i filmów. Pliki mogą być sortowane według daty, rozmiaru i nazwy, zarówno w porządku rosnącym, jak i malejącym. W zależności od wielkości ekranu, wyświetlane mogą być w wielu kolumnach. Liczbę kolumn można zmieniać za pomocą gestów, a zdjęcia mogą być powiększane, przycinane, obracane lub ustawiane jako tapeta bezpośrednio z poziomu Prostej Galerii. Kolory aplikacji można dowolnie ustawiać. +       Prosta aplikacja galerii do oglądania obrazów i filmów. Pliki mogą być sortowane według daty, rozmiaru i nazwy, zarówno w porządku rosnącym, jak i malejącym. W zależności od wielkości ekranu, wyświetlane mogą być w wielu kolumnach. Liczbę kolumn można zmieniać za pomocą gestów, a zdjęcia mogą być powiększane, przycinane, obracane lub ustawiane jako tapeta bezpośrednio z poziomu aplikacji. Jej kolorystykę można dowolnie modyfikować. - Nie zawiera natomiast żadnych reklam i nie potrzebuje całej masy uprawnień. Jest w pełni otwartoźródłowa i w pełni podatna na kolorowanie. +       Uprawnienie od odcisków palców potrzebne jest w celu blokowania widoczności elementów, bądź też całej aplikacji. - Niniejsza aplikacja jest tylko częścią naszej kolekcji prostych narzędzi. Ta, jak i pozostałe, dostępne są na stronie http://www.simplemobiletools.com +       Nie zawiera żadnych reklam, nie potrzebuje wielu uprawnień i jest w pełni otwartoźródłowa. + +       Jest ona tylko częścią naszej kolekcji prostych narzędzi. Ta, jak i pozostałe, dostępne są na stronie http://www.simplemobiletools.com Pastas incluídas @@ -121,7 +122,7 @@ Padrão do sistema Sensor do aparelho Proporção da mídia - Fundo de tela escuro em mídia tela cheia + Black background and status bar at fullscreen media Rolar miniaturas horizontalmente Esconder interface do sistema automaticamente quando em tela cheia Apagar pastas vazias após deleter seu conteúdo @@ -139,6 +140,8 @@ Também pode ser utilizada para pré-visualizar imagens e vídeos, ou para adicionar como anexos ao e-mail, entre outros. É perfeita para a utilização diária. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Não contém anúncios, nem permissões desnecessárias. Disponibiliza um tema escuro, e é totalmente \'open source\'. Este aplicativo é apenas parte de um conjunto mais vasto de aplicações. Saiba mais em http://www.simplemobiletools.com diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index f28767f20..199672bdd 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -44,6 +44,7 @@ A exclusão de uma pasta apenas oculta o seu conteúdo do Simple Gallery porque as outras aplicações continuarão a poder aceder-lhes.\\n\\nSe quiser ocultar também das outras aplicações, utilize a função Ocultar. Remover todas Remover todas as pastas de lista de exclusões? Esta ação não apaga as pastas. + Manage hidden folders Pastas incluídas @@ -121,7 +122,7 @@ Definições do sistema Rotação do dispositivo Proporção - Usar sempre um fundo escuro se em ecrã completo + Black background and status bar at fullscreen media Deslocação horizontal de miniaturas Ocultar interface do sistema se em ecrã completo Apagar as pastas vazias depois de remover o seu conteúdo @@ -139,6 +140,8 @@ Também pode ser utilizada para pré-visualizar imagens e vídeos ou para adicionar como anexos ao e-mail, entre outros. É perfeita para a utilização diária. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Não contém anúncios nem permissões desnecessárias. Disponibiliza um tema escuro e é totalmente \'open source\'. Esta aplicação é apenas parte de um conjunto mais vasto de aplicações. Saiba mais em http://www.simplemobiletools.com diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 393b0a939..1a6e4bff4 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -44,6 +44,7 @@ Исключая папки, вы сделаете их скрытыми вместе с подпапками в Simple Gallery, но они будут видны в других приложениях. Если вы хотите скрыть их в других приложениях, используйте функцию Скрыть. Удалить всё Очистить список исключённых? Сами папки не будут удалены. + Управление скрытыми папками Включённые папки @@ -56,7 +57,7 @@ Изменить выбранное и сохранить Ширина Высота - Сохранить соотношение сторон + Сохранять соотношение сторон Указано недопустимое разрешение @@ -81,7 +82,7 @@ Простые обои Установить в качестве обоев - Установить не удалось + Не удалось установить Установить в качестве обоев в: Приложение не найдено Установка обоев… @@ -100,8 +101,8 @@ Включать GIF Случайный порядок Эффект затухания - В обратном направлении - Закольцевать слайдшоу + В обратном порядке + Зациклить Слайдшоу завершилось Никаких медиафайлов для слайдшоу не было найдено. @@ -121,7 +122,7 @@ Системные настройки Поворот устройства Соотношение сторон - Тёмный фон в полноэкранном режиме + Чёрные фон и строка состояния в полноэкранном режиме Прокрутка эскизов по горизонтали Автоматически скрывать системный интерфейс в полноэкранном режиме Удалять пустые папки после удаления их содержимого @@ -139,6 +140,8 @@ Галерея идеальна для повседневных задач (предпросмотр фото/видео, добавление вложений в почтовых клиентах и т.д.). + Разрешение «Отпечаток пальца» необходимо для блокировки видимости скрытых объектов или всего приложения. + Это приложение не будет показывать рекламу или запрашивать ненужные разрешения. У него полностью открытый исходный код и настраиваемые цвета оформления. Simple Gallery — это приложение из серии Simple Mobile Tools. Остальные приложения из этой серии можно найти здесь: http://www.simplemobiletools.com diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index a011137df..ed93d39ab 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -44,6 +44,7 @@ Vylúčené priečinky budú spolu s podpriečinkami ukryté iba pred Jednoduchou Galériou, ostatné aplikácie ich budú stále vidieť.\\n\\nAk ich chcete ukryť aj pred ostatnými aplikáciami, použite funkciu Skryť. Odstrániť všetky Odstrániť všetky priečinky zo zoznamu vylúčených? Táto operácia neodstráni samotný obsah priečinkov. + Spravovať skryté priečinky Pridané priečinky @@ -121,7 +122,7 @@ Systémového nastavenia Otočenia zariadenia Pomeru strán - Tmavé pozadie pri médiách na celú obrazovku + Čierne pozadie a stavová lišta pri médiách na celú obrazovku Prehliadať miniatúry vodorovne Automaticky skrývať systémové lišty pri celoobrazovkových médiách Odstrániť prázdne priečinky po vymazaní ich obsahu @@ -139,6 +140,8 @@ Galéria je tiež poskytovaná pre použitie treťou stranou pre prehliadanie fotiek a videí, pridávanie príloh v emailových klientoch. Je perfektná na každodenné použitie. + Prístup ku odtlačkom prstov je potrebný pre uzamykanie skrytých položiek, alebo celej apky. + Neobsahuje žiadne reklamy a nepotrebné oprávnenia. Je opensource, poskytuje možnosť zmeny farieb. Táto aplikácia je iba jednou zo skupiny aplikácií. Ostatné viete nájsť na http://www.simplemobiletools.com diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 0e3deceb2..431ab1bc9 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -44,6 +44,7 @@ Uteslutning av mappar döljer bara dem och deras undermappar i Simple Gallery, de visas fortfarande i andra appar.\\n\\nAnvänd Dölj-funktionen om du även vill dölja dem från andra appar. Ta bort alla Vill du ta bort alla mappar från uteslutningslistan? Detta raderar inte mapparna. + Manage hidden folders Inkluderade mappar @@ -121,7 +122,7 @@ Systeminställning Enhetens rotation Bildförhållande - Mörk bakgrund när media visas i helskärmsläge + Black background and status bar at fullscreen media Rulla horisontellt genom miniatyrer Dölj systemanvändargränssnittet automatiskt när media visas i helskärmsläge Ta bort tomma mappar när deras innehåll tas bort @@ -139,6 +140,8 @@ Galleriet kan också användas av tredjepartsappar för förhandsgranskning av bilder / videos, bifoga bilagor i e-postklienter etc. Den är perfekt för det dagliga användandet. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Innehåller ingen reklam eller onödiga behörigheter. Det är helt och hållet opensource, innehåller anpassningsbara färger. Detta är bara en app i en serie av appar. Du hittar resten av dem här http://www.simplemobiletools.com diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index cd52b4b1a..6d99ec493 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -44,6 +44,7 @@ Klasörler hariç tutulduğunda, onları Basit Galeri\'de gizli olan alt klasörleriyle bir araya getirirler, ancak yine de diğer uygulamalarda görünür olurlar.\n\nBunları diğer uygulamalardan gizlemek isterseniz, Gizle işlevini kullanın. Hepsini sil Hariç tutulanlar listesinden tüm klasörleri kaldırmak mı istiyorsunuz? Bu, klasörler silinmez. + Manage hidden folders Dahil edilen klasörler @@ -121,7 +122,7 @@ Sistem ayarı Cihaz döndürme En-boy oranı - Dark background at fullscreen media + Black background and status bar at fullscreen media Scroll thumbnails horizontally Automatically hide system UI at fullscreen media Delete empty folders after deleting their content @@ -139,6 +140,8 @@ Galeri, görüntüleri/videoları önizlemek, e-posta istemcilerine ek ekler yapmak için üçüncü taraf kullanımı için de önerilir. Bu\'s günlük kullanım için mükemmel. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Reklam içermeyen veya gereksiz izinler. Tamamen açık kaynaktır, özelleştirilebilir renkler sağlar. Bu uygulama, daha büyük bir uygulama serisinden sadece bir parça. Geri kalanını şu adresten bulabilirsiniz http://www.simplemobiletools.com diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 058606ed6..ecd589bf3 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -44,6 +44,7 @@ 此目录及其子目录中的媒体将不会在“简约图库”中显示,但是其它应用可以访问。如果您想对其它应用隐藏,请使用隐藏功能。 移除全部 是否删除排除列表中的所有项目?此操作不会删除文件夹本身。 + 管理隐藏目录 包含目录 @@ -121,7 +122,7 @@ 系统设置 设备方向 根据长宽比 - 全屏时黑色背景 + 全屏时使用黑色背景和状态栏​ 水平滚动缩略图 全屏时自动隐藏状态栏 删除没有内容的空文件夹 @@ -139,6 +140,8 @@ 相册亦提供能让第三方应用预览图片/视频、向电子邮件客户端添加附件等的功能。非常适合日常使用。 + 这个应用需要指纹权限来锁定隐藏的项目或是整个应用。 + 应用不包含广告与不必要的权限。它是完全开放源代码的,并内置自定义颜色主题。 这个应用只是一系列应用中的一小部份。您可以在 http://www.simplemobiletools.com 找到其余的应用。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 035d25590..2415e0830 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -44,6 +44,7 @@ 「排除資料夾」只會將選擇的資料夾與子資料夾一起從簡易相簿中隱藏,他們仍會出現在其他應用程式中。\n\n如果您要在其他應用程式中也隱藏,請使用「隱藏」功能。 移除全部 是否將排除列表中的所有資料夾都移除?這不會刪除資料夾。 + Manage hidden folders 包含資料夾 @@ -121,7 +122,7 @@ 系統設定方向 裝置實際方向 圖片長寬比 - 全螢幕時黑背景 + Black background and status bar at fullscreen media 橫向滑動縮圖 全螢幕時自動隱藏系統介面 刪除內容後刪除空白資料夾 @@ -138,7 +139,9 @@ 一個適合用來瀏覽相片和影片的簡單工具。可以根據日期、大小、名稱來遞增或遞減排序項目,相片能被縮放。媒體檔案會依畫面大小呈現在數個欄位內,你可以使用縮放手勢來改變欄數。媒體檔案可以重新命名、分享、刪除、複製、移動;圖片還能縮放、旋轉、翻轉,或者直接設為桌布。 這相簿也支援第三方應用,像是預覽圖片/影片、添加電子信箱附件...等功能,日常使用上相當適合。 - + + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + 優點包含沒廣告,也沒非必要的權限,而且完全開放原始碼,並提供自訂顏色。 這只是一個大系列應用程式的其中一項程式,你可以在這發現更多 http://www.simplemobiletools.com diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b8f987f32..e2127294e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -44,6 +44,7 @@ Excluding folders will make them together with their subfolders hidden just in Simple Gallery, they will still be visible in other applications.\n\nIf you want to hide them from other apps too, use the Hide function. Remove all Remove all folders from the list of excluded? This will not delete the folders. + Manage hidden folders Included folders @@ -121,7 +122,7 @@ System setting Device rotation Aspect ratio - Dark background at fullscreen media + Black background and status bar at fullscreen media Scroll thumbnails horizontally Automatically hide system UI at fullscreen media Delete empty folders after deleting their content @@ -139,6 +140,8 @@ The Gallery is also offered for third party usage for previewing images / videos, adding attachments at email clients etc. It\'s perfect for everyday usage. + The fingerprint permission is needed for locking either hidden item visibility, or the whole app. + Contains no ads or unnecessary permissions. It is fully opensource, provides customizable colors. This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com