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 b7227be6e..e9dc6255a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MainActivity.kt
@@ -18,9 +18,11 @@ import android.widget.FrameLayout
import com.google.gson.Gson
import com.simplemobiletools.commons.dialogs.CreateNewFolderDialog
import com.simplemobiletools.commons.dialogs.FilePickerDialog
+import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_MODIFIED
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_TAKEN
+import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.commons.models.Release
import com.simplemobiletools.commons.views.MyScalableRecyclerView
import com.simplemobiletools.gallery.BuildConfig
@@ -107,6 +109,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
R.id.filter -> showFilterMediaDialog()
R.id.open_camera -> launchCamera()
R.id.show_all -> showAllMedia()
+ R.id.change_view_type -> changeViewType()
R.id.temporarily_show_hidden -> tryToggleTemporarilyShowHidden()
R.id.stop_showing_hidden -> tryToggleTemporarilyShowHidden()
R.id.create_new_folder -> createNewFolder()
@@ -245,6 +248,16 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
finish()
}
+ private fun changeViewType() {
+ val items = arrayListOf(
+ RadioItem(VIEW_TYPE_GRID, getString(R.string.grid)),
+ RadioItem(VIEW_TYPE_LIST, getString(R.string.list)))
+
+ RadioGroupDialog(this, items, config.viewTypeFolders) {
+ config.viewTypeFolders = it as Int
+ }
+ }
+
private fun tryToggleTemporarilyShowHidden() {
if (config.temporarilyShowHidden) {
toggleTemporarilyShowHidden(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 8be958661..f02a18cfa 100644
--- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt
@@ -20,7 +20,9 @@ import com.bumptech.glide.request.transition.Transition
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
+import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
+import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.commons.views.MyScalableRecyclerView
import com.simplemobiletools.gallery.R
import com.simplemobiletools.gallery.adapters.MediaAdapter
@@ -223,6 +225,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
R.id.toggle_filename -> toggleFilenameVisibility()
R.id.open_camera -> launchCamera()
R.id.folder_view -> switchToFolderView()
+ R.id.change_view_type -> changeViewType()
R.id.hide_folder -> tryHideFolder()
R.id.unhide_folder -> unhideFolder()
R.id.exclude_folder -> tryExcludeFolder()
@@ -262,6 +265,16 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
finish()
}
+ private fun changeViewType() {
+ val items = arrayListOf(
+ RadioItem(VIEW_TYPE_GRID, getString(R.string.grid)),
+ RadioItem(VIEW_TYPE_LIST, getString(R.string.list)))
+
+ RadioGroupDialog(this, items, config.viewTypeFiles) {
+ config.viewTypeFiles = it as Int
+ }
+ }
+
private fun tryHideFolder() {
if (config.wasHideFolderTooltipShown) {
hideFolder()
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 5cd08be16..26f679028 100644
--- a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt
@@ -280,4 +280,12 @@ class Config(context: Context) : BaseConfig(context) {
var tempFolderPath: String
get() = prefs.getString(TEMP_FOLDER_PATH, "")
set(tempFolderPath) = prefs.edit().putString(TEMP_FOLDER_PATH, tempFolderPath).apply()
+
+ var viewTypeFolders: Int
+ get() = prefs.getInt(VIEW_TYPE_FOLDERS, VIEW_TYPE_GRID)
+ set(viewTypeFolders) = prefs.edit().putInt(VIEW_TYPE_FOLDERS, viewTypeFolders).apply()
+
+ var viewTypeFiles: Int
+ get() = prefs.getInt(VIEW_TYPE_FILES, VIEW_TYPE_GRID)
+ set(viewTypeFiles) = prefs.edit().putInt(VIEW_TYPE_FILES, viewTypeFiles).apply()
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt
index 705c91d76..691031eb3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt
@@ -37,6 +37,8 @@ val REPLACE_SHARE_WITH_ROTATE = "replace_share_with_rotate"
val DELETE_EMPTY_FOLDERS = "delete_empty_folders"
val ALLOW_VIDEO_GESTURES = "allow_video_gestures"
val TEMP_FOLDER_PATH = "temp_folder_path"
+val VIEW_TYPE_FOLDERS = "view_type_folders"
+val VIEW_TYPE_FILES = "view_type_files"
// slideshow
val SLIDESHOW_INTERVAL = "slideshow_interval"
@@ -77,3 +79,7 @@ val ORIENT_LANDSCAPE_RIGHT = 2
val IMAGES = 1
val VIDEOS = 2
val GIFS = 4
+
+// view types
+val VIEW_TYPE_GRID = 1
+val VIEW_TYPE_LIST = 2
diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml
index e94eacea7..b1a4035e7 100644
--- a/app/src/main/res/menu/menu_main.xml
+++ b/app/src/main/res/menu/menu_main.xml
@@ -16,6 +16,10 @@
android:icon="@drawable/ic_filter"
android:title="@string/filter_media"
app:showAsAction="ifRoom"/>
+
+
- The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Show hidden media
Play videos automatically
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index ee99698ff..af7703ab4 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -102,6 +102,11 @@
The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Zobrazit skryté média
Automaticky přehrávat videa
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index f0351f613..96580f927 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -102,6 +102,11 @@
Diashow beendet
Keine Medien für Diashow gefunden
+
+ Change view type
+ Grid
+ List
+
Versteckte Ordner zeigen
Videos automatisch abspielen
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 6aad7a9c4..5b5350d6c 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -102,6 +102,11 @@
The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Mostrar carpetas ocultas
Reproducir vídeos automáticamente
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index cb8271195..ca60589f2 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -102,6 +102,11 @@
Diaporama terminé
Aucun média trouvé pour le diaporama
+
+ Change view type
+ Grid
+ List
+
Afficher les dossiers cachés
Lecture automatique des vidéos
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 70e9df0c8..c42d41e12 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -102,6 +102,11 @@
The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Show hidden media
Play videos automatically
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 725bdbf01..e77d073ef 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -102,6 +102,11 @@
La presentazione è terminata
Nessun media trovato per la presentazione
+
+ Change view type
+ Grid
+ List
+
Mostra cartelle nascoste
Riproduci video automaticamente
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index d9af73f59..ef90a0d11 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -102,6 +102,11 @@
スライドショーが終了しました
スライドショーに表示するメディアがありません
+
+ Change view type
+ Grid
+ List
+
非表示フォルダーを表示
ビデオを自動再生する
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 7b9f6575f..0c8b066f8 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -102,6 +102,11 @@
Pokaz slajdów zakończony
Nie znalazłem multimediów do pokazu slajdów
+
+ Change view type
+ Grid
+ List
+
Pokazuj ukryte foldery
Odtwarzaj filmy automatycznie
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 3c4b4032f..e549de037 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -102,6 +102,11 @@
The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Mostrar pastas ocultas
Reproduzir vídeos automaticamente
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index d0869b9c2..5128dfaf4 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -102,6 +102,11 @@
Apresentação terminada
Não foram encontrados ficheiros para a apresentação
+
+ Change view type
+ Grid
+ List
+
Mostrar pastas ocultas
Reproduzir vídeos automaticamente
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 1576a4b44..f0ff4a8df 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -102,6 +102,11 @@
Слайдшоу завершилось
Никаких медиафайлов для слайдшоу не было найдено.
+
+ Change view type
+ Grid
+ List
+
Показать скрытые папки
Воспроизводить видео автоматически
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 0d7fe9f86..89a8fe5bb 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -102,6 +102,11 @@
Prezentácia skončila
Pre prezentáciu sa nenašli žiadne vhodné súbory
+
+ Zmeniť typ zobrazenia
+ Mriežka
+ Zoznam
+
Zobraziť skryté médiá
Spúšťať videá automaticky
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index aa1fea2ec..834755adf 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -102,6 +102,11 @@
Bildspelet har avslutats
Ingen media hittades för bildspelet
+
+ Change view type
+ Grid
+ List
+
Visa dolda mappar
Spela upp videos automatiskt
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index ded134a6d..e98004c41 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -102,6 +102,11 @@
The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Gizli klasörleri göster
Videoları otomatik olarak oynat
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index ccbd2c8cd..1b6a61f9e 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -102,6 +102,11 @@
幻灯片结束
未发现可用媒体
+
+ Change view type
+ Grid
+ List
+
显示所有
自动播放
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index a2b80e15e..6f7ec0dc1 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -102,6 +102,11 @@
投影片結束
找不到投影片的媒體檔案
+
+ Change view type
+ Grid
+ List
+
顯示隱藏的媒體檔案
自動播放影片
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 13d30d4ba..ddc156702 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -102,6 +102,11 @@
The slideshow ended
No media for the slideshow have been found
+
+ Change view type
+ Grid
+ List
+
Show hidden media
Play videos automatically