Add network constraints for fetching notifications with WorkManager (#6305)
* Add `isNetworkBlocked` and `isInAirGappedEnvironment` to `NetworkMonitor`. * Improve the DI of `SyncPendingNotificationsRequestBuilder` to simplify its usage. * Only update `isInAirGappedEnvironment` in `DefaultNetworkManager` if the current build is an enterprise one. * Add network constraints to `DefaultSyncPendingNotificationsRequestBuilder` based on the air-gapped status. * Add a feature flag to disable the new check, in case it doesn't work as expected.
This commit is contained in:
parent
de7f2990ae
commit
f77098ed47
15 changed files with 298 additions and 100 deletions
|
|
@ -24,5 +24,11 @@ interface NetworkMonitor {
|
|||
/**
|
||||
* Checks if the active network is being blocked by Doze, even if it's available.
|
||||
*/
|
||||
fun isNetworkBlocked(): Boolean
|
||||
val isNetworkBlocked: StateFlow<Boolean>
|
||||
|
||||
/**
|
||||
* A flow indicating whether the app is running in an air-gapped environment.
|
||||
* An air-gapped environment is an environment that is not connected to the internet, and where the app can only communicate with a limited set of servers.
|
||||
*/
|
||||
val isInAirGappedEnvironment: StateFlow<Boolean>
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue