← Back to team overview

touch-packages team mailing list archive

[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