Subsurface mobile 2.1.2 auto cloud sync

Bill Perry bperrybap at opensource.billsworld.billandterrie.com
Wed Sep 19 12:30:52 PDT 2018


The initial post I did was for subsurface mobile 2.1.2 but in just a few hours 2.1.3(4.8.2.5) was pushed out.
This response is for 2.1.3 but the behavior in this area seems to be same for both 2.1.2 or 2.1.3(4.8.2.5)

On 09/19/2018 01:33 AM, Joakim Bygdell wrote:
> On Wed, 19 Sep 2018 at 03:25, Bill Perry <bill at billandterrie.com <mailto:bill at billandterrie.com>> wrote:
>
>>     --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>     Will the app remember the cloud sync setting if the app was installed with it enabled and the app is upgraded?
>     Seems like it should.
>
> Unless you purge the current installation before installing the new version the setting should be remembered.
>
>
>     Here is an odd and unexpected sync behavior that I'm seeing.
>
>     26 dives were downloaded directly from the dive computer using my GS7. (using a debug version of 4.8.1 that I built)
>
> Did you download the dives before or after activating your cloud account on the device?

Original dive computer downloading was done last summer during some other testing when I was trying to get the Pelagic data cables to work with subsurface mobile.
Now that I think about it, these dives were originally downloaded on a linux desktop not the GS7 and synced to the cloud.
During that testing, these 26 dives were being download from both a linux desktop and a GS4 and testing was being done with and without cloud syncing.
Often I would remove the app to start clean with cloud sync disabled to force all the dives to be re-downloaded on both the desktop and mobile.

However, during recent testing, with Subsurface mobile 4.8.1 I also downloaded them on the GS7 with cloud sync disabled.
I had to disable cloud sync to ensure that the dives would actually be transfered from the dive computer.
So I have done it both ways with various app installations.



>     Another 30 dives were downloaded on another device and synced to the cloud which where then synced to my GS7.
>     The app on the GS7 shows all 56 dives and when bringing up the app, it says "56 dives loaded from local dive data file".
>
>     I removed the 4.8.1 APP and then installed the latest app version of 2.1.2 (4.8.2.0)
>     When it comes up only 26 dives show up - even though 56 dives were showing up previously.
>
> That is strange, if you fully remove the app all local data should be removed.
>
> When you then start the app you should be greeted with the landing page where you have the choise of typing in your
> cloud credentials or start in "No cloud mode".
> If you pick "No cloud mode" the divelist that loads should be empty.
> If you type in your cloud credentials on the first start up, it should pull everything from the cloud before the divelist is shown.

That isn't what I'm seeing.
The GS7 (Android 8.0.0) and the GS4 (Android 4.4.4) have different behaviors.
GS7 remembers things between uninstall and re-install.
GS4 seems to start clean and work like you mentioned after removing the app and re-installing.

On the GS7 (Android 8.0.0),  If I install the app, uninstall it and re-install it
I sometimes see a very brief flash of the landing/cloud credentials page and then it displays the dive list with the add dives icon at the bottom of the screen.
And the original local 26 dives are showing.
If I go to the Dive management dialog, Enable auto cloud sync is checked and cloud credentials are already in place.
I can click on Manual sync with cloud and the other 30 dives are pulled in.  It remembers the cloud account and password.
I can repeat this over and over again, installing 2.1.3, seeing 26 dives, doing a cloud sync to get the other 30 dives, uninstalling it and re-installing, seeing the 26 dives,
doing a manual cloud sync to get the other 30.
So it isn't just a one time thing.
This behavior is the same on the GS4 with Android 4.4.4 and the GS7 with Android 8.0.0


The 4.8.1 app I built from sources and loaded from an SD card had a different behavior.
4.8.1 dropped you on the screen that asks for your cloud settings.
It always came up with cloud disabled and didn't ever remember the previously used cloud account settings.
No dives showed up if you didn't enable cloud and all 56 would immediately show up after the cloud credentials were entered.


2.1.2(4.8.2.0) and 2.1.3(4.8.2.5) both bypass that cloud credential screen on the GS7 (Android 8.0.0)
(or seems to momentarily flash it) and remembers the previous cloud settings.
Including after manually uninstalling it and then re-installing it.
But it doesn't seem to do an initial cloud sync when first started and only the 26 dives show up.
A manual cloud sync pulls in the other 30.


>     If I go to dive management and click on Manual sync with cloud I get the other 30 dives.
>     If I exit the app and start it up again, it says "56 dives loaded from local dive data file" and all 56 dives are there.
>     If I remove the 2.1.2(4.8.2.0) app, and re-install 2.1.2(4.8.2.) again, when I bring up the app again it says "26 dives loaded from the local dive data file".
>
>     It appears that any dives that were synced from the cloud (I assume to the local data file?) are lost when the app is re-installed.
>     This seems really odd.
>     Is that really the intended behavior?
>
> There is a separation between local saved dives and dives stored in the cloud.
> You can have different cloud accounts while still having the same local storage for the same user.

So it keeps some sort of local separation internally on the device between dives actually download from the dive computer with the mobile device vs dives
synced from the cloud?
even though all the dives shows up as a single dive list after syncing?

And how does it handle things when the very same dives were downloaded and cloud synced by multiple devices.
Say locally by a mobile device  *and* from another mobile device or desktop and then synced to the cloud?




--- bill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20180919/d7a2b3dc/attachment.html>


More information about the subsurface mailing list