New
0.3.3
New Features
- don't display fraction digits on formatted kB (4dee2c9adbae52a94ef0cdadb24353cc24e5d0c5)
- make file navigator is running notification silent (a75722445144703bbac1a92afaf8e503b7ae590e) #75
- make batch move notification appear at the head of its group (f569498eb1b99108444b6dc806b7c368344c1733)
- use 2 maximumFractionDigits when formatting file sizes (3aca5622f6f2fbdc6b390b904df8f585f6e05351)
- clean up 'navigate file' wording (0191d0d5beae8372b71dee774cb3edd18fb01054)
- add 'Add quick settings tile' button to 'More' navigator settings section on Sdk >= 33 (d3474b5c17c0d1fe7f8d5fb69a3dcf1d4496f8df)
- add AutoMoved label to move history entries & adjust HistoryCard height in portrait mode (3c7789d20f24d766778fa2abab1d1966b69ef896)
- composify QuickMoveDestinationAccessPermissionActivity dialog, clean up control flow, make use of activity coroutine scope (70820473a2fc98830c168c6571f13c2e0df4e8b8)
- use fully transparent theme for global dialog activities (fc2c374018091ae949aac865f60723ec46c8d301)
- composify navigator overlay dialogs (fc9519447a71242edfa166cf192c17ae067aee37)
- enable opening the privacy policy from the manage all files permission card (3fcbb30de3c422592a9e53699c7aceb151391a8d)
- FileNavigatorTileService:
- remove launch dialog again, as for some reason it does not seem to be necessary for launching the foreground service anymore (95ba45892f90a3b46124cce08866ca0c9c920156)
- color launch dialog according to MaterialYou and set device theme (08d0a5e295b29e2ee992f6248fa32d541fbbf2a1)
Bug Fixes
- FileNavigatorTileService (45288e6d5f80e5c090786a92e97b0c71aed9d1cc)
- batch quick move (86c1b2dc08e5789e29ce4a31711b56b448cc1e7f)
- batch move notification updating (6131ecfd470396d613991eaa8f39fdccd2ce62e1)
- batch move notification channel (3d13ac7d918378f1b243a39f0105213daae0f2b8)
- navigator crashing on files of source type camera (a95810906d7ac7b3e6bf423f1387bb719c133573)
- navigation drawer action end padding (049d900366d1a194d3149ab373b137a229f33067)
- AppSettingsScreen bottom padding in landscape mode (723fde2ed020f492a80a35f385da0629fba51773)
- PermissionsScreen landscape mode layout (14e2301297a3087843aff2ae2fa2cf0617e35685)
- exclude database from backup & d2d transfer (10bdbcc6cab5a9c7272f692e80d92e4b69410a74)
- FileNavigatorTileService:
- prompt unlocking if user attempts to start the navigator while device is locked (ee6c33c47f1486c5811b76f8951b90b7be33ffb7)
- coroutines (c8ba89c68abc2ae1d02fb6276a94b6faf3ebe17e)
- navigator:
- several move operation feedbacks being given for batch move operations (2d02d8f8899798e16f70d8a2f38ab0c293fd1609)
- QuickMoveDestinationAccessPermissionActivity dialog theme (89457e6417160902fdf7dac6ec09d2abcbccf09b)
Build System & Dependencies
- prepare 0.3.3 (109f2929120de9aa87926f5e304932b4e5ac1c7c)
- fix warnings (a8c9aad2e16e93a4f70dc112968405a245d0b889)
- enable test parallelization (c86d212852c6f2ac22949c75afe11449bd2e94fd)
- generate robolectric.properties file in a module's build/generated/testResources (e724bc651b9a7b5e5433801b8e4d184682678b1d)
- update dependencies & migrate to agp 9 (530b070021c1859a2236d58ce2ab61b291a13117)
- update gradle (a7041caf801e577ee68280e65b08bd7cad1cb44f)
- add module graph plugin and create module-graph.svg (78c21cc66d320e99400e4b05860bef4862551957)
- remove versions plugin (23f535de9f0bb7c6791794cbf5162d6b6162e5d6)
- use intent DevActions for launching dev actions instead of BuildConfig fields; add dev action for starting the navigator on app launch (29d792002591f42e335d01244c03921bd68757b7)
- mute or fix lint warnings and errors (8027a67bae93009e316772308b72d090b39f88a4)
- remove deprecated publish routines (3ec1023ae7ff1cb2ae48619c8beaaeb6842daf6c)
Performance Improvements
- abolish inperformant usage of context.isServiceRunning for initialization of FileNavigator.IsRunning (a774192db60b441ced8225f16aae532457bcde9f)
Tests
- fix unit tests (8100e0a15b87b07e3a4b3c29264b266893aa5df2 & b468702c950b0747df99ee8318bd2cbcb412a21a)
- add tailored ScreenPreviews annotation (d3fbf21e5f8f7f96757e0d1951089b29428d78ce)
Refactors
- rename core to modules (2e7f3e50c64327c5d95d3c3aa249c5fd008ffe94)
- BaseConfig.kt (c0f333085edf2f553145ad9c5c5b3f25dc70c227)
- BatchMoveNotificationController & add test (0564cb7c152c3da58d77d9f801d77ecfad2679ca)
- polish notifications.api (dabdf8a47fc66e84becae4fd23ccd74e403e37e9)
- make MainActivity a LoggingComponentActivity (0b39d65d0c9565d99791ce2f34c3439591c35c0c)
- remove FileObserver onChange logging overload (28d4984effaed14551af7dec4d584654fba74489)
- introduce navigator-quicktile module (0cf351b6069cd2b96379bed29c7bca30d0223c61)
- FileObserver (b02ca68945cea2bc4a699cd193890fb8682ebe32)
- polish, move MediaIdWithMediaType to navigator module (ed24749fcf4fd8dd2bf0ff38bc3d103b85ca1243)
- replace EvictingQueue with custom RecentSet implementation and remove google guava dependency (3a9217431789b6503e0ee0828ff26d4bd0b3fc61)
- clean up MoveHistory composables, make FileMoveSummary previewable, use map instead of nullable string list for dates (762c1521023b8ebc81d6f71a053db873e2b0253a)
- migrate to AndroidUtils core 0.4.10 (c65974a24041626ddf9cb2c7854438046e3d1744)
- add compose convention plugin and compose designsystem module (b5a60b7928c86bc20e6bf8068def56243cba2143)
- AppPermissionsState (65a06cf38eede5255aa8e3b6dd3b9841d89f3165)
- localize navigation away from permissions screen (0e1e749b6cb7d7b3ae394235e30535d207b4abcb)
- simplify permissions screen and module naming (5559b02258f51e5d6b186acb37d2d863cfe5f6d7)
- separate screen wrapper composables responsible for side effects and data initialization from screen composables purely responsible for layouting (b78037460fc41112ce0576608debb0120e37db2a)
- AppPermissionsState & RequiredPermissionsScreen for better structure, previewability, readability (3454d82b8ebd178e1972726081d27a5cfb3081b4)
- implement ItemRow via ConstraintLayout, enabling vertical centering of the top row elements (8ad4d28efbfccfa4d37c779524d9ceca5bfaeff8)
- implement NavigationDrawerItem Action via ConstraintLayout (386f2d7a7aab1b3fb8f1aade2f41cd1c076881af)
- NavigationDrawerElements.kt for cleaner, more compose idiomatic API (323c9a602aa509718a51f5c1e6509430e7d657dc)
- navigator:
- log when sending on the MoveSummaryChannel (e1665af9eb317cb86f02396c3348cba92b5d9642)
- simplify MoveOperationSummary (e2431bc4deeb80ae7f68fc83e9e34d1ec966912d)
- naming (d83b6da79787073283868d457f1372c9eccf3f45)
- add /postmove package (1852838d7d8855774af4c99cb0b6132006482138)
- fix scope owning, polish, simplify FileObservers, remove thread blocking (809802d90bde62f603b580177dc8725314d2d932)
- split navigator into modules navigator-notifications, navigator-domain, and navigator (fcfff4e34cfea0398c670599049177eb6c7efa0d)
Chores
- update gradle & dependencies (e8fc8da91a76db197fa9bc8dda2ba1f3055ef466)
- bump protobuf to 4.33.3 (d8bbe0500380dfca001a2001da77437eee9a0b06)
CI
- fix changelog creation (95447e96cdb2fa36688cf8e6a4edddd09faf8c81)
Code Style
- format (d2552fb948e7a9aac77ebfa3d77c9948b7d37e9e & a26a934fd79a29296d444eeb571bcfcd3baee5cb)
- make use of explicit backing fields in AppPermissions.kt (eb77937007567ff4f0381e57c3ff11ca94ea4971)
Full Changelog: https://github.com/w2sv/FileNavigator/compare/0.3.2...0.3.3