gecko-dev/mobile/android/services
Nick Alexander 93d39d6ddf Bug 1123107 - Include Reading List checkbox during account creation. r=rnewman
This is a reasonable-sized refactoring underneath a small feature-patch.
The refactor reworks what information we maintain (and pickle) about
"enabled" services.  We've moved from a boolean "Sync enabled" flag to a
map of Android authorities (which map to services like Firefox Sync and
reading list) and boolean flags indicating whether each authority is
"automatically synced".  The checkboxes in the status activity
correspond directly to whether the authority (service) is automatically
synced.

The set of authorities we care about is determined by the DEFAULT_* map.
Said map is interrogated and written to the pickle file at Sync time.
When the pickle file is un-pickled, only the set of known authorities is
acted upon.  What that means is that both writing and reading a pickle
file with different sets of authorities should work across upgrades: if
a known authority is missing, the default value will be used; if an
unknown authority is present, it will be ignored.  This lets us alter
the set of known authorities via the build flag.

I have tested and Android maintains the "sync automatically" state for
an authority even when the authority is not present in the list of sync
checkboxes.

All in all, I'm not concerned about toggling the build flag multiple
times in the future.  (If we backed out the updated pickling code, we
would need to handle pickle downgrades, but we already needed to handle
that.)

========

fc8936549a
Author: Nick Alexander <nalexander@mozilla.com>
Date:   Wed Feb 11 10:37:34 2015 -0800

    Bug 1123107 - Part 3: Include Reading List checkbox during account creation.

    We are careful to show the checkbox only when the reading list service
    is enabled.

========

c90ea353cc
Author: Nick Alexander <nalexander@mozilla.com>
Date:   Wed Feb 11 10:31:15 2015 -0800

    Bug 1123107 - Part 2: Thread authorities to sync automatically through sign up/sign in flow.

========

e0c4d20744
Author: Nick Alexander <nalexander@mozilla.com>
Date:   Mon Feb 9 12:35:15 2015 -0800

    Bug 1123107 - Part 1: Manage map of automatically synced authorities.

========

7f7e308190
Author: Nick Alexander <nalexander@mozilla.com>
Date:   Mon Feb 9 11:54:54 2015 -0800

    Bug 1123107 - Part 0: Remove "account needs to be enabled" warning in status activity.

    As we move Sync to a model where a status checkbox sets whether a single
    ContentProvider is synced, it no longer makes sense to message when the
    "account" is not automatically syncing.
2015-02-11 12:12:31 -08:00
..
manifests Bug 1131421 - Part 1: initial stub reading list service and SyncAdapter. r=nalexander 2015-02-09 21:08:05 -08:00
README.txt
strings.xml.in Bug 1123107 - Include Reading List checkbox during account creation. r=rnewman 2015-02-11 12:12:31 -08:00

README.txt

These files are managed in the android-sync repo. Do not modify directly, or your changes will be lost.