Subsurface mobile 2.1.2 auto cloud sync

Joakim Bygdell j.bygdell at gmail.com
Thu Sep 20 00:03:34 PDT 2018


On Wed, 19 Sep 2018 at 21:31, Bill Perry <
bperrybap at opensource.billsworld.billandterrie.com> wrote:

> 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> 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.
>

The problem is in your GS7 then, you need to see if there is a way to fully
purge all app related data when uninstalling the app.

>
> 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.
>

That is the expected behaviour if the app was fully removed.
The differences you are seeing can be related to app signing, if done
properly the official app
and the one you build should throw an error if you try to install them on
the same device at the same time.

>
>
> 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?
>

 Local saved dives will be merged into the active cloud account when you
sync, and will be accessible from other devices using the same cloud
account.

>
> 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?
>

I wonder why you would do that, but it should merge fine since the data
from the DC will be identical.


>
>
>
> --- bill
>


-- 
Jocke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20180920/25f7fe1d/attachment-0001.html>


More information about the subsurface mailing list