PR allows multiple uploads in parallel (2).
For that to happen I had to change the upload flow to be a sequence instead of a state machine. This solves the issue with all the concurrent writting/listening of states that were changing in the drafts persistence.
The observability of the persistence also changed to a behaviour subject since it emits the last emission to new subscribers, which is what we want in this case and not an empty list of drafts.
Notification vibration fix is also in this PR.
START state was renamed to IN_QUEUE to reflect better the draft state.
Some toStrings of important objects were overridden so it is easier to debug logs.
Added needed local variables to the gradle.properties since it was breaking the project.
Where should the reviewer start?
[ ] UploadManager.java
How should this be manually tested?
The entire process of upload needs to be tested. In parallel, only 1, multiple types of uploaded apps (already in aptoide, not in aptoide, md5's of splits not existent, etc.
What does this PR do?
PR allows multiple uploads in parallel (2). For that to happen I had to change the upload flow to be a sequence instead of a state machine. This solves the issue with all the concurrent writting/listening of states that were changing in the drafts persistence. The observability of the persistence also changed to a behaviour subject since it emits the last emission to new subscribers, which is what we want in this case and not an empty list of drafts. Notification vibration fix is also in this PR. START state was renamed to IN_QUEUE to reflect better the draft state. Some toStrings of important objects were overridden so it is easier to debug logs. Added needed local variables to the gradle.properties since it was breaking the project.
Where should the reviewer start?
How should this be manually tested?
The entire process of upload needs to be tested. In parallel, only 1, multiple types of uploaded apps (already in aptoide, not in aptoide, md5's of splits not existent, etc.
What are the relevant tickets?
Tickets related to this pull-request: UP-91
Questions:
Does this add new dependencies which need to be added? (Eg. new keys, etc.)
Code Review Checklist