Disabling haptics in the system settings only affects Unity8 and a few system apps

Bug #1537248 reported by Niklas Wenzel
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ubuntu-ui-toolkit (Ubuntu)
In Progress
High
Niklas Wenzel

Bug Description

How to reproduce:

1) Uncheck "Other vibrations" in System Settings > Sound
2) Open the dialer and press a few buttons
3) You will notice that the phone does not vibrate when pressing a button
4) Now open the clock app and press a few buttons
5) The selection in the system settings does not seem to affect the clock app and the phone still vibrates when pressing an AbstractButton or a derived item

Components to which the setting does apply:

* Unity 8
* System Settings
* Dialer
* Messaging app
* Address book

Components to which it does NOT apply:

* Webbrowser
* Camera
* Clock
* Terminal app
* File manager
* Document viewer
* Any click app from the store which I have tried so far

Debugging efforts so far:

I have added a few console.log() calls and saw that in Haptics.qml, when the play() method is called, vibra.otherVibrate is true. So it seems as if the ServiceProperties object fails to fetch the proper value when running the aforementioned apps.

A few observations:

* All apps for which it works are legacy (e.g. non-click) applications.
* However, the webbrowser app is a legacy one, too, but it doesn't work there.
* All apps for which it works run unconfined.
* However, the terminal and the file manager apps are unconfined, too.
* The apps for which it works seem to use the most recent UITK version.
* However, the document viewer does that as well.

=========================

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 218
device name: mako
channel: ubuntu-touch/rc-proposed/bq-aquaris.en
last update: 2016-01-21 23:18:06
version version: 218
version ubuntu: 20160121.2
version device: 20160112
version custom: mako-1.1

Revision history for this message
Niklas Wenzel (nikwen) wrote :

Any help/hints on how to fix this would be greatly appreciated. We first observed this in the calculator app and really want to fix this. (LP: #1428606)

Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Niklas Wenzel (nikwen)
status: New → In Progress
Cris Dywan (kalikiana)
Changed in ubuntu-ui-toolkit (Ubuntu):
importance: Undecided → High
Revision history for this message
Cris Dywan (kalikiana) wrote :

The haptic feedback including the DBus API used to lookup the setting is not version-specific, the code lives in src/Ubuntu/Components/1.1/Haptics.qml and is used even with 1.3 via ucabstractbutton.cpp and uchaptics.cpp. The default is true, meaning if the setting doesn't work it will indeed always vibrate.

After adding "onErrorChanged: console.log(error)" to the vibra object (at the very bottom) in Haptics.qml I got the following running Calculator:
qml: An AppArmor policy prevents this sender [...] interface="org.freedesktop.Accounts" member="FindUserById" [...]

So by the looks of it Calculator can't read the setting.

Revision history for this message
Zsombor Egri (zsombi) wrote :

Niklas, the bug unfortunately resides in the apparmor denying the access to the settings. We have a bug 1433590 for it, people around the globe are (supposedly) working on it, since it is marked as ota10 bug.

Revision history for this message
Niklas Wenzel (nikwen) wrote :

Zsombor, although I'm late to the party, I'd like to say thank you for linking me to the other bug. This way I can focus on other bugs again. :)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.