Commit graph

1041 commits

Author SHA1 Message Date
Thibault Deckers
9a9805d31c Kotlin migration (WIP) 2020-10-11 20:54:38 +09:00
Thibault Deckers
5c93abd928 Kotlin migration (WIP) 2020-10-11 16:28:50 +09:00
Thibault Deckers
e0c7504c92 protect against ExifInterface init failure on older devices 2020-10-09 15:27:41 +09:00
Thibault Deckers
c5feba5691 fullscreen: show PNG rotated according to Exif 2020-10-09 14:07:14 +09:00
Thibault Deckers
120f9cd4e4 info: improved media descriptions & minor fixes 2020-10-09 13:47:07 +09:00
Thibault Deckers
123a4df495 Kotlin migration (WIP) 2020-10-09 00:06:21 +09:00
Thibault Deckers
ae413dd82c rotate/flip improvements (WIP) 2020-10-08 14:51:43 +09:00
Thibault Deckers
ff58b64773 exif: convert tags from ExifInterface to metadata-extractor 2020-10-07 16:56:43 +09:00
Thibault Deckers
46df3e98de Kotlin migration (WIP) 2020-10-07 16:00:53 +09:00
Thibault Deckers
60d16a3e17 improved metadata initialization from the media store
flipping (WIP)
2020-10-07 13:38:28 +09:00
Thibault Deckers
8fc0a98579 info: show EXIF in PNG/HEIF (WIP) 2020-10-06 19:22:22 +09:00
Thibault Deckers
27880bf7a3 info: show EXIF in PNG/HEIF (WIP) 2020-10-06 18:44:29 +09:00
Thibault Deckers
53a7387db7 improved error logging 2020-10-05 20:57:51 +09:00
Thibault Deckers
5667562694 info: show EXIF in PNG/HEIF (WIP) 2020-10-04 19:38:07 +09:00
Thibault Deckers
465bf9ceb6 rotate PNG/WEBP by EXIF orientation 2020-10-04 14:02:11 +09:00
Thibault Deckers
5c0e9063f4 improved mimetype resolution 2020-10-03 23:45:36 +09:00
Thibault Deckers
8ca648b94a improved support for raw formats 2020-10-03 09:12:06 +09:00
Thibault Deckers
71d7262b74 minor: renaming 2020-10-01 10:06:10 +09:00
Thibault Deckers
bbc9d69ba5 debug: ExifInterface metadata list 2020-10-01 10:01:11 +09:00
Thibault Deckers
b315ebe724 migration to Kotlin (WIP) 2020-09-29 20:00:00 +09:00
Thibault Deckers
690fceb414 removed ios, added kotlin
settings: list/revoke directory access grants
2020-09-29 15:43:01 +09:00
Thibault Deckers
32a7dfcad4 fixed orientation of DNG thumbnails from content resolver 2020-09-28 15:26:12 +09:00
Thibault Deckers
652a5383ea info: show picture embedded in videos 2020-09-28 14:14:27 +09:00
Thibault Deckers
097a051b37 shortcut: icon from entry 2020-09-28 13:43:25 +09:00
Thibault Deckers
44fe56efdb album: rename by moving entries 2020-09-28 11:46:25 +09:00
Thibault Deckers
e137ee6e57 album renaming performance review 2020-09-28 10:12:12 +09:00
Thibault Deckers
ac67f4e080 album renaming performance review (WIP) 2020-09-28 00:05:19 +09:00
Thibault Deckers
3355779f16 album renaming performance review (WIP) 2020-09-27 22:01:38 +09:00
Thibault Deckers
0547c3bbf1 fixed starting new intents when activity already exists 2020-09-23 15:05:54 +09:00
Thibault Deckers
d28ff8ec21 info: show thumbnail embedded in EXIF (in JPEG only) and XMP 2020-09-22 23:30:35 +09:00
Thibault Deckers
e93d46cc8d album: rename 2020-09-21 22:00:32 +09:00
Thibault Deckers
917b14ce6d album: rename (WIP) 2020-09-21 18:44:58 +09:00
Thibault Deckers
2f29a970da improved support for psd and other unrecognized formats 2020-09-21 12:48:53 +09:00
Thibault Deckers
5029b19ebe fixed id & date of moved entries 2020-09-21 12:36:06 +09:00
Thibault Deckers
fe12767b4a changed media retriever failure handling 2020-09-18 15:35:57 +09:00
Thibault Deckers
2fc15a126b use new Crashlytics plugin 2020-09-18 15:35:08 +09:00
Thibault Deckers
89360ffa30 shortcuts: pin to filtered collection 2020-09-09 18:57:48 +09:00
Thibault Deckers
96ee072253 shortcuts: improved icons 2020-09-09 17:16:29 +09:00
Thibault Deckers
9fc6bd79a8 filter serialization 2020-09-09 12:08:25 +09:00
Thibault Deckers
af9edebf86 shortcut to search page 2020-09-07 11:40:00 +09:00
Thibault Deckers
9da57961fc app shortcuts (WIP) 2020-09-06 18:47:24 +09:00
Thibault Deckers
510a7c8f5a get app names in English along current user locale 2020-08-30 15:18:40 +09:00
Thibault Deckers
67a5e19e23 fixed exposure time format 2020-08-29 00:31:58 +09:00
Thibault Deckers
f0818066b5 various null/default fixes 2020-08-28 23:41:50 +09:00
Thibault Deckers
e9e48c37f4 fixed glide bitmap rotation for HEIF / DNG 2020-08-28 23:40:09 +09:00
Thibault Deckers
4fdcae3909 fixed metadata reading across multiple directories of same type (all metadata merge) 2020-08-27 23:43:07 +09:00
Thibault Deckers
c3dc4801f6 fixed metadata reading across multiple directories of same type (continued) 2020-08-27 23:30:55 +09:00
Thibault Deckers
00c65e4838 fixed metadata reading across multiple directories of same type (overlay) 2020-08-27 23:02:08 +09:00
Thibault Deckers
385e863fe4 support: DNG (WIP) 2020-08-27 23:00:52 +09:00
Thibault Deckers
7cea3e0c27 improved entry picking action support 2020-08-25 14:08:47 +09:00
Thibault Deckers
e6dc938be3 tests: added test driver 2020-08-18 21:49:12 +09:00
Thibault Deckers
7b1872fd12 minor changes to match default flutter project files 2020-08-17 18:51:22 +09:00
Thibault Deckers
6a3f250218 android: added profile flavor 2020-08-08 21:58:01 +09:00
Thibault Deckers
d368fbe65c API 30: handle access at directory level, request max but can process with min 2020-07-26 01:12:22 +09:00
Thibault Deckers
51fb36bb70 API 30: prep to request access by directory, not volume 2020-07-19 22:00:59 +09:00
Thibault Deckers
ffc989d9a3 API 30: fixed fetching volume paths on first run 2020-07-19 21:35:36 +09:00
Thibault Deckers
6fb73fbf70 API 30: fixed fetching package names/icons 2020-07-19 19:26:29 +09:00
Thibault Deckers
c86af1945f API 30: improved media store xmp value in fullscreen debug page 2020-07-19 19:04:56 +09:00
Thibault Deckers
80a591ca82 improved file move with scoped storage 2020-07-18 16:20:38 +09:00
Thibault Deckers
7c867f81bb fixed permission check 2020-07-12 21:27:11 +09:00
Thibault Deckers
3b31439c2e CI: release on tag with Github Actions 2020-07-12 14:11:54 +09:00
Thibault Deckers
3bef4d2964 reverted upgrade to gradle 6 / gradle plugin 4 2020-07-07 07:59:49 +09:00
Thibault Deckers
d3a94b0676 pick: fix to allow Google Lens (and others) reading the picked URI 2020-07-05 22:23:42 +09:00
Thibault Deckers
e79ffbdb89 storage access: misc fixes for Android R style storage 2020-07-05 16:18:53 +09:00
Thibault Deckers
4f30f5427e storage access: handle permissions to multiple volumes 2020-07-05 14:58:05 +09:00
Thibault Deckers
efd7759a9e upgraded to gradle 6 / gradle plugin 4 2020-07-03 23:35:38 +09:00
Thibault Deckers
829e97783e bugfix: crash when rotating image on SD card on older devices 2020-06-22 22:41:51 +09:00
Thibault Deckers
e7b48ad136 catalogue mime type, platform: distinguish source entry from dart call entry, move/copy alternate method for older devices 2020-06-21 21:14:15 +09:00
Thibault Deckers
3af37951fc added project setup instructions 2020-06-20 18:37:52 +09:00
Thibault Deckers
073de89362 minor fixes (app bar progress subtitle, welcome terms, new album dialog, catalog/locating priority) 2020-06-20 10:45:18 +09:00
Thibault Deckers
f4d78ad49a removed debug log 2020-06-14 14:48:22 +09:00
Thibault Deckers
1dba550c3e bugfix: catalog metadata fallback for video was skipped 2020-06-14 14:47:39 +09:00
Thibault Deckers
d2c11f2d92 info: always show metadata from MediaMetadataRetriever for videos 2020-06-13 23:49:56 +09:00
Thibault Deckers
1ae633dede handle NoClassDefFoundError: Failed resolution of: Ljava/awt/Point; in metadata-extractor:2.14.0 2020-06-13 23:23:00 +09:00
Thibault Deckers
4db50c6cb1 keep google api key out of git (revoked old key) 2020-06-13 13:17:11 +09:00
Thibault Deckers
6abd3f800a android release signing 2020-06-12 22:58:29 +09:00
Thibault Deckers
ce69587d2c save known entries in sqlite and only fetch from mediastore new/modified entries 2020-06-12 15:10:48 +09:00
Thibault Deckers
9c98920639 debug: improved display for mediastore timestamps 2020-06-12 11:04:15 +09:00
Thibault Deckers
b170ce0492 media store fetch by stream handler, collection source split in mixins 2020-06-11 18:06:30 +09:00
Thibault Deckers
a6c7f48799 fix when reporting error from native platform 2020-06-11 14:59:48 +09:00
Thibault Deckers
a6eeba7744 read files with uri only, and fix to handle unknown MediaMetadataRetriever issues 2020-06-11 14:58:27 +09:00
Thibault Deckers
cbacb923e7 thumbnail/app icon: use display metrics in Android instead of devicePixelRatio in Flutter 2020-06-11 14:28:09 +09:00
Thibault Deckers
b92545f059 various fixes for copy/move/fav 2020-06-10 11:53:33 +09:00
Thibault Deckers
4dd5e9a3b8 added sort/group hint to fetch from media store 2020-06-09 09:38:07 +09:00
Thibault Deckers
3956f6aa0d added Firebase Crashlytics 2020-06-07 16:38:18 +09:00
Thibault Deckers
ef49888a22 restored streaming fullscreen image, with chunk events 2020-06-05 11:42:42 +09:00
Thibault Deckers
cf88c63e99 revert Android Studio gradle plugin 4.0 usage 2020-06-05 11:01:36 +09:00
Thibault Deckers
65fffdd21a use Glide for a lower priority pass of higher quality thumbnails 2020-06-04 12:37:29 +09:00
Thibault Deckers
f7ef4c0d01 restored reading image bytes all at once because of streaming jank 2020-06-03 12:53:42 +09:00
Thibault Deckers
97e3fe62c0 copy/move: album creation 2020-06-01 14:11:24 +09:00
Thibault Deckers
a437c2fe9a move: update source, DB, lenses 2020-05-31 10:38:24 +09:00
Thibault Deckers
0a3b625f44 android: reviewed storage access 2020-05-29 15:42:34 +09:00
Thibault Deckers
3a657c12f0 android: reviewed storage access 2020-05-29 11:39:05 +09:00
Thibault Deckers
5b3eed7449 debug: added android env variables 2020-05-29 11:13:40 +09:00
Thibault Deckers
487ac5c677 copy: fix for non primary volumes, update collection 2020-05-27 14:34:11 +09:00
Thibault Deckers
1cd333d419 debug: content resolver metadata, copy/move WIP 2020-05-27 12:11:01 +09:00
Thibault Deckers
cdf435420f android: desugaring to allow targeting older API 2020-05-25 15:37:44 +09:00
Thibault Deckers
e1b8f66b09 android: removed unused test dependencies 2020-05-25 09:07:54 +09:00
Thibault Deckers
c62c924947 packages upgrade 2020-05-25 07:42:24 +09:00
Thibault Deckers
fb7df6fcf2 handle pick intent 2020-05-18 18:02:46 +09:00
Thibault Deckers
aa84512107 fixed crash on older devices because of missing method 2020-05-14 18:18:15 +09:00
Thibault Deckers
6783a137cc regenerated android/ios files and upgraded to embedding v2 2020-05-14 18:17:46 +09:00
Thibault Deckers
b0a76b9584 different app ID & title in debug mode 2020-05-12 18:18:47 +09:00
Thibault Deckers
e4cc3229c7 minor fixes 2020-04-28 13:38:52 +09:00
Thibault Deckers
c3ff156282 minor fixes 2020-04-28 12:36:26 +09:00
Thibault Deckers
1d6103c0c0 scoped storage: fixed opening files and reading metadata 2020-04-28 11:18:18 +09:00
Thibault Deckers
836e7fe4d0 check storage permission before platform calls 2020-04-27 18:23:50 +09:00
Thibault Deckers
c1d6b95829 fixed android looper to show dialog for SD card permission 2020-04-25 09:36:19 +09:00
Thibault Deckers
1751b7b3d7 prep to delete multiple entries 2020-04-24 10:15:29 +09:00
Thibault Deckers
a69a7ea436 prep to delete multiple entries 2020-04-23 11:44:39 +09:00
Thibault Deckers
2f532176ed selection: share 2020-04-22 13:19:32 +09:00
Thibault Deckers
b228fcf55d fullscreen: stream image in chunks instead of reading and sending all at once 2020-04-21 17:19:52 +09:00
Thibault Deckers
6b299f6c86 minor fixes 2020-04-21 14:11:07 +09:00
Thibault Deckers
cfd5051c69 updated gradle, removed obsolete packages 2020-04-21 14:10:51 +09:00
Thibault Deckers
19976940a0 thumbnail: cancel queued image loading on dispose 2020-04-16 18:35:33 +09:00
Thibault Deckers
23eac7c3c7 get storage volumes 2020-04-13 13:19:37 +09:00
Thibault Deckers
48133d0bb8 cities -> places 2020-04-13 13:17:13 +09:00
Thibault Deckers
fd5bb222d7 filters: replaced GIF mime filter by animated webp or gif 2020-04-13 11:20:37 +09:00
Thibault Deckers
2b2e7e31bd init: progressively add entries with saved dates
fullscreen: debug page
2020-04-08 12:32:18 +09:00
Thibault Deckers
3328916c86 improved video fetch 2020-04-07 22:27:38 +09:00
Thibault Deckers
a2fc8bfd2f various fixes 2020-04-07 17:46:23 +09:00
Thibault Deckers
4ba5353f52 media store: improved size detection for AVI 2020-04-07 16:17:51 +09:00
Thibault Deckers
bc38edfea1 bugfix: viewer failed to open files with null attributes 2020-04-07 11:06:27 +09:00
Thibault Deckers
b0bffa176a rotate thumbnails according to exif on older devices 2020-04-04 19:04:56 +09:00
Thibault Deckers
44b6d30a49 safer xmp parsing 2020-04-03 10:07:56 +09:00
Thibault Deckers
805b0ef51f Catalog metadata: check xmp title/description to set title 2020-04-02 10:09:57 +09:00
Thibault Deckers
2bbe652b06 fixed sharing entry with file:// uri 2020-04-01 16:21:52 +09:00
Thibault Deckers
fe0440f265 added thumbnail image provider, clarified image service, get unreadable video preview by Glide 2020-03-27 16:41:03 +09:00
Thibault Deckers
3baaaa5877 heif/heic support 2020-03-24 09:33:40 +09:00
Thibault Deckers
aee8756c5c async image operations on Android 2020-03-23 16:39:59 +09:00
Thibault Deckers
0c30bfd19e async metadata loading 2020-03-23 16:07:48 +09:00
Thibault Deckers
6c8441642c svg support 2020-03-23 13:00:16 +09:00
Thibault Deckers
a5b47726ed added file image provider 2020-03-18 22:18:33 +09:00
Thibault Deckers
ce878614cf fix missing width/height for jpeg & mp4 2020-03-18 12:35:48 +09:00
Thibault Deckers
b9dd6becaf fixed rotate with incorrect reported mime type 2020-03-18 10:43:46 +09:00
Thibault Deckers
8b8056b179 support for older device/os 2020-03-18 00:08:46 +09:00
Thibault Deckers
9357a49f4a fullscreen: decode image from URI instead of path 2020-03-17 16:54:57 +09:00
Thibault Deckers
1474d4fcb9 minor change in android model 2020-03-17 15:25:55 +09:00
Thibault Deckers
e011efe6a9 viewer: improved fetch for unknown content 2020-03-17 14:24:56 +09:00
Thibault Deckers
8d798c6f08 metadata: use URI when path is unavailable 2020-03-17 12:12:31 +09:00
Thibault Deckers
b0699df136 viewer: minor fixes 2020-03-17 10:44:53 +09:00
Thibault Deckers
ad04967464 viewer: added videos 2020-03-16 16:30:44 +09:00
Thibault Deckers
b2f72d964f viewer: handle media store content uris 2020-03-16 14:40:08 +09:00
Thibault Deckers
382d509a31 rename: fixed broken uri 2020-03-05 16:42:01 +09:00
Thibault Deckers
a51ab4c07a init: avoid intermediate ImageEntry when fetching from MediaStore 2020-02-26 14:29:34 +09:00
Thibault Deckers
e33b365c5d Android Q: use new API to get thumbnail, fixed MediaStore update
fullscreen: evict image cache after rotation
init: directly use event sink instead of stream when getting MediaStore items
2020-02-26 01:49:26 +09:00
Thibault Deckers
b8666b4a33 added android log 2020-02-07 18:59:55 +01:00
Thibault Deckers
0babc906c3 android dependency upgrade 2020-01-21 17:29:21 +09:00
Thibault Deckers
8b31e3ee97 fixed app freeze because of google maps init/refresh 2020-01-20 10:05:43 +09:00
Thibault Deckers
b8dfc6252d minor changes 2020-01-08 09:36:38 +09:00
Thibault Deckers
adda4be428 fixed .m2ts handling 2020-01-02 01:33:05 +09:00
Thibault Deckers
dc14c354a8 get thumbnails from mediastore (faster, lower quality) 2019-12-26 14:34:38 +09:00
Thibault Deckers
e2f9377045 fixed file access for Android 10 2019-12-24 10:42:02 +09:00
Thibault Deckers
f965e329ad fixed search result page 2019-12-23 20:15:38 +09:00
Thibault Deckers
f49b9b2e24 upgraded flutter v1.12.13+hotfix.5 + gradle + packages + gitignore 2019-12-13 00:45:53 +09:00
Thibault Deckers
c633edb9fd minor change 2019-10-21 23:31:05 +09:00
Thibault Deckers
009147a0ff upgraded flutter & packages, fixed skia cache 2019-10-16 00:47:58 +09:00
Thibault Deckers
38b7bcd15f get location from videos 2019-10-05 22:52:00 +09:00
Thibault Deckers
d460f7c8ef album icons: improved app icon fetch, added download icon 2019-09-07 12:49:42 +09:00
Thibault Deckers
d919cd6022 image decoding tasks managed as LIFO 2019-09-04 00:47:19 +09:00
Thibault Deckers
5844d6eb87 android: upgraded gradle, removed permission check 2019-08-26 23:07:41 +09:00
Thibault Deckers
7d2a27f797 fullscreen: added delete action 2019-08-16 16:13:35 +09:00
Thibault Deckers
0c8318444b fullscreen: added rotate action 2019-08-16 01:20:09 +09:00
Thibault Deckers
5571f9f236 fullscreen: added open action 2019-08-15 17:55:25 +09:00
Thibault Deckers
c78241e204 rename 2019-08-15 13:38:56 +09:00
Thibault Deckers
27bf3f4dad fixed parsing & db save on startup 2019-08-11 22:20:26 +09:00
Thibault Deckers
05af913d86 fullscreen: edit / set as / show on map 2019-08-11 14:47:24 +09:00
Thibault Deckers
836730f23c video: get rotation angle and date from metadata 2019-08-11 14:06:50 +09:00
Thibault Deckers
21539b97bb catalog & locate all entries on start 2019-08-11 00:23:08 +09:00
Thibault Deckers
ea765fbdc9 refactored metadata loading & listening 2019-08-10 15:17:47 +09:00
Thibault Deckers
b014041a58 safer metadata retrieval 2019-08-09 22:35:28 +09:00
Thibault Deckers
d831146135 info: google map & xmp tags 2019-08-05 00:17:02 +09:00
Thibault Deckers
67a5bd3f16 video: metadata fallback 2019-08-04 19:15:30 +09:00
Thibault Deckers
09dedaa604 improved fullscreen with notch, top overlay buttons 2019-08-01 23:54:27 +09:00
Thibault Deckers
8c57970947 prevent spam logs from ExifInterface via Glide 2019-07-30 23:54:41 +09:00
Thibault Deckers
8c265b6479 load video embedded thumbnail 2019-07-30 23:26:55 +09:00
Thibault Deckers
9c8df80a48 info: get all metadata 2019-07-28 20:09:10 +09:00
Thibault Deckers
d63e560e7d refactored method/event channels, use ImageEntry instead of Map 2019-07-28 12:45:21 +09:00
Thibault Deckers
ba88896e52 added single share 2019-07-27 19:46:01 +09:00
Thibault Deckers
d8c28509b8 error handling 2019-07-27 10:23:15 +09:00
Thibault Deckers
8de06c0e52 changed icon 2019-07-27 10:22:02 +09:00
Thibault Deckers
5f9843ee1a log changes 2019-07-24 00:20:13 +09:00
Thibault Deckers
3c9813c942 improved FutureBuilder usage 2019-07-23 23:05:43 +09:00
Thibault Deckers
55ad742847 use photo_view for the paging, zoom, pan & metadata-extractor for exif 2019-07-22 00:18:39 +09:00
Thibault Deckers
4ee06358b9 album: improved section headers 2019-07-21 12:58:28 +09:00
Thibault Deckers
10be8b1f2e fullscreen: work with uri/path & flutter image widget 2019-07-21 12:22:01 +09:00
Thibault Deckers
1313d0c845 poc: floating app bar & translucent nav bar 2019-07-20 21:09:56 +09:00
Thibault Deckers
f43e861d05 faster & smoother initial full screen load 2019-07-14 20:42:29 +09:00
Thibault Deckers
c276c8b6b9 poc: hero between thumbnail & full screen 2019-07-14 13:34:44 +09:00
Thibault Deckers
79e306a99c poc: load thumbnails with glide 2019-07-14 11:27:22 +09:00
Thibault Deckers
d9695b0c68 poc: async mediastore thumbnails with fast scroll 2019-07-13 18:12:19 +09:00