Skip to content
Snippets Groups Projects

Better offline support

All threads resolved!

The simple part of this is to add a "No Internet" banner to the top of the "Latest", "Categories", and "Updates" screens. The more complex part is that when viewing an apps details while offline, it will present the user with the option to "Download later". This stores a flag against the app in the database, so that whenever they visit the Updates tab, it will show a list of apps that have been marked for subsequent download. These will then automatically download next time F-Droid receives a network connection.

There are likely a handful of edge cases when this will need to be ironed out, but for the most part, it is a fully working feature.

Fixes #94, #884, #885.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 53 commits

    • 87e898a9...89e103fc - 42 commits from branch fdroid:master
    • fdcf8ea3 - Move network state query into utils.
    • 9459e73b - Added "No internet" banner to main screen.
    • cff08862 - Respond to wifi being enabled by hiding 'no internet' banner
    • 5e7f53b5 - Add 'no internet' banner to categories
    • b2eef190 - Initial requirements for offline "queue for download" functionality.
    • 9298639e - When reconnecting, request all pending apps to be downloaded.
    • 8f31e866 - Show apps which are queued to download in "Updates" tab.
    • feede044 - Add no-internet banner to updates screen
    • 2cdad327 - Only allow "Download later" functionality for apps which are not installed yet.
    • 89ad5df4 - Don't bind the view twice
    • 65524b3b - Increase logging verbosity in UpdatesAdapter.

    Compare with previous version

  • username-removed-25042 unmarked as a Work In Progress

    unmarked as a Work In Progress

  • added 7 commits

    • a51c3424 - Initial requirements for offline "queue for download" functionality.
    • e2d59207 - When reconnecting, request all pending apps to be downloaded.
    • 537df0a1 - Show apps which are queued to download in "Updates" tab.
    • e9f88efe - Add no-internet banner to updates screen
    • 87f6a9d3 - Only allow "Download later" functionality for apps which are not installed yet.
    • c1d29fd9 - Don't bind the view twice
    • 9cfcab53 - Increase logging verbosity in UpdatesAdapter.

    Compare with previous version

  • added 7 commits

    • 44e19046 - Initial requirements for offline "queue for download" functionality.
    • 564ab3fc - When reconnecting, request all pending apps to be downloaded.
    • 747f63f2 - Show apps which are queued to download in "Updates" tab.
    • 1b4ce7a0 - Add no-internet banner to updates screen
    • f14c8795 - Only allow "Download later" functionality for apps which are not installed yet.
    • de791304 - Don't bind the view twice
    • d1434e44 - Increase logging verbosity in UpdatesAdapter.

    Compare with previous version

  • mentioned in merge request !463 (merged)

  • changed milestone to %1.0

  • While I think this feature is great, and it looks quite close to being complete, I think we should delay it for the next release. Let's nail down 0.103 and make a useful release of it. Then we can revert to a faster release cycle. %0.103 - UX Overhaul has been open a really long time.

  • added 25 commits

    • d1434e44...e28e2945 - 14 commits from branch fdroid:master
    • 04a1c286 - Move network state query into utils.
    • c8a153bf - Added "No internet" banner to main screen.
    • c876eb21 - Respond to wifi being enabled by hiding 'no internet' banner
    • edd9c75c - Add 'no internet' banner to categories
    • 4f3161a3 - Initial requirements for offline "queue for download" functionality.
    • 62eac079 - When reconnecting, request all pending apps to be downloaded.
    • cc6d9008 - Show apps which are queued to download in "Updates" tab.
    • 110622da - Add no-internet banner to updates screen
    • 661f801f - Only allow "Download later" functionality for apps which are not installed yet.
    • f9111a5c - Don't bind the view twice
    • 28564075 - Increase logging verbosity in UpdatesAdapter.

    Compare with previous version

  • added 64 commits

    • 28564075...16880c63 - 53 commits from branch fdroid:master
    • f7387e25 - Move network state query into utils.
    • a29b0060 - Added "No internet" banner to main screen.
    • a5005e07 - Respond to wifi being enabled by hiding 'no internet' banner
    • 8d9c9a1f - Add 'no internet' banner to categories
    • 4029dbbd - Initial requirements for offline "queue for download" functionality.
    • 7594f5f8 - When reconnecting, request all pending apps to be downloaded.
    • 94039fb3 - Show apps which are queued to download in "Updates" tab.
    • 2026b0f8 - Add no-internet banner to updates screen
    • c90ff64f - Only allow "Download later" functionality for apps which are not installed yet.
    • 3b943e56 - Don't bind the view twice
    • 27c80640 - Increase logging verbosity in UpdatesAdapter.

    Compare with previous version

  • added 20 commits

    • 27c80640...46adf47f - 9 commits from branch fdroid:master
    • df63ed9c - Move network state query into utils.
    • 743a4658 - Added "No internet" banner to main screen.
    • 2fcfe9b2 - Respond to wifi being enabled by hiding 'no internet' banner
    • b7ac3653 - Add 'no internet' banner to categories
    • f5e0e249 - Initial requirements for offline "queue for download" functionality.
    • 25a6392b - When reconnecting, request all pending apps to be downloaded.
    • 8d2e09d2 - Show apps which are queued to download in "Updates" tab.
    • 722983d7 - Add no-internet banner to updates screen
    • f67f0361 - Only allow "Download later" functionality for apps which are not installed yet.
    • f1ff56ac - Don't bind the view twice
    • 7389ba5a - Increase logging verbosity in UpdatesAdapter.

    Compare with previous version

  • changed milestone to %1.0-alpha0

  • This seems pretty close to mergeable, @pserwylo wanna get it ready?

  • Sure. I'll go address your feedback from way back, then make sure it still works. I'd suggest holding off from 0.104.1 though. We're getting a little bit lost in terms of version numbers lately:

    • Didn't have any -alpha releases for 0.104.
    • This is a somewhat-major new feature which is targeting the hotfix release of 0.104.1.

    Of course, this is all just semantics, but I'd be happier if we could get the stability fixes in !544 (merged), !549 (merged), and !550 (merged) out for 0.104.1 and then merged this afterwards.

  • I've been thinking of working in the pre-0.102/0.103 release version pattern which we had for years, which is new minor release for new features, and bugfix release only for bugfixes. And only doing bugfix release as needed. So really 0.104.1 should be 0.105.

  • Sure, I'm fine with that.

  • changed milestone to %1.0

  • username-removed-25042 resolved all discussions

    resolved all discussions

  • Fixed merge conflicts. This will also conflict with !558 (merged), but I'll just deal with that when one of them gets merged.

  • changed milestone to %1.1

  • I'm feeling like we need to buckle down and get a stable 1.0 out. Since this is a new feature, I'm thinking it should wait for 1.1.

  • That sounds reasonable to me. I don't expecpt that we'd get this super stable by the time all the other features have their bugs ironed out for 1.0.

  • mentioned in issue #1152

  • Please register or sign in to reply
    Loading