Commit Graph

629 Commits

Author SHA1 Message Date
Benoit Marty 10520fb1bd Upgrade string from Riot 2019-04-02 11:57:12 +02:00
ganfra 04b4f32e16 Sync : add log and continue when read_receipts fail 2019-04-01 17:39:27 +02:00
ganfra d110dac0a6 Merge feature/replace_paged_list into develop 2019-04-01 17:33:53 +02:00
ganfra be6a4efacb Timeline : make tests compile and pass 2019-04-01 15:18:52 +02:00
ganfra 94db36d6c4 Fix room summary not being updated when room members are loaded 2019-03-29 11:15:27 +01:00
Benoit Marty 317503aa2b userAgent, userId and deviceId in rageshake 2019-03-28 17:49:13 +01:00
ganfra a6366e47fe Timeline : change some database details to make it faster 2019-03-28 12:00:45 +01:00
ganfra 4154df7c21 Timeline : stabilize the pagedList replacement. Seems ok for phase0 2019-03-27 19:57:36 +01:00
Benoit Marty 79e273b1ca Add Doc 2019-03-27 18:03:36 +01:00
ganfra ad243ae41f Clean code and update dependencies 2019-03-20 18:24:17 +01:00
ganfra 2898eae566 Timeline : reactivate loaders and get off the main thread 2019-03-20 16:24:50 +01:00
Benoit Marty cbd62b9e93 Rename Realm DB file 2019-03-20 14:36:47 +01:00
Benoit Marty a4ef259bd2 Add FIXME 2019-03-19 18:17:40 +01:00
Benoit Marty 40d4e3fe83 Log http requests, for easy debugging 2019-03-19 12:55:14 +01:00
Benoit Marty f4170f55b7 Configure user agent 2019-03-19 12:29:45 +01:00
Benoit Marty b8cceaa17a Upgrade gradle wrapper to 5.2.1, and pass first sonar analysis 2019-03-18 18:16:59 +01:00
Benoit Marty e938866081 Fix issue in Strings 2019-03-18 16:42:19 +01:00
Benoit Marty 02c7deb783 Import strings from Riot and create a script to do so 2019-03-18 16:06:06 +01:00
ganfra c12bc5e02d Timeline rework : first version working for backward navigation (need more testing) 2019-03-15 19:27:56 +01:00
Benoit Marty 0db1d98f41 Fix compilation issue 2019-03-15 19:18:43 +01:00
ganfra 820709d433 Timeline rework : initial commit - to amend. 2019-03-13 22:30:05 +01:00
Benoit Marty d5838262ea Fix i18n issue 2019-03-13 18:36:57 +01:00
ganfra 2c0bc93f5a Home: getting Room interface slow (blocking Main Thread). Maybe we should get this async. 2019-02-27 17:41:06 +01:00
ganfra 41b06bca60 User : rework UserEntityUpdater (and make others RealmLiveEntityObserver process on MonarchyThread instead of Main) 2019-02-26 19:32:01 +01:00
ganfra f59977f884 Room state: fix sync state events duplicates with timeline 2019-02-26 14:50:53 +01:00
ganfra 40f1fcab18 User : start handling users. Need to fine a good strategy to process room member events. 2019-02-25 21:55:33 +01:00
ganfra 6c7bc2b40c Timeline: get better perf 2019-02-25 18:10:37 +01:00
ganfra ca890e1ef4 Room tag: let the tag order be anything to avoid breaking at the moment. 2019-02-20 18:09:07 +01:00
ganfra 28c837a47f Timeline: handle call events 2019-02-20 15:47:20 +01:00
ganfra 42cf45c8f3 Timeline: handle room history visibility 2019-02-20 12:06:33 +01:00
ganfra 9477316b61 Sync : add timber log on sync failure 2019-02-19 19:37:16 +01:00
ganfra b5f40f9732 Add stetho in debug to allow some inspection 2019-02-19 17:40:38 +01:00
ganfra a12a9da627 Update Realm 2019-02-18 17:42:03 +01:00
ganfra c42294a21e Handle room v3 event id format 2019-02-18 17:41:35 +01:00
ganfra 03437885ef Read receipts : fix issues with receipts not being sent 2019-02-18 17:41:21 +01:00
ganfra 30bfada5d2 Merge branch 'feature/room_list' into develop 2019-01-31 12:15:43 +01:00
ganfra 6c653287e1 Read receipts : fix read receipt being sent for dummyEvent + scroll appearing index 2019-01-31 11:45:11 +01:00
ganfra 6113bba703 Timeline : send read-receipt when scrolling. Still need to handle read marker. 2019-01-30 18:39:54 +01:00
ganfra 0e491af8ab Room list : adjust some params 2019-01-29 18:31:11 +01:00
ganfra 6df8809ee0 Room list : add quick ordering 2019-01-29 16:02:42 +01:00
ganfra d3d536f4f0 Room : add RoomTag to handle favourites, low priority and system alerts in room list. 2019-01-29 14:16:22 +01:00
ganfra 0f66fa0895 Room : refactoring how a room is created 2019-01-28 18:42:29 +01:00
ganfra b2e2c14e69 Room : start to handle read markers. Only used when you open the room at the moment. 2019-01-28 17:56:23 +01:00
ganfra ad2abd5cdd Fix messages content info can be null 2019-01-25 18:40:02 +01:00
ganfra 9a42c121e4 Room list : show unread badge with room name. Still need to mark a room as read to update marker. 2019-01-25 18:04:08 +01:00
ganfra c33e96b82c Add comments in API packages 2019-01-25 15:44:41 +01:00
ganfra 9dccad11fe Update copyright and add to last merged commits 2019-01-25 14:04:59 +01:00
ganfra 4c7a6dfe33 Merge branch 'feature/timeline_media' into develop 2019-01-25 12:36:01 +01:00
ganfra 946ae32cd8 Let the app be compatible with android 16 2019-01-24 16:30:05 +01:00
ganfra 7c4ac7b53a Media : start to refact renderer to be more generic 2019-01-23 20:29:47 +01:00
ganfra f9ca8f35bc Fix MessageFileContent crash (no filename) 2019-01-23 16:25:51 +01:00
ganfra cc4c1cf308 Content : make content url resolution aware of homeserver url 2019-01-23 16:25:24 +01:00
ganfra 1d400180bc Timeline : start to handle media images/gif. Still a lot to do, but it's a first step. 2019-01-22 18:43:15 +01:00
ganfra 32b29c47e7 Hot fix : makes room topic optional as it may be null. 2019-01-21 18:31:19 +01:00
ganfra dbb812ad84 Message type : add data classes for all the types 2019-01-21 18:16:15 +01:00
ganfra 57db4086cb Start adding javadoc on public api of the SDK and move some files. 2019-01-18 16:26:17 +01:00
ganfra 9914939045 Add copyright to source code 2019-01-18 11:12:08 +01:00
ganfra 4a6b28aca1 Merge branch 'feature/timeline_events' into develop 2019-01-17 15:33:13 +01:00
ganfra c20cbf7110 Androidx : set paging to 2.0.0 as it seems better at the moment 2019-01-17 15:04:57 +01:00
ganfra ac2d20ad3f Migration androidx : first commit where it compiles. Updates some libs and android studio version in the same time. 2019-01-16 19:25:43 +01:00
ganfra 06dd3760c5 Timeline : start handling some state events display 2019-01-15 15:47:03 +01:00
ganfra b2cdeb87f4 Fix some timeline issues and rename EnrichedEvent to TimelineEvent as it's only used in this context. 2019-01-14 16:46:54 +01:00
ganfra 34e08705dd Timeline : still trying to adjust PagedList options 2019-01-14 16:46:54 +01:00
ganfra d7de986365 Timeline : try using initialLoadKey to open PagedList around an event. Still need to scroll to the item. 2019-01-14 16:46:54 +01:00
ganfra 922609cb57 Timeline : try to get a better PagedList/Epoxy integration. Still need to be refined. 2019-01-14 16:46:54 +01:00
ganfra de90cbe73e Timeline : fix merging issues 2019-01-14 16:46:54 +01:00
ganfra 1269715b5c Timeline : introduce timeline data class to allow listening for isLoadingForward and isLoadingBackward 2019-01-14 16:46:54 +01:00
ganfra f5d64a5707 RoomSummary : clean some old code 2019-01-14 16:46:54 +01:00
ganfra 7669a94a64 Introduce retry on task executor and use it for pagination 2019-01-14 16:46:54 +01:00
ganfra d288fb7c9c Timeline : improve scrolling performances 2019-01-14 16:46:54 +01:00
ganfra 84645c17c8 Makes tests compile 2019-01-14 16:46:54 +01:00
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