github jordond/connectivity 2.0.0

latest releases: 2.2.1, 2.2.0, 2.1.0...
4 months ago

What's Changed

  • Feature: Add tests for core functionality by @jordond in #95
  • Fix memory leak by cancel job in Coroutine scope by @aptech73 in #104
  • fix(deps): update kotlin to v2.1.20 by @renovate in #116
  • Chore: Remove deprecated Connectivity code by @jordond in #92
  • Tests: Add tests for core functionality by @jordond in #9

BREAKING CHANGES

  • Removed Connectivity.Update class, Connectivity.updates flow and Connectivity.activeUpdates.
    • This class was removed so you need to use Connectivity.status
    • To get the monitoring status use Connectivity.monitoring or Connectivity.isMonitoring.
  • Connectivity.isMonitoring: StateFlow<Boolean> renamed to Connectivity.monitoring
  • Added Connectivity.isMonitoring: Boolean to replace the isMonitoring from Connectivity.Update

Migration

If you were using Connectivity.updates you need to migrate to the following:

// Old
connectivity.updates.collect { update ->
    updateState { state ->
        state.copy(
            monitoring = update.isActive,
            status = update,
        )
    }
}

// New
connectivity.statusUpdates.collect { status ->
    updateState { state ->
        state.copy(status = update, monitoring = connectivity.isMonitoring)
    }
}

If you need to also reactively update the monitoring status as well, you can do the following:

launch {
    connectivity.statusUpdates.collect { status ->
        updateState { state -> state.copy(status = update) }
    }
}

launch {
    connectivity.monitoring.collect { isMonitoring ->
        updateState { state ->  state.copy(monitoring = isMonitoring) }
    }
}

Or you can use Flow.merge:

connectivity.monitoring.combine(connectivity.statusUpdates) { isMonitoring, status ->
    updateState { state ->
        state.copy(status = update, monitoring = isMonitoring)
    }
}.collect()

Dependencies

  • fix(deps): update kotlin to v2.1.20 by @renovate in #116
  • fix(deps): update agp to v8.9.2 by @renovate in #127
  • chore(deps): update dependency dev.drewhamilton.poko to v0.18.6 by @renovate in #126
  • fix(deps): update kotlin coroutines to v1.10.2 by @renovate in #122
  • fix(deps): update ktor monorepo to v3.1.2 by @renovate in #120
  • chore(deps): update dependency gradle to v8.14 by @renovate in #130

New Contributors

Full Changelog: 1.2.0...2.0.0-beta01

Don't miss a new connectivity release

NewReleases is sending notifications on new releases.