diff --git a/CHANGELOG.md b/CHANGELOG.md index d5307ff92..c277055d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========== +Version 6.7.0 *(2019-05-02)* +---------------------------- + + * Moved the video duration field at the top right corner of thumbnails, if enabled + * Fixed some fullscreen image related glitches + * Misc translation and stability improvements + Version 6.6.4 *(2019-04-09)* ---------------------------- diff --git a/app/build.gradle b/app/build.gradle index 04014d1b9..d97d7bd30 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,8 +15,8 @@ android { applicationId "com.simplemobiletools.gallery.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 243 - versionName "6.6.4" + versionCode 244 + versionName "6.7.0" multiDexEnabled true setProperty("archivesBaseName", "gallery") } @@ -61,12 +61,12 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.11.4' + implementation 'com.simplemobiletools:commons:5.12.12' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16' - implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3' + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha5' implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6' implementation 'com.google.vr:sdk-panowidget:1.180.0' implementation 'com.google.vr:sdk-videowidget:1.180.0' @@ -74,8 +74,8 @@ dependencies { implementation 'info.androidhive:imagefilters:1.0.7' implementation 'com.squareup.picasso:picasso:2.71828' implementation 'com.caverock:androidsvg-aar:1.3' - implementation 'com.github.tibbi:gestureviews:cb7c2c191a' - implementation 'com.github.tibbi:subsampling-scale-image-view:7e4202eaee' + implementation 'com.github.tibbi:gestureviews:1506ec6156' + implementation 'com.github.tibbi:subsampling-scale-image-view:1df78cdfff' kapt 'com.github.bumptech.glide:compiler:4.9.0' // keep it here too, not just in Commons, else loading SVGs wont work kapt 'androidx.room:room-compiler:2.0.0' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt index a5b9d346a..ed1ddee6b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MainActivity.kt @@ -1122,7 +1122,10 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { dirs.removeAll(invalidDirs) setupAdapter(dirs) invalidDirs.forEach { - mDirectoryDao.deleteDirPath(it.path) + try { + mDirectoryDao.deleteDirPath(it.path) + } catch (ignored: Exception) { + } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt index cc8b1b52a..c0c39db89 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/DirectoryAdapter.kt @@ -483,7 +483,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList 1) "${directory.name} (${directory.subfoldersCount})" else directory.name dir_path?.text = "${directory.path.substringBeforeLast("/")}/" photo_cnt.text = directory.subfoldersMediaCount.toString() val thumbnailType = when { @@ -501,7 +501,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList, allDirs: ArrayList - val foldersToShow = getDirectParentSubfolders(dirFolders, currentPathPrefix) - val parentDirs = dirs.filter { foldersToShow.contains(it.path) } as ArrayList + val parentDirs = getDirectParentSubfolders(dirs, currentPathPrefix) updateSubfolderCounts(dirs, parentDirs) // show the current folder as an available option too, not just subfolders @@ -210,7 +207,8 @@ fun Context.getDirsToShow(dirs: ArrayList, allDirs: ArrayList, currentPathPrefix: String): HashSet { +fun Context.getDirectParentSubfolders(dirs: ArrayList, currentPathPrefix: String): ArrayList { + val folders = dirs.map { it.path }.sorted().toMutableSet() as HashSet val internalPath = internalStoragePath val sdPath = sdCardPath val currentPaths = LinkedHashSet() @@ -258,15 +256,17 @@ fun Context.getDirectParentSubfolders(folders: HashSet, currentPathPrefi } if (folders.size == currentPaths.size) { - return currentPaths + return dirs.filter { currentPaths.contains(it.path) } as ArrayList } folders.clear() folders.addAll(currentPaths) + + val dirsToShow = dirs.filter { folders.contains(it.path) } as ArrayList return if (areDirectSubfoldersAvailable) { - getDirectParentSubfolders(folders, currentPathPrefix) + getDirectParentSubfolders(dirsToShow, currentPathPrefix) } else { - folders + dirsToShow } } @@ -426,7 +426,7 @@ fun Context.getPathLocation(path: String): Int { return when { isPathOnSD(path) -> LOCATION_SD isPathOnOTG(path) -> LOCATION_OTG - else -> LOCAITON_INTERNAL + else -> LOCATION_INTERNAL } } @@ -477,7 +477,7 @@ fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly: Thread { val directories = try { directoryDao.getAll() as ArrayList - } catch (e: SQLiteException) { + } catch (e: Exception) { ArrayList() } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt index 8ed09a992..e93d46050 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/fragments/PhotoFragment.kt @@ -243,11 +243,13 @@ class PhotoFragment : ViewPagerFragment() { // avoid GIFs being skewed, played in wrong aspect ratio if (mMedium.isGIF()) { mView.onGlobalLayout { - measureScreen() - Handler().postDelayed({ - mView.gif_view_frame.controller.resetState() - loadGif() - }, 50) + if (activity != null) { + measureScreen() + Handler().postDelayed({ + mView.gif_view_frame.controller.resetState() + loadGif() + }, 50) + } } } else { hideZoomableView() @@ -286,7 +288,7 @@ class PhotoFragment : ViewPagerFragment() { private fun measureScreen() { val metrics = DisplayMetrics() - activity!!.windowManager.defaultDisplay.getRealMetrics(metrics) + activity?.windowManager?.defaultDisplay?.getRealMetrics(metrics) mScreenWidth = metrics.widthPixels mScreenHeight = metrics.heightPixels } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Constants.kt index 0ea8d7062..e3af08f5c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/helpers/Constants.kt @@ -154,7 +154,7 @@ const val TYPE_GIFS = 4 const val TYPE_RAWS = 8 const val TYPE_SVGS = 16 -const val LOCAITON_INTERNAL = 1 +const val LOCATION_INTERNAL = 1 const val LOCATION_SD = 2 const val LOCATION_OTG = 3 diff --git a/app/src/main/res/layout/directory_item_grid.xml b/app/src/main/res/layout/directory_item_grid.xml index 4eab84e66..550001a4a 100644 --- a/app/src/main/res/layout/directory_item_grid.xml +++ b/app/src/main/res/layout/directory_item_grid.xml @@ -69,6 +69,8 @@ android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="2" + android:shadowColor="@color/default_background_color" + android:shadowRadius="4" android:paddingBottom="@dimen/small_margin" android:textColor="@android:color/white" android:textSize="@dimen/normal_text_size"/> diff --git a/app/src/main/res/layout/photo_video_item_grid.xml b/app/src/main/res/layout/photo_video_item_grid.xml index 14c85348d..abeeb8618 100644 --- a/app/src/main/res/layout/photo_video_item_grid.xml +++ b/app/src/main/res/layout/photo_video_item_grid.xml @@ -1,6 +1,7 @@ - - + + + android:textSize="@dimen/smaller_text_size" + tools:text="My photo"/> diff --git a/app/src/main/res/layout/photo_video_item_list.xml b/app/src/main/res/layout/photo_video_item_list.xml index 46f772e8a..aada823ec 100644 --- a/app/src/main/res/layout/photo_video_item_list.xml +++ b/app/src/main/res/layout/photo_video_item_list.xml @@ -41,7 +41,8 @@ android:paddingLeft="6dp" android:paddingRight="@dimen/normal_margin" android:textColor="@android:color/white" - android:textSize="@dimen/bigger_text_size"/> + android:textSize="@dimen/bigger_text_size" + tools:text="My photo"/> - + I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 23963cfbd..c2775cecd 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 7d097aa4d..90ab09151 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. 動画を早送りするにはどうすればよいですか? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index ebd6cbbaa..6e3e2f342 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index d1cefd66c..ef7d0707a 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 7c0d12216..64a91f67e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 5c50d7981..e878df4c2 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 82b1ab4b1..23ab204f7 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar, that will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 68b30f0cc..a91c739e5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -198,7 +198,7 @@ I locked the app with a password, but I forgot it. What can I do? You can solve it in 2 ways. You can either reinstall the app, or find the app in your device settings and select \"Clear data\". It will reset all your settings, it will not remove any media files. How can I make an album always appear at the top? - You can long press the desired album and select the Pin icon at the actionmenu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. + You can long press the desired album and select the Pin icon at the actions menu, that will pin it to the top. You can pin multiple folders too, pinned items will be sorted by the default sorting method. How can I fast-forward videos? You can either drag your finger horizontally over the video player, or click on the current or max duration texts near the seekbar. That will move the video either backward, or forward. What is the difference between hiding and excluding a folder? diff --git a/build.gradle b/build.gradle index 413108702..fbf166032 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.21' + ext.kotlin_version = '1.3.31' repositories { google() @@ -9,7 +9,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:3.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/app.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/app.jpg old mode 100755 new mode 100644 index c8e5f57e9..859608677 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/app.jpg and b/fastlane/metadata/android/en-US/images/phoneScreenshots/app.jpg differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_2.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_2.jpg old mode 100755 new mode 100644 index 9d14855a2..00f22cc86 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_2.jpg and b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_2.jpg differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_3.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_3.jpg old mode 100755 new mode 100644 index b80672eb4..ee5d2394a Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_3.jpg and b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_3.jpg differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_4.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_4.jpg old mode 100755 new mode 100644 index 20ddf6acf..77ee101f3 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_4.jpg and b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_4.jpg differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/app_5.jpg b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_5.jpg new file mode 100644 index 000000000..b96cb9dbc Binary files /dev/null and b/fastlane/metadata/android/en-US/images/phoneScreenshots/app_5.jpg differ diff --git a/gradle.properties b/gradle.properties index 5465fec0e..f32badbfb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,3 @@ android.enableJetifier=true -android.useAndroidX=true \ No newline at end of file +android.useAndroidX=true +org.gradle.jvmargs=-Xmx1536m \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 00616cb8d..6d33a8d3b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Jan 16 16:59:58 CET 2019 +#Tue Apr 30 16:38:30 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip