Need more information from account manager
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
webapps-sprint |
Fix Released
|
High
|
Alberto Mardegan | ||
online-accounts-api (Ubuntu) |
Fix Released
|
Undecided
|
Alberto Mardegan |
Bug Description
For storage framework, we need to be able to present the user with a selection dialog that allows the user to select a cloud service account, for example, to select where backups should be stored, or where the camera app should upload photos to.
Right now, we only get three values from online accounts:
id (integer)
service id (e.g. “google-
display name (e.g. “<email address hidden>”)
This isn’t quite sufficient for what applications need. In particular, they need a (translated) display string that identifies the service (e.g. “Google”, “Dropbox”), and they need the icon identifier.
Without these things, it’s not possible to present a decent selection dialog, and it’s not possible to reliably distinguish accounts, such as when a user has more than one account with the same service, or has accounts with different services but the same email address.
Could you please add the following to the account information dictionary:
- provider ID
- translated provider name
- icon name
Related branches
- Alexandre Abreu (community): Approve
-
Diff: 1839 lines (+826/-80)34 files modifieddebian/control (+1/-1)
src/lib/OnlineAccounts/CMakeLists.txt (+2/-0)
src/lib/OnlineAccounts/Service (+1/-0)
src/lib/OnlineAccounts/account.cpp (+11/-0)
src/lib/OnlineAccounts/account.h (+3/-0)
src/lib/OnlineAccounts/account_p.h (+2/-0)
src/lib/OnlineAccounts/dbus_interface.cpp (+2/-0)
src/lib/OnlineAccounts/manager.cpp (+14/-1)
src/lib/OnlineAccounts/manager.h (+6/-1)
src/lib/OnlineAccounts/manager_p.h (+6/-0)
src/lib/OnlineAccounts/service.cpp (+54/-0)
src/lib/OnlineAccounts/service.h (+83/-0)
src/lib/OnlineAccountsDaemon/CMakeLists.txt (+1/-0)
src/lib/OnlineAccountsDaemon/com.ubuntu.OnlineAccounts.Manager.xml (+14/-0)
src/lib/OnlineAccountsDaemon/dbus_constants.h (+3/-0)
src/lib/OnlineAccountsDaemon/i18n.cpp (+34/-0)
src/lib/OnlineAccountsDaemon/i18n.h (+32/-0)
src/lib/OnlineAccountsDaemon/manager.cpp (+86/-10)
src/lib/OnlineAccountsDaemon/manager.h (+2/-1)
src/lib/OnlineAccountsDaemon/manager_adaptor.cpp (+7/-3)
src/lib/OnlineAccountsDaemon/manager_adaptor.h (+4/-1)
src/lib/Ubuntu/OnlineAccounts.2/account.cpp (+34/-4)
src/lib/Ubuntu/OnlineAccounts.2/account.h (+10/-1)
src/lib/Ubuntu/OnlineAccounts.2/account_model.cpp (+28/-1)
src/lib/Ubuntu/OnlineAccounts.2/account_model.h (+9/-0)
src/lib/Ubuntu/OnlineAccounts.2/plugin.cpp (+5/-0)
tests/daemon/functional_tests/data/com.ubuntu.tests_application.application (+4/-1)
tests/daemon/functional_tests/data/com.ubuntu.tests_coolshare.service (+1/-1)
tests/daemon/functional_tests/data/coolmail.service (+0/-1)
tests/daemon/functional_tests/data/missing-provider.service (+14/-0)
tests/daemon/functional_tests/functional_tests.cpp (+133/-10)
tests/daemon/functional_tests/test_process.py (+5/-2)
tests/lib/OnlineAccounts/functional_tests/functional_tests.cpp (+108/-22)
tests/lib/qml_module/tst_qml_module.cpp (+107/-19)
Changed in online-accounts-api (Ubuntu): | |
status: | New → Confirmed |
assignee: | nobody → Alberto Mardegan (mardy) |
Changed in webapps-sprint: | |
status: | New → In Progress |
assignee: | nobody → Alberto Mardegan (mardy) |
importance: | Undecided → High |
milestone: | none → sprint-27 |
Changed in webapps-sprint: | |
status: | In Progress → Fix Released |
I agree that this information is needed by the clients.
The question is about the icon: the client might be unable (due to apparmor confinement) to read the provider icon, especially if this is coming from another click or snap package. If, as I understand it - please confirm this - the storage framework will be running inside the unity8 snap, then this is not a problem for your specific use-case, but it's an issue that anyway we need to consider for third party clients.
I guess that for the time being the simplest solution is to simply have an "iconName" field with the icon name as a string, and later on we'll think of a solution for the general case (I hope we can find something better than passing the icon data over D-Bus!).