Commit Graph

44 Commits

Author SHA1 Message Date
dkadrikj 519765b9bd Rename ServerConnectionListener.kt to ApiConnectionListener.kt,
ServerConnectionHandler.kt to ApiConnectionHandler.kt and
ServerConnectionException.kt to ApiConnectionException.kt
2021-11-22 15:01:26 +00:00
dkadrikj b69d40f9fb Update CHANGELOG.md and rename ServerConnectionListener.kt function. 2021-11-22 15:01:26 +00:00
dkadrikj 42b21ec123 renamed guesthole package into server connection 2021-11-22 15:01:26 +00:00
dkadrikj 5857b20674 Fix HV not showing when GH is active.
Address code review comments.
2021-11-22 15:01:26 +00:00
dkadrikj cb493af7a7 Add gues hole support into the network module. 2021-11-22 15:01:26 +00:00
Mateusz Armatys f0bee56b9f Put all API error codes in `ResponseCodes` class 2021-11-22 11:11:12 +01:00
Mateusz Armatys 18c3f298ca Move `ResponseCodes` into network-domain, since the API response codes are exposed in `ProtonData` class, which belongs to network-domain. 2021-11-22 11:11:12 +01:00
Mateusz Armatys 976b765024 Update default network timeout to 30 seconds 2021-11-22 11:11:12 +01:00
Jorge Martín 102f40d3d6 Add Atlas Proxy for testing, ExtraHeaderProvider to add arbitrary headers to all requests 2021-10-06 09:31:42 +02:00
Jorge Martín 043f33c9d2 Add CacheOverride Tag for clients 2021-10-04 09:24:34 +00:00
Tomasz Giszczak 9b00781603 Add default cause value to ApiResult.Error and default potentialBlock value to ApiResult.Error.Connection to facilitate unit testing. 2021-08-19 09:15:15 +00:00
Neil Marietta a122d9e893 Added optional OkHttp Cache.
Removed isConnectedToNetwork check before trying a call.
2021-08-19 09:15:15 +00:00
Neil Marietta 4abe5d8f75 Fixed Network error retryable conditions. 2021-08-18 14:20:41 +02:00
Neil Marietta a5bcf95dae Network: Added TooManyRequest error handling per Session. 2021-08-13 15:19:12 +02:00
Neil Marietta 4784644591 Added ServerTimeListener/ServerTimeInterceptor, updating PGPCrypto time. 2021-06-21 14:11:04 +02:00
Neil Marietta e1c07f1741 Added Force Update error 5005 (API too old). 2021-06-10 11:13:24 +02:00
Neil Marietta 1b7e6eb9e9 Fixed ClientId initialisation issue.
Added ClientIdProvider (rely on ProtonCookieStore).
2021-06-03 17:18:11 +02:00
Neil Marietta 646183da63 Refactored HumanVerification.
Never delete HumanVerification tokens except on Invalid Verification Code (error 12087).

