Commit Graph

75 Commits

Author SHA1 Message Date
topjohnwu f8395a7dc6 Make sure UI and state is in sync 2022-08-23 05:38:19 -07:00
topjohnwu 515f81944c Move coroutine job into its own class 2022-06-10 04:12:31 -07:00
topjohnwu 46d4708386 Decouple state from BaseViewModel 2022-06-10 02:13:25 -07:00
topjohnwu 5471147422 Remove usage of BindingCollectionAdapter (part 2) 2022-06-02 23:40:10 -07:00
topjohnwu 6305159c5e Remove usage of BindingCollectionAdapter (part 1) 2022-06-02 20:55:19 -07:00
topjohnwu 18acb97dfe Make SYSTEM_UID a special case 2022-05-30 00:49:42 -07:00
topjohnwu 683cfee88b Cleanup and move things around 2022-05-26 22:05:28 -07:00
topjohnwu 3bcaf0ed5b Move more files into core 2022-05-25 05:48:02 -07:00
vvb2060 68db366696 Delete outdated policies 2022-05-10 00:11:17 -07:00
vvb2060 9a11412719 Fix superuser snackbar text 2022-04-02 04:26:21 -07:00
topjohnwu 31f88e0f05 Update UI for sharedUID support 2022-03-25 16:56:21 -07:00
topjohnwu 9f1740cc4f Add preliminary shared UID app support 2022-03-25 13:08:13 -07:00
canyie 24505cd111 Prevent destroyed activities from being reused
The adapter will cache a LayoutInflater which refers the current activity, and the ViewModel object will keep alive until activity finished. After activity recreates (e.g. split-screen), it will use the cached LayoutInflater which refers a destroyed activity and crashes. This also is a memory-leak, according to Google's official document, ViewModel shouldn't refer activity. See https://developer.android.com/topic/libraries/architecture/viewmodel

Fix topjohnwu#5413
2022-03-07 01:54:02 -08:00
LoveSy 1893359142 Fix crash when fragment is detached from activity 2022-01-27 01:54:24 -08:00
topjohnwu 8eac6c0b48 Cleanup arch classes 2022-01-22 14:44:46 -08:00
vvb2060 11600fc116 Use libs instead of copy code 2022-01-18 02:02:41 -08:00
topjohnwu fc6b02f607 Move denylist fragment to its own section 2021-09-12 00:39:24 -07:00
topjohnwu 743c7c9326 App code reorganization 2021-09-01 01:17:27 -07:00
topjohnwu 067248da75 Cleanup RvItems 2021-09-01 01:17:27 -07:00
topjohnwu 038f73a5f7 Remove Koin
Non static DI is bad
2021-04-18 04:46:11 -07:00
topjohnwu 1418bc454d Don't hold resources in ViewModels 2021-04-18 02:12:53 -07:00
topjohnwu 706d53065b Rename TransitiveText 2021-04-09 01:32:37 -07:00
topjohnwu 0f95a7babe Do not hold resources in SuperuserViewModel 2021-04-09 01:00:26 -07:00
topjohnwu bd935b0553 Cleanup fragment navigations 2021-03-16 04:58:02 -07:00
vvb2060 d05408c89f Delete outdated policies when refresh 2021-02-25 20:08:42 -08:00
RikkaW 0df891b336 Handle window insets with a new way
For example, switching pages in home should only have scale and alpha animations, but a "translate y" animation shows. This is because Data Binding is triggered later (like "in the next frame"), causing the animation runs before view attribute changes.

This commit introduces WindowInsetsHelper class and use it to handle all window insets. With the help of LayoutInflaterFactory from the previous commit, we can control insets behavior by adding our attributes to the XML and anything is done by WindowInsetsHelper class.

As changes are highly coupling, this commit also contains new ItemDecoration for lists, replacing the random combination of padding and empty drawable. And "fixEdgeEffect" extension for RecyclerView, making edge effects respect padding.
2020-11-19 23:24:39 -08:00
vvb2060 a6950b8aca Add failed state 2020-09-23 20:57:19 -07:00
topjohnwu 9908dfd79a Hide MagiskHide entry when disabled 2020-09-20 14:30:57 -07:00
topjohnwu 8a338de696 Hide MagiskHide pre Kitkat 2020-09-13 03:55:12 -07:00
topjohnwu 2eb001876a Code cleanup 2020-09-11 03:17:43 -07:00
topjohnwu b510dc51ac Fix su request auto response 2020-09-11 03:09:01 -07:00
topjohnwu 34450cdddd More refactoring
Cleanups, move classes to sane locations, etc.
2020-08-19 02:05:23 -07:00
topjohnwu 846bbb4da1 Reorganize app source code 2020-08-18 06:31:15 -07:00
topjohnwu c7e30ac63e Update superuser list 2020-08-10 02:33:44 -07:00
topjohnwu da2b00de59 Several home screen changes 2020-08-09 02:32:13 -07:00
topjohnwu ec2d7d77eb Reduce usage of ObservableField 2020-07-15 02:52:15 -07:00
topjohnwu b41b2283f4 Rename package 2020-07-11 05:36:31 -07:00
topjohnwu a97d278bcd Remove RxBus 2020-07-09 05:13:24 -07:00
topjohnwu 8647ba4729 Remove more RxJava 2020-07-09 04:49:14 -07:00
topjohnwu f191db2fe0 Allow ViewModel to opt-out RxJava
Transition period
2020-07-08 01:50:28 -07:00
topjohnwu 9371515ecc Disable animations in superuser fragment 2020-03-27 00:53:38 -07:00
Viktor De Pasquale 1b8813228b Updated the app to use navigation components instead of custom solution
Welcome to mid 2018.
2020-03-26 03:42:52 -07:00
Viktor De Pasquale edff094626 Added log as primary fragment 2020-03-26 03:42:52 -07:00
Viktor De Pasquale e9fc40d285 Removed grid scale gestures and reverted back to * simple list as a default
* disgusting (:
2020-02-11 10:42:05 -08:00
topjohnwu d0112f989c Cleanup classes 2020-01-29 01:49:59 +08:00
Viktor De Pasquale 7bf7bfb9c6 Updated Flash / SuRequest activities with app themes
CompatActivity/Fragment logic has been moved to respective BaseUI. Some deprecated and unused styles have been removed in favor or newer themes.
2020-01-29 01:12:21 +08:00
topjohnwu 2291be5d26 Merge string resources 2020-01-23 01:40:36 +08:00
topjohnwu 707d7b3342 Separate core components 2020-01-13 22:01:46 +08:00
topjohnwu 84f1e78660 Consolidate base viewmodel implementation 2020-01-13 03:56:03 +08:00
topjohnwu 3490ba0a56 Redesign is now the new norm 2020-01-13 00:43:09 +08:00