From 21353337d4d9f1c065a6f4955a591ccfc529ac14 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Mon, 8 Nov 2021 20:16:52 +0100 Subject: [PATCH 01/50] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fc8c67db5..15274b177 100644 --- a/README.md +++ b/README.md @@ -104,8 +104,8 @@ https://www.reddit.com/r/SimpleMobileTools Don't forget that if you uninstall any paid app within 2 hours, you will automatically be refunded. If you want a refund anytime later, just contact us at hello@simplemobiletools.com and you will get it. That makes it easy to try it out :) -Get it on Google Play -Get it on F-Droid +Get it on Google Play +Get it on F-Droid
App image From 78baba766e5a29461f4a74913b1a0f3a1c30eef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Fri, 12 Nov 2021 17:27:18 +0000 Subject: [PATCH 02/50] Update strings.xml (Turkish) --- app/src/main/res/values-tr/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 9a053f50c..73f19f6fe 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -32,7 +32,7 @@ Tüm görünür klasörler arasında dosya aramaya geç Varsayılan klasör olarak ayarla Varsayılan klasör olarak ayarlama - Reorder folders by dragging + Sürükleyerek klasörleri yeniden sırala Medyayı filtrele @@ -201,7 +201,7 @@ Uzun klasör başlıklarını 1 satırla sınırla Kare Yuvarlatılmış köşeler - Export favorite file paths + Favori dosya yollarını dışa aktar Küçük resimler @@ -241,7 +241,7 @@ Doğrusal Aynalı Gauss - Add text + Metin ekle Metin Metin Seçenekleri Metin Rengi @@ -263,8 +263,8 @@ Öne Sil Fırça Rengi - Editör - Editör kapatılsın mı? + Düzenleyici + Düzenleyici kapatılsın mı? Değişiklikleri gerçekten atmak istiyor musunuz? Evet Hayır @@ -364,7 +364,7 @@ Basit Galeri Pro - Fotoğraf Yönetici, Düzenleyici - Bu fotoğraf ve video galerisinde kesintisiz olarak anılarınıza göz atın + Fotoğraf, video ve GIF\'lerinizi yönetmek ve düzenlemek için seçkin bir uygulama Basit Galeri Pro, özelleştirilebilir bir çevrimdışı galeridir. Fotoğraflarınızı düzenleyin ve organize edin, geri dönüşüm kutusuyla silinen dosyaları kurtarın, dosyaları koruyun ve gizleyin ve RAW, SVG ve çok daha fazlası dahil olmak üzere çok çeşitli fotoğraf ve video formatlarını görüntüleyin. @@ -375,7 +375,7 @@ ------------------------------------------------- • Reklamsız veya açılır penceresiz, çevrimdışı galeri - • Basit galeri fotoğraf editörü - kırpma, döndürme, yeniden boyutlandırma, çizim, filtreler ve daha fazlası + • Basit galeri fotoğraf düzenleyici - kırpma, döndürme, yeniden boyutlandırma, çizim, filtreler ve daha fazlası • İnternet erişimi gerekmez, size daha fazla gizlilik ve güvenlik sunar • Gereksiz izinler gerekmez • Resimleri, videoları ve dosyaları hızlıca arama @@ -383,7 +383,7 @@ • Dosyaları kolayca düzenlemek ve organize etmek için çeşitli sezgisel hareketler • Dosyaları filtrelemenin, gruplandırmanın ve sıralamanın birçok yolu • Basit Galeri Pro\'nun görünümünü özelleştirme - • 32 dilde mevcut + • 32 dilde kullanılabilir • Hızlı erişim için dosyaları sık kullanılan olarak işaretleme • Fotoğraflarınızı ve videolarınızı desen, pin veya parmak izi ile koruma • Uygulama başlatılmasını veya belirli işlevleri de korumak için pin, desen ve parmak izi kullanma @@ -394,7 +394,7 @@ • Basit Galeri Pro açık kaynak kodludur … ve çok daha fazlası! - FOTOĞRAF GALERİSİ EDİTÖRÜ + FOTOĞRAF GALERİSİ DÜZENLEYİCİSİ Basit Galeri Pro, fotoğraflarınızı anında düzenlemenizi kolaylaştırır. Resimlerinizi kırpın, çevirin, döndürün ve yeniden boyutlandırın. Kendinizi biraz daha yaratıcı hissediyorsanız, filtre ekleyebilir ve resimlerinizi çizebilirsiniz! BİRÇOK DOSYA TÜRÜ İÇİN DESTEK From 6373d84ef9670bf821ce5343fdf6a80dc83fa2b2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 13 Nov 2021 17:24:35 +0100 Subject: [PATCH 03/50] removing an invalid Indonesian translation file --- app/src/main/res/values-in/strings.xml | 429 ------------------------- 1 file changed, 429 deletions(-) delete mode 100644 app/src/main/res/values-in/strings.xml diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml deleted file mode 100644 index 50884c89c..000000000 --- a/app/src/main/res/values-in/strings.xml +++ /dev/null @@ -1,429 +0,0 @@ - - - Simple Gallery - Galeri - Sunting - Buka kamera - (tersembunyi) - (dikecualikan) - Pin folder - Lepas pin folder - Pin ke atas - Tampilkan semua isi folder - Semua folder - Beralih ke tampilan folder - Folder lainnya - Tampilkan di peta - Lokasi tidak diketahui - Volume - Kecerahan - Kunci orientasi - Buka kunci orientasi - Ubah orientasi - Paksa potret - Paksa lanskap - Gunakan orientasi default - Perbaiki Tanggal Diambil - Memperbaiki… - Tanggal berhasil diperbaiki - No Date Taken values have been found - Bagikan versi yang diubah ukurannya - Hai,\n\nsepertinya anda memperbarui dari aplikasi gratis versi lama. Anda sekarang bisa mencopot versi yang lama, yang ada tombol \'Tingkatkan ke Pro\' di bagian atas pengaturan aplikasi.\n\nHanya item Keranjang sampah yang akan dihapus, item favorit menjadi tak bertanda dan anda juga harus menyetel ulang pengaturan aplikasi.\n\nTerima kasih! - Beralih ke pencarian berkas di semua folder yang terlihat - Set as default folder - Unset as default folder - Reorder folders by dragging - - - Filter media - Gambar - Video - GIF - Gambar RAW - SVG - Potret - Tidak ditemukan berkas media yang sesuai dengan filter ini. - Ubah filter - - - Fungsi ini menyembunyikan folder dengan menambahkan berkas \'.nomedia\' ke dalamnya, juga akan menyembunyikan semua subfoldernya. Anda bisa melihatnya dengan mengaktifkan opsi \'Tampilkan berkas tersembunyi\' di Pengaturan. Lanjutkan? - Kecualikan - Folder yang dikecualikan - Kelola folder yang dikecualikan - Ini akan mengecualikan folder yang dipilih dan seluruh subfoldernya hanya di Simple Gallery. Anda bisa mengelola folder yang dikecualikan di Pengaturan. - Kecualikan folder induk? - Mengecualikan folder akan menyembunyikan folder tersebut dan seluruh subfoldernya hanya di Simple Gallery, namun masih bisa dilihat di aplikasi lain.\n\nJika anda ingin menyembunyikannya dari aplikasi lain juga, gunakan fitur Sembunyikan. - Buang semua - Buang semua folder dari daftar pengecualian? Ini tidak akan menghapus folder tersebut. - Folder tersembunyi - Kelola folder tersembunyi - Sepertinya tidak ada folder yang tersembunyi dengan berkas \".nomedia\" di dalamnya. - - - Folder yang disertakan - Kelola folder yang disertakan - Tambah folder - Jika ada folder yang berisi berkas media namun tidak dikenali oleh aplikasi ini, anda bisa menambahkannya secara manual.\n\nMenambahkan beberapa item di sini tidak akan mengecualikan folder yang lain. - Tidak ada berkas media yang ditemukan. Anda bisa memperbaikinya dengan menambahkan folder yang berisi berkas media secara manual. - - - Ubah ukuran - Ubah ukuran dan simpan - Lebar - Tinggi - Jaga aspek rasio - Silakan masukkan resolusi yang valid - - - Penyunting - Rotasi - Jalur gambar tidak valid - Invalid video path - Gagal menyunting gambar - Video editing failed - Image editing cancelled - Video editing cancelled - File edited successfully - Image edited successfully - Video edited successfully - Sunting gambar dengan: - Edit video with: - Tidak ditemukan aplikasi penyunting gambar - No video editor found - Lokasi berkas tidak diketahui - Tidak bisa mengganti berkas sumber - Putar ke kiri - Putar ke kanan - Putar 180º - Balik - Balik horizontal - Balik vertikal - Bebas - Lainnya - - - Simple Wallpaper - Setel sebagai Wallpaper - Gagal menyetel sebagai Wallpaper - Setel sebagai Wallpaper dengan: - Menyetel wallpaper… - Wallpaper berhasil disetel - Aspek rasio potret - Aspek rasio lanskap - Layar beranda - Layar kunci - Beranda dan layar kunci - - - Slideshow - Interval (detik): - Sertakan foto - Sertakan video - Sertakan GIF - Urutan acak - Mundur - Slideshow tanpa henti - Animasi - Tidak ada - Pudar - Slide - Slideshow berakhir - Tidak ditemukan media untuk slideshow - - - Kelompokkan subfolder langsung - - - Kelompokkan menurut - Jangan kelompokkan berkas - Folder - Terakhir diubah - Terakhir diubah (harian) - Terakhir diubah (bulanan) - Tanggal diambil - Tanggal diambil (harian) - Tanggal diambil (bulanan) - Tipe berkas - Ekstensi - Harap dicatat bahwa mengelompokkan dan mengurutkan adalah 2 hal yang berbeda - - - Folder yang ditampilkan pada widget: - Tampilkan nama folder - - - Putar video secara otomatis - Ingat posisi pemutaran terakhir - Video berulang - Animasi GIF di thumbnail - Kecerahan maksimum saat melihat di layar penuh - Pangkas thumbnail menjadi persegi - Tampilkan durasi video - Rotasi layar penuh menurut - Pengaturan sistem - Rotasi perangkat - Aspek rasio - Latar belakang hitam saat layar penuh - Gulir thumbnail secara horizontal - Otomatis sembunyikan UI sistem saat layar penuh - Hapus folder kosong setelah menghapus isinya - Izinkan mangatur kecerahan foto dengan gestur vertikal - Izinkan mangatur kecerahan dan volume video dengan gestur vertikal - Tampilkan jumlah media di tampilan utama - Tampilkan detail tambahan saat layar penuh - Kelola detail tambahan - Izinkan zum dengan satu jari di layar penuh - Izinkan mengganti media dengan mengklik sisi layar - Izinkan zum gambar lebih dalam - Sembunyikan detail tambahan ketika bilah status disembunyikan - Tampilkan tombol tindakan di layar bagian bawah - Tampilkan Keranjang Sampah di layar folder - Zum gambar mendalam - Tampilkan gambar dalam kualitas tertinggi - Tampilkan Keranjang Sampah sebagai item terakhir di layar utama - Izinkan keluar dari layar penuh dengan menggeser ke bawah - Izinkan zum 1:1 dengan dua kali ketuk - Selalu buka video pada layar terpisah dengan gestur horizontal baru - Tampilkan notch jika tersedia - Izinkan memutar gambar dengan gestur - Prioritas pemuatan berkas - Kecepatan - Kompromi - Hindari menampilkan berkas yang tidak valid - Tampilkan tipe berkas gambar - Allow zooming videos with double tapping them - Folder thumbnail style - File thumbnail style - Thumbnail spacing - Show file count on a separate line - Show file count in brackets - Do not show file count - Limit long folder titles to 1 line - Square - Rounded corners - Export favorite file paths - - - Thumbnail - Media layar penuh - Detail tambahan - Tindakan bawah - - - Kelola tombol tindakan bawah - Favorit - Ubah visibilitas berkas - - - Custom - Reset - Square - Transform - Filter - None - Adjust - Shadows - Exposure - Highlights - Brightness - Contrast - Saturation - Clarity - Gamma - Blacks - Whites - Temperature - Sharpness - Reset - Focus - None - Radial - Linear - Mirrored - Gaussian - Add text - Text - Text Options - Text Color - Font - Add - Edit - Straighten - Font - Color - BG Color - Alignment - To Front - Delete - Your text - Brush - Color - Size - Hardness - To Front - Delete - Brush Color - Editor - Close Editor? - Do you really want to discard the changes? - Yes - No - Cancel - Accept - Save - Exporting… - Exporting %s. - Sticker - Sticker Color - Sticker Options - Add - Color - Delete - To Front - Straighten - Replace - Opacity - Contrast - Saturation - Brightness - Uploads - Overlay - Normal - Darken - Screen - Overlay - Lighten - Multiply - Color Burn - Soft Light - Hard Light - None - Golden - Lightleak 1 - Mosaic - Paper - Rain - Vintage - Flip H - Flip V - Undo - Redo - Color Picker - Transparent - White - Gray - Black - Light blue - Blue - Purple - Orchid - Pink - Red - Orange - Gold - Yellow - Olive - Green - Aquamarin - Pipettable color - Trim - - - Bagaimana cara menjadikan Simple Gallery sebagai aplikasi galeri default? - Pertama anda harus menemukan galeri default saat ini di bagian Aplikasi di Pengaturan perangkat, cari tombol dengan label seperti \"Buka secara default\", klik, lalu pilih \"Hapus default\". - Lain kali anda mencoba membuka gambar atau video, anda akan diminta memilih aplikasi, dan anda bisa memilih Simple Gallery dan menjadikannya default. - Saya mengunci aplikasi dengan sandi, tapi saya lupa. Apa yang harus dilakukan? - Anda bisa menyelesaikannya dengan 2 cara. Anda bisa pasang ulang aplikasi, atau cari aplikasi ini di Pengaturan perangkat dan pilih \"Hapus data\". Ini akan menyetel ulang semua pengaturan anda, dan tidak akan menghapus berkas media apapun. - Bagaimana agar album selalu muncul paling atas di dalam daftar? - Anda bisa menekan lama album tersebut dan pilih ikon Pin di menu tindakan, hal tersebut akan membuat album tetap berada di bagian paling atas daftar. Anda juga bisa menyematkan beberapa folder, item yang di-pin akan diurutkan berdasarkan metode urutan default. - Bagaimana cara mempercepat laju video? - You can do it by double tapping the side of the screen, or tapping the current or max duration texts near the seekbar. If you enable opening videos on a separate screen in the app settings, you can use horizontal gestures too. - Apa perbedaan antara menyembunyikan dan mengecualikan folder? - Mengecualikan tidak akan menampilkan folder di Simple Gallery saja, sedangkan Sembunyikan bekerja sesuai aturan sistem dan akan menyembunyikan folder dari aplikasi galeri yang lain. Cara kerjanya dengan membuat berkas \".nomedia\" kosong pada folder yang diinginkan, yang bisa anda hapus juga dengan aplikasi pengelola berkas. Note that some devices do not allow hiding folders like Camera, Screenshots and Downloads. - Mengapa folder dengan gambar album musik atau stiker muncul? - Kadang anda melihat beberapa album yang tidak biasa muncul. Anda bisa dengan mudah menyembunyikannya dengan menekan lama dan pilih Kecualikan. Pada dialog berikutnya, anda lalu bisa memilih folder induk, yang akan mencegah album terkait muncul kembali. - Ada folder berisi gambar namun tidak muncul, apa yang harus dilakukan? - Itu bisa disebabkan berbagai alasan, namun solusinya mudah. Pergi ke Pengaturan -> Atur folder yang disertakan, pilih Tambah dan cari folder yang diinginkan. - Bagaimana jika saya hanya ingin beberapa folder saja yang terlihat? - Menambahkan folder di Folder yang Disertakan tidak otomatis mengecualikan folder yang lain. Yang bisa anda lakukan adalah pergi ke Pengaturan -> Atur Folder yang Dikecualikan, lalu kecualikan folder root \"/\", lalu tambahkan folder yang diinginkan di Pengaturan -> Atur Folder yang Disertakan. - Itu akan membuat folder yang dipilih saja yang muncul, dan jika sebuah folder disertakan dan dikecualikan secara bersamaan, folder tersebut akan muncul. - Bisakah saya memangkas gambar dengan aplikasi ini? - Ya, anda bisa melakukannya di Penyunting, dengan menyeret sudut gambar. Anda bisa masuk ke penyunting dengan menekan lama thumbnail gambar dan memilih Sunting, atau pilih Sunting dari tampilan layar penuh. - Bisakah saya mengelompokkan thumbnail berkas media? - Bisa, gunakan menu \"Kelompokkan menurut\" pada tampilan thumbnail. Anda bisa mengelompokkan berkas dengan berbagai kriteria, termasuk Tanggal Diambil. Jika anda menggunakan fungsi \"Tampilkan semua isi folder\", anda juga bisa mengelompokkan berdasarkan foldernya. - Tidak bisa mengurutkan berdasarkan Tanggal Diambil, bagaimana cara memperbaikinya? - Itu umumnya disebabkan karena berkas yang disalin dari tempat lain. Anda bisa memperbaikinya dengan memilih berkas thumbnail dan pilih \"Perbaiki Tanggal Diambil\". - Saya melihat beberapa pita warna pada gambar. Bagaimana saya meningkatkan kualitasnya? - Solusi saat ini untuk menampilkan gambar berfungsi dengan baik dalam sebagian besar kasus, namun jika anda ingin kualitas gambar yang lebih baik, anda bisa mengaktifkan \"Tampilkan gambar dalam kualitas tertinggi\" di pengaturan aplikasi, pada bagian \"Zum gambar mendalam\". - Saya punya berkas/folder tersembunyi. Bagaimana cara memunculkannya? - Anda bisa memilih menu \"Tampilkan sementara berkas tersembunyi\" di layar utama, atau \"Tampilkan berkas tersembunyi\" di pengaturan aplikasi untuk menampilkannya. Jika anda tidak ingin menyembunyikannya, tekan lama dan pilih \"Jangan sembunyikan\". Folder disembunyikan dengan menambahkan berkas \".nomedia\" di dalamnya, anda bisa menghapus berkas tersebut dengan aplikasi pengelola berkas. Note that hiding works recursively though, so if you hide a folder, all subfolders will become hidden too. So for unhiding the subfolders you have to unhide the parent folder. - Kenapa aplikasi menggunakan sangat banyak ruang kosong? - Cache aplikasi bisa mencapai 250MB, ini untuk menjamin pemuatan gambar yang lebih cepat. Jika aplikasi menggunakan lebih banyak lagi ruang kosong, sangat memungkinkan anda memiliki item di dalam Keranjang Sampah. Berkas tersebut akan menambah ukuran aplikasi. Anda bisa mengosongkan Keranjang sampah dengan cara membukanya dan menghapus semua berkas, atau dari pengaturan aplikasi. Semua berkas di dalam keranjang sampah akan otomatis dihapus setelah 30 hari. - - - - Simple Gallery Pro - Pengelola & Penyunting Foto - - Browse your memories without any interruptions with this photo and video gallery - - Simple Gallery Pro adalah aplikasi galeri luring yang sangat mudah diubahsuai. Mengelola & menyunting foto anda, memulihkan berkas yang terhapus dari keranjang sampah, melindungi & menyembunyikan berkas, dan menampilkan banyak format foto & video, diantaranya RAW, SVG dan masih banyak lainnya. - - Aplikasi sama sekali tidak berisi iklan dan tidak membutuhkan perizinan yang tidak perlu. Dan karena aplikasi juga tidak membutuhkan akses internet, privasi anda terlindungi. - - ------------------------------------------------- - SIMPLE GALLERY PRO – FITUR - ------------------------------------------------- - - • Galeri luring tanpa iklan dan popup - • Penyunting galeri foto sederhana – pangkas, putar, ubah ukuran, gambar, filter & masih banyak lagi - • Tidak membutuhkan akses internet, memberi anda jaminan keamanan dan privasi - • Tidak membutuhkan izin yang tidak diperlukan - • Cepat mencari gambar, video & berkas - • Buka & lihat berbagai macam jenis foto dan video (RAW, SVG, panorama, dll) - • Gestur untuk mempermudah penyuntingan & mengelola berkas - • Banyak cara untuk menambahkan filter, mengelompokkan & mengurutkan berkas - • Sesuaikan tampilan Simple Gallery Pro - • Tersedia dalam 32 bahasa - • Tandai berkas sebagai favorit untuk akses cepat - • Lindungi foto & video anda dengan pola, pin atau sidik jari - • Gunakan pin, pattern & sidik jari untuk mencegah aplikasi dibuka - • Pulihkan foto & video yang dihapus dari keranjang sampah - • Ubah visibilitas berkas untuk menyembunyikan foto & video - • Buat slideshow khusus dari berkas anda - • Lihat informasi detail berkas (resolusi, EXIF, dll) - • Simple Gallery Pro bersumber terbuka - … dan masih banyak lagi! - - PENYUNTING GALERI FOTO - Simple Gallery Pro mempermudah anda menyunting foto. Pangkas, balik, putar dan ubah ukuran gambar anda. Jika anda merasa kreatif anda bisa menambahkan filter dan menggambar pada foto anda! - - MENDUKUNG BANYAK TIPE BERKAS - Tidak seperti penampil galeri & pengelola foto lainnya, Simple Gallery Pro mendukung sangat banyak tipe berkas yang berbeda diantaranya JPEG, PNG, MP4, MKV, RAW, SVG, foto & video Panorama, dan masih banyak lagi. - - PENGELOLA GALERI YANG MUDAH DISESUAIKAN - Dari UI sampai tombol tindakan pada bilah perkakas bawah, Simple Gallery Pro sangat mudah disesuaikan dengan keinginan anda. Tidak ada galeri lainnya yang memiliki kemampuan seperti ini! Karena bersumber terbuka, tersedia juga dalam 32 bahasa! - - PULIHKAN FOTO & VIDEO YANG TERHAPUS - Secara tidak sengaja menghapus foto atau video? Jangan khawatir! Simple Gallery Pro juga menyertakan fitur Keranjang Sampah yang mempermudah anda memulihkan foto & video yang terhapus. - - MELINDUNGI & MENYEMBUNYIKAN FOTO, VIDEO & BERKAS - Menggunakan pin, pola atau pemindai sidik jari perangkat, anda bisa melindungi dan menyembunyikan foto, video & seluruh album. Anda bisa melindungi aplikasinya atau mengunci fungsi-fungsi yang lebih spesifik di dalam aplikasi. Contohnya, anda tidak bisa menghapus berkas tanpa memindai sidik jari, membantu melindungi anda menghapus berkas secara tidak sengaja. - - Lihat semua aplikasi Simple Tools di sini: - https://www.simplemobiletools.com - - Standalone website of Simple Gallery Pro: - https://www.simplemobiletools.com/gallery - - Facebook: - https://www.facebook.com/simplemobiletools - - Reddit: - https://www.reddit.com/r/SimpleMobileTools - - - - From 7b1731b4e73b7a78e4f5065690102fdea2ac1a5e Mon Sep 17 00:00:00 2001 From: Guillaume Date: Wed, 17 Nov 2021 21:59:28 +0100 Subject: [PATCH 04/50] Dutch (consistency) --- app/src/main/res/values-nl/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 9088c697f..76d97d2da 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -157,14 +157,14 @@ Video\'s herhalen GIF-bestanden afspelen in overzicht Maximale helderheid in volledig scherm - Miniatuurvoorbeelden bijsnijden + Voorbeelden bijsnijden Lengte van video’s tonen Media in volledig scherm roteren volgens Systeeminstelling Oriëntatie van apparaat Afmetingen van bestand Zwarte achtergrond en statusbalk bij volledig scherm - Horizontaal scrollen + Voorbeelden horizontaal scrollen Statusbalk automatisch verbergen in volledig scherm Lege mappen verwijderen na leegmaken Helderheid voor afbeeldingen aanpassen met verticale veeggebaren @@ -192,9 +192,9 @@ Ongeldige bestanden verbergen Bestandstypen tonen Bij video\'s inzoomen met dubbelklikken - Stijl voor thumbnails mappen - Stijl voor thumbnails bestanden - Afstand tussen thumbnails + Stijl voor voorbeelden van mappen + Stijl voor voorbeelden van bestanden + Afstand tussen voorbeelden Aantal bestanden op aparte regel tonen Aantal bestanden tussen rechte haken tonen Aantal bestanden niet tonen @@ -204,7 +204,7 @@ Locaties favorieten exporteren - Miniatuurvoorbeelden + Voorbeelden Volledig scherm Uitgebreide informatie Acties onder aan het scherm From 4bf50c4ae9abd04f4d89b28980733d8ab5abcbdb Mon Sep 17 00:00:00 2001 From: melintemarian <48149829+melintemarian@users.noreply.github.com> Date: Mon, 22 Nov 2021 01:39:30 +0200 Subject: [PATCH 05/50] Added romanian strings --- app/src/main/res/values-ro/strings.xml | 429 +++++++++++++++++++++++++ 1 file changed, 429 insertions(+) create mode 100644 app/src/main/res/values-ro/strings.xml diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml new file mode 100644 index 000000000..c30efd606 --- /dev/null +++ b/app/src/main/res/values-ro/strings.xml @@ -0,0 +1,429 @@ + + + Simple Gallery + Galerie + Editează + Deschide camera + (ascuns) + (exclus) + Fixează dosarul + Desprinde dosarul + Fixează în vârf + Afișează conținutul tuturor dosarelor + Toate dosarele + Schimbă la vizualizarea pe dosare + Alt dosar + Arată pe hartă + Locație necunoscută + Volum + Luminozitate + Blochează orientarea + Deblochează orientarea + Schimbă orientarea + Forţează modul portret + Forţează modul peisaj + Utilizează orientarea implicită + Fixează data creării + Fixare… + Date stabilite cu succes + Nu a fost găsită nicio valoare pentru data creării + Distribuie o versiune redimensionată + Hei,\n\nse pare că ai făcut o actualizare de la aplicația gratuită la versiunea pro. Acum poţi dezinstala vechea versiune, care are un buton \'Upgrade to Pro\' în partea de sus a setărilor aplicației.\n\nVei avea doar elementele din coșul de reciclare șterse, elementele favorite vor fi demarcate și va trebui, de asemenea, să resetezi setările aplicației.\n\nMulțumesc! + Treceți la căutarea de fișiere în toate dosarele vizibile + Setază ca dosar implicit + Dezactivează ca dosar implicit + Reordonează dosarele prin tragere + + + Filtrează elementele media + Imagini + Videoclipuri + GIF-uri + Imagini RAW + SVG-uri + Portrete + Nu a fost găsit niciun fișier media cu filtrele selectate. + Schimbă filtrele + + + Această funcție ascunde dosarul prin adăugarea unui fișier \''.nomedia\'' în el, ascunzând și toate subdosarele. Le poţi vedea prin activarea opțiunii \'Afișați elementele ascunse\' din Setări. Continuați? + Exclude + Dosare excluse + Gestionează dosarele excluse + Acest lucru va exclude selecția, împreună cu subdosarele sale, numai din Simple Gallery. Poţi gestiona dosarele excluse în Setări. + Exclude dosarul părinte în schimb? + Excluderea dosarelor le va face ca acestea, împreună cu subdosarele lor, să fie ascunse doar în Simple Gallery, ele vor fi în continuare vizibile în alte aplicații.\n\nDacă doreşti să le ascunzi și pentru alte aplicații, utilizează funcția Ascundere. + Elimină tot + Elimini toate dosarele din lista de dosare excluse? Acest lucru nu va șterge dosarele. + Dosare ascunse + Gestionează dosarele ascunse + Se pare că nu ai niciun dosar ascuns cu un fișier \".nomedia\". + + + Dosare incluse + Gestionează dosarele incluse + Adăugă un dosar + Dacă ai unele dosare care conțin conținut media, dar care nu au fost recunoscute de aplicație, le poţi adăuga manual aici.\n\nAdăugarea unor elemente aici nu va exclude niciun alt dosar. + Nu a fost găsit niciun fișier media. Poţi rezolva această problemă adăugând manual dosarele care conțin fișiere media. + + + Redimensionați + Redimensionează selecția și salvează + Lățime + Înălțime + Păstrează raportul de aspect + Vă rugăm să introduceți o rezoluție validă + + + Editor + Rotire + Calea imaginii este invalidă + Calea videoclupui este invalidă + Editarea imaginii a eșuat + Editarea videoclipului a eșuat + Editarea imaginii a fost anulată + Editarea videoclipului a fost anulată + Fișier editat cu succes + Imagine editată cu succes + Videoclip editat cu succes + Editează imaginea cu: + Editează videoclipul cu: + Nu s-a găsit niciun editor de imagini + Nu a fost găsit niciun editor video + Locație necunoscută a fișierului + Nu s-a putut suprascrie fișierul sursă + Rotire la stânga + Rotire la dreapta + Rotire cu 180º + Flip + Flip orizontal + Flip vertical + Liber + Altele + + + Imagine de fundal simplă + Setează ca imagine de fundal + Setarea ca imagine de fundal a eşuat + Setează ca imagine de fundal cu: + Setarea imaginii de fundal… + Imagine de fundal setată cu succes + Raport de aspect portret + Raport de aspect peisaj + Ecranul de pornire + Ecranul de blocare + Ecranul de pornire și de blocare + + + Slideshow + Interval (în secunde): + Include fotografii + Include videoclipuri + Include GIF-uri + Ordine aleatorie + Mută-te înapoi + Repetă Slideshow-ul + Animație + Niciuna + Fade + Slide + Slideshow-ul s-a încheiat + Nu a fost găsit niciun media pentru slideshow + + + Grupează subdosarele directe + + + Grupează după + Nu grupați fișierele + Dosar + Ultima modificare + Ultima modificare (zilnic) + Ultima modificare (lunar) + Data realizării + Data realizării (zilnic) + Data realizării (lunar) + Tipul de fișier + Extensie + Vă rugăm să rețineți că gruparea și sortarea sunt două câmpuri independente. + + + Dosar afișat pe widget: + Afișează numele dosarului + + + Redă videoclipurile automat + Reține ultima poziție de redare video + Repetă videoclipurile + Animează GIF-urile în miniaturi + Luminozitatea maximă la vizualizarea elementelor media pe ecran complet + Taie miniaturile în pătrate + Afișează durata videoclipului + Roteşte elementele media pe ecran complet cu + Setări de sistem + Rotația dispozitivului + Raport de aspect + Fundal negru pentru elemente media pe ecran complet + Derulează miniaturile pe orizontală + Ascunde automat interfața de sistem la elementele media pe ecran complet + Șterge dosarelor goale după ștergerea conținutului acestora + Permite controlul luminozității fotografiilor cu ajutorul gesturilor verticale + Permite controlul volumului video și al luminozității cu ajutorul gesturilor verticale + Afișează numărul de elemente media al dosarelor în vizualizarea principală + Afișați detalii extinse peste elementele mediile pe ecran complet + Manage extended details + Permite zoom-ul cu un singur deget la media pe ecran complet + Permite schimbarea instantanee a suportului media prin apăsarea pe părțile laterale ale ecranului + Permite mărirea profundă a imaginilor + Ascunde detaliile extinse atunci când bara de stare este ascunsă + Afișează câteva butoane de acțiune în partea de jos a ecranului + Afișează coșului de reciclare în ecranul cu dosare + Imagini cu zoom profund + Afișează imaginile la cea mai bună calitate posibilă + Afișează coșului de reciclare ca ultimul element de pe ecranul principal + Permite închiderea vizualizării pe tot ecranul cu un gest de jos + Permite o mărire 1:1 cu două atingeri duble ale ecranului + Deschide întotdeauna videoclipurile pe un ecran separat cu ajutorul noilor gesturi orizontale + Afișează o crestătură, dacă este disponibilă + Permite rotirea imaginilor cu ajutorul gesturilor + Prioritatea de încărcare a fișierelor + Viteză + Compromis + Evită afișarea fișierelor invalide + Arată tipurile de fișiere de imagine + Permite mărirea clipurilor video prin dubla atingere a acestora + Stilul miniaturii dosarului + Stilul miniaturii fișierului + Spațierea miniaturilor + Afișează numărul de fișiere pe o linie separată + Afișează numărul de fișiere în paranteze + Nu afișa numărul de fișiere + Limitează titlurile lungi ale dosarelor la 1 rând + Pătrat + Colțuri rotunjite + Exportă căile de acces ale fișierelor favorite + + + Miniaturi + Elemente media pe ecran complet + Detalii extinse + Acţiunile disponibile în partea de jos a ecranului + + + Gestionează acțiunile vizibile în partea de jos a ecranului + Schimbă favoritele + Schimbă vizibilitatea fișierului + + + Personalizat + Resetare + Pătrat + Transformare + Filtru + Fără + Ajustare + Umbre + Expunere + Puncte de atracție + Luminozitate + Contrast + Saturație + Claritate + Gamma + Nuanţe de negru + Nuanţe de alb + Căldură + Acuitate + Resetare + Focalizare + Fără + Radial + Linear + Oglindit + Gaussian + Adăugare text + Text + Opțiuni de text + Culoarea textului + Font + Adăugare + Editare + Îndreptare + Font + Culoare + Culoare BG + Aliniere + În față + Şterge + Textul tău + Pensulă + Culoare + Dimensiune + Duritate + În față + Şterge + Culoarea pensulei + Editor + Închide editorul? + Chiar doreşti să renunți la modificări? + Da + Nu + Anulează + Acceptă + Salvează + Exportând… + Exportând %s. + Autocolant + Culoarea autocolantului + Opțiuni pentru autocolant + Adaugare + Culoare + Şterge + În faţă + Îndreaptă + Înlocuiește + Opacitate + Contrast + Saturație + Luminozitate + Încărcări + Overlay + Normal + Întunecat + Ecran + Overlay + Iluminat + Multiplicat + Culori Arse + Lumină blândă + Lumină intensă + Fără + Aur + Scurgeri de lumină 1 + Mozaic + Hârtie + Ploaie + Vintage + Flip Oriz. + Flip Vert. + Înapoi + Înainte + Alegător de culori + Transparent + Alb + Gri + Negru + Albastru deschis + Albastru + Purpuriu + Orhidee + Roz + Roşu + Portocaliu + Auriu + Galben + Olive + Verde + Aquamarin + Culoare pipetabilă + Trim + + + Cum pot face ca Simple Gallery să fie galeria implicită a dispozitivului? + Mai întâi trebuie să găsiți galeria implicită curentă în secțiunea Aplicații din setările dispozitivului, căutați un buton pe care scrie ceva de genul a \"Setare ca implicită\", apăsaţi pe acesta, apoi selectați \"Ştergeţi valorile implicite\". + Data viitoare când veți încerca să deschideți o imagine sau un videoclip, ar trebui să vedeți un selector de aplicații, unde puteți selecta Simple Gallery și să o transformați în aplicația implicită. + Am blocat aplicația cu o parolă, dar am uitat-o. Ce pot să fac? + Puteți rezolva acest lucru în 2 moduri. Puteți fie reinstala aplicația, fie găsiți aplicația în setările dispozitivului și în secţiunea de stocare a aplicaţiei selectați \"Golire date\". Aceasta va reseta toate setările, dar nu va elimina niciun fișier media. + Cum pot face ca un album să apară întotdeauna în partea de sus? + Puteți să apăsați lung pe albumul dorit și să selectați pictograma Pin din meniul de acțiuni, care îl va fixa în partea de sus. Puteți fixa alte dosare, iar elementele fixate vor fi sortate după metoda de sortare implicită. + Cum pot să rulez rapid videoclipurile? + Puteți face acest lucru atingând de două ori partea laterală a ecranului sau atingând textele privind durata curentă sau durata maximă de lângă bara de căutare. Dacă activați deschiderea videoclipurilor pe un ecran separat în setările aplicației, puteți utiliza și gesturile orizontale. + Care este diferența dintre ascunderea și excluderea unui dosar? + Exclude previne afișarea dosarului doar în Simple Gallery, în timp ce Hide funcționează la nivel de sistem și ascunde dosarul și din alte galerii. Funcționează prin crearea unui fișier gol \".nomedia\" în dosarul dat, pe care îl puteți elimina apoi și cu orice manager de fișiere. Rețineți că unele dispozitive nu permit ascunderea unor dosare precum Camera, Imagini de ecran și Descărcări. + De ce apar dosarele cu coperte de muzică sau autocolante? + Se poate întâmpla să apară albume neobișnuite. Le puteți exclude cu ușurință apăsând lung pe ele și selectând Excludere. În următoarea fereastră de dialog, puteți selecta dosarul părinte, ceea ce va împiedica apariția celorlalte albume aferente. + Un dosar cu imagini nu apare sau nu afișează toate elementele. Ce pot să fac? + Această problemă poate avea mai multe motive, dar rezolvarea ei este ușoară. Trebuie doar să accesați Setări -> Gestionați dosarele incluse, selectați Plus și navigați până la dosarul necesar. + Ce se întâmplă dacă vreau ca doar câteva dosare anume să fie vizibile? + Adăugarea unui dosar la Dosarele incluse nu exclude automat nimic. Ceea ce puteți face este să accesați Setări -> Gestionați dosarele excluse, să excludeți dosarul rădăcină \"/\", apoi să adăugați dosarele dorite la Setări -> Gestionați dosarele incluse. + Astfel, vor fi vizibile numai dosarele selectate, deoarece atât excluderea, cât și includerea sunt recursive, iar dacă un dosar este atât exclus, cât și inclus, va fi afișat. + Pot să decupez imagini cu această aplicație? + Da, puteți decupa imaginile în editor, trăgând colțurile imaginii. Puteți ajunge la editor fie prin apăsarea lungă a unei miniaturi de imagine și selectarea opţiunii Editare, fie prin selectarea opţiunii Editare din vizualizarea pe ecran complet. + Pot să grupez cumva miniaturi de fișiere media? + Sigur, utilizați elementul de meniu \"Grupează după\" în timp ce vă aflați în vizualizarea miniaturilor. Puteți grupa fișierele în funcție de mai multe criterii, inclusiv de data luării. Dacă utilizați funcția \"Afișați conținutul tuturor dosarelor\", le puteți grupa, de asemenea, după dosare. + Sortarea după data luată nu pare să funcționeze corect, cum pot să o repar? + Cel mai probabil, aceasta este cauzată de faptul că fișierele au fost copiate de undeva. Puteți să o reparați selectând miniaturile fișierelor și selectând \"Fixează data creării\". + Văd unele benzi de culoare pe imagini. Cum pot îmbunătăți calitatea? + Soluția actuală de afișare a imaginilor funcționează bine în marea majoritate a cazurilor, dar dacă doriți o calitate și mai bună a imaginii, puteți activa opțiunea \"Afișați imaginile la cea mai bună calitate posibilă\" din setările aplicației, în secțiunea \"Imagini cu zoom profund\". + Am ascuns un fișier/dosar. Cum îl pot dezvălui? + Puteți fie să apăsați elementul de meniu \"Afișaţi temporar elementele ascunse\" din ecranul principal, fie să comutați \"Afișaţi elementele ascunse\" din setările aplicației pentru a vedea elementul ascuns. Dacă doriți să îl dezascundeți, trebuie doar să apăsați lung pe el și să selectați \"Dezvăluiți\". Dosarele sunt ascunse prin adăugarea unui fișier ascuns \".nomedia\" în ele, puteți șterge fișierul și cu orice manager de fișiere. Rețineți că ascunderea funcționează totuși recursiv, astfel încât, dacă ascundeți un dosar, toate subdosarele vor fi și ele ascunse. Așadar, pentru a dezascunde subdosarele, trebuie să dezascundeți și dosarul părinte. + De ce ocupă aplicația atât de mult spațiu? + Memoria cache a aplicației poate ocupa până la 250 MB, asigurând o încărcare mai rapidă a imaginilor. Dacă aplicația ocupă și mai mult spațiu, cel mai probabil este cauzată de faptul că aveți elemente în coșul de reciclare. Acele fișiere contează la dimensiunea aplicației. Puteți goli coșul de reciclare deschizându-l și ștergând toate fișierele sau din setările aplicației. Fiecare fișier din coșul de gunoi este șters automat după 30 de zile. + + + + Simple Gallery Pro - Manager de fotografii + + O aplicație premium pentru gestionarea și editarea pozelor şi a videoclipurilor + + Simple Gallery Pro este o galerie offline foarte personalizabilă. Organizaţi & editaţi fotografiile, recuperaţi fișierele șterse cu ajutorul coșului de reciclare, protejaţi-vă & ascundeţi-vă fișiere și vizualizaţi o mare varietate de formate foto & video diferite cum ar fi RAW, SVG și multe altele. + + Aplicaţia nu conţine reclame sau permisiuni inutile. De asemenea, deoarece aplicația nu necesită acces la internet, confidențialitatea dumneavoastră este protejată. + + ------------------------------------------------- + SIMPLE GALLERY PRO – CARACTERISTICI + ------------------------------------------------- + + • Galerie offline, fără reclame sau popup-uri + • Editor foto Simple gallery – tăiați, rotiți, redimensionați, desenați, filtraţi & multe altele + • Nu este nevoie de acces la internet, ceea ce vă oferă mai multă intimitate și securitate + • Nu sunt necesare permisiuni inutile + • Căutați rapid imagini, videoclipuri & fișiere + • Deschideți & vizualizați multe tipuri diferite de fotografii și clipuri video (RAW, SVG, panoramic etc.) + • O varietate de gesturi intuitive pentru a edita cu ușurință & organiza fișiere + • O mulțime de modalități de filtrare, grupare & sortare a fișierelor + • Personalizați aspectul aplicaţiei Simple Gallery Pro + • Disponibilă în 32 de limbi + • Marcați fișierele ca favorite pentru acces rapid + • Protejați-vă fotografiile & videoclipurile cu un model, pin sau amprentă digitală + • Utilizați pin, model & amprentă digitală pentru a proteja lansarea aplicației sau diferite funcții specifice + • Recuperaţi fotografiile & videoclipurile șterse din coșul de reciclare + • Comutați vizibilitatea fișierelor pentru a ascunde fotografiile & videoclipurile + • Creați un slideshow personalizabil al fișierelor dvs. + • Vizualizați informații detaliate despre fișierele dvs. (rezoluție, valori EXIF etc.) + • Codul sursă al Simple Gallery Pro este open source + … și multe altele! + + EDITOR GALERIE FOTO + Simple Gallery Pro facilitează editarea rapidă a fotografiilor. Tăiați, întoarceți, rotiți și redimensionați fotografiile. Dacă vă simțiți puțin mai creativ, puteți adăuga filtre și desena pe imagini! + + SUPORT PENTRU MULTE TIPURI DE FIȘIERE + Spre deosebire de alte galerii & organizatoare de fotografii, Simple Gallery Pro acceptă o gamă largă de tipuri de fișiere diferite, inclusiv JPEG, PNG, MP4, MKV, RAW, SVG, fotografii panoramice, videoclipuri panoramice și multe altele. + + MANAGER DE GALERIE FOARTE PERSONALIZABIL + De la interfața de utilizare până la butoanele funcționale de pe bara de instrumente de jos, Simple Gallery Pro este foarte ușor de personalizat și funcționează așa cum doriți. Niciun alt manager de galerii nu are o asemenea flexibilitate! Datorită faptului că suntem open source, suntem, de asemenea, disponibili în 32 de limbi! + + RECUPERAŢI FOTOGRAFIILE & VIDEOCLIPURILE ȘTERSE + Ați șters din greșeală o fotografie sau un videoclip prețios? Nu vă faceți griji! Simple Gallery Pro dispune de un coș de reciclare la îndemână, unde puteți recupera cu ușurință fotografiile și videoclipurile șterse. + + PROTEJAŢI & ASCUNDEŢI FOTOGRAFIILE, VIDEOCLIPURILE ŞI FIŞIERELE + Folosind un pin, un model sau scanerul de amprente al dispozitivului, puteți proteja și ascunde fotografii, videoclipuri și albume întregi. Puteți proteja aplicația în sine sau puteți pune încuietori pe anumite funcții specifice ale aplicației. De exemplu, nu puteți șterge un fișier fără o scanare a amprentei digitale, ceea ce vă ajută să vă protejați fișierele de ștergerea accidentală. + + Consultaţi întreaga suită de aplicaţii Simple Tools aici: + https://www.simplemobiletools.com + + Pagina web a aplicaţiei Simple Gallery Pro: + https://www.simplemobiletools.com/gallery + + Facebook: + https://www.facebook.com/simplemobiletools + + Reddit: + https://www.reddit.com/r/SimpleMobileTools + + + + From b778ff989b9f8b8042d7f4ef03ee6ea0bc57b3c9 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 18:58:49 +0100 Subject: [PATCH 06/50] escaping an apostrophe in the romanian string --- app/src/main/res/values-ro/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index c30efd606..9ed4087bb 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -46,7 +46,7 @@ Schimbă filtrele - Această funcție ascunde dosarul prin adăugarea unui fișier \''.nomedia\'' în el, ascunzând și toate subdosarele. Le poţi vedea prin activarea opțiunii \'Afișați elementele ascunse\' din Setări. Continuați? + Această funcție ascunde dosarul prin adăugarea unui fișier \'.nomedia\' în el, ascunzând și toate subdosarele. Le poţi vedea prin activarea opțiunii \'Afișați elementele ascunse\' din Setări. Continuați? Exclude Dosare excluse Gestionează dosarele excluse From 53eafb30c601c8932c56392f702181cbaee8d98e Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 19:17:48 +0100 Subject: [PATCH 07/50] updating commons, lets just make it compilable for now --- app/build.gradle | 2 +- .../gallery/pro/activities/MainActivity.kt | 34 +++++----- .../gallery/pro/activities/MediaActivity.kt | 24 +++---- .../gallery/pro/activities/SearchActivity.kt | 17 ++--- .../pro/activities/ViewPagerActivity.kt | 8 +-- .../gallery/pro/adapters/DirectoryAdapter.kt | 9 ++- .../pro/adapters/ManageFoldersAdapter.kt | 6 +- .../adapters/ManageHiddenFoldersAdapter.kt | 6 +- .../gallery/pro/adapters/MediaAdapter.kt | 5 +- .../pro/dialogs/PickDirectoryDialog.kt | 27 ++++---- .../gallery/pro/dialogs/PickMediumDialog.kt | 8 +-- app/src/main/res/layout/activity_main.xml | 45 ++++--------- app/src/main/res/layout/activity_media.xml | 41 ++++-------- app/src/main/res/layout/activity_search.xml | 40 +++-------- app/src/main/res/layout/bottom_actions.xml | 43 ++++++------ .../res/layout/dialog_directory_picker.xml | 43 ++++-------- .../main/res/layout/dialog_medium_picker.xml | 41 ++++-------- app/src/main/res/menu/cab_directories.xml | 10 +-- app/src/main/res/menu/cab_hidden_folders.xml | 4 +- app/src/main/res/menu/cab_media.xml | 54 +++++++-------- app/src/main/res/menu/menu_add_folder.xml | 4 +- app/src/main/res/menu/menu_editor.xml | 8 +-- .../main/res/menu/menu_included_folders.xml | 4 +- app/src/main/res/menu/menu_main.xml | 6 +- app/src/main/res/menu/menu_main_intent.xml | 6 +- app/src/main/res/menu/menu_media.xml | 6 +- app/src/main/res/menu/menu_search.xml | 6 +- app/src/main/res/menu/menu_set_wallpaper.xml | 4 +- app/src/main/res/menu/menu_video_player.xml | 8 +-- app/src/main/res/menu/menu_viewpager.xml | 67 ++++++++++--------- app/src/main/res/menu/photo_video_menu.xml | 16 ++--- 31 files changed, 259 insertions(+), 343 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ec5cc10bb..f9de7431a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:b205a97a9f' + implementation 'com.github.SimpleMobileTools:Simple-Commons:2394310c39' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' 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 e2cc713c1..fbd23fc8f 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 @@ -188,8 +188,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { val adjustedPrimaryColor = getAdjustedPrimaryColor() if (mStoredAdjustedPrimaryColor != adjustedPrimaryColor) { getRecyclerAdapter()?.updatePrimaryColor(config.primaryColor) - directories_vertical_fastscroller.updatePrimaryColor(adjustedPrimaryColor) - directories_horizontal_fastscroller.updatePrimaryColor(adjustedPrimaryColor) } val styleString = "${config.folderStyle}${config.showFolderMediaCount}${config.limitFolderTitle}" @@ -197,8 +195,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { setupAdapter(mDirs, forceRecreate = true) } - directories_horizontal_fastscroller.updateBubbleColors() - directories_vertical_fastscroller.updateBubbleColors() + directories_fastscroller.updateColors(adjustedPrimaryColor) directories_refresh_layout.isEnabled = config.enablePullToRefresh directories_empty_placeholder.setTextColor(config.textColor) @@ -682,8 +679,8 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { columnCount * thumbnailWidth } - directories_horizontal_fastscroller.setContentWidth(fullWidth) - directories_horizontal_fastscroller.setScrollToX(directories_grid.computeHorizontalScrollOffset()) + /*directories_horizontal_fastscroller.setContentWidth(fullWidth) + directories_horizontal_fastscroller.setScrollToX(directories_grid.computeHorizontalScrollOffset())*/ } private fun calculateContentHeight(directories: ArrayList) { @@ -702,8 +699,8 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { rowCount * thumbnailHeight } - directories_vertical_fastscroller.setContentHeight(fullHeight) - directories_vertical_fastscroller.setScrollToY(directories_grid.computeVerticalScrollOffset()) + /*directories_vertical_fastscroller.setContentHeight(fullHeight) + directories_vertical_fastscroller.setScrollToY(directories_grid.computeVerticalScrollOffset())*/ } private fun initZoomListener() { @@ -921,8 +918,8 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { checkPlaceholderVisibility(dirs) val allowHorizontalScroll = config.scrollHorizontally && config.viewTypeFolders == VIEW_TYPE_GRID - directories_vertical_fastscroller.beVisibleIf(directories_grid.isVisible() && !allowHorizontalScroll) - directories_horizontal_fastscroller.beVisibleIf(directories_grid.isVisible() && allowHorizontalScroll) + /*directories_vertical_fastscroller.beVisibleIf(directories_grid.isVisible() && !allowHorizontalScroll) + directories_horizontal_fastscroller.beVisibleIf(directories_grid.isVisible() && allowHorizontalScroll)*/ setupAdapter(dirs.clone() as ArrayList) } @@ -931,13 +928,19 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { mLastMediaFetcher = MediaFetcher(applicationContext) val getImagesOnly = mIsPickImageIntent || mIsGetImageContentIntent val getVideosOnly = mIsPickVideoIntent || mIsGetVideoContentIntent + val favoritePaths = getFavoritePaths() + + /*if (isRPlus()) { + mLastMediaFetcher!!.getAndroid11FolderMedia(getImagesOnly, getVideosOnly, favoritePaths) + return + }*/ + val hiddenString = getString(R.string.hidden) val albumCovers = config.parseAlbumCovers() val includedFolders = config.includedFolders val noMediaFolders = getNoMediaFoldersSync() val tempFolderPath = config.tempFolderPath val getProperFileSize = config.directorySorting and SORT_BY_SIZE != 0 - val favoritePaths = getFavoritePaths() val dirPathsToRemove = ArrayList() val lastModifieds = mLastMediaFetcher!!.getLastModifieds() val dateTakens = mLastMediaFetcher!!.getDateTakens() @@ -998,6 +1001,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { createDirectoryFromMedia(directory.path, curMedia, albumCovers, hiddenString, includedFolders, getProperFileSize, noMediaFolders) } + //mydebug("end ${System.currentTimeMillis() - time} ${directory.name}") // we are looping through the already displayed folders looking for changes, do not do anything if nothing changed if (directory.copy(subfoldersCount = 0, subfoldersMediaCount = 0) == newDir) { continue @@ -1224,15 +1228,13 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { if (currAdapter == null || forceRecreate) { initZoomListener() - val fastscroller = if (config.scrollHorizontally) directories_horizontal_fastscroller else directories_vertical_fastscroller DirectoryAdapter( this, dirsToShow, this, directories_grid, isPickIntent(intent) || isGetAnyContentIntent(intent), - directories_refresh_layout, - fastscroller + directories_refresh_layout ) { val clickedDir = it as Directory val path = clickedDir.path @@ -1278,7 +1280,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { private fun setupScrollDirection() { val allowHorizontalScroll = config.scrollHorizontally && config.viewTypeFolders == VIEW_TYPE_GRID - directories_vertical_fastscroller.isHorizontal = false + /*directories_vertical_fastscroller.isHorizontal = false directories_vertical_fastscroller.beGoneIf(allowHorizontalScroll) directories_horizontal_fastscroller.isHorizontal = true @@ -1292,7 +1294,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { directories_vertical_fastscroller.setViews(directories_grid, directories_refresh_layout) { directories_vertical_fastscroller.updateBubbleText(getBubbleTextItem(it)) } - } + }*/ } private fun checkInvalidDirectories(dirs: ArrayList) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index 665e1f94f..04f49d4b2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -153,8 +153,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val adjustedPrimaryColor = getAdjustedPrimaryColor() if (mStoredAdjustedPrimaryColor != adjustedPrimaryColor) { getMediaAdapter()?.updatePrimaryColor(config.primaryColor) - media_horizontal_fastscroller.updatePrimaryColor(adjustedPrimaryColor) - media_vertical_fastscroller.updatePrimaryColor(adjustedPrimaryColor) } if (mStoredThumbnailSpacing != config.thumbnailSpacing) { @@ -167,8 +165,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { setupAdapter() } - media_horizontal_fastscroller.updateBubbleColors() - media_vertical_fastscroller.updateBubbleColors() + media_fastscroller.updateColors(adjustedPrimaryColor) media_refresh_layout.isEnabled = config.enablePullToRefresh media_empty_text_placeholder.setTextColor(config.textColor) media_empty_text_placeholder_2.setTextColor(getAdjustedPrimaryColor()) @@ -410,10 +407,9 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val currAdapter = media_grid.adapter if (currAdapter == null) { initZoomListener() - val fastscroller = if (config.scrollHorizontally) media_horizontal_fastscroller else media_vertical_fastscroller MediaAdapter( this, mMedia.clone() as ArrayList, this, mIsGetImageIntent || mIsGetVideoIntent || mIsGetAnyIntent, - mAllowPickingMultiple, mPath, media_grid, fastscroller + mAllowPickingMultiple, mPath, media_grid ) { if (it is Medium && !isFinishing) { itemClicked(it.path) @@ -445,7 +441,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { private fun setupScrollDirection() { val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) val allowHorizontalScroll = config.scrollHorizontally && viewType == VIEW_TYPE_GRID - media_vertical_fastscroller.isHorizontal = false + /*media_vertical_fastscroller.isHorizontal = false media_vertical_fastscroller.beGoneIf(allowHorizontalScroll) media_horizontal_fastscroller.isHorizontal = true @@ -460,7 +456,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { media_vertical_fastscroller.setViews(media_grid, media_refresh_layout) { media_vertical_fastscroller.updateBubbleText(getBubbleTextItem(it, sorting)) } - } + }*/ } private fun getBubbleTextItem(index: Int, sorting: Int): String { @@ -734,8 +730,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val thumbnailWidth = layoutManager.getChildAt(0)?.width ?: 0 val spacing = config.thumbnailSpacing val fullWidth = ((media.size - 1) / layoutManager.spanCount + 1) * (thumbnailWidth + spacing) - spacing - media_horizontal_fastscroller.setContentWidth(fullWidth) - media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset()) + /*media_horizontal_fastscroller.setContentWidth(fullWidth) + media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset())*/ } private fun calculateContentHeight(media: ArrayList) { @@ -762,8 +758,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val spacing = config.thumbnailSpacing fullHeight += ((curSectionItems - 1) / layoutManager.spanCount + 1) * (thumbnailHeight + spacing) - spacing - media_vertical_fastscroller.setContentHeight(fullHeight) - media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset()) + /*media_vertical_fastscroller.setContentHeight(fullHeight) + media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset())*/ } private fun handleGridSpacing(media: ArrayList = mMedia) { @@ -932,8 +928,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) val allowHorizontalScroll = config.scrollHorizontally && viewType == VIEW_TYPE_GRID - media_vertical_fastscroller.beVisibleIf(media_grid.isVisible() && !allowHorizontalScroll) - media_horizontal_fastscroller.beVisibleIf(media_grid.isVisible() && allowHorizontalScroll) + /*media_vertical_fastscroller.beVisibleIf(media_grid.isVisible() && !allowHorizontalScroll) + media_horizontal_fastscroller.beVisibleIf(media_grid.isVisible() && allowHorizontalScroll)*/ setupAdapter() } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt index 450296e20..905ad988c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt @@ -30,8 +30,6 @@ import kotlinx.android.synthetic.main.activity_media.* import kotlinx.android.synthetic.main.activity_search.* import kotlinx.android.synthetic.main.activity_search.media_empty_text_placeholder import kotlinx.android.synthetic.main.activity_search.media_grid -import kotlinx.android.synthetic.main.activity_search.media_horizontal_fastscroller -import kotlinx.android.synthetic.main.activity_search.media_vertical_fastscroller import java.io.File class SearchActivity : SimpleActivity(), MediaOperationsListener { @@ -136,8 +134,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { private fun setupAdapter() { val currAdapter = media_grid.adapter if (currAdapter == null) { - val fastscroller = if (config.scrollHorizontally) media_horizontal_fastscroller else media_vertical_fastscroller - MediaAdapter(this, ArrayList(), this, false, false, "", media_grid, fastscroller) { + MediaAdapter(this, ArrayList(), this, false, false, "", media_grid) { if (it is Medium) { itemClicked(it.path) } @@ -233,7 +230,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { private fun setupScrollDirection() { val viewType = config.getFolderViewType(SHOW_ALL) val allowHorizontalScroll = config.scrollHorizontally && viewType == VIEW_TYPE_GRID - media_vertical_fastscroller.isHorizontal = false + /*media_vertical_fastscroller.isHorizontal = false media_vertical_fastscroller.beGoneIf(allowHorizontalScroll) media_horizontal_fastscroller.isHorizontal = true @@ -248,7 +245,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { media_vertical_fastscroller.setViews(media_grid) { media_vertical_fastscroller.updateBubbleText(getBubbleTextItem(it, sorting)) } - } + }*/ } private fun getBubbleTextItem(index: Int, sorting: Int): String { @@ -274,8 +271,8 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { val layoutManager = media_grid.layoutManager as MyGridLayoutManager val thumbnailWidth = layoutManager.getChildAt(0)?.width ?: 0 val fullWidth = ((media.size - 1) / layoutManager.spanCount + 1) * thumbnailWidth - media_horizontal_fastscroller.setContentWidth(fullWidth) - media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset()) + /*media_horizontal_fastscroller.setContentWidth(fullWidth) + media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset())*/ } private fun calculateContentHeight(media: ArrayList) { @@ -301,8 +298,8 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { } fullHeight += ((curSectionItems - 1) / layoutManager.spanCount + 1) * thumbnailHeight - media_vertical_fastscroller.setContentHeight(fullHeight) - media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset()) + /*media_vertical_fastscroller.setContentHeight(fullHeight) + media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset())*/ } private fun getAllMedia() { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt index 91408e621..0f35852a3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt @@ -895,10 +895,10 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View return } - val favoriteIcon = if (medium.isFavorite) R.drawable.ic_star_on_vector else R.drawable.ic_star_off_vector + val favoriteIcon = if (medium.isFavorite) R.drawable.ic_star_vector else R.drawable.ic_star_outline_vector bottom_favorite.setImageResource(favoriteIcon) - val hideIcon = if (medium.isHidden()) R.drawable.ic_unhide_vector else R.drawable.ic_hide + val hideIcon = if (medium.isHidden()) R.drawable.ic_unhide_vector else R.drawable.ic_hide_vector bottom_toggle_file_visibility.setImageResource(hideIcon) bottom_rotate.beVisibleIf(config.visibleBottomActions and BOTTOM_ACTION_ROTATE != 0 && getCurrentMedium()?.isImage() == true) @@ -929,7 +929,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View printHelper.orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT try { - val resolution = path.getImageResolution() + val resolution = path.getImageResolution(this) if (resolution == null) { toast(R.string.unknown_error_occurred) return @@ -987,7 +987,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View @TargetApi(Build.VERSION_CODES.N) private fun resizeImage() { val oldPath = getCurrentPath() - val originalSize = oldPath.getImageResolution() ?: return + val originalSize = oldPath.getImageResolution(this) ?: return ResizeWithPathDialog(this, originalSize, oldPath) { newSize, newPath -> ensureBackgroundThread { try { 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 1011ea2cb..1bf6f07cc 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 @@ -26,7 +26,6 @@ import com.simplemobiletools.commons.interfaces.ItemMoveCallback import com.simplemobiletools.commons.interfaces.ItemTouchHelperContract import com.simplemobiletools.commons.interfaces.StartReorderDragListener import com.simplemobiletools.commons.models.FileDirItem -import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.gallery.pro.R import com.simplemobiletools.gallery.pro.activities.MediaActivity @@ -56,9 +55,9 @@ import kotlin.collections.HashMap class DirectoryAdapter( activity: BaseSimpleActivity, var dirs: ArrayList, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, - val isPickIntent: Boolean, val swipeRefreshLayout: SwipeRefreshLayout? = null, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit + val isPickIntent: Boolean, val swipeRefreshLayout: SwipeRefreshLayout? = null, itemClick: (Any) -> Unit ) : - MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick), ItemTouchHelperContract { + MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract { private val config = activity.config private val isListViewType = config.viewTypeFolders == VIEW_TYPE_LIST @@ -616,9 +615,9 @@ class DirectoryAdapter( val selectedDirs = getSelectedItems() selectedDirs.forEach { val path = it.path - if (activity.needsStupidWritePermissions(path) && config.treeUri.isEmpty()) { + /*if (activity.needsStupidWritePermissions(path) && config.treeUri.isEmpty()) { SAFPath = path - } + }*/ } activity.handleSAFDialog(SAFPath) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageFoldersAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageFoldersAdapter.kt index 670174413..4b9339554 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageFoldersAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageFoldersAdapter.kt @@ -12,8 +12,10 @@ import com.simplemobiletools.gallery.pro.extensions.config import kotlinx.android.synthetic.main.item_manage_folder.view.* import java.util.* -class ManageFoldersAdapter(activity: BaseSimpleActivity, var folders: ArrayList, val isShowingExcludedFolders: Boolean, val listener: RefreshRecyclerViewListener?, - recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) { +class ManageFoldersAdapter( + activity: BaseSimpleActivity, var folders: ArrayList, val isShowingExcludedFolders: Boolean, val listener: RefreshRecyclerViewListener?, + recyclerView: MyRecyclerView, itemClick: (Any) -> Unit +) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) { private val config = activity.config diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageHiddenFoldersAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageHiddenFoldersAdapter.kt index 972d3e7a1..79e67867e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageHiddenFoldersAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/ManageHiddenFoldersAdapter.kt @@ -14,8 +14,10 @@ import com.simplemobiletools.gallery.pro.extensions.removeNoMedia import kotlinx.android.synthetic.main.item_manage_folder.view.* import java.util.* -class ManageHiddenFoldersAdapter(activity: BaseSimpleActivity, var folders: ArrayList, val listener: RefreshRecyclerViewListener?, - recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) { +class ManageHiddenFoldersAdapter( + activity: BaseSimpleActivity, var folders: ArrayList, val listener: RefreshRecyclerViewListener?, + recyclerView: MyRecyclerView, itemClick: (Any) -> Unit +) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) { private val config = activity.config diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt index f052d1d7e..9bd5e308b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt @@ -20,7 +20,6 @@ import com.simplemobiletools.commons.dialogs.RenameItemDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.FileDirItem -import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.gallery.pro.R import com.simplemobiletools.gallery.pro.activities.ViewPagerActivity @@ -42,9 +41,9 @@ import java.util.* class MediaAdapter( activity: BaseSimpleActivity, var media: ArrayList, val listener: MediaOperationsListener?, val isAGetIntent: Boolean, - val allowMultiplePicks: Boolean, val path: String, recyclerView: MyRecyclerView, fastScroller: FastScroller? = null, itemClick: (Any) -> Unit + val allowMultiplePicks: Boolean, val path: String, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit ) : - MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { + MyRecyclerViewAdapter(activity, recyclerView, itemClick) { private val INSTANT_LOAD_DURATION = 2000L private val IMAGE_LOAD_DELAY = 100L diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt index 53ee995c2..36b1089be 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt @@ -14,8 +14,10 @@ import com.simplemobiletools.gallery.pro.extensions.* import com.simplemobiletools.gallery.pro.models.Directory import kotlinx.android.synthetic.main.dialog_directory_picker.view.* -class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: String, showOtherFolderButton: Boolean, val showFavoritesBin: Boolean, - val callback: (path: String) -> Unit) { +class PickDirectoryDialog( + val activity: BaseSimpleActivity, val sourcePath: String, showOtherFolderButton: Boolean, val showFavoritesBin: Boolean, + val callback: (path: String) -> Unit +) { private var dialog: AlertDialog private var shownDirectories = ArrayList() private var allDirectories = ArrayList() @@ -32,14 +34,14 @@ class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: Stri } val builder = AlertDialog.Builder(activity) - .setPositiveButton(R.string.ok, null) - .setNegativeButton(R.string.cancel, null) - .setOnKeyListener { dialogInterface, i, keyEvent -> - if (keyEvent.action == KeyEvent.ACTION_UP && i == KeyEvent.KEYCODE_BACK) { - backPressed() - } - true + .setPositiveButton(R.string.ok, null) + .setNegativeButton(R.string.cancel, null) + .setOnKeyListener { dialogInterface, i, keyEvent -> + if (keyEvent.action == KeyEvent.ACTION_UP && i == KeyEvent.KEYCODE_BACK) { + backPressed() } + true + } if (showOtherFolderButton) { builder.setNeutralButton(R.string.other_folder) { dialogInterface, i -> showOtherFolder() } @@ -90,7 +92,8 @@ class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: Stri allDirectories = newDirs.clone() as ArrayList } - val distinctDirs = newDirs.filter { showFavoritesBin || (!it.isRecycleBin() && !it.areFavorites()) }.distinctBy { it.path.getDistinctPath() }.toMutableList() as ArrayList + val distinctDirs = newDirs.filter { showFavoritesBin || (!it.isRecycleBin() && !it.areFavorites()) }.distinctBy { it.path.getDistinctPath() } + .toMutableList() as ArrayList val sortedDirs = activity.getSortedDirectories(distinctDirs) val dirs = activity.getDirsToShow(sortedDirs, allDirectories, currentPathPrefix).clone() as ArrayList if (dirs.hashCode() == shownDirectories.hashCode()) { @@ -127,7 +130,7 @@ class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: Stri view.apply { directories_grid.adapter = adapter - directories_vertical_fastscroller.isHorizontal = false + /*directories_vertical_fastscroller.isHorizontal = false directories_vertical_fastscroller.beGoneIf(scrollHorizontally) directories_horizontal_fastscroller.isHorizontal = true @@ -141,7 +144,7 @@ class PickDirectoryDialog(val activity: BaseSimpleActivity, val sourcePath: Stri directories_vertical_fastscroller.setViews(directories_grid) { directories_vertical_fastscroller.updateBubbleText(dirs[it].getBubbleText(sorting, activity, dateFormat, timeFormat)) } - } + }*/ } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt index 1e3b2465e..9d16dd0fc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt @@ -3,8 +3,6 @@ package com.simplemobiletools.gallery.pro.dialogs import androidx.appcompat.app.AlertDialog import androidx.recyclerview.widget.RecyclerView import com.simplemobiletools.commons.activities.BaseSimpleActivity -import com.simplemobiletools.commons.extensions.beGoneIf -import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.getTimeFormat import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID @@ -66,7 +64,7 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c return shownMedia = media - val adapter = MediaAdapter(activity, shownMedia.clone() as ArrayList, null, true, false, path, view.media_grid, null) { + val adapter = MediaAdapter(activity, shownMedia.clone() as ArrayList, null, true, false, path, view.media_grid) { if (it is Medium) { callback(it.path) dialog.dismiss() @@ -80,7 +78,7 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c view.apply { media_grid.adapter = adapter - media_vertical_fastscroller.isHorizontal = false + /*media_vertical_fastscroller.isHorizontal = false media_vertical_fastscroller.beGoneIf(scrollHorizontally) media_horizontal_fastscroller.isHorizontal = true @@ -96,7 +94,7 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c val medium = (media[it] as? Medium) media_vertical_fastscroller.updateBubbleText(medium?.getBubbleText(sorting, activity, dateFormat, timeFormat) ?: "") } - } + }*/ } } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 905823c41..d06c0a5f7 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -47,40 +47,23 @@ android:textSize="@dimen/bigger_text_size" android:visibility="gone" /> - - - - - - - - - + android:layout_below="@+id/directories_switch_searching" + app:supportSwipeToRefresh="true"> - + - + diff --git a/app/src/main/res/layout/activity_media.xml b/app/src/main/res/layout/activity_media.xml index c17033620..8532644ff 100644 --- a/app/src/main/res/layout/activity_media.xml +++ b/app/src/main/res/layout/activity_media.xml @@ -36,38 +36,21 @@ android:textSize="@dimen/bigger_text_size" android:visibility="gone" /> - - - - - - - - - + app:supportSwipeToRefresh="true"> - + - + diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index 6ab0974b7..e16962452 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -19,36 +19,18 @@ android:textStyle="italic" android:visibility="gone" /> - + android:layout_height="wrap_content"> - + - - - - - - - - - + diff --git a/app/src/main/res/layout/bottom_actions.xml b/app/src/main/res/layout/bottom_actions.xml index e03791630..bcab016a1 100644 --- a/app/src/main/res/layout/bottom_actions.xml +++ b/app/src/main/res/layout/bottom_actions.xml @@ -1,6 +1,5 @@ - + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> + app:layout_constraintVertical_bias="0.0" /> diff --git a/app/src/main/res/layout/dialog_directory_picker.xml b/app/src/main/res/layout/dialog_directory_picker.xml index a3cc14860..cc37ccf14 100644 --- a/app/src/main/res/layout/dialog_directory_picker.xml +++ b/app/src/main/res/layout/dialog_directory_picker.xml @@ -1,6 +1,5 @@ - - + android:layout_height="wrap_content"> - + - - - - - - - - - + + android:visibility="gone" /> diff --git a/app/src/main/res/layout/dialog_medium_picker.xml b/app/src/main/res/layout/dialog_medium_picker.xml index cc06575dc..7af877f6f 100644 --- a/app/src/main/res/layout/dialog_medium_picker.xml +++ b/app/src/main/res/layout/dialog_medium_picker.xml @@ -1,39 +1,22 @@ - - + android:layout_height="wrap_content"> - + - - - - - - - - - + diff --git a/app/src/main/res/menu/cab_directories.xml b/app/src/main/res/menu/cab_directories.xml index 196107fda..04590cd9d 100644 --- a/app/src/main/res/menu/cab_directories.xml +++ b/app/src/main/res/menu/cab_directories.xml @@ -5,12 +5,12 @@ android:id="@+id/cab_move_to_top" android:icon="@drawable/ic_move_to_top_vector" android:title="@string/move_to_top" - app:showAsAction="ifRoom"/> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/cab_media.xml b/app/src/main/res/menu/cab_media.xml index cb8dda1e9..4d78fae54 100644 --- a/app/src/main/res/menu/cab_media.xml +++ b/app/src/main/res/menu/cab_media.xml @@ -1,21 +1,21 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + android:title="@string/rotate_right" /> + android:title="@string/rotate_left" /> + android:title="@string/rotate_one_eighty" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_add_folder.xml b/app/src/main/res/menu/menu_add_folder.xml index 3551a8a4d..1addb1988 100644 --- a/app/src/main/res/menu/menu_add_folder.xml +++ b/app/src/main/res/menu/menu_add_folder.xml @@ -1,9 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_editor.xml b/app/src/main/res/menu/menu_editor.xml index 16a5f7806..1b8d9941b 100644 --- a/app/src/main/res/menu/menu_editor.xml +++ b/app/src/main/res/menu/menu_editor.xml @@ -1,19 +1,19 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_included_folders.xml b/app/src/main/res/menu/menu_included_folders.xml index 3551a8a4d..1addb1988 100644 --- a/app/src/main/res/menu/menu_included_folders.xml +++ b/app/src/main/res/menu/menu_included_folders.xml @@ -1,9 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index ca197dc82..b692552fe 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -64,10 +64,12 @@ app:showAsAction="never" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_main_intent.xml b/app/src/main/res/menu/menu_main_intent.xml index 30df345bd..18ad227a6 100644 --- a/app/src/main/res/menu/menu_main_intent.xml +++ b/app/src/main/res/menu/menu_main_intent.xml @@ -1,12 +1,12 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="never" /> + app:showAsAction="never" /> diff --git a/app/src/main/res/menu/menu_media.xml b/app/src/main/res/menu/menu_media.xml index 1c4c61146..346d810c6 100644 --- a/app/src/main/res/menu/menu_media.xml +++ b/app/src/main/res/menu/menu_media.xml @@ -85,10 +85,12 @@ app:showAsAction="never" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_search.xml b/app/src/main/res/menu/menu_search.xml index c695b68da..db61d6da2 100644 --- a/app/src/main/res/menu/menu_search.xml +++ b/app/src/main/res/menu/menu_search.xml @@ -1,15 +1,15 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="collapseActionView|always" /> + app:showAsAction="always" /> diff --git a/app/src/main/res/menu/menu_set_wallpaper.xml b/app/src/main/res/menu/menu_set_wallpaper.xml index a10009346..094f0f745 100644 --- a/app/src/main/res/menu/menu_set_wallpaper.xml +++ b/app/src/main/res/menu/menu_set_wallpaper.xml @@ -1,9 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/menu_video_player.xml b/app/src/main/res/menu/menu_video_player.xml index 62d8c48c4..86b92e808 100644 --- a/app/src/main/res/menu/menu_video_player.xml +++ b/app/src/main/res/menu/menu_video_player.xml @@ -1,18 +1,18 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> diff --git a/app/src/main/res/menu/menu_viewpager.xml b/app/src/main/res/menu/menu_viewpager.xml index d0913803e..cdaa76c7d 100644 --- a/app/src/main/res/menu/menu_viewpager.xml +++ b/app/src/main/res/menu/menu_viewpager.xml @@ -1,22 +1,22 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + android:title="@string/rotate_right" /> + android:title="@string/rotate_left" /> + android:title="@string/rotate_one_eighty" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> + android:title="@string/force_portrait" /> + android:title="@string/force_landscape" /> + android:title="@string/use_default_orientation" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="never" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> diff --git a/app/src/main/res/menu/photo_video_menu.xml b/app/src/main/res/menu/photo_video_menu.xml index eb7372b40..2cafe7c50 100644 --- a/app/src/main/res/menu/photo_video_menu.xml +++ b/app/src/main/res/menu/photo_video_menu.xml @@ -1,32 +1,32 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> + app:showAsAction="never" /> From 45fe153d54c6265d0bf1b7d13be81c05d9388a78 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 19:59:38 +0100 Subject: [PATCH 08/50] adding bubble at folders fastscroller --- .../gallery/pro/activities/MainActivity.kt | 18 ++-- .../gallery/pro/activities/MediaActivity.kt | 4 +- .../gallery/pro/adapters/DirectoryAdapter.kt | 8 +- app/src/main/res/layout/activity_main.xml | 84 +++++++++---------- 4 files changed, 61 insertions(+), 53 deletions(-) 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 fbd23fc8f..a5811a7c4 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 @@ -197,6 +197,10 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { directories_fastscroller.updateColors(adjustedPrimaryColor) directories_refresh_layout.isEnabled = config.enablePullToRefresh + getRecyclerAdapter()?.apply { + dateFormat = config.dateFormat + timeFormat = getTimeFormat() + } directories_empty_placeholder.setTextColor(config.textColor) directories_empty_placeholder_2.setTextColor(adjustedPrimaryColor) @@ -491,6 +495,8 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { gotDirectories(getCurrentlyDisplayedDirs()) } } + + getRecyclerAdapter()?.directorySorting = config.directorySorting } } @@ -625,7 +631,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } private fun setupGridLayoutManager() { - val layoutManager = directories_grid.layoutManager as MyGridLayoutManager + /*val layoutManager = directories_grid.layoutManager as MyGridLayoutManager (directories_grid.layoutParams as RelativeLayout.LayoutParams).apply { topMargin = 0 bottomMargin = 0 @@ -639,11 +645,11 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) } - layoutManager.spanCount = config.dirColumnCnt + layoutManager.spanCount = config.dirColumnCnt*/ } private fun setupListLayoutManager() { - val layoutManager = directories_grid.layoutManager as MyGridLayoutManager + /*val layoutManager = directories_grid.layoutManager as MyGridLayoutManager layoutManager.spanCount = 1 layoutManager.orientation = RecyclerView.VERTICAL directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) @@ -654,7 +660,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { bottomMargin = smallMargin } - mZoomListener = null + mZoomListener = null*/ } private fun measureRecyclerViewContent(directories: ArrayList) { @@ -1346,10 +1352,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { private fun getCurrentlyDisplayedDirs() = getRecyclerAdapter()?.dirs ?: ArrayList() - private fun getBubbleTextItem(index: Int) = - getRecyclerAdapter()?.dirs?.getOrNull(index)?.getBubbleText(config.directorySorting, this, mDateFormat, mTimeFormat) - ?: "" - private fun setupLatestMediaId() { ensureBackgroundThread { if (hasPermission(PERMISSION_READ_STORAGE)) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index 04f49d4b2..057204f94 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -769,7 +769,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val spacing = config.thumbnailSpacing val useGridPosition = media.firstOrNull() is ThumbnailSection - var currentGridDecoration: GridSpacingItemDecoration? = null + /*var currentGridDecoration: GridSpacingItemDecoration? = null if (media_grid.itemDecorationCount > 0) { currentGridDecoration = media_grid.getItemDecorationAt(0) as GridSpacingItemDecoration currentGridDecoration.items = media @@ -781,7 +781,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { media_grid.removeItemDecoration(currentGridDecoration) } media_grid.addItemDecoration(newGridDecoration) - } + }*/ } } 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 1bf6f07cc..c44684d85 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 @@ -17,6 +17,7 @@ import androidx.recyclerview.widget.RecyclerView import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.bumptech.glide.Glide import com.google.gson.Gson +import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.* @@ -57,7 +58,7 @@ class DirectoryAdapter( activity: BaseSimpleActivity, var dirs: ArrayList, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, val isPickIntent: Boolean, val swipeRefreshLayout: SwipeRefreshLayout? = null, itemClick: (Any) -> Unit ) : - MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract { + MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract, RecyclerViewFastScroller.OnPopupTextUpdate { private val config = activity.config private val isListViewType = config.viewTypeFolders == VIEW_TYPE_LIST @@ -74,6 +75,9 @@ class DirectoryAdapter( private var showMediaCount = config.showFolderMediaCount private var folderStyle = config.folderStyle private var limitFolderTitle = config.limitFolderTitle + var directorySorting = config.directorySorting + var dateFormat = config.dateFormat + var timeFormat = activity.getTimeFormat() init { setupDragListener(true) @@ -879,4 +883,6 @@ class DirectoryAdapter( override fun onRowClear(myViewHolder: ViewHolder?) { swipeRefreshLayout?.isEnabled = activity.config.enablePullToRefresh } + + override fun onChange(position: Int) = dirs.getOrNull(position)?.getBubbleText(directorySorting, activity, dateFormat, timeFormat) ?: "" } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d06c0a5f7..8821e6816 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,57 +1,57 @@ - - + android:layout_height="wrap_content" + android:background="?attr/selectableItemBackground" + android:gravity="center" + android:padding="@dimen/activity_margin" + android:text="@string/switch_to_file_search" + android:visibility="gone" /> - + - + - + - - + + From daf9834d393ae00f9c798920383972eb3e58ca84 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 20:10:13 +0100 Subject: [PATCH 09/50] implementing the media bubble text fetcher --- .../gallery/pro/activities/MediaActivity.kt | 27 +++----- .../gallery/pro/activities/SearchActivity.kt | 9 --- .../gallery/pro/adapters/MediaAdapter.kt | 20 ++++-- app/src/main/res/layout/activity_media.xml | 64 +++++++++---------- 4 files changed, 56 insertions(+), 64 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index 057204f94..fcd16fc48 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -61,8 +61,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { private var mLoadedInitialPhotos = false private var mIsSearchOpen = false private var mLastSearchedText = "" - private var mDateFormat = "" - private var mTimeFormat = "" private var mLatestMediaId = 0L private var mLatestMediaDateId = 0L private var mLastMediaHandler = Handler() @@ -125,9 +123,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { override fun onResume() { super.onResume() - mDateFormat = config.dateFormat - mTimeFormat = getTimeFormat() - if (mStoredAnimateGifs != config.animateGifs) { getMediaAdapter()?.updateAnimateGifs(config.animateGifs) } @@ -167,6 +162,11 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { media_fastscroller.updateColors(adjustedPrimaryColor) media_refresh_layout.isEnabled = config.enablePullToRefresh + getMediaAdapter()?.apply { + dateFormat = config.dateFormat + timeFormat = getTimeFormat() + } + media_empty_text_placeholder.setTextColor(config.textColor) media_empty_text_placeholder_2.setTextColor(getAdjustedPrimaryColor()) @@ -459,15 +459,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { }*/ } - private fun getBubbleTextItem(index: Int, sorting: Int): String { - var realIndex = index - val mediaAdapter = getMediaAdapter() - if (mediaAdapter?.isASectionTitle(index) == true) { - realIndex++ - } - return mediaAdapter?.getItemBubbleText(realIndex, sorting, mDateFormat, mTimeFormat) ?: "" - } - private fun checkLastMediaChanged() { if (isDestroyed || config.getFolderSorting(mPath) and SORT_BY_RANDOM != 0) { return @@ -688,7 +679,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { } private fun setupGridLayoutManager() { - val layoutManager = media_grid.layoutManager as MyGridLayoutManager + /*val layoutManager = media_grid.layoutManager as MyGridLayoutManager (media_grid.layoutParams as RelativeLayout.LayoutParams).apply { topMargin = 0 bottomMargin = 0 @@ -712,7 +703,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { 1 } } - } + }*/ } private fun measureRecyclerViewContent(media: ArrayList) { @@ -810,7 +801,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { } private fun setupListLayoutManager() { - val layoutManager = media_grid.layoutManager as MyGridLayoutManager + /*val layoutManager = media_grid.layoutManager as MyGridLayoutManager layoutManager.spanCount = 1 layoutManager.orientation = RecyclerView.VERTICAL media_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) @@ -821,7 +812,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { bottomMargin = smallMargin } - mZoomListener = null + mZoomListener = null*/ } private fun increaseColumnCount() { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt index 905ad988c..5b6856be6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt @@ -248,15 +248,6 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { }*/ } - private fun getBubbleTextItem(index: Int, sorting: Int): String { - var realIndex = index - val mediaAdapter = getMediaAdapter() - if (mediaAdapter?.isASectionTitle(index) == true) { - realIndex++ - } - return mediaAdapter?.getItemBubbleText(realIndex, sorting, mDateFormat, mTimeFormat) ?: "" - } - private fun measureRecyclerViewContent(media: ArrayList) { media_grid.onGlobalLayout { if (config.scrollHorizontally) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt index 9bd5e308b..124982dd4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/adapters/MediaAdapter.kt @@ -12,6 +12,7 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import com.bumptech.glide.Glide +import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.PropertiesDialog @@ -43,7 +44,7 @@ class MediaAdapter( activity: BaseSimpleActivity, var media: ArrayList, val listener: MediaOperationsListener?, val isAGetIntent: Boolean, val allowMultiplePicks: Boolean, val path: String, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit ) : - MyRecyclerViewAdapter(activity, recyclerView, itemClick) { + MyRecyclerViewAdapter(activity, recyclerView, itemClick), RecyclerViewFastScroller.OnPopupTextUpdate { private val INSTANT_LOAD_DURATION = 2000L private val IMAGE_LOAD_DELAY = 100L @@ -67,6 +68,10 @@ class MediaAdapter( private var displayFilenames = config.displayFileNames private var showFileTypes = config.showThumbnailFileTypes + var sorting = config.getFolderSorting(if (config.showAll) SHOW_ALL else path) + var dateFormat = config.dateFormat + var timeFormat = activity.getTimeFormat() + init { setupDragListener(true) enableInstantLoad() @@ -508,10 +513,6 @@ class MediaAdapter( }, INSTANT_LOAD_DURATION) } - fun getItemBubbleText(position: Int, sorting: Int, dateFormat: String, timeFormat: String): String { - return (media[position] as? Medium)?.getBubbleText(sorting, activity, dateFormat, timeFormat) ?: "" - } - private fun setupThumbnail(view: View, medium: Medium) { val isSelected = selectedKeys.contains(medium.path.hashCode()) view.apply { @@ -608,4 +609,13 @@ class MediaAdapter( thumbnail_section.setTextColor(textColor) } } + + override fun onChange(position: Int): String { + var realIndex = position + if (isASectionTitle(position)) { + realIndex++ + } + + return (media[realIndex] as? Medium)?.getBubbleText(sorting, activity, dateFormat, timeFormat) ?: "" + } } diff --git a/app/src/main/res/layout/activity_media.xml b/app/src/main/res/layout/activity_media.xml index 8532644ff..45fb409b1 100644 --- a/app/src/main/res/layout/activity_media.xml +++ b/app/src/main/res/layout/activity_media.xml @@ -1,41 +1,41 @@ - - + + + + - - - - - - + + From 559469e7b88f4d46d4ccc2a0e195b4713ed53fee Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 21:10:29 +0100 Subject: [PATCH 10/50] add toggling between horizontal and vertical scrolling --- app/build.gradle | 4 +-- .../gallery/pro/activities/MainActivity.kt | 27 ++++-------------- .../gallery/pro/activities/MediaActivity.kt | 28 ++++--------------- .../gallery/pro/activities/SearchActivity.kt | 23 ++------------- 4 files changed, 17 insertions(+), 65 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f9de7431a..86fc6becd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,11 +78,11 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:2394310c39' + implementation 'com.github.SimpleMobileTools:Simple-Commons:eae0b416b8' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' - implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.2' 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' 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 a5811a7c4..d5a46ae53 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 @@ -14,7 +14,6 @@ import android.provider.MediaStore.Video import android.view.Menu import android.view.MenuItem import android.view.ViewGroup -import android.widget.FrameLayout import android.widget.RelativeLayout import android.widget.Toast import androidx.appcompat.widget.SearchView @@ -631,7 +630,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } private fun setupGridLayoutManager() { - /*val layoutManager = directories_grid.layoutManager as MyGridLayoutManager + val layoutManager = directories_grid.layoutManager as MyGridLayoutManager (directories_grid.layoutParams as RelativeLayout.LayoutParams).apply { topMargin = 0 bottomMargin = 0 @@ -639,13 +638,13 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { if (config.scrollHorizontally) { layoutManager.orientation = RecyclerView.HORIZONTAL - directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT) + directories_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT) } else { layoutManager.orientation = RecyclerView.VERTICAL - directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + directories_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) } - layoutManager.spanCount = config.dirColumnCnt*/ + layoutManager.spanCount = config.dirColumnCnt } private fun setupListLayoutManager() { @@ -1285,22 +1284,8 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } private fun setupScrollDirection() { - val allowHorizontalScroll = config.scrollHorizontally && config.viewTypeFolders == VIEW_TYPE_GRID - /*directories_vertical_fastscroller.isHorizontal = false - directories_vertical_fastscroller.beGoneIf(allowHorizontalScroll) - - directories_horizontal_fastscroller.isHorizontal = true - directories_horizontal_fastscroller.beVisibleIf(allowHorizontalScroll) - - if (allowHorizontalScroll) { - directories_horizontal_fastscroller.setViews(directories_grid, directories_refresh_layout) { - directories_horizontal_fastscroller.updateBubbleText(getBubbleTextItem(it)) - } - } else { - directories_vertical_fastscroller.setViews(directories_grid, directories_refresh_layout) { - directories_vertical_fastscroller.updateBubbleText(getBubbleTextItem(it)) - } - }*/ + val scrollHorizontally = config.scrollHorizontally && config.viewTypeFolders == VIEW_TYPE_GRID + directories_fastscroller.setScrollVertically(!scrollHorizontally) } private fun checkInvalidDirectories(dirs: ArrayList) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index fcd16fc48..28174b5b7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -12,7 +12,6 @@ import android.os.Handler import android.view.Menu import android.view.MenuItem import android.view.ViewGroup -import android.widget.FrameLayout import android.widget.RelativeLayout import androidx.appcompat.widget.SearchView import androidx.core.view.MenuItemCompat @@ -440,23 +439,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { private fun setupScrollDirection() { val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) - val allowHorizontalScroll = config.scrollHorizontally && viewType == VIEW_TYPE_GRID - /*media_vertical_fastscroller.isHorizontal = false - media_vertical_fastscroller.beGoneIf(allowHorizontalScroll) - - media_horizontal_fastscroller.isHorizontal = true - media_horizontal_fastscroller.beVisibleIf(allowHorizontalScroll) - - val sorting = config.getFolderSorting(if (mShowAll) SHOW_ALL else mPath) - if (allowHorizontalScroll) { - media_horizontal_fastscroller.setViews(media_grid, media_refresh_layout) { - media_horizontal_fastscroller.updateBubbleText(getBubbleTextItem(it, sorting)) - } - } else { - media_vertical_fastscroller.setViews(media_grid, media_refresh_layout) { - media_vertical_fastscroller.updateBubbleText(getBubbleTextItem(it, sorting)) - } - }*/ + val scrollHorizontally = config.scrollHorizontally && viewType == VIEW_TYPE_GRID + media_fastscroller.setScrollVertically(!scrollHorizontally) } private fun checkLastMediaChanged() { @@ -679,7 +663,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { } private fun setupGridLayoutManager() { - /*val layoutManager = media_grid.layoutManager as MyGridLayoutManager + val layoutManager = media_grid.layoutManager as MyGridLayoutManager (media_grid.layoutParams as RelativeLayout.LayoutParams).apply { topMargin = 0 bottomMargin = 0 @@ -687,10 +671,10 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { if (config.scrollHorizontally) { layoutManager.orientation = RecyclerView.HORIZONTAL - media_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT) + media_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT) } else { layoutManager.orientation = RecyclerView.VERTICAL - media_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + media_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) } layoutManager.spanCount = config.mediaColumnCnt @@ -703,7 +687,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { 1 } } - }*/ + } } private fun measureRecyclerViewContent(media: ArrayList) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt index 5b6856be6..a1899ae2b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt @@ -26,10 +26,8 @@ import com.simplemobiletools.gallery.pro.interfaces.MediaOperationsListener import com.simplemobiletools.gallery.pro.models.Medium import com.simplemobiletools.gallery.pro.models.ThumbnailItem import com.simplemobiletools.gallery.pro.models.ThumbnailSection -import kotlinx.android.synthetic.main.activity_media.* +import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.activity_search.* -import kotlinx.android.synthetic.main.activity_search.media_empty_text_placeholder -import kotlinx.android.synthetic.main.activity_search.media_grid import java.io.File class SearchActivity : SimpleActivity(), MediaOperationsListener { @@ -229,23 +227,8 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { private fun setupScrollDirection() { val viewType = config.getFolderViewType(SHOW_ALL) - val allowHorizontalScroll = config.scrollHorizontally && viewType == VIEW_TYPE_GRID - /*media_vertical_fastscroller.isHorizontal = false - media_vertical_fastscroller.beGoneIf(allowHorizontalScroll) - - media_horizontal_fastscroller.isHorizontal = true - media_horizontal_fastscroller.beVisibleIf(allowHorizontalScroll) - - val sorting = config.getFolderSorting(SHOW_ALL) - if (allowHorizontalScroll) { - media_horizontal_fastscroller.setViews(media_grid) { - media_horizontal_fastscroller.updateBubbleText(getBubbleTextItem(it, sorting)) - } - } else { - media_vertical_fastscroller.setViews(media_grid) { - media_vertical_fastscroller.updateBubbleText(getBubbleTextItem(it, sorting)) - } - }*/ + val scrollHorizontally = config.scrollHorizontally && viewType == VIEW_TYPE_GRID + media_fastscroller.setScrollVertically(!scrollHorizontally) } private fun measureRecyclerViewContent(media: ArrayList) { From c17e6833e2af09b2e5ecbf80fedda0fd45134540 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 21:15:58 +0100 Subject: [PATCH 11/50] setup listLayoutManager too --- .../gallery/pro/activities/MainActivity.kt | 6 ++-- .../gallery/pro/activities/MediaActivity.kt | 30 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) 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 d5a46ae53..c7bee7abd 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 @@ -648,10 +648,10 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } private fun setupListLayoutManager() { - /*val layoutManager = directories_grid.layoutManager as MyGridLayoutManager + val layoutManager = directories_grid.layoutManager as MyGridLayoutManager layoutManager.spanCount = 1 layoutManager.orientation = RecyclerView.VERTICAL - directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + directories_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) val smallMargin = resources.getDimension(R.dimen.small_margin).toInt() (directories_grid.layoutParams as RelativeLayout.LayoutParams).apply { @@ -659,7 +659,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { bottomMargin = smallMargin } - mZoomListener = null*/ + mZoomListener = null } private fun measureRecyclerViewContent(directories: ArrayList) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index 28174b5b7..f646cc0df 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -690,6 +690,21 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { } } + private fun setupListLayoutManager() { + val layoutManager = media_grid.layoutManager as MyGridLayoutManager + layoutManager.spanCount = 1 + layoutManager.orientation = RecyclerView.VERTICAL + media_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + + val smallMargin = resources.getDimension(R.dimen.small_margin).toInt() + (media_grid.layoutParams as RelativeLayout.LayoutParams).apply { + topMargin = smallMargin + bottomMargin = smallMargin + } + + mZoomListener = null + } + private fun measureRecyclerViewContent(media: ArrayList) { media_grid.onGlobalLayout { if (config.scrollHorizontally) { @@ -784,21 +799,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { } } - private fun setupListLayoutManager() { - /*val layoutManager = media_grid.layoutManager as MyGridLayoutManager - layoutManager.spanCount = 1 - layoutManager.orientation = RecyclerView.VERTICAL - media_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) - - val smallMargin = resources.getDimension(R.dimen.small_margin).toInt() - (media_grid.layoutParams as RelativeLayout.LayoutParams).apply { - topMargin = smallMargin - bottomMargin = smallMargin - } - - mZoomListener = null*/ - } - private fun increaseColumnCount() { config.mediaColumnCnt = ++(media_grid.layoutManager as MyGridLayoutManager).spanCount columnCountChanged() From 0636fc946156179ec484e43725f35eb72442ef94 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 21:45:06 +0100 Subject: [PATCH 12/50] limit the list items filename in width a bit --- app/src/main/res/layout/photo_item_list.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/photo_item_list.xml b/app/src/main/res/layout/photo_item_list.xml index 2d4d31776..0a2aa27f4 100644 --- a/app/src/main/res/layout/photo_item_list.xml +++ b/app/src/main/res/layout/photo_item_list.xml @@ -37,10 +37,11 @@ android:layout_height="match_parent" android:layout_alignTop="@+id/medium_thumbnail" android:layout_alignBottom="@+id/medium_thumbnail" + android:layout_toStartOf="@+id/medium_check" android:layout_toEndOf="@+id/medium_thumbnail" android:ellipsize="end" android:gravity="center_vertical" - android:maxLines="3" + android:maxLines="2" android:paddingStart="@dimen/medium_margin" android:paddingEnd="@dimen/normal_margin" android:textColor="@android:color/white" From a67e5ff86fe385eb080b5ff73d22cfc5fce396c1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 21:51:17 +0100 Subject: [PATCH 13/50] properly handle margins between thumbnails, if selected so --- app/build.gradle | 2 +- .../simplemobiletools/gallery/pro/activities/MediaActivity.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 86fc6becd..2932b7dd6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:eae0b416b8' + implementation 'com.github.SimpleMobileTools:Simple-Commons:29a10478d1' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index f646cc0df..5d29ce485 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -759,7 +759,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { val spacing = config.thumbnailSpacing val useGridPosition = media.firstOrNull() is ThumbnailSection - /*var currentGridDecoration: GridSpacingItemDecoration? = null + var currentGridDecoration: GridSpacingItemDecoration? = null if (media_grid.itemDecorationCount > 0) { currentGridDecoration = media_grid.getItemDecorationAt(0) as GridSpacingItemDecoration currentGridDecoration.items = media @@ -771,7 +771,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { media_grid.removeItemDecoration(currentGridDecoration) } media_grid.addItemDecoration(newGridDecoration) - }*/ + } } } From fba4b6fc3e1cc4a5daf64fc1d3063f43c12c4ede Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 22:11:02 +0100 Subject: [PATCH 14/50] we finally dont have to calculate content height and width --- .../gallery/pro/activities/MainActivity.kt | 61 ------------------- .../gallery/pro/activities/MediaActivity.kt | 51 ---------------- 2 files changed, 112 deletions(-) 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 c7bee7abd..047759661 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 @@ -631,11 +631,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { private fun setupGridLayoutManager() { val layoutManager = directories_grid.layoutManager as MyGridLayoutManager - (directories_grid.layoutParams as RelativeLayout.LayoutParams).apply { - topMargin = 0 - bottomMargin = 0 - } - if (config.scrollHorizontally) { layoutManager.orientation = RecyclerView.HORIZONTAL directories_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT) @@ -652,62 +647,9 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { layoutManager.spanCount = 1 layoutManager.orientation = RecyclerView.VERTICAL directories_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) - - val smallMargin = resources.getDimension(R.dimen.small_margin).toInt() - (directories_grid.layoutParams as RelativeLayout.LayoutParams).apply { - topMargin = smallMargin - bottomMargin = smallMargin - } - mZoomListener = null } - private fun measureRecyclerViewContent(directories: ArrayList) { - directories_grid.onGlobalLayout { - if (config.scrollHorizontally) { - calculateContentWidth(directories) - } else { - calculateContentHeight(directories) - } - } - } - - private fun calculateContentWidth(directories: ArrayList) { - val layoutManager = directories_grid.layoutManager as MyGridLayoutManager - - val fullWidth = if (config.folderStyle == FOLDER_STYLE_SQUARE) { - val thumbnailWidth = layoutManager.getChildAt(0)?.width ?: 0 - ((directories.size - 1) / layoutManager.spanCount + 1) * thumbnailWidth - } else { - val thumbnailWidth = (layoutManager.getChildAt(0)?.width ?: 0) + resources.getDimension(R.dimen.medium_margin).toInt() * 2 - val columnCount = (directories.size - 1) / layoutManager.spanCount + 1 - columnCount * thumbnailWidth - } - - /*directories_horizontal_fastscroller.setContentWidth(fullWidth) - directories_horizontal_fastscroller.setScrollToX(directories_grid.computeHorizontalScrollOffset())*/ - } - - private fun calculateContentHeight(directories: ArrayList) { - val layoutManager = directories_grid.layoutManager as MyGridLayoutManager - - val fullHeight = if (config.folderStyle == FOLDER_STYLE_SQUARE) { - val thumbnailHeight = layoutManager.getChildAt(0)?.height ?: 0 - ((directories.size - 1) / layoutManager.spanCount + 1) * thumbnailHeight - } else { - var thumbnailHeight = (layoutManager.getChildAt(0)?.height ?: 0) - if (config.viewTypeFolders == VIEW_TYPE_GRID) { - thumbnailHeight += resources.getDimension(R.dimen.medium_margin).toInt() * 2 - } - - val rowCount = (directories.size - 1) / layoutManager.spanCount + 1 - rowCount * thumbnailHeight - } - - /*directories_vertical_fastscroller.setContentHeight(fullHeight) - directories_vertical_fastscroller.setScrollToY(directories_grid.computeVerticalScrollOffset())*/ - } - private fun initZoomListener() { if (config.viewTypeFolders == VIEW_TYPE_GRID) { val layoutManager = directories_grid.layoutManager as MyGridLayoutManager @@ -768,7 +710,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { invalidateOptionsMenu() getRecyclerAdapter()?.apply { notifyItemRangeChanged(0, dirs.size) - measureRecyclerViewContent(dirs) } } @@ -1263,7 +1204,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } } } - measureRecyclerViewContent(dirsToShow) } else { runOnUiThread { if (textToSearch.isNotEmpty()) { @@ -1273,7 +1213,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { checkPlaceholderVisibility(dirsToShow) (directories_grid.adapter as? DirectoryAdapter)?.updateDirs(dirsToShow) - measureRecyclerViewContent(dirsToShow) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index 5d29ce485..7c5537e2f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -370,7 +370,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { handleGridSpacing(grouped) getMediaAdapter()?.updateMedia(grouped) - measureRecyclerViewContent(grouped) } } catch (ignored: Exception) { } @@ -425,11 +424,9 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { setupLayoutManager() handleGridSpacing() - measureRecyclerViewContent(mMedia) } else if (mLastSearchedText.isEmpty()) { (currAdapter as MediaAdapter).updateMedia(mMedia) handleGridSpacing() - measureRecyclerViewContent(mMedia) } else { searchQueryChanged(mLastSearchedText) } @@ -705,53 +702,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { mZoomListener = null } - private fun measureRecyclerViewContent(media: ArrayList) { - media_grid.onGlobalLayout { - if (config.scrollHorizontally) { - calculateContentWidth(media) - } else { - calculateContentHeight(media) - } - } - } - - private fun calculateContentWidth(media: ArrayList) { - val layoutManager = media_grid.layoutManager as MyGridLayoutManager - val thumbnailWidth = layoutManager.getChildAt(0)?.width ?: 0 - val spacing = config.thumbnailSpacing - val fullWidth = ((media.size - 1) / layoutManager.spanCount + 1) * (thumbnailWidth + spacing) - spacing - /*media_horizontal_fastscroller.setContentWidth(fullWidth) - media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset())*/ - } - - private fun calculateContentHeight(media: ArrayList) { - val layoutManager = media_grid.layoutManager as MyGridLayoutManager - val pathToCheck = if (mPath.isEmpty()) SHOW_ALL else mPath - val hasSections = config.getFolderGrouping(pathToCheck) and GROUP_BY_NONE == 0 && !config.scrollHorizontally - val sectionTitleHeight = if (hasSections) layoutManager.getChildAt(0)?.height ?: 0 else 0 - val thumbnailHeight = if (hasSections) layoutManager.getChildAt(1)?.height ?: 0 else layoutManager.getChildAt(0)?.height ?: 0 - - var fullHeight = 0 - var curSectionItems = 0 - media.forEach { - if (it is ThumbnailSection) { - fullHeight += sectionTitleHeight - if (curSectionItems != 0) { - val rows = ((curSectionItems - 1) / layoutManager.spanCount + 1) - fullHeight += rows * thumbnailHeight - } - curSectionItems = 0 - } else { - curSectionItems++ - } - } - - val spacing = config.thumbnailSpacing - fullHeight += ((curSectionItems - 1) / layoutManager.spanCount + 1) * (thumbnailHeight + spacing) - spacing - /*media_vertical_fastscroller.setContentHeight(fullHeight) - media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset())*/ - } - private fun handleGridSpacing(media: ArrayList = mMedia) { val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) if (viewType == VIEW_TYPE_GRID) { @@ -814,7 +764,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { invalidateOptionsMenu() getMediaAdapter()?.apply { notifyItemRangeChanged(0, media.size) - measureRecyclerViewContent(media) } } From 8887a57a6e6a775937c5ecd4a3c4d9f8285d3b3c Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 22:46:28 +0100 Subject: [PATCH 15/50] correcting some placeholder and list visibility --- .../gallery/pro/activities/MainActivity.kt | 9 ++------- .../gallery/pro/activities/MediaActivity.kt | 19 +++---------------- 2 files changed, 5 insertions(+), 23 deletions(-) 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 047759661..ebfcdcd1b 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 @@ -862,10 +862,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { runOnUiThread { checkPlaceholderVisibility(dirs) - - val allowHorizontalScroll = config.scrollHorizontally && config.viewTypeFolders == VIEW_TYPE_GRID - /*directories_vertical_fastscroller.beVisibleIf(directories_grid.isVisible() && !allowHorizontalScroll) - directories_horizontal_fastscroller.beVisibleIf(directories_grid.isVisible() && allowHorizontalScroll)*/ setupAdapter(dirs.clone() as ArrayList) } @@ -947,7 +943,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { createDirectoryFromMedia(directory.path, curMedia, albumCovers, hiddenString, includedFolders, getProperFileSize, noMediaFolders) } - //mydebug("end ${System.currentTimeMillis() - time} ${directory.name}") // we are looping through the already displayed folders looking for changes, do not do anything if nothing changed if (directory.copy(subfoldersCount = 0, subfoldersMediaCount = 0) == newDir) { continue @@ -1055,7 +1050,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { runOnUiThread { directories_empty_placeholder.beGone() directories_empty_placeholder_2.beGone() - directories_grid.beVisible() + directories_fastscroller.beVisible() } } @@ -1163,7 +1158,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } directories_empty_placeholder_2.underlineText() - directories_grid.beVisibleIf(directories_empty_placeholder.isGone()) + directories_fastscroller.beVisibleIf(directories_empty_placeholder.isGone()) } private fun setupAdapter(dirs: ArrayList, textToSearch: String = "", forceRecreate: Boolean = false) { diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index 7c5537e2f..bf0c3f0f1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -364,8 +364,10 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { if (grouped.isEmpty()) { media_empty_text_placeholder.text = getString(R.string.no_items_found) media_empty_text_placeholder.beVisible() + media_fastscroller.beGone() } else { media_empty_text_placeholder.beGone() + media_fastscroller.beVisible() } handleGridSpacing(grouped) @@ -661,11 +663,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { private fun setupGridLayoutManager() { val layoutManager = media_grid.layoutManager as MyGridLayoutManager - (media_grid.layoutParams as RelativeLayout.LayoutParams).apply { - topMargin = 0 - bottomMargin = 0 - } - if (config.scrollHorizontally) { layoutManager.orientation = RecyclerView.HORIZONTAL media_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT) @@ -692,13 +689,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { layoutManager.spanCount = 1 layoutManager.orientation = RecyclerView.VERTICAL media_refresh_layout.layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) - - val smallMargin = resources.getDimension(R.dimen.small_margin).toInt() - (media_grid.layoutParams as RelativeLayout.LayoutParams).apply { - topMargin = smallMargin - bottomMargin = smallMargin - } - mZoomListener = null } @@ -848,12 +838,9 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { if (media_empty_text_placeholder.isVisible()) { media_empty_text_placeholder.text = getString(R.string.no_media_with_filters) } - media_grid.beVisibleIf(media_empty_text_placeholder.isGone()) + media_fastscroller.beVisibleIf(media_empty_text_placeholder.isGone()) val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) - val allowHorizontalScroll = config.scrollHorizontally && viewType == VIEW_TYPE_GRID - /*media_vertical_fastscroller.beVisibleIf(media_grid.isVisible() && !allowHorizontalScroll) - media_horizontal_fastscroller.beVisibleIf(media_grid.isVisible() && allowHorizontalScroll)*/ setupAdapter() } From 243f0ae9886c82e3c8fb5fd5a9ad93f1f74ae312 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 22:48:40 +0100 Subject: [PATCH 16/50] adding some SearchActivity related fixes --- .../gallery/pro/activities/SearchActivity.kt | 60 +------------------ 1 file changed, 3 insertions(+), 57 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt index a1899ae2b..73af513a2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt @@ -25,7 +25,6 @@ import com.simplemobiletools.gallery.pro.helpers.* import com.simplemobiletools.gallery.pro.interfaces.MediaOperationsListener import com.simplemobiletools.gallery.pro.models.Medium import com.simplemobiletools.gallery.pro.models.ThumbnailItem -import com.simplemobiletools.gallery.pro.models.ThumbnailSection import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.activity_search.* import java.io.File @@ -33,8 +32,6 @@ import java.io.File class SearchActivity : SimpleActivity(), MediaOperationsListener { private var mIsSearchOpen = false private var mLastSearchedText = "" - private var mDateFormat = "" - private var mTimeFormat = "" private var mSearchMenuItem: MenuItem? = null private var mCurrAsyncTask: GetMediaAsynctask? = null @@ -44,9 +41,8 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { super.onCreate(savedInstanceState) setContentView(R.layout.activity_search) media_empty_text_placeholder.setTextColor(config.textColor) - mDateFormat = config.dateFormat - mTimeFormat = getTimeFormat() getAllMedia() + media_fastscroller.updateColors(getAdjustedPrimaryColor()) } override fun onDestroy() { @@ -122,7 +118,6 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { handleGridSpacing(grouped) getMediaAdapter()?.updateMedia(grouped) - measureRecyclerViewContent(grouped) } } catch (ignored: Exception) { } @@ -141,11 +136,9 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { } setupLayoutManager() handleGridSpacing(mAllMedia) - measureRecyclerViewContent(mAllMedia) } else if (mLastSearchedText.isEmpty()) { (currAdapter as MediaAdapter).updateMedia(mAllMedia) handleGridSpacing(mAllMedia) - measureRecyclerViewContent(mAllMedia) } else { textChanged(mLastSearchedText) } @@ -231,51 +224,6 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { media_fastscroller.setScrollVertically(!scrollHorizontally) } - private fun measureRecyclerViewContent(media: ArrayList) { - media_grid.onGlobalLayout { - if (config.scrollHorizontally) { - calculateContentWidth(media) - } else { - calculateContentHeight(media) - } - } - } - - private fun calculateContentWidth(media: ArrayList) { - val layoutManager = media_grid.layoutManager as MyGridLayoutManager - val thumbnailWidth = layoutManager.getChildAt(0)?.width ?: 0 - val fullWidth = ((media.size - 1) / layoutManager.spanCount + 1) * thumbnailWidth - /*media_horizontal_fastscroller.setContentWidth(fullWidth) - media_horizontal_fastscroller.setScrollToX(media_grid.computeHorizontalScrollOffset())*/ - } - - private fun calculateContentHeight(media: ArrayList) { - val layoutManager = media_grid.layoutManager as MyGridLayoutManager - val pathToCheck = SHOW_ALL - val hasSections = config.getFolderGrouping(pathToCheck) and GROUP_BY_NONE == 0 && !config.scrollHorizontally - val sectionTitleHeight = if (hasSections) layoutManager.getChildAt(0)?.height ?: 0 else 0 - val thumbnailHeight = if (hasSections) layoutManager.getChildAt(1)?.height ?: 0 else layoutManager.getChildAt(0)?.height ?: 0 - - var fullHeight = 0 - var curSectionItems = 0 - media.forEach { - if (it is ThumbnailSection) { - fullHeight += sectionTitleHeight - if (curSectionItems != 0) { - val rows = ((curSectionItems - 1) / layoutManager.spanCount + 1) - fullHeight += rows * thumbnailHeight - } - curSectionItems = 0 - } else { - curSectionItems++ - } - } - - fullHeight += ((curSectionItems - 1) / layoutManager.spanCount + 1) * thumbnailHeight - /*media_vertical_fastscroller.setContentHeight(fullHeight) - media_vertical_fastscroller.setScrollToY(media_grid.computeVerticalScrollOffset())*/ - } - private fun getAllMedia() { getCachedMedia("") { if (it.isNotEmpty()) { @@ -348,9 +296,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener { } } - override fun selectedPaths(paths: ArrayList) { - } + override fun selectedPaths(paths: ArrayList) {} - override fun updateMediaGridDecoration(media: ArrayList) { - } + override fun updateMediaGridDecoration(media: ArrayList) {} } From 657021b67e725a9151c848f414f2b7ee5c5430b6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 22:53:11 +0100 Subject: [PATCH 17/50] fixing a glitch with folder thumbnails at using search --- .../simplemobiletools/gallery/pro/activities/MainActivity.kt | 2 ++ app/src/main/res/layout/activity_main.xml | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) 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 ebfcdcd1b..92b1ba9bc 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 @@ -627,6 +627,8 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { } else { setupListLayoutManager() } + + (directories_refresh_layout.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.BELOW, R.id.directories_switch_searching) } private fun setupGridLayoutManager() { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8821e6816..b500e9c62 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -58,7 +58,6 @@ android:id="@+id/directories_grid" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_below="@+id/directories_switch_searching" android:layoutAnimation="@anim/layout_animation" android:scrollbars="none" app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager" From 06b641692608841a9f9a444f65987fce7c2aaa63 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 22:55:14 +0100 Subject: [PATCH 18/50] animate the thumbnail appearance only if animations arent disabled in the system --- .../simplemobiletools/gallery/pro/activities/MainActivity.kt | 2 +- .../simplemobiletools/gallery/pro/activities/MediaActivity.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 92b1ba9bc..19f89a985 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 @@ -1196,7 +1196,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { directories_grid.adapter = this setupScrollDirection() - if (config.viewTypeFolders == VIEW_TYPE_LIST) { + if (config.viewTypeFolders == VIEW_TYPE_LIST && areSystemAnimationsEnabled) { directories_grid.scheduleLayoutAnimation() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt index bf0c3f0f1..6b8150a60 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/MediaActivity.kt @@ -420,7 +420,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { } val viewType = config.getFolderViewType(if (mShowAll) SHOW_ALL else mPath) - if (viewType == VIEW_TYPE_LIST) { + if (viewType == VIEW_TYPE_LIST && areSystemAnimationsEnabled) { media_grid.scheduleLayoutAnimation() } From 06cc30a723046a9245ab75d00a7846a2ba28713f Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 29 Nov 2021 23:54:04 +0100 Subject: [PATCH 19/50] updating some icons + replacing some with vectors --- app/build.gradle | 2 +- .../pro/activities/SetWallpaperActivity.kt | 2 +- app/src/main/res/drawable-hdpi/ic_cardboard.png | Bin 488 -> 0 bytes app/src/main/res/drawable-hdpi/ic_maximize.png | Bin 806 -> 0 bytes app/src/main/res/drawable-hdpi/ic_minimize.png | Bin 725 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_cardboard.png | Bin 585 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_maximize.png | Bin 1070 -> 0 bytes app/src/main/res/drawable-xhdpi/ic_minimize.png | Bin 447 -> 0 bytes .../main/res/drawable-xxhdpi/ic_cardboard.png | Bin 996 -> 0 bytes app/src/main/res/drawable-xxhdpi/ic_maximize.png | Bin 2016 -> 0 bytes app/src/main/res/drawable-xxhdpi/ic_minimize.png | Bin 1921 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_cardboard.png | Bin 1123 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_maximize.png | Bin 2670 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_minimize.png | Bin 2308 -> 0 bytes .../main/res/drawable/ic_aspect_ratio_vector.xml | 10 ++-------- .../main/res/drawable/ic_cardboard_vector.xml | 3 +++ .../main/res/drawable/ic_crop_rotate_vector.xml | 10 ++-------- app/src/main/res/drawable/ic_draw_vector.xml | 10 ++-------- .../main/res/drawable/ic_explore_off_vector.xml | 10 ++-------- app/src/main/res/drawable/ic_explore_vector.xml | 10 ++-------- .../res/drawable/ic_flip_horizontally_vector.xml | 10 ++-------- .../res/drawable/ic_flip_vertically_vector.xml | 10 ++-------- app/src/main/res/drawable/ic_maximize_vector.xml | 3 +++ app/src/main/res/drawable/ic_minimize_vector.xml | 3 +++ .../main/res/drawable/ic_photo_filter_vector.xml | 10 ++-------- .../res/drawable/ic_portrait_photo_vector.xml | 10 ++-------- .../main/res/drawable/ic_rotate_right_vector.xml | 10 ++-------- app/src/main/res/drawable/ic_set_as_vector.xml | 10 ++-------- .../main/res/drawable/ic_slideshow_vector.xml | 10 ++-------- .../main/res/layout/activity_panorama_photo.xml | 2 +- .../main/res/layout/activity_panorama_video.xml | 2 +- app/src/main/res/layout/bottom_actions.xml | 4 ++-- .../layout/bottom_editor_crop_rotate_actions.xml | 2 +- .../res/layout/bottom_set_wallpaper_actions.xml | 2 +- 34 files changed, 41 insertions(+), 104 deletions(-) delete mode 100644 app/src/main/res/drawable-hdpi/ic_cardboard.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_maximize.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_minimize.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_cardboard.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_maximize.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_minimize.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_cardboard.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_maximize.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_minimize.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_cardboard.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_maximize.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_minimize.png create mode 100644 app/src/main/res/drawable/ic_cardboard_vector.xml create mode 100644 app/src/main/res/drawable/ic_maximize_vector.xml create mode 100644 app/src/main/res/drawable/ic_minimize_vector.xml diff --git a/app/build.gradle b/app/build.gradle index 2932b7dd6..0a7c3db83 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,7 +78,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:29a10478d1' + implementation 'com.github.SimpleMobileTools:Simple-Commons:a7344ae945' implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'it.sephiroth.android.exif:library:1.0.1' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22' diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SetWallpaperActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SetWallpaperActivity.kt index a616a1285..46e609400 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SetWallpaperActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SetWallpaperActivity.kt @@ -92,7 +92,7 @@ class SetWallpaperActivity : SimpleActivity(), CropImageView.OnCropImageComplete private fun setupAspectRatio() { val wallpaperWidth = if (isLandscapeRatio) wallpaperManager.desiredMinimumWidth else wallpaperManager.desiredMinimumWidth / 2 crop_image_view.setAspectRatio(wallpaperWidth, wallpaperManager.desiredMinimumHeight) - bottom_set_wallpaper_aspect_ratio.setImageResource(if (isLandscapeRatio) R.drawable.ic_minimize else R.drawable.ic_maximize) + bottom_set_wallpaper_aspect_ratio.setImageResource(if (isLandscapeRatio) R.drawable.ic_minimize_vector else R.drawable.ic_maximize_vector) } private fun changeAspectRatio(isLandscape: Boolean) { diff --git a/app/src/main/res/drawable-hdpi/ic_cardboard.png b/app/src/main/res/drawable-hdpi/ic_cardboard.png deleted file mode 100644 index 0df820802f7e94be6cb9a02c76473d30b2ed15e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcmVP)~7+Ui!fi6+_~q@Npfc<5Q#)0k#AUjAt?bi zfyF=ea0aZK*?ZB@Ja8Vy{s;jJW_AHE5ey__FoVyT7HuMDC0G%3|j%%Li z_R6mqdIna388b_P3^=TyI|MS<%m8a%s~VCr_0o~FQIeZVdML@yd61Nr=r+7&ku1*{ z_J*E;W-(}H*FbB4?!NSZ5&FL}-3^ywi< zYD-%2qXkLxk`99LOCMjB)C%GUzWXC7@tk&_IkGy2FzPDX zFNq%k?VlD64ZTxuDc{olUHOKYy#mKI>d5B?f@2@J1h%R6gC=0d%=$gR7BEeN8U2YkX<5|cy#00001KIqEP)xVTJtx zLF=HPT2$_8p%ApH3=I09zzW+|79`X*7fCxIkesH4;MdHr#Xaibc<-HiwW44in8iK! zywCgNJ@?%6-jQnh&t%*SV1uNBq=uLnBz-c*e2X&%+9VzDb9kDOG-`}lh%(6oKYm4RVkb2S(b>V=IB)5KbV%C<7Oq%e+W&Q>Z6 zYRy33fqiLV9N+!cqbg7)p=VxFKf!~V7G|rY0qap!aX=MGW0Iy7?399}=RkW3m~E1V zB^|aN)7G<+)L?1JD!>z<1vmlxaLW7+=t$tz3B0#nSdZh@^Qj$A^bCCgMt~+~ycZ~0 z;|lO5u2Mid@YaDT0jHh&O~5Ogt13``*lq$&0!0Vv1JD{WuMHS;V2VIb$h;gdPz@*p z)JNPiK#y0c8$ia3zv)$`2MB#z0~_7=H3>Ll6TJpnLhiTPq?dast~qZ9@LS) z0#j2>>lKg%_C#%EJ7+I&4ygOnFm=E+dkmZngR-z+fqCHSx}f5MfqLMwO$6{0IONUA z0DY|VK6AjOn3rucLE9Xev;Z6n8P5V&2-;C>!XaQ)?+r8n4;-jj8=Lj!?F61xJ36`u z8mUvxSRHWPsmvm9Hw?yuy607DdHH}Hz-JPi_FXo(2z1-C=Ar{r2JVxfuO{fHha9MR z-~zA<_(;O`V+jag%9h?;rbls=iKvv@PtO9AtQ@|nfN%mA?Ghx0@t_8+hp*H<_0qN; zm2}=1Gm{p`#@v=vN-{rbFS1)fUz}P%r=(l@4NbnQW=VrUcS@KJ1x@}z#eY&SE9+gO z;ESLfGB+pb4zOs98A$-MMZr?FN}7t8Hf?h*%m1@syQHIvuUt{mOJmG@6`)O$R&|t~ k79>p?W0HLq)$}jw7e=OhzE{jkcmMzZ07*qoM6N<$g71%Jz5oCK diff --git a/app/src/main/res/drawable-hdpi/ic_minimize.png b/app/src/main/res/drawable-hdpi/ic_minimize.png deleted file mode 100644 index fe86cd0d4bf790b75448f9e4d606b06a1bf4e886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 zcmV;`0xJE9P)B+WvC~MUu>>0LW3lIkb-nv_1B4jf6uh zIvY+K4#ZtFQ=}GKuTLFSSE4+RP*Z)Yo{qBq7(DHBK|N7OCX=b9jDvagqPm)r7ZGZz zYtiOuo2=LSXkv=zGmf_W8%2a#*vh=7g(5Otc@IJezkq3A0T2j4Ppw@g=!v!hi@~ugRiyh!m2;oPOQXwIA6qu#6%w*96%(f1CZ9?iWFbAC512Qd)19RCc zp_Gt11T=sPB=3K(5P!1f-H*(Ryqifcb` zAL!l#LfyavO9qFc;@U@2>2I>z&vcThZFc*q>m(JwUV~;b1w00BM4cu{qjrhpP*$lw zlAON@U_Scjilm-YZecBN@<-G+6+Ziw*iUudUT`9I=0_&{y+Qy%OtsrLhFtI00000NkvXX Hu0mjfn6^o$ diff --git a/app/src/main/res/drawable-xhdpi/ic_cardboard.png b/app/src/main/res/drawable-xhdpi/ic_cardboard.png deleted file mode 100644 index 1c978a019bd86155125a78d5e5b337bfe9512764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 585 zcmV-P0=E5$P)5&RH> z3N{u&tZX%?1RKFdt;BLgNur%rLTn^4EW5{IN0}Yw@5@9tEMI`+n0b(+4vM;peJebPayj#cbMMcVLV$W z9hkOl(wJ!Ae{k@FPsX)jbcnB;=T9(uU7J>BuopoSQ zQcuz{&`q=*pf$$!s>@j`sFUqy6}4%e+Ri<$ZLd|-u7(=ewcRPHy=Z$_WB8%%3ne;p zNv~Q4nrxxIq@ALqq|d;&8aiJkeJRoT0rcw*b>vT>CI(h)&lM$;ZE?Pa&O+4|0#@n{ z)x^LoaI2uHfV(yIW`H|I4{_3Cw!vHzgH)YDw*A2Ne5$5v`$=Za$o4(k=WL&~ea-e> zX3b;U-IUIJqCKkUAAAa>*|+_{_D9=;oc!|~?VCC428l*L(X2x&2CBH6qkY=;_ZGB+ zkI}kpNqV0RO8Q0EH+Ct9VcJV@+_Ibe! z)PWy3_gEbO9tNh=woiu?V(t|1Am_vz$4a`fQw-FB*MRN7i9*{$z+@E@G3OAO_&mpf ztzhZFtJ^NLt|Zhg>aXgz>J1%YH^dj1>d)$yUg<0o zv@Hs0@r`J`rQ`{MczbsUzxrsRpi9 zKXQ>TMD?yXdwKp+A5}|FdC|mUF}Ao8+e>n;P(M-M=*GY=mVD;MnJh&P&RyDit&Vn%)3tYDiuMo^zNJF*s6;?@{55_dxDyiv)3 zW;fobdV8FuJau(>6KAnP@i())2T>X162gnfaih9r4)8s#47bcvI1{UYNKa>4?+lY6>`g1 z1KdK7YNMNgx9m_!NJU)(90u;ChsE8yfp^s_E9C!+*&BZvxStB*VQGJ8b^z~JHKAS( zyazn61PyKfO-c3#rk0R@2XIu~6+-x<%dvNoP2jPF*Z_Q2)-VsVqSR)fn?uLN0(@W43cJn0v)E#2B#l& z0#%mvut_;Bct0(JyoZ)$klt)eCX?xI1$4j(cw8a(7B~YBa|3k12S2*Bgc!_!4Y@yO zK@64mbpiGYe#5*w&-_*AIf1s3K-nh&xWw9vMozJSfCEUxV+umtd_mxSaG$#_W&lPI zYUWEJeDj3>H;B>#NkR0HM2Fy7DFDDRV!jtQA3%f&N2&k_rGL_uK+FWtt9-=BXxj(? z99x-p86!)!Q1Uy`#QZ`4J&02C0s!(5HRgo?nb&G)?xP!90H6y&ys7VrY^Mrc`(u?~FLoh- z%fxOo6Y}o6K@eqbp)`|cC002ovPDHLkV1i!!xgr1n diff --git a/app/src/main/res/drawable-xxhdpi/ic_cardboard.png b/app/src/main/res/drawable-xxhdpi/ic_cardboard.png deleted file mode 100644 index 71c05230d2d39b95650cc27359cf1912205b9821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996 zcmVA4nNoq=LE^D$-gPE`*9&#Eq5| zT)5Gl`UmJjDEL3P(T$5N#GMt>l2T9?(iW}JqM}jMPP<4bA<=|XXTC1(9Z56q$9-?! z>!a=YKp@OL_nhzj&b;@|nFJiiaU92S9LI4S$8j9TaZ<6o1xb$qF97?B;%;&T^np*z z?CY$6%!5nX3!Db_=f&JY2>2E_Y-U%tFYd_Mbb#B#90+IJPdM`!c?R9b?P1OcBb<4R zJcFEw8&rZDRDv5+f*VwV8&rZDRKm^{a{dKe09Jt>p$XgFLLGojLKnOY+zUJk+(m;u zT$2WU2fPo=n%VN`MM)0;uL7?C57UhJUx5#S56tY+mRddFW#Bd7k%nrGBWXs}xG3of zNqMu~PDw{3^(*GhqA%$=Ntti1B$ISV()Shf&a`FFlBA=FdEbzwhLSXbm`TW^0M@OTancT8&!Q z;@;)5K!B*}T+~>bCJgGQ2AkO+#;@0?wGQ-Sj#Mtwu|c;ylNxjnFr6AK=?=nIxO-~U z+5=3-9H~qbG}fjGgAPhc7109@0=sI|+7B^uX)jk!MfuCE_Qb<<@EdvXw!SQDOd3$p5$unq$ zcApw^X0};z&q?5)HpCFlx{|e!XV7`VT-1h18-(7bD!%|fHLL}~87~mdJVxrj;5BtA z4hWCz*`od@N6&8HS;CZ_HSpG92>c10Fte1F!*LwPaU92S9LI4S$8j8|fd2q#AH~;y S?JL~?0000l_A(}`4Z84RqG4X{bHO9n5UO**nm3rf1YcJGLFkpqM(H3Y09$J|D z&xgIg_M30c`EKWY!_=Jr%a_dTz1G_Qz1Cj)ti3msC{dzBi4tckl1BejE5JP9oC0)B z04I|qF|Q!?TwqRqlNbYDOOj+Vt3gi_0p|njffYcWflUDWfctaGK}~=U1FOhKQUW{; zJOG@?YSfINMZh({l{pNV1P%ZXG@7YaktB)gF<=ewE})V_+%DkvG$5!U)JxPIc8+oN z*Xn!X%ohSRQCF!CMID`Dhk8jPU3u7VhEZS-@O9wvBG#TNqOASE?ZDost1IXhL1Vyf z;4TU#r-~?ZU)1sEsIzc%gP>91SHRbRKXikfDx&P)0bd2S(*;i|nxJ9eG2lA{&zUG# z{xn1#2Y_t^uN^K@evt$T90tA*>`#)UD=wdgsB3T3eVCkEiCPrxL5qRqG~YgS13kdS zz{J*Wb_g^+%)R{IK;KMm?!U>#vQ zaS;WNDUYx*!VYwlsWG1b?*zUFT(8c{p`#(9=Ufkb7g)(u&k-1jHg>!oc1q9)VH0>y z{H-@20p3hV^+W1{P7TaLl)0Xe;xA%)SXK98_t34)r0Jg;qw2%zI(0$({gXPGv7LWX z-B6?_sq@s0>QfE$KB9g^?Nx|s*j}@U>v|d)EkN* zDU$PL^`9B!j7BovZ7A2Eo}<2BeK3xpD+G;25-wAF>)KV+kH%R`BWXhYyZR|}gqy)* zH>l4=nQ7!aZ19{)UEkg~vAb(XDvY2BbzfARy2pt#JE-o>nAr*SfcgnT=4scKx#}m? zgBj$g?lFXXs(iI4PUPcJMj-@kkF#=F{j8+4pQEmhgBXiM)sj{9q|aLCg-zu4s$Wo_ zjWTLwPDWk()%U3li)hitwT3XbIl7ma2D#a2t%XIg;W{lX0Ne+QMd1ov&VJ z2&**D95IB=x@HqtBXf>nP1>d|Z>3L`pni3rRmC;^dOZ_vS>bTd1|b{e^u#s?Gsvli z{-AAmWRzV|m#Y2k^eYsGu-xbLg?rqvHMmC2JP`b` zdyp~pi8%14i?w0#A5sr_Ci{#UGUlKKmU3Sg7_!fxVG$jVrKE_>f+)on*~r8shiY~wOf{`kujitOMOPY*>DZ- z?1#EU-J-s1IEC1xE^MQJ5@p=0zGA2gy`+9aUD8e4yN>8No7ER;N*xCbM>b8r<|8?8 zRKFPsu3}O>7XRKd*|Q3foSW1WQ|nx(>p@pF3%9s#Z897irIl`vt2e5PW@=ou##Ic* zENy2ELn(8M`eMq!REO2A%@*6}L2p-o8vE2^GV0i@E^X7sh3bdY3)&rDRlvE1V)+$q z_B&6#Tm6se_2^UTFXF(Pk{>5(MeK7bgQR0oXG>RK)brKb)SubusYV>=RztaTRf~NV ztG5`!D$R3VQ|~w2P;I$X8a-)sBq__2jvGR{AxY75ZdL!K?#xTjHua=oVZGW0Ylb1L z?v940trx@UkE1uVT}O_d^bYkWhNGS|lB(gBn%xXhv8Bew&JPaj2+BOtjcpf1#m{Gu z^Qz%od_`LSHf*XGLUVfqlAc%ZvhIl65LRERv#~IOj0QboxD;NgY1eN!^?WJC;A+1e zwi#9p>`K&2)m?Go(n9&T`uQqJhKzcHdbqBAp#)Wrk^g8&(R0-c)jQ2zb4Jylt1I#n zlS0x;^**z2l)Rwcu3oI(p&oVmQFx&QRWYpo#_-v2ry*NqrShGIb))dJD?_-gG(2_4 zTDbphND5VQ>d_T~s)PTV!Ijfec{Qxobc3848xzCn?M}1Tr0OM#G<5B)Mj!B2;0-A< zMu7W(TY)_@aMOM_a7)xVQs0DdJ-FjZ%2V!0QWU=mJOpe7p6(_&r;P|Yo*~>t+y$Is zmR=+u27b#Ka&o^7YZXz~Ux6Pmi*MS$LU>T}mzgA|2K~TlU?LN&9kCET)K-K~9)x^Q4%U?cDqV1V?jnj77^M$!jd0aR!B zsUn3N?iFqXZUZjNA*v~%jR=zPqbr39o;i0A9`^2RMB`_AFt)l{cjR3mk9MAX7n1)r)|I1sF00 yoJf+S;cT^vXj>8Mjjz+5twf0uB}$Z-0sIdI1b*HxTc_p#0000407YZcCXM>^X#dbQqrtNgTpAUN< zW;*j-_PKnW>G=JVd6;DHwb%Ziwbt2towYs~V1NMznB!1yR2R;+9!)`AnD!KUjUDPC zD5z_JZvh+U14(HQw-WcXE{CL!g47M_@6=1`>+1IFnIv_Ax=lTl_Vm2^vC?}=ma{?q ztvY7Jg!-zwRbAAlJ@gIffp1awt5?#VPOHx)lJYG{U7IXtOl>)darJNN9oLg3CCj-@ z-JAAM?5UMVdS1OHi=-619#t>e9+%To*sd<9q4ZFWLdlxD#>yV^7bIQxC*50Z_H-%j z`NkZ93)RiZPp`BQ)=B~oB$F-eZt7xnle#)%?5d>Ck_zh-dpVGFZb#09F}`le_KGBU zTVj2@14-lRh|%4$Nm7@n_o+{*>odl$SD#kzSC^JpXQ9!pUhrzSnu>8_TrL0dF`DKU z^)Gfd%?b52^>aBSsjJn8)KT@1>IX9BtWRT4sgI~@GUhBwn?9IyZ1;dK8{_HL(&S8A z=yr9V-A(jRvZQx(k+n>HP(7OFl_jX99!~@>>!I^)iJVR$;a0nO&oH_(p0IUR- zrvLkekk(k4)||SQz!l&PU^lQY>0Szzj_@Ib%fLS1`@m~Sk?ABAfBibDI-n9k#>?X8fv*8;tIFv!hJg1Ht@{ghx!`s~X%{ml zxxNbA53FHsSMR_{Kp4{{0wU=^?v*lCHR8Dw$9GbYVH3~VBvdz!!@;C#lo3u$aq>4{r`H`JFx2(4a& zv#cNyvRFXp#}U0coKN73OP{k z%j#KR5Als~n7Q#)bt;aK^a~-JsVbyamM(;FRDB#cMSQz0WA;1j@IBxy z`g2Zd5sw!Sq_tk4eWlwFuod_TaA#SPvIAHmXA`iC_z|%kxkcIA4}h0}cM>nQ_Wl$&(WSDrs3vV!NPe^WfUz97 zsY3F@#`^2wX*yo}Lh`imoz`nbSf+l(W?B)B8QU6`chL3PwIVoKUEf4A%To2b#x{bg z1RXOr#MEtODf->2SKT|=4z<_j+M!mZ4W6t((5SJ~C#MOozwJ=YY^a+~PAff~k+M(0 z*ig4a-D7@3-BZRUyzIQRy&LL^j(~%fX{d8%OJ+O4O|)cwJkuIh8QV7(S6HW4OJ?z) z^II~_YwA7V{A%jGXl_$)5;`B-!f!XWm)2_wPXg!T4+|7;xB5RUkOa>6pQgBI)t{!A zA~2}yl7Hs+mCs=~8Mq%!d#j(Kai0D>&TQ*3zyJdb&i zK~#9!?VL?$T}2p%pD(qE3!{s){!$?er7qm~55q1`6ouOWJ2L+Z*oW8t{BXY>bGhRu@LZabO)VUZb8}z`BU| zwSbbn7DgIk35%fQa}H7y^#fpywB0D7DcJn^Rx9$^ZddBBIf5U_=}Ro~uFA z_K5hogq{YlCH1Lm3^)k9pAkO_G%D270Cr@=?@oQ{8UrRGV!CW_MEnGNTcMrbImip3lr3irgC5;p;#ti^(0Jj!+%6=EPBMoXla23sJ z>K`p)Zv$R$qZl^=+}E)!QbpBJN!l-Iy`;&-cKkF)os+1D~ro0lboPm}-{(9$-DNdV%!+leW+MFvb{Tj4{R- pV~jDz7-Nhv#u#IaF~%%8{s%E2>hXt+hLHdO002ovPDHLkV1jL(?^pl; diff --git a/app/src/main/res/drawable-xxxhdpi/ic_maximize.png b/app/src/main/res/drawable-xxxhdpi/ic_maximize.png deleted file mode 100644 index 6d89e4665edf44f6c409a141e6ef47999060d62a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2670 zcmV-!3X%1RP)8kK%&)2bg@k(7$ON-1v;%1nWQVc`D#aMvW)+k4O5_ug~P zof*zbb^@7u&R%Q%_g;JLwb$AQ5=tncgc3?9p@gnPazTHT6hA}GMczkuk}H*r!Rk`C z0w9jjA7?*4R9nJtuLVW|4H24#HsCeq+{K9A-v<~642V#t?Z9r}RM-Ht01pB;0O<(U zqBdZObMDm$M}DWIA;5jW)qo1S1CEEU*-K%sJN)gZ)1*X@ULsTR>yjmM*F_APQ;&o(NKY*Gw#R;S74t zIoBa+p_#sWfTkuuC={wo&0EpOCI|BR+Sl-y!cp>V| zQV|fIw07)DnE?lZp93qLbMM5pQw;#24fqAH95~$D0XS&Fu5!+uiaSgY0K!S&SHLgh z1|d!W4w&*+JLgVRD@GFl!f{}wfpDm|0nlmw_bL;#D$4f&;h2H&oblXi07wDDf$Q@L zUybNwK%egihEXI^+|vN40X_;m42;Vbz8cCe)VHMZzrmKqh zFBO2plIBYqWWVhz>5G#7?J3|NOd)XrFj3MUJ$ZXg(&r`B+OyXg2uHgM07p&v*X2Cd z*G7%cOt@?c85aWp<0U<3eHNqFC4JUp$$s}>Nec?hgjfMMA?e|4<>x$GX9Dc@5Vph2 z(S!&Am}s-@q6a^_B;8>$f2220!i=04M4l3M2clJo?>dv$ehyGbm|*q@|{t zNCDU(=?O_!mFa!dNt!F^kfgM=LUc*eT1mso5yGAsA!$RA1-FZjgOcv*T5wBs1|;>D zwA^$wBUcv{0bu|BxTLR1>R*BHjU*@O%aYzSB^RR&HWN}M@ST!0+D3jcx@04NwkQ9^ zK)6@Zt@(6V>87l{!i`TZ2y-Rv@pK1QNg7lFuLC8m^mKpsNcxKLM5Q2D|K9mV-lNJn zcfO3+dcjA4HNcO7eMNqI7U*lyRA1_6?Oc)Hy34SRaKmanS^3%fggKJ_X^ZaY`Sa(yN7 zY?(74*GPKBT+R9@Wa#MtAgM{xWJ#kIEn4Kl+6iyny49IEnryBjJsNyKp?Y8y2G zcLAfx6yt4=M1V3%duzMVU>FVD3!ETRxBGTT?`;HT0rSX|Neu=bAd|t}qo;IO%}E-b zmBDaW(gTv-8$vj`(N5cT=A4LirMtKu9g41$>D8-OJ3G5wm!qHqlJ3t2p$y&{?eOJ4 z1#*GbNgAYs*N=YOorGT>&X6o!0lr9)Ac^CiBgf zei)Rge9%C+rbK>*N_yTiBYT6LmW8JLbUK|1TfsFUgV1b(`{ZlBD5<5488F8)5A}l0 zgi)0$f6JCF&XNFzhYi3@k|v!#eYz$D5SmS3pG@U_wutsGgXacIfqbKcnb1;UYT^ug z&x~B1lxYcvsy7gPY7;umB#x;-`P(hErt;+6 zoQ|iMD|bNB>@v;KI8(k)b;?cyyFP@hh(I?>Ti2u>c_3;LMU#7x4U$06#ysKw`h7uNEqh2+1|B zvp$Y`mZ&}@>Bc;ldeoTmU&@nS9~%H^tD*gzq<(pxy;0KB9zv$A+;dJ=EpC)$s+t5p(g}6xJILM?7ajn}^vd34k!q116EVex{GLAUZ_m zrj%!Z3snqboi`p*z(ZuND=S2Ot%XWqAISI=r|lqjQ zkNZSyFYq|9wwoxw>nO29(z7-bzC$!O#8(}FJ-`xRJ<#5Dep>CAdKVwgxpM}BBXhO= z2x7R+D~^H%k@=#;5*ztvvk$MU`8ko?zMXStfDOR&L~uP>wE(yT`~%pOtNdz$kgrdx zpqWVK0}r*m1%O%;Xljrb5hn-*lwSkfY76lPW7175oj72OEpDGG6g!Fwgn*I%Vc>hf zN8(%?WeS zY7X>jPPy^G(x#@S>657CGP^s&2H+x@ZzG-}{M*h4lKG(8ap2`BmEYRhnj(_| z|1$8mh#ZZ#$y@~G{XoG*EQQiP-5k%`zwX?oK@M{X#ikU8`P zAVns|AN5YDBMvi^N4~0T080U&Y7F)UpY5Aqs6a~UACbpQYW07*qoM6N<$f@yK+c>n+a diff --git a/app/src/main/res/drawable-xxxhdpi/ic_minimize.png b/app/src/main/res/drawable-xxxhdpi/ic_minimize.png deleted file mode 100644 index 5746cb51de95f48265109ab5ceb9ebbcf3f81120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2308 zcmV+f3H$bmP)9n05#PsoE zeY>-}*@y42zL~w-?@8vON!MY&zja>UdS7U0XlQ6?XlQ5{fI3fItu9r=T-Rq666f}aUE7b3*yVMUP7a=qL)#}sg@$7FxU7oa{5hNQ8wy4wU z3H2HEL&-$QjQ_z*-DA#hTpd#{N>b1WqApYK?P8Zds~@f`LR-tr>XNz~2D})F}W<3!tQ2XimR-$XDV3msZ<54m#I6{f2h}#NPkV1_V?=LW$TgU zwIXX+$8y?W%Ghwzj0VQ#)|mY#olf<~)QiiAkQx86EU&5ps6J6f1mh^M%GdzAtpd9l z|DbU`OuIZcF1xm>`wNKh!=fS>hn*d5`J@m)V^1hF9A(D8r-1PfSm%n+nH50Mo{;O< z!g$WKy(8~b0;v8@U6V8Y3X8Y=`j_LG2xAtTjKAng)o zju-MUyBkvDaMZa4A0)ySd+Za`b(!&xc1fF305hZhR=u)Ex@E>;r|55+-6I*}>S)a3 zt>mJPeAZ{ipX!k=wE(JzjUv3OBh7N-yj8S!&&{Ev6~{?uTK=Iv>FN+bqu{4|g3=iCm3ja`2tjo( z@Kazu@HJpzza+ro>~9#ZH5US{ObE%?b`}yhYn$yj zwn#;C0kW3A5%>giv%^izBH-h|raF2;QUTPp%(VQ%7wJPx>)2wm1CFwbl1u<~HE;)T z9cM?&?_?3NVcluYOPxF<*$Jzc0N((a~O9Ncrp9V zC^yDO6KjCC)KaT6c@6k$2;oT4gk`TJ{|j6R+)^@q5%v(j#s5pebngUi16C)m(d&5> zc(zQ!QUZh!PO47=?*(oslScvOQ|?H45%6~6k#wEx1Rf6|oGg>L^o>{u;bq|4MD@>A zb^v#T5dK{@gGzV8A%uSc-vNG8C7%&xC-BXxUq)2^Dk2l%PU83TrMlsWaT0h0*qq|C zlvFQdURJkc|Gb{rS$WI_)4=1vy;X*tc9IAH5JGrK9VaerujB0cG!fzxr6+;05W=2R znWlcC^dc}pY$bnLNEm}aKsKUYTqbv{wrO?;@gkI{W2whwryj+Wn|&L>LCiQm*Ot*eY#Uxojkcfq$Znjh{4V%={dKFp}a9Zelil$H@4ciaptXEcr9qUDnF^Ta1g$^D|H zexkG#*Z_Qqd|pRJftHt-F9Nqa!1Gs8l5NDYadHFjbzlMgjo+G-hee=4^$En&)eXRT z>b4NVe^L~j;)P5wIxYGt(NoI#3^x80@ze2PSfWl7>oVv?e;_ujF9Wxxa#xdL2wF+3 z)NS;4Qv>k_9t0jD-XrW}ZZ~U(iF=hBiHC`Kd|NC8zCrW|Q(1&cLr^yC+)94qPZIAB zwuTV)tF3FsPZL)hv&j^3hdUlZcwTKiG|A&NYXNaMng{#@NHQE1!ZRaB$>X?njruF=b=-O)Gyd8EX@}EstN9{FbQ-^i>*C8Z5$bYXyxsVsKTrA<7V{fj zuj^uC%fHY1op)cXK3anSJB&|ji{!CN{eA%v>T%v}92d7Zd+zHmRUb(xz+;wp%j+<> zueV&}h;ge2aJbai6RHZZqm1#}@(IS_s7NG{>H!>leF&30kt0%vFu7RWVEGUxn=Cl& z^vQ2_BZ*`M-d#ZT1I9VxtPbL1u|>$S%!bA9L@XZ0YQl3TjMcdLoO~a5Kp3lj1vP=( zdSJdtBFC%}$So_V31!#=`$rO~9?Gz-peC4S59}UEq-Ff-!93dvYQov}z%wI>wBkpm z3uoI_(0uiM#)Z5a1VOEcTl_Nh-pLqkJD eLqo&a!~X%q8cFDjzvdtS0000 - + + diff --git a/app/src/main/res/drawable/ic_cardboard_vector.xml b/app/src/main/res/drawable/ic_cardboard_vector.xml new file mode 100644 index 000000000..e250fe73d --- /dev/null +++ b/app/src/main/res/drawable/ic_cardboard_vector.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/ic_crop_rotate_vector.xml b/app/src/main/res/drawable/ic_crop_rotate_vector.xml index 681d300cd..d24e5faf5 100644 --- a/app/src/main/res/drawable/ic_crop_rotate_vector.xml +++ b/app/src/main/res/drawable/ic_crop_rotate_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_draw_vector.xml b/app/src/main/res/drawable/ic_draw_vector.xml index 1e296d845..dfa88b66e 100644 --- a/app/src/main/res/drawable/ic_draw_vector.xml +++ b/app/src/main/res/drawable/ic_draw_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_explore_off_vector.xml b/app/src/main/res/drawable/ic_explore_off_vector.xml index a67123134..8005ddbfd 100644 --- a/app/src/main/res/drawable/ic_explore_off_vector.xml +++ b/app/src/main/res/drawable/ic_explore_off_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_explore_vector.xml b/app/src/main/res/drawable/ic_explore_vector.xml index 07d304b87..5545365c3 100644 --- a/app/src/main/res/drawable/ic_explore_vector.xml +++ b/app/src/main/res/drawable/ic_explore_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_flip_horizontally_vector.xml b/app/src/main/res/drawable/ic_flip_horizontally_vector.xml index 7b82d9d7c..42733799a 100644 --- a/app/src/main/res/drawable/ic_flip_horizontally_vector.xml +++ b/app/src/main/res/drawable/ic_flip_horizontally_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_flip_vertically_vector.xml b/app/src/main/res/drawable/ic_flip_vertically_vector.xml index 4d9437cf6..92eb70ba3 100644 --- a/app/src/main/res/drawable/ic_flip_vertically_vector.xml +++ b/app/src/main/res/drawable/ic_flip_vertically_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_maximize_vector.xml b/app/src/main/res/drawable/ic_maximize_vector.xml new file mode 100644 index 000000000..7598ad394 --- /dev/null +++ b/app/src/main/res/drawable/ic_maximize_vector.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/ic_minimize_vector.xml b/app/src/main/res/drawable/ic_minimize_vector.xml new file mode 100644 index 000000000..77e8c0f3c --- /dev/null +++ b/app/src/main/res/drawable/ic_minimize_vector.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/drawable/ic_photo_filter_vector.xml b/app/src/main/res/drawable/ic_photo_filter_vector.xml index 127f154be..7b2290b49 100644 --- a/app/src/main/res/drawable/ic_photo_filter_vector.xml +++ b/app/src/main/res/drawable/ic_photo_filter_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_portrait_photo_vector.xml b/app/src/main/res/drawable/ic_portrait_photo_vector.xml index e94d39587..54c8f9624 100644 --- a/app/src/main/res/drawable/ic_portrait_photo_vector.xml +++ b/app/src/main/res/drawable/ic_portrait_photo_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_rotate_right_vector.xml b/app/src/main/res/drawable/ic_rotate_right_vector.xml index ba4935170..fed0c5047 100644 --- a/app/src/main/res/drawable/ic_rotate_right_vector.xml +++ b/app/src/main/res/drawable/ic_rotate_right_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_set_as_vector.xml b/app/src/main/res/drawable/ic_set_as_vector.xml index 51a983f3b..5f00129cc 100644 --- a/app/src/main/res/drawable/ic_set_as_vector.xml +++ b/app/src/main/res/drawable/ic_set_as_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_slideshow_vector.xml b/app/src/main/res/drawable/ic_slideshow_vector.xml index a9bc8667b..f8e373b4e 100644 --- a/app/src/main/res/drawable/ic_slideshow_vector.xml +++ b/app/src/main/res/drawable/ic_slideshow_vector.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/layout/activity_panorama_photo.xml b/app/src/main/res/layout/activity_panorama_photo.xml index f4a92234d..4884433e5 100644 --- a/app/src/main/res/layout/activity_panorama_photo.xml +++ b/app/src/main/res/layout/activity_panorama_photo.xml @@ -27,7 +27,7 @@ android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:padding="@dimen/activity_margin" - android:src="@drawable/ic_cardboard"/> + android:src="@drawable/ic_cardboard_vector"/> + android:src="@drawable/ic_cardboard_vector"/> diff --git a/app/src/main/res/layout/bottom_actions.xml b/app/src/main/res/layout/bottom_actions.xml index bcab016a1..87ad8a698 100644 --- a/app/src/main/res/layout/bottom_actions.xml +++ b/app/src/main/res/layout/bottom_actions.xml @@ -210,7 +210,7 @@ android:background="?attr/selectableItemBackgroundBorderless" android:contentDescription="@string/move" android:padding="@dimen/medium_margin" - android:src="@drawable/ic_move" + android:src="@drawable/ic_move_vector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/bottom_resize" app:layout_constraintHorizontal_bias="0.5" @@ -225,7 +225,7 @@ android:background="?attr/selectableItemBackgroundBorderless" android:contentDescription="@string/resize" android:padding="@dimen/medium_margin" - android:src="@drawable/ic_minimize" + android:src="@drawable/ic_minimize_vector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" diff --git a/app/src/main/res/layout/bottom_editor_crop_rotate_actions.xml b/app/src/main/res/layout/bottom_editor_crop_rotate_actions.xml index 93dcbb4e6..057abe682 100644 --- a/app/src/main/res/layout/bottom_editor_crop_rotate_actions.xml +++ b/app/src/main/res/layout/bottom_editor_crop_rotate_actions.xml @@ -28,7 +28,7 @@ android:background="?attr/selectableItemBackgroundBorderless" android:contentDescription="@string/resize" android:padding="@dimen/normal_margin" - android:src="@drawable/ic_minimize" + android:src="@drawable/ic_minimize_vector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/bottom_aspect_ratio" app:layout_constraintHorizontal_bias="0.5" diff --git a/app/src/main/res/layout/bottom_set_wallpaper_actions.xml b/app/src/main/res/layout/bottom_set_wallpaper_actions.xml index 3be00ceaa..6cecacfc0 100644 --- a/app/src/main/res/layout/bottom_set_wallpaper_actions.xml +++ b/app/src/main/res/layout/bottom_set_wallpaper_actions.xml @@ -14,7 +14,7 @@ android:layout_height="wrap_content" android:background="?attr/selectableItemBackgroundBorderless" android:padding="@dimen/normal_margin" - android:src="@drawable/ic_minimize" + android:src="@drawable/ic_minimize_vector" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/bottom_set_wallpaper_rotate" app:layout_constraintHorizontal_bias="0.5" From 006e367a1e41330db065ee02fdcf31df30425293 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Nov 2021 11:41:59 +0100 Subject: [PATCH 20/50] redesigning the app settings --- .../pro/activities/SettingsActivity.kt | 123 +- app/src/main/res/layout/activity_settings.xml | 1809 ++++++++--------- 2 files changed, 887 insertions(+), 1045 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt index 6942b3e62..754357ee8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SettingsActivity.kt @@ -85,11 +85,48 @@ class SettingsActivity : SimpleActivity() { setupShowRecycleBinLast() setupEmptyRecycleBin() updateTextColors(settings_holder) - setupSectionColors() setupClearCache() setupExportSettings() setupImportSettings() invalidateOptionsMenu() + + arrayOf( + settings_color_customization_label, + settings_general_settings_label, + settings_visibility_label, + settings_videos_label, + settings_thumbnails_label, + settings_scrolling_label, + settings_fullscreen_media_label, + settings_deep_zoomable_images_label, + settings_extended_details_label, + settings_security_label, + settings_file_operations_label, + settings_bottom_actions_label, + settings_recycle_bin_label, + settings_migrating_label + ).forEach { + it.setTextColor(getAdjustedPrimaryColor()) + } + + arrayOf( + settings_color_customization_holder, + settings_general_settings_holder, + settings_visibility_holder, + settings_videos_holder, + settings_thumbnails_holder, + settings_scrolling_holder, + settings_fullscreen_media_holder, + settings_deep_zoomable_images_holder, + settings_extended_details_holder, + settings_security_holder, + settings_file_operations_holder, + settings_bottom_actions_holder, + settings_recycle_bin_holder, + settings_migrating_holder + ).forEach { + it.background.applyColorFilter(baseConfig.backgroundColor.getContrastColor()) + } } override fun onCreateOptionsMenu(menu: Menu): Boolean { @@ -105,17 +142,6 @@ class SettingsActivity : SimpleActivity() { } } - private fun setupSectionColors() { - val adjustedPrimaryColor = getAdjustedPrimaryColor() - arrayListOf( - visibility_label, videos_label, thumbnails_label, scrolling_label, fullscreen_media_label, security_label, - file_operations_label, deep_zoomable_images_label, extended_details_label, bottom_actions_label, recycle_bin_label, - migrating_label - ).forEach { - it.setTextColor(adjustedPrimaryColor) - } - } - private fun setupCustomizeColors() { settings_customize_colors_holder.setOnClickListener { startCustomizationActivity() @@ -125,6 +151,11 @@ class SettingsActivity : SimpleActivity() { private fun setupUseEnglish() { settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en") settings_use_english.isChecked = config.useEnglish + + if (settings_use_english_holder.isGone()) { + settings_change_date_time_format_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } + settings_use_english_holder.setOnClickListener { settings_use_english.toggle() config.useEnglish = settings_use_english.isChecked @@ -445,6 +476,12 @@ class SettingsActivity : SimpleActivity() { settings_allow_rotating_with_gestures_holder.beVisibleIf(config.allowZoomingImages) settings_show_highest_quality_holder.beVisibleIf(config.allowZoomingImages) settings_allow_one_to_one_zoom_holder.beVisibleIf(config.allowZoomingImages) + + if (config.allowZoomingImages) { + settings_allow_zooming_images_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } else { + settings_allow_zooming_images_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) + } } private fun setupShowHighestQuality() { @@ -473,16 +510,15 @@ class SettingsActivity : SimpleActivity() { private fun setupShowExtendedDetails() { settings_show_extended_details.isChecked = config.showExtendedDetails + updateExtendedDetailsButtons() settings_show_extended_details_holder.setOnClickListener { settings_show_extended_details.toggle() config.showExtendedDetails = settings_show_extended_details.isChecked - settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails) - settings_hide_extended_details_holder.beVisibleIf(config.showExtendedDetails) + updateExtendedDetailsButtons() } } private fun setupHideExtendedDetails() { - settings_hide_extended_details_holder.beVisibleIf(config.showExtendedDetails) settings_hide_extended_details.isChecked = config.hideExtendedDetails settings_hide_extended_details_holder.setOnClickListener { settings_hide_extended_details.toggle() @@ -491,7 +527,6 @@ class SettingsActivity : SimpleActivity() { } private fun setupManageExtendedDetails() { - settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails) settings_manage_extended_details_holder.setOnClickListener { ManageExtendedDetailsDialog(this) { if (config.extendedDetails == 0) { @@ -501,6 +536,17 @@ class SettingsActivity : SimpleActivity() { } } + private fun updateExtendedDetailsButtons() { + settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails) + settings_hide_extended_details_holder.beVisibleIf(config.showExtendedDetails) + + if (config.showExtendedDetails) { + settings_show_extended_details_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } else { + settings_show_extended_details_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) + } + } + private fun setupSkipDeleteConfirmation() { settings_skip_delete_confirmation.isChecked = config.skipDeleteConfirmation settings_skip_delete_confirmation_holder.setOnClickListener { @@ -534,20 +580,20 @@ class SettingsActivity : SimpleActivity() { ) private fun setupBottomActions() { - settings_bottom_actions.isChecked = config.bottomActions - settings_bottom_actions_holder.setOnClickListener { - settings_bottom_actions.toggle() - config.bottomActions = settings_bottom_actions.isChecked - settings_manage_bottom_actions_holder.beVisibleIf(config.bottomActions) + settings_bottom_actions_checkbox.isChecked = config.bottomActions + updateManageBottomActionsButtons() + settings_bottom_actions_checkbox_holder.setOnClickListener { + settings_bottom_actions_checkbox.toggle() + config.bottomActions = settings_bottom_actions_checkbox.isChecked + updateManageBottomActionsButtons() } } private fun setupManageBottomActions() { - settings_manage_bottom_actions_holder.beVisibleIf(config.bottomActions) settings_manage_bottom_actions_holder.setOnClickListener { ManageBottomActionsDialog(this) { if (config.visibleBottomActions == 0) { - settings_bottom_actions_holder.callOnClick() + settings_bottom_actions_checkbox_holder.callOnClick() config.bottomActions = false config.visibleBottomActions = DEFAULT_BOTTOM_ACTIONS } @@ -555,17 +601,22 @@ class SettingsActivity : SimpleActivity() { } } + private fun updateManageBottomActionsButtons() { + settings_manage_bottom_actions_holder.beVisibleIf(config.bottomActions) + if (config.bottomActions) { + settings_bottom_actions_checkbox_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } else { + settings_bottom_actions_checkbox_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) + } + } + private fun setupUseRecycleBin() { - settings_empty_recycle_bin_holder.beVisibleIf(config.useRecycleBin) - settings_show_recycle_bin_holder.beVisibleIf(config.useRecycleBin) - settings_show_recycle_bin_last_holder.beVisibleIf(config.useRecycleBin && config.showRecycleBinAtFolders) + updateRecycleBinButtons() settings_use_recycle_bin.isChecked = config.useRecycleBin settings_use_recycle_bin_holder.setOnClickListener { settings_use_recycle_bin.toggle() config.useRecycleBin = settings_use_recycle_bin.isChecked - settings_empty_recycle_bin_holder.beVisibleIf(config.useRecycleBin) - settings_show_recycle_bin_holder.beVisibleIf(config.useRecycleBin) - settings_show_recycle_bin_last_holder.beVisibleIf(config.useRecycleBin && config.showRecycleBinAtFolders) + updateRecycleBinButtons() } } @@ -574,7 +625,7 @@ class SettingsActivity : SimpleActivity() { settings_show_recycle_bin_holder.setOnClickListener { settings_show_recycle_bin.toggle() config.showRecycleBinAtFolders = settings_show_recycle_bin.isChecked - settings_show_recycle_bin_last_holder.beVisibleIf(config.useRecycleBin && config.showRecycleBinAtFolders) + updateRecycleBinButtons() } } @@ -589,6 +640,18 @@ class SettingsActivity : SimpleActivity() { } } + private fun updateRecycleBinButtons() { + settings_show_recycle_bin_last_holder.beVisibleIf(config.useRecycleBin && config.showRecycleBinAtFolders) + settings_empty_recycle_bin_holder.beVisibleIf(config.useRecycleBin) + settings_show_recycle_bin_holder.beVisibleIf(config.useRecycleBin) + + if (config.useRecycleBin) { + settings_use_recycle_bin_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } else { + settings_use_recycle_bin_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) + } + } + private fun setupEmptyRecycleBin() { ensureBackgroundThread { try { diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 48397539c..3e280a478 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -1,6 +1,5 @@ - + android:text="@string/color_customization" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_all_corners"> - + - + + + + android:text="@string/general_settings" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + - + - - - - - - - - - - - - - - - - - - - - - - - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + + + android:text="@string/visibility" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + - + android:text="@string/videos" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - - - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + - + android:text="@string/thumbnails" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + + + android:text="@string/scrolling" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/fullscreen_media" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - - - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - - + android:background="@drawable/ripple_bottom_corners"> - + + + + + + + + android:text="@string/deep_zoomable_images" /> - + + - + android:background="@drawable/ripple_top_corners"> - + - + - - - - - - - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + - + android:text="@string/extended_details" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + - + + + + + + + + + + + + + + + + android:text="@string/security" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + + + + + + + + + + + + + + + + android:text="@string/file_operations" /> - + + + + + + + + + + + + + + + + + + + + + + + + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + - + - - - - - - - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/recycle_bin" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - - - + android:background="@drawable/ripple_bottom_corners"> - + - + - + + + + android:text="@string/migrating" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + + + + + + + + + + + + + + + + + + From e3ba312cd56da7346fb4cdf7e6a95f6ffbd0964e Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Nov 2021 11:48:14 +0100 Subject: [PATCH 21/50] use checkboxes at the File thumbnail style setting dialog too --- .../dialog_change_file_thumbnail_style.xml | 69 +++++++------------ 1 file changed, 26 insertions(+), 43 deletions(-) diff --git a/app/src/main/res/layout/dialog_change_file_thumbnail_style.xml b/app/src/main/res/layout/dialog_change_file_thumbnail_style.xml index 5c0b8716d..8e14dbc1e 100644 --- a/app/src/main/res/layout/dialog_change_file_thumbnail_style.xml +++ b/app/src/main/res/layout/dialog_change_file_thumbnail_style.xml @@ -1,6 +1,6 @@ @@ -9,15 +9,13 @@ android:id="@+id/dialog_holder" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" - android:paddingTop="@dimen/normal_margin"> + android:orientation="vertical"> + android:clickable="false" + tools:text="1x" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/rounded_corners" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/animate_gifs" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/show_thumbnail_video_duration" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/show_image_file_types" /> From 904c2f57ab9669a27835f2ed4fabeb655343b0f2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Nov 2021 12:22:22 +0100 Subject: [PATCH 22/50] couple more dialog style updates --- .../pro/dialogs/PickDirectoryDialog.kt | 22 +---- .../gallery/pro/dialogs/PickMediumDialog.kt | 26 +----- .../res/layout/dialog_change_grouping.xml | 32 ++++--- .../res/layout/dialog_change_view_type.xml | 13 ++- .../layout/dialog_confirm_delete_folder.xml | 7 +- .../res/layout/dialog_custom_aspect_ratio.xml | 13 ++- .../layout/dialog_delete_with_remember.xml | 8 +- .../main/res/layout/dialog_exclude_folder.xml | 7 +- .../main/res/layout/dialog_medium_picker.xml | 2 +- .../res/layout/dialog_other_aspect_ratio.xml | 29 +++--- .../main/res/layout/dialog_resize_image.xml | 15 ++-- .../layout/dialog_resize_image_with_path.xml | 10 ++- app/src/main/res/layout/dialog_save_as.xml | 19 ++-- app/src/main/res/layout/dialog_slideshow.xml | 88 ++++++++----------- 14 files changed, 124 insertions(+), 167 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt index 36b1089be..b968b0f9b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickDirectoryDialog.kt @@ -33,6 +33,8 @@ class PickDirectoryDialog( spanCount = if (isGridViewType) activity.config.dirColumnCnt else 1 } + view.directories_fastscroller.updateColors(activity.getAdjustedPrimaryColor()) + val builder = AlertDialog.Builder(activity) .setPositiveButton(R.string.ok, null) .setNegativeButton(R.string.cancel, null) @@ -124,27 +126,9 @@ class PickDirectoryDialog( } val scrollHorizontally = activity.config.scrollHorizontally && isGridViewType - val sorting = activity.config.directorySorting - val dateFormat = activity.config.dateFormat - val timeFormat = activity.getTimeFormat() view.apply { directories_grid.adapter = adapter - - /*directories_vertical_fastscroller.isHorizontal = false - directories_vertical_fastscroller.beGoneIf(scrollHorizontally) - - directories_horizontal_fastscroller.isHorizontal = true - directories_horizontal_fastscroller.beVisibleIf(scrollHorizontally) - - if (scrollHorizontally) { - directories_horizontal_fastscroller.setViews(directories_grid) { - directories_horizontal_fastscroller.updateBubbleText(dirs[it].getBubbleText(sorting, activity, dateFormat, timeFormat)) - } - } else { - directories_vertical_fastscroller.setViews(directories_grid) { - directories_vertical_fastscroller.updateBubbleText(dirs[it].getBubbleText(sorting, activity, dateFormat, timeFormat)) - } - }*/ + directories_fastscroller.setScrollVertically(!scrollHorizontally) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt index 9d16dd0fc..b32912b10 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/dialogs/PickMediumDialog.kt @@ -3,7 +3,7 @@ package com.simplemobiletools.gallery.pro.dialogs import androidx.appcompat.app.AlertDialog import androidx.recyclerview.widget.RecyclerView import com.simplemobiletools.commons.activities.BaseSimpleActivity -import com.simplemobiletools.commons.extensions.getTimeFormat +import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID import com.simplemobiletools.commons.views.MyGridLayoutManager @@ -30,6 +30,8 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c spanCount = if (isGridViewType) activity.config.mediaColumnCnt else 1 } + view.media_fastscroller.updateColors(activity.getAdjustedPrimaryColor()) + dialog = AlertDialog.Builder(activity) .setPositiveButton(R.string.ok, null) .setNegativeButton(R.string.cancel, null) @@ -72,29 +74,9 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c } val scrollHorizontally = activity.config.scrollHorizontally && isGridViewType - val sorting = activity.config.getFolderSorting(if (path.isEmpty()) SHOW_ALL else path) - val dateFormat = activity.config.dateFormat - val timeFormat = activity.getTimeFormat() view.apply { media_grid.adapter = adapter - - /*media_vertical_fastscroller.isHorizontal = false - media_vertical_fastscroller.beGoneIf(scrollHorizontally) - - media_horizontal_fastscroller.isHorizontal = true - media_horizontal_fastscroller.beVisibleIf(scrollHorizontally) - - if (scrollHorizontally) { - media_horizontal_fastscroller.setViews(media_grid) { - val medium = (media[it] as? Medium) - media_horizontal_fastscroller.updateBubbleText(medium?.getBubbleText(sorting, activity, dateFormat, timeFormat) ?: "") - } - } else { - media_vertical_fastscroller.setViews(media_grid) { - val medium = (media[it] as? Medium) - media_vertical_fastscroller.updateBubbleText(medium?.getBubbleText(sorting, activity, dateFormat, timeFormat) ?: "") - } - }*/ + media_fastscroller.setScrollVertically(!scrollHorizontally) } } } diff --git a/app/src/main/res/layout/dialog_change_grouping.xml b/app/src/main/res/layout/dialog_change_grouping.xml index c64aad625..7fce02f3f 100644 --- a/app/src/main/res/layout/dialog_change_grouping.xml +++ b/app/src/main/res/layout/dialog_change_grouping.xml @@ -1,6 +1,5 @@ - @@ -26,7 +25,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/medium_margin" android:paddingBottom="@dimen/medium_margin" - android:text="@string/do_not_group_files"/> + android:text="@string/do_not_group_files" /> + android:text="@string/by_last_modified_daily" /> + android:text="@string/by_last_modified_monthly" /> + android:text="@string/by_date_taken_daily" /> + android:text="@string/by_date_taken_monthly" /> + android:text="@string/by_file_type" /> + android:text="@string/by_extension" /> + android:text="@string/by_folder" /> - + + android:text="@string/ascending" /> + android:text="@string/descending" /> + layout="@layout/divider" /> + android:text="@string/use_for_this_folder" /> + android:textSize="@dimen/smaller_text_size" /> diff --git a/app/src/main/res/layout/dialog_change_view_type.xml b/app/src/main/res/layout/dialog_change_view_type.xml index b6e1f342c..df69116a8 100644 --- a/app/src/main/res/layout/dialog_change_view_type.xml +++ b/app/src/main/res/layout/dialog_change_view_type.xml @@ -1,6 +1,5 @@ - @@ -26,7 +25,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/medium_margin" android:paddingBottom="@dimen/medium_margin" - android:text="@string/grid"/> + android:text="@string/grid" /> + android:text="@string/list" /> + layout="@layout/divider" /> + android:text="@string/group_direct_subfolders" /> + android:text="@string/use_for_this_folder" /> diff --git a/app/src/main/res/layout/dialog_confirm_delete_folder.xml b/app/src/main/res/layout/dialog_confirm_delete_folder.xml index 220c36f09..495254160 100644 --- a/app/src/main/res/layout/dialog_confirm_delete_folder.xml +++ b/app/src/main/res/layout/dialog_confirm_delete_folder.xml @@ -1,6 +1,5 @@ - @@ -12,7 +11,7 @@ android:paddingLeft="@dimen/big_margin" android:paddingTop="@dimen/big_margin" android:paddingRight="@dimen/big_margin" - android:textSize="@dimen/bigger_text_size"/> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> diff --git a/app/src/main/res/layout/dialog_custom_aspect_ratio.xml b/app/src/main/res/layout/dialog_custom_aspect_ratio.xml index 7650ee275..c60a61a17 100644 --- a/app/src/main/res/layout/dialog_custom_aspect_ratio.xml +++ b/app/src/main/res/layout/dialog_custom_aspect_ratio.xml @@ -1,6 +1,5 @@ - + android:text="@string/width" /> + android:textSize="@dimen/normal_text_size" /> + android:textStyle="bold" /> + android:text="@string/height" /> + android:textSize="@dimen/normal_text_size" /> diff --git a/app/src/main/res/layout/dialog_delete_with_remember.xml b/app/src/main/res/layout/dialog_delete_with_remember.xml index 2f9fc47d5..ffb6890a2 100644 --- a/app/src/main/res/layout/dialog_delete_with_remember.xml +++ b/app/src/main/res/layout/dialog_delete_with_remember.xml @@ -1,6 +1,5 @@ - + android:textSize="@dimen/bigger_text_size" /> + android:text="@string/do_not_ask_again" /> diff --git a/app/src/main/res/layout/dialog_exclude_folder.xml b/app/src/main/res/layout/dialog_exclude_folder.xml index 8cc0d5886..bb97e3f49 100644 --- a/app/src/main/res/layout/dialog_exclude_folder.xml +++ b/app/src/main/res/layout/dialog_exclude_folder.xml @@ -1,6 +1,5 @@ - @@ -17,7 +16,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/exclude_folder_description" - android:textSize="@dimen/bigger_text_size"/> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/normal_text_size" /> diff --git a/app/src/main/res/layout/dialog_other_aspect_ratio.xml b/app/src/main/res/layout/dialog_other_aspect_ratio.xml index 661245a51..2a0643443 100644 --- a/app/src/main/res/layout/dialog_other_aspect_ratio.xml +++ b/app/src/main/res/layout/dialog_other_aspect_ratio.xml @@ -1,6 +1,5 @@ - + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> @@ -110,7 +109,7 @@ android:paddingTop="@dimen/normal_margin" android:paddingBottom="@dimen/normal_margin" android:text="1:2" - android:textSize="@dimen/bigger_text_size"/> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> + android:textSize="@dimen/bigger_text_size" /> diff --git a/app/src/main/res/layout/dialog_resize_image.xml b/app/src/main/res/layout/dialog_resize_image.xml index 97283e806..767ad91c9 100644 --- a/app/src/main/res/layout/dialog_resize_image.xml +++ b/app/src/main/res/layout/dialog_resize_image.xml @@ -1,6 +1,5 @@ - + android:paddingStart="@dimen/tiny_margin" + android:text="@string/width" /> + android:textSize="@dimen/normal_text_size" /> + android:paddingStart="@dimen/tiny_margin" + android:text="@string/height" /> + android:textSize="@dimen/normal_text_size" /> + android:text="@string/keep_aspect_ratio" /> diff --git a/app/src/main/res/layout/dialog_resize_image_with_path.xml b/app/src/main/res/layout/dialog_resize_image_with_path.xml index c1defcff2..3a78b2ec3 100644 --- a/app/src/main/res/layout/dialog_resize_image_with_path.xml +++ b/app/src/main/res/layout/dialog_resize_image_with_path.xml @@ -1,5 +1,6 @@ @@ -32,6 +34,7 @@ android:layout_height="wrap_content" android:layout_marginStart="50dp" android:layout_toEndOf="@+id/image_width_label" + android:paddingStart="@dimen/tiny_margin" android:text="@string/height" android:textSize="@dimen/normal_text_size" /> @@ -52,6 +55,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/image_height" + android:layout_marginStart="@dimen/tiny_margin" android:layout_marginTop="@dimen/activity_margin" android:text="@string/path" android:textSize="@dimen/normal_text_size" /> @@ -61,11 +65,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/image_path_label" - android:layout_marginStart="@dimen/activity_margin" + android:layout_marginStart="@dimen/tiny_margin" android:layout_marginBottom="@dimen/activity_margin" android:paddingTop="@dimen/small_margin" android:paddingEnd="@dimen/small_margin" - android:textSize="@dimen/normal_text_size" /> + android:textSize="@dimen/normal_text_size" + tools:text="@string/internal" /> diff --git a/app/src/main/res/layout/dialog_save_as.xml b/app/src/main/res/layout/dialog_save_as.xml index c490a44a1..49cf31e6c 100644 --- a/app/src/main/res/layout/dialog_save_as.xml +++ b/app/src/main/res/layout/dialog_save_as.xml @@ -1,6 +1,6 @@ - + android:textSize="@dimen/smaller_text_size" /> + android:paddingEnd="@dimen/small_margin" + tools:text="@string/internal" /> + android:textSize="@dimen/normal_text_size" /> + android:layout_marginStart="@dimen/tiny_margin" + android:text="@string/extension" /> + android:textSize="@dimen/normal_text_size" /> diff --git a/app/src/main/res/layout/dialog_slideshow.xml b/app/src/main/res/layout/dialog_slideshow.xml index 86120da2c..42505f478 100644 --- a/app/src/main/res/layout/dialog_slideshow.xml +++ b/app/src/main/res/layout/dialog_slideshow.xml @@ -1,6 +1,5 @@ - + android:orientation="vertical"> + android:text="@string/interval" /> + android:textSize="@dimen/normal_text_size" /> + android:text="@string/animation" /> + tools:text="@string/slide" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/include_videos" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/include_gifs" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/random_order" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/move_backwards" /> + android:background="?attr/selectableItemBackground"> - + android:text="@string/loop_slideshow" /> From 1e8c8e6f76b627581c369b8b5386227297a630e2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 30 Nov 2021 12:24:50 +0100 Subject: [PATCH 23/50] replace the switch with a checkbox at the widget config screen too --- .../res/layout/activity_widget_config.xml | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/app/src/main/res/layout/activity_widget_config.xml b/app/src/main/res/layout/activity_widget_config.xml index 2604a6a03..f37abb989 100644 --- a/app/src/main/res/layout/activity_widget_config.xml +++ b/app/src/main/res/layout/activity_widget_config.xml @@ -1,7 +1,5 @@ - + android:background="?attr/selectableItemBackground"> - + android:text="@string/show_folder_name" /> @@ -44,7 +37,7 @@ android:layout_marginTop="@dimen/small_margin" android:layout_marginBottom="@dimen/normal_margin" android:paddingStart="@dimen/activity_margin" - android:text="@string/folder_on_widget"/> + android:text="@string/folder_on_widget" /> + tools:text="@string/internal" /> @@ -71,7 +64,7 @@ android:layout_centerHorizontal="true" android:layout_marginLeft="@dimen/normal_margin" android:layout_marginTop="@dimen/normal_margin" - android:layout_marginRight="@dimen/normal_margin"/> + android:layout_marginRight="@dimen/normal_margin" /> + tools:text="@string/internal" /> @@ -91,7 +84,7 @@ android:id="@+id/config_bg_color" android:layout_width="@dimen/widget_colorpicker_size" android:layout_height="@dimen/widget_colorpicker_size" - android:layout_above="@+id/config_save"/> + android:layout_above="@+id/config_save" /> + android:paddingRight="@dimen/activity_margin" /> + android:layout_alignParentBottom="true" />