HumanVerification Network Handlers:
- HumanVerificationNeededHandler: call onHumanVerificationNeeded on error 9001 (last of error handler list).
- HumanVerificationInvalidHandler: call onHumanVerificationInvalid (which delete token) on error 12087.
2021-06-03 17:18:11 +02:00
Mateusz Markowicz a0fa1fdb6f Emit current state with NetworkManager.observe() flow 2021-05-31 12:39:06 +02:00
dkadrikj 98ca99f9a6 Various improvements for Signup and Presentation.
Various improvements for User, Human Verification and Presentation modules.
Various improvements for User, Human Verification and Presentation modules.
Remove PayloadRequest.kt.
Update tests suite.
Remove not used files NewUser.kt and NewExternalEmailUser.kt
Take out create address from UserManager.kt
User emailSplit extension instead.
Introduce CreateUserType.kt
Move HumanVerificationResult handler into the ViewModel.
Fix wait to DB write HV ViewModel.
Improve SetupPrimaryKeys.kt.
Fix HV tests.
2021-05-12 21:07:28 +02:00
dkadrikj d41e19e28c Change network module to support refactored Human Verification module. 2021-05-12 17:57:14 +00:00
Neil Marietta 4ac8144f08 Added Refresh Session Scopes. 2021-04-07 11:35:06 +02:00
Neil Marietta 305c3a67f2 Fixed Human Verification race condition. 2021-03-25 16:06:55 +01:00
Neil Marietta 09c4afe41f Fixed Network refresh token race condition. 2021-03-25 16:05:59 +01:00
Neil Marietta dbfa709923 Added ApiResult Extensions. 2021-03-22 18:17:02 +01:00
Neil Marietta 44d678acbb Moved Crypto/Key/User/Address classes from Auth to new modules. 2021-02-11 10:34:22 +01:00
Neil Marietta 92d945806a Integrated User/Address/Key into AccountManager DB. 2021-02-09 12:06:42 +01:00
dkadrikj 5391cb0bf6 Remove completed from Human Ver DAO, not used functions.
Smaller clean up and fixes.
2021-01-04 11:34:48 +01:00
dkadrikj 5ea689020b Human verification improvements. 2020-12-30 15:24:19 +01:00
dkadrikj bca06c13a5 Add API error message to the force update interface. 2020-11-24 12:18:39 +00:00
Neil Marietta bf33818a5a Integrated AccountManager with modules. 2020-11-02 10:38:21 +01:00
Neil Marietta ad84a03a7e Added AccountManager Implementation. 2020-11-02 10:33:09 +01:00
Neil Marietta 53f8b0107f Integrated SessionListener/SessionProvider/SessionId into network modules.
Added ApiProvider (create ApiManager instance given a sessionId).
Adapted HumanVerification modules to use ApiProvider.
2020-10-20 11:22:27 +02:00
Neil Marietta 066894eb98 Added Account Manager needed domains interfaces.
Added Account/Session and AccountState/SessionState.
Added AccountWorkflowHandler (handle workflow success/failure).
Added AccountRepository (minimal functions set for persistence).
Updated Network domain (Session/SessionListener/SessionProvider).
2020-10-12 14:37:42 +02:00
Mateusz Markowicz 99339a1306 network: Introduce cooldown period for token refresh 2020-08-24 16:22:42 +00:00
Mateusz Markowicz 49bbb73bb7 network: Save refresh and access tokens together 2020-08-24 16:22:42 +00:00
dkadrikj 3a52601942 Human verification support in the network module
Includes also changes needed in the Human Verification module
2020-08-04 15:18:43 +02:00
Mateusz Markowicz 067cd068cf Improve debug error messages with ApiResult.Error.Http 2020-07-23 17:26:27 +02:00
Mateusz Markowicz a7cb8cae2e Don't attempt to refresh accessToken without refreshToken
CP-409
2020-07-23 16:29:37 +02:00
Mateusz Markowicz ce61c97a70 Logging improvements of API errors 2020-07-15 12:55:08 +02:00
Mateusz Markowicz b0b16eef9a Log and include original exception in ApiResult.Error 2020-07-07 17:26:34 +02:00
Mateusz Markowicz ca85c626fb Introducing API block avoidance based on DoH 2020-07-03 11:24:18 +00:00
Mateusz Markowicz d14e896863 Refactor handling of proton error data in json response
- use deserializer from kotlin-utils
- merge Proton and Http ApiResult errors
2020-07-02 14:09:36 +00:00
Algirdas Pundzius 265a5a0205 Initial commit
Co-authored-by: Davide Giuseppe Farella <4face91@protonmail.com>
Co-authored-by: Dino Kadrikj <kadrikj@protonmail.ch>
Co-authored-by: Mateusz Markowicz <poniekad@protonmail.com>
2020-07-01 13:58:49 +03:00