Commit Graph

3658 Commits

Author SHA1 Message Date
ganfra e9737dff75 Add roomId to EventEntity as it makes queries a lot faster and fixes performance issues. 2019-01-14 16:46:54 +01:00
ganfra fd06606c45 Room : load room members is totally off the main thread now 2019-01-14 16:46:54 +01:00
ganfra 5a75e3db81 Clean some of the session code API 2019-01-14 16:46:54 +01:00
ganfra aec620fb50 Move some files 2018-12-20 16:27:59 +01:00
ganfra 3713e71c8e Refactor Matrix instance creation (using ContentProvider) + isolate Koin in matrix 2018-12-20 15:44:01 +01:00
ganfra 43dee60b92 Permalink parser should only look for fragment part 2018-12-20 14:13:23 +01:00
ganfra 9b8800ec55 Permalinks : add a parser to get data from permalink (userId, eventId...) 2018-12-19 19:08:30 +01:00
ganfra fdd4642cbb Use addLinks method on message. Next step is to proceed the url to navigate. 2018-12-19 11:50:44 +01:00
ganfra 58f60eaab4 Start importing permalink classes from old SDK/Riot 2018-12-18 18:43:37 +01:00
ganfra 39ad44e9aa Refactor a bit EnrichedEvent and Content. Metadata will only be used for unexpected data. 2018-12-18 14:46:20 +01:00
ganfra de4281c954 Clean some dependencies 2018-12-17 23:03:09 +01:00
ganfra 4656429d83 Introduce a localId for event, to avoid blink effect when sending 2018-12-17 18:25:02 +01:00
ganfra 0f667fe6e8 Introduce ContentMapper, allowing to map a content directly without going through an event entity. 2018-12-17 18:24:01 +01:00
ganfra d9e24558ec Makes task configurable to allow choosing threads 2018-12-17 16:42:22 +01:00
ganfra faa68f4d52 Start testing timeline. Not working at the moment, have to figure it out. 2018-12-14 19:23:49 +01:00
ganfra 5cc128cbf3 Introduce Task interface and TaskExecutor to centralize task processing and easier testing (replace Request naming) 2018-12-14 19:22:39 +01:00
ganfra 168814149b Update some dependencies 2018-12-13 11:00:50 +01:00
ganfra 14d807232f Finally remove legacy package and clean some files. 2018-12-12 21:54:14 +01:00
ganfra c8c31172b3 Try to configure okreplay for testing network + start to rework koin modules 2018-12-12 21:15:01 +01:00
ganfra 1d5587c5ba Clean forgotten code 2018-12-12 11:51:29 +01:00
ganfra 17dcbc1cd6 Remove RequestExecutor as name is confusing at the moment. 2018-12-11 18:13:22 +01:00
ganfra 6ee272c376 Chunk : add some tests on merge 2018-12-11 16:39:44 +01:00
ganfra 0266380485 Start introducing tests 2018-12-11 15:36:09 +01:00
ganfra 683305030a Timeline : check isUnlinked before and after merge 2018-12-11 15:35:46 +01:00
ganfra 0611661c46 WIP: Start to make permalink works 2018-11-29 18:35:24 +01:00
ganfra 9f79a5132d Pagination/Permalink : extract persistence logic in a dedicated class 2018-11-29 12:20:09 +01:00
ganfra c396c2bec7 WIP on chunk merging : required to merge chunks wherever they are (permalink) 2018-11-28 18:28:35 +01:00
ganfra b3ba542e09 Start to add a flag (isUnlinked) to work with permalink. Still in progress (break state index at the moment) 2018-11-27 22:42:46 +01:00
ganfra b6728ce9be Clean some DI code 2018-11-27 12:23:15 +01:00
ganfra 580c898447 Revert "Rework injection of monarchy instances (introduce disk and memory)"
This reverts commit af79e1d0b5.
2018-11-27 12:06:40 +01:00
ganfra af79e1d0b5 Rework injection of monarchy instances (introduce disk and memory) 2018-11-26 17:09:49 +01:00
ganfra 660ba5436b Send messages : add local echo. Maybe add directly to the pagedlist if possible 2018-11-25 16:17:47 +01:00
ganfra e4c23b757e Timeline : try to fix scroll issues... 2018-11-25 16:17:13 +01:00
ganfra 6fc0d884b2 Timeline UI : try to fix scrolling issues (not perfect but better) 2018-11-22 11:57:39 +01:00
ganfra bc1462486d State index : rework the algorithm to manage limited chunks and avoid using wrong state events (Int.Min overriding) 2018-11-22 11:20:50 +01:00
ganfra d250d2bd27 Start introducing a way to open timeline around an event 2018-11-19 15:47:54 +01:00
ganfra 40fa326771 Introduce a displayIndex to keep insertion order when querying... 2018-11-15 19:00:15 +01:00
ganfra bb0a70f3c0 Clean some code about chunk and fix merging chunk 2018-11-15 18:32:39 +01:00
ganfra 40f981e454 State index management should be ok now 2018-11-15 12:37:59 +01:00
ganfra 18af7c83f3 Introduce state index trying to replicate RoomState logic. WIP #2 2018-11-14 19:32:42 +01:00
ganfra 6115b05d97 Introduce state index trying to replicate RoomState logic. WIP 2018-11-13 19:17:59 +01:00
ganfra d46ce8245d Add a param "isLast" in chunk as we want live results in timeline... not sure it's the right way to do it. 2018-11-13 10:50:53 +01:00
ganfra 2c6b155794 Revert "Sending : add a basic local echo (still need to define sending states)"
This reverts commit a4abd20e73.
2018-11-13 10:48:05 +01:00
ganfra a4abd20e73 Sending : add a basic local echo (still need to define sending states) 2018-11-09 18:32:35 +01:00
ganfra c8a987f932 Clean a bit Worker implementations 2018-11-09 14:06:23 +01:00
ganfra 05e9577b7f Update moshi lib 2018-11-09 09:51:43 +01:00
ganfra 0f34daf3b3 Use WorkManager for process we don't want to loose 2018-11-09 09:43:12 +01:00
ganfra f050574728 Start sending message : introduce WorkManager. WIP - have to clean 2018-11-08 19:08:14 +01:00
ganfra b2bb89ac94 Request : add some way to retry + introduce RequestExecutor 2018-11-08 13:56:07 +01:00
ganfra 240b4715fc Add internal keyword where it makes sense 2018-11-08 11:04:40 +01:00
ganfra 7b6092cee1 Fix prevContent for room.member events 2018-11-07 23:11:24 +01:00
ganfra be8b1287c7 Start handling prune events. WIP 2018-11-07 20:48:44 +01:00
ganfra cd25232572 Group/Room list : show filtered room when a group is selected 2018-11-07 12:17:10 +01:00
ganfra 3028710122 Add group users API 2018-11-07 10:39:10 +01:00
ganfra 9cc3dc51cc Use Try instead of Either as it makes more sens + add GroupRooms API 2018-11-06 16:39:29 +01:00
ganfra 56bbcf209f Add forgotten annotation for json 2018-11-05 22:11:30 +01:00
ganfra a3539153ef Quick sync group management (WIP) 2018-11-05 18:33:17 +01:00
ganfra 3199f5dcd6 Sync : handle as a single write transaction 2018-11-05 14:31:45 +01:00
ganfra b3fe742ec4 Allows authentication by email 2018-11-03 11:49:18 +01:00
ganfra 2885b510ab Clean a bit code of timeline + show not handled events message 2018-11-02 17:37:37 +01:00
ganfra 9c48eba26c Better date management 2018-11-02 11:53:31 +01:00
ganfra 455b860f06 Clean files and check if session is open 2018-11-02 10:30:50 +01:00
ganfra 18c6472f32 Fix some stupid issues 2018-11-01 10:09:27 +01:00
ganfra 536d7c33fe Timeline : change page size 2018-10-31 16:23:02 +01:00
ganfra 6f2beef726 Makes the timeline a little more polished 2018-10-31 13:03:36 +01:00
ganfra ecf728aef8 Handle epoxy timeline manually : get off the cache at the moment, will need to be improved 2018-10-31 11:22:42 +01:00
ganfra bc8055c3cd Room list : handle direct rooms 2018-10-30 18:22:29 +01:00
ganfra cc29a387c7 Start introducing theme on app + branch toolbar to drawer, still requires refinements 2018-10-29 14:57:36 +01:00
ganfra e5fc1e3412 Introduce MvRx in the application + start managing UI 2018-10-28 19:18:14 +01:00
ganfra d0a241bd2d Clean a bit code and reorganize files 2018-10-26 15:12:38 +02:00
ganfra e942b54b56 Adding events to chunk is now faster by using query to check contains and no primary key 2018-10-26 12:48:56 +02:00
ganfra 7ba67d6c2b Deport timeline in his own class 2018-10-25 18:15:22 +02:00
ganfra 2faba01662 Room : load all room members on first room opening 2018-10-25 16:56:32 +02:00
ganfra 7ecbe09661 Handle read receipt saving (still need to find a way to improve insertion ) 2018-10-24 18:11:01 +02:00
ganfra efceda1def Remove data handler instance 2018-10-23 18:49:00 +02:00
ganfra 88362edece Fix case where heroes is empty (fallback to display name of loaded members) 2018-10-23 18:31:33 +02:00
ganfra f747d268c9 First attempt to handle room name + make app listen to room summaries instead of rooms 2018-10-23 18:25:28 +02:00
ganfra 279241974a Add a way to enrich event with useful data to be displayed. 2018-10-22 19:36:29 +02:00
ganfra 0f4d15e488 Makes back pagination work. Still need to refine but ok for proto. 2018-10-22 15:24:27 +02:00
ganfra d71ae02162 Still WIP for Paging integration 2018-10-21 20:27:50 +02:00
ganfra 702abccb38 Continue to work on timeline/pagination. WIP 2018-10-19 20:34:54 +02:00
ganfra 6e3992e70e Fix some issues with sync (bad thread, bad use of last() ) 2018-10-19 17:18:24 +02:00
ganfra ecbc64082f Use epoxy to render pagedList : WIP 2018-10-19 15:30:40 +02:00
ganfra e323c858ab Fix compilation issue and rename method 2018-10-19 14:26:13 +02:00
ganfra 0041b6273e Start introducing PagedList management for timeline 2018-10-18 18:38:11 +02:00
ganfra 3f07ed9806 Trying monarchy to manage realm 2018-10-18 11:16:02 +02:00
ganfra 1646687e6d Clean some files 2018-10-17 19:12:39 +02:00
ganfra 00188fde29 Try to have some cleaner hierarchy 2018-10-17 18:21:09 +02:00
ganfra 0f4a62b7bf Remove persistence package for the moment 2018-10-17 15:35:26 +02:00
ganfra e7f9bf86c6 Pause/Resume sync thread when app goes background/foreground 2018-10-17 15:20:26 +02:00
ganfra d9f1d3fc85 Sync : save token 2018-10-17 14:46:36 +02:00
ganfra 44eb838610 Manage sync in an infinite thread 2018-10-17 13:59:21 +02:00
ganfra 4904ac894e Start to insert room summaries and listen for changes 2018-10-16 15:52:30 +02:00
ganfra b79d23ad24 Migrate to realm + better insertion 2018-10-15 19:42:13 +02:00
ganfra 95fd7190e4 Better coroutines management 2018-10-13 11:18:49 +02:00
ganfra 1a967b6326 Sync : start insertion in DB 2018-10-12 19:26:22 +02:00
ganfra 9bef41a13b Start creating database model 2018-10-12 16:50:54 +02:00
ganfra 06456ae3e9 Translate some legacy SDK classes to kotlin 2018-10-11 21:32:23 +02:00
ganfra 11f860533c Start working with RoomState (trying approaches for content parsing) 2018-10-11 20:01:08 +02:00
ganfra c7ce5c61b1 Clean some files 2018-10-11 17:35:15 +02:00
ganfra 5baaecaea4 Add basic session management to avoid login each time 2018-10-11 09:58:28 +02:00
ganfra f9e6f4b533 Integration with old SDK - make it works 2018-10-11 09:05:32 +02:00
ganfra 108fae2f28 WIP integration with old SDK (not working) 2018-10-10 19:46:43 +02:00
ganfra 3215fa47d5 Import old SDK as legacy code to replace smoothly 2018-10-09 12:30:01 +02:00
ganfra 058f1704fa Make sync request works as initial sync 2018-10-08 17:52:45 +02:00
ganfra a7eecdffae Start importing some classes from the developed SDK... + rename packages 2018-10-05 18:14:32 +02:00
ganfra c4316d5055 Make the sdk targeting android to win time 2018-10-04 15:19:03 +02:00
ganfra b406e8301a first commit 2018-10-03 17:58:12 +02:00