Closed Bug 1025131 Opened 10 years ago Closed 4 years ago

Add clients metadata table to TabsProvider

Categories

(Firefox for Android Graveyard :: Data Providers, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: nalexander, Unassigned)

References

Details

Over in Bug 977161, we're talking about hiding some remote devices from the Remote Tabs view.  And over in Bug 899643, we're talking about adding collapsing some remote devices temporarily.  (These would both be a per-device setting, i.e., not co-ordinated between devices.)

To support these persistent UI settings, we will need to store this additional per-client metadata.  Discussions with rnewman suggest a clients metadata table maintaining this additional state, which the UI will query and update as needed.
Bumped into this ... is this still valid? (Trying to catch the train of thought) ...

After Bug 1003610 - we now have remoteTabs that can collapse/expand and maintain scroll selection.

http://mxr.mozilla.org/mozilla-central/source/mobile/android/base/tabs/RemoteTabsList.java?mark=147-147#146

We do however lose state on orientation change, as we simply persisted that in the class. Is the idea here to move state data to the Tabs.db clients table via new columns? (boolean expanded and boolean hidden for ex.)

Finally, what we need to do that here / in this patch? Or wouldn't we just do it as part of the actual bugs (bug 977161 and bug 899643)?
(In reply to Mark Capella [:capella] from comment #1)
> Bumped into this ... is this still valid? (Trying to catch the train of
> thought) ...
> 
> After Bug 1003610 - we now have remoteTabs that can collapse/expand and
> maintain scroll selection.
> 
> http://mxr.mozilla.org/mozilla-central/source/mobile/android/base/tabs/
> RemoteTabsList.java?mark=147-147#146
> 
> We do however lose state on orientation change, as we simply persisted that
> in the class. Is the idea here to move state data to the Tabs.db clients
> table via new columns? (boolean expanded and boolean hidden for ex.)

The idea here is to support persistently keeping certain devices hidden (until they are purged by the Sync remote server, for example).  So it's different from expanded.

It shouldn't be part of the clients DB itself -- changing the state doesn't reflect a change for Sync, for example -- so rnewman suggested an additional per-client metadata table.  It'll be in the Tabs provider; but not the tabs or the clients table.
Ok thanks! I guess I'm curious why (in support of bug 977161 - remove/hide devices) you'd add a new table-per-client to the Tabs.db, versus a row-per-client in a single table in the Tabs.db.

I follow along on the patch until the implementation detail becomes apparent to me :-)
No longer blocks: 977161
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.