touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #93814
[Bug 1480726] [NEW] All Alarm{}s show in all apps and no extra data can be stored
Public bug reported:
There is only one database of Alarms in the phone. This means that every
app which has anything to do with Alarms (or which wants to set a timer
for anything at all) shows all the Alarms set in the phone, from every
other Alarm-using app. So if my app creates a countdown timer for an
event two weeks from now, that event will also show in the Clock app,
and vice versa. Similarly, if my app creates an Alarm with a custom
sound in it, the Clock app cannot resolve that sound's URL to a name and
so does not know what to show. An app cannot store any custom data at
all about an Alarm in order to enable this filtering to only the alarms
that it created.
I propose two new properties be added to an Alarm object:
------------8<--------------------
Properties
creator : string
data : string
Property Documentation
creator : string
The property holds the applicationName of the app which created this Alarm. This should be set automatically by the QML Alarm object, and so should be read-only to apps.
data : string
The property holds a string, which can be used by the app to store arbitrary data with the Alarm in any format it chooses.
------------8<--------------------
An app can then choose to show all Alarms in the system (by acting as it
does now and using the AlarmModel object), or can optionally filter to
just its own alarms thus:
SortFilterModel {
model: AlarmModel {}
filter.property: "creator"
filter.pattern: new RegExp("^" + main.applicationName + "$")
}
If apps being able to see another app's Alarms is considered a privacy
leak, then AlarmModel can be changed to act thus and so each app *only*
sees its own Alarms.
** Affects: ubuntu-ui-toolkit (Ubuntu)
Importance: Undecided
Status: Confirmed
** Description changed:
There is only one database of Alarms in the phone. This means that every
app which has anything to do with Alarms (or which wants to set a timer
for anything at all) shows all the Alarms set in the phone, from every
other Alarm-using app. So if my app creates a countdown timer for an
event two weeks from now, that event will also show in the Clock app,
and vice versa. Similarly, if my app creates an Alarm with a custom
sound in it, the Clock app cannot resolve that sound's URL to a name and
so does not know what to show. An app cannot store any custom data at
all about an Alarm in order to enable this filtering to only the alarms
that it created.
I propose two new properties be added to an Alarm object:
------------8<--------------------
Properties
- owner : string
+ creator : string
data : string
Property Documentation
creator : string
The property holds the applicationName of the app which created this Alarm. This should be set automatically by the QML Alarm object, and so should be read-only to apps.
data : string
The property holds a string, which can be used by the app to store arbitrary data with the Alarm in any format it chooses.
------------8<--------------------
An app can then choose to show all Alarms in the system (by acting as it
does now and using the AlarmModel object), or can optionally filter to
just its own alarms thus:
SortFilterModel {
- model: AlarmModel {}
- filter.property: "creator"
- filter.pattern: new RegExp("^" + main.applicationName + "$")
+ model: AlarmModel {}
+ filter.property: "creator"
+ filter.pattern: new RegExp("^" + main.applicationName + "$")
}
If apps being able to see another app's Alarms is considered a privacy
leak, then AlarmModel can be changed to act thus and so each app *only*
sees its own Alarms.
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1480726
Title:
All Alarm{}s show in all apps and no extra data can be stored
Status in ubuntu-ui-toolkit package in Ubuntu:
Confirmed
Bug description:
There is only one database of Alarms in the phone. This means that
every app which has anything to do with Alarms (or which wants to set
a timer for anything at all) shows all the Alarms set in the phone,
from every other Alarm-using app. So if my app creates a countdown
timer for an event two weeks from now, that event will also show in
the Clock app, and vice versa. Similarly, if my app creates an Alarm
with a custom sound in it, the Clock app cannot resolve that sound's
URL to a name and so does not know what to show. An app cannot store
any custom data at all about an Alarm in order to enable this
filtering to only the alarms that it created.
I propose two new properties be added to an Alarm object:
------------8<--------------------
Properties
creator : string
data : string
Property Documentation
creator : string
The property holds the applicationName of the app which created this Alarm. This should be set automatically by the QML Alarm object, and so should be read-only to apps.
data : string
The property holds a string, which can be used by the app to store arbitrary data with the Alarm in any format it chooses.
------------8<--------------------
An app can then choose to show all Alarms in the system (by acting as
it does now and using the AlarmModel object), or can optionally filter
to just its own alarms thus:
SortFilterModel {
model: AlarmModel {}
filter.property: "creator"
filter.pattern: new RegExp("^" + main.applicationName + "$")
}
If apps being able to see another app's Alarms is considered a privacy
leak, then AlarmModel can be changed to act thus and so each app
*only* sees its own Alarms.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1480726/+subscriptions
Follow ups