Merge lp:~mterry/unity8/statsWelcomeScreen into lp:unity8

Proposed by Michael Terry
Status: Merged
Approved by: Michael Terry
Approved revision: 286
Merged at revision: 381
Proposed branch: lp:~mterry/unity8/statsWelcomeScreen
Merge into: lp:unity8
Prerequisite: lp:~mterry/unity8/greeter-wallpaper
Diff against target: 316 lines (+93/-15)
9 files modified
Greeter/GreeterContent.qml (+11/-7)
Greeter/Infographics.qml (+10/-1)
plugins/AccountsService/AccountsService.cpp (+19/-0)
plugins/AccountsService/AccountsService.h (+7/-0)
tests/mocks/AccountsService/AccountsService.cpp (+13/-1)
tests/mocks/AccountsService/AccountsService.h (+8/-0)
tests/mocks/libusermetrics/UserMetrics.cpp (+6/-2)
tests/qmltests/Greeter/tst_Infographics.qml (+4/-4)
tests/qmltests/Greeter/tst_Phone.qml (+15/-0)
To merge this branch: bzr merge lp:~mterry/unity8/statsWelcomeScreen
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
MichaƂ Sawicz Needs Information
Michael Zanetti (community) Approve
Review via email: mp+184153@code.launchpad.net

This proposal supersedes a proposal from 2013-09-05.

Commit message

Listen to the system setting StatsWelcomeScreen, which tells us whether to show user-specific infographic data in the greeter.

Description of the change

(Whoops, forgot to set prerequisite branch again)

Listen to the system setting StatsWelcomeScreen, which tells us whether to show user-specific infographic data in the greeter.

In addition to the main attraction, I fixed a bug with animations when switching between data and no-data in the infographic (the change in Infographic.qml). And I added a tiny test for the new feature.

Support for StatsWelcomeScreen is part of bug 1207857, and the option can be seen in the Privacy section of the system settings. Note that toggling that value, as of this writing, doesn't actually work due to a policykit issue. But to manually change the setting, these dbus commands can be used:

To turn stats off:
dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User32011 org.freedesktop.DBus.Properties.Set string:com.ubuntu.touch.AccountsService.SecurityPrivacy string:StatsWelcomeScreen variant:boolean:false

To turn back on again:
dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User32011 org.freedesktop.DBus.Properties.Set string:com.ubuntu.touch.AccountsService.SecurityPrivacy string:StatsWelcomeScreen variant:boolean:true

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:278
http://jenkins.qa.ubuntu.com/job/unity8-ci/1026/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3522
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1050
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1730
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/50
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1027
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1027/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1026
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3534
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3534/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-saucy/2984
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1052
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1052/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/879
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/891

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1026/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:280
http://jenkins.qa.ubuntu.com/job/unity8-ci/1047/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3676
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1204
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1770
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/71
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1048
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1048/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1047
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/26
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3688
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3688/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1206
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1206/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1000
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1012

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1047/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:280
http://jenkins.qa.ubuntu.com/job/unity8-ci/1050/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3713/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1241
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1774
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/74
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1051
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1051/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1050
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/59/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3725
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3725/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1243
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1243/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1036
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1048

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1050/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:281
http://jenkins.qa.ubuntu.com/job/unity8-ci/1059/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3745
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1273
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1784
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/83
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1060
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1060/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1059
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/91
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3757
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/3757/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1275
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1275/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1067
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1079

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1059/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
MichaƂ Sawicz (saviq) wrote :

Please merge trunk.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:282
http://jenkins.qa.ubuntu.com/job/unity8-ci/1105/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/3955
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1547
    FAILURE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1847/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/128
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1105
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1105/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1104
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/283
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/4029
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-i386/4029/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1549
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1549/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1306
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1317

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1105/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

Merged from trunk. I think the jenkins failure was a one-off.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) wrote :

mzanetti@noneyet ~/Development/reviews/statsWelcomeScreen/builddir $ make testPhone
Scanning dependencies of target testPhone
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Components/CrossFadeImage.qml:39: Unable to assign QSize to QSizeF
********* Start testing of qmltestrunner *********
Config: Using QTest library 5.0.2, Qt 5.0.2
PASS : qmltestrunner::Greeter::initTestCase()
PASS : qmltestrunner::Greeter::test_properties()
FAIL! : qmltestrunner::Greeter::test_statsWelcomeScreen() Uncaught exception: LightDM is not defined
   Loc: [(0)]
PASS : qmltestrunner::Greeter::test_teaseLockedUnlocked(unlocked)
PASS : qmltestrunner::Greeter::test_teaseLockedUnlocked(locked)
PASS : qmltestrunner::Greeter::test_teasingArea(left)
PASS : qmltestrunner::Greeter::test_teasingArea(right)
PASS : qmltestrunner::Greeter::test_wallpaper(set)
PASS : qmltestrunner::Greeter::test_wallpaper(unset)
QWARN : qmltestrunner::Greeter::test_wallpaper(invalid) file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Greeter/GreeterContent.qml:55:5: QML QQuickImage: Cannot open: file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Greeter/invalid
QWARN : qmltestrunner::Greeter::test_wallpaper(invalid) file:///home/mzanetti/Development/reviews/statsWelcomeScreen/Greeter/GreeterContent.qml:55:5: QML QQuickImage: Binding loop detected for property "source"
PASS : qmltestrunner::Greeter::test_wallpaper(invalid)
PASS : qmltestrunner::Greeter::cleanupTestCase()
Totals: 10 passed, 1 failed, 0 skipped
********* Finished testing of qmltestrunner *********
make[3]: *** [tests/qmltests/CMakeFiles/testPhone] Error 1
make[2]: *** [tests/qmltests/CMakeFiles/testPhone.dir/all] Error 2
make[1]: *** [tests/qmltests/CMakeFiles/testPhone.dir/rule] Error 2
make: *** [testPhone] Error 2

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Hmm... when calling this method something weird happens:

the showAnimation and the hideAnimation start at the same time and fight each other, which causes the infographic being left with only half of the dots painted. Even though it looks quite nice I don't think this is intentional, is it?

review: Needs Information
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:283
http://jenkins.qa.ubuntu.com/job/unity8-ci/1175/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4195
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1863
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1937
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/198
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1175
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1175/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1174
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/491
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/63
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/63/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1865
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1865/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1561
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1573

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1175/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

OK, updated this branch to prevent overlapping animations. Except for the no-data -> data transition, where libusermetrics itself forces us to show immediately, since it signals itself that we're ready for the show animation (usually libusermetrics leaves that to us, but not in this case). So while that transition is abrupt, the data -> no-data looks good and neither shows overlapping animations like it used to.

Revision history for this message
Michael Zanetti (mzanetti) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:284
http://jenkins.qa.ubuntu.com/job/unity8-ci/1182/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4219
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1886
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1945
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/205
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1182
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1182/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1181
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/513
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/87
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/87/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1888
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1888/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1584
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1597

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1182/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/511/
Executed test runs:
    None: http://s-jenkins:8080/job/generic-cleanup-mbs/2552/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4245
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/1913/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1950
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/97
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/515
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/515/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/516
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/536
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/113
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/113/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1915
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/1915/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1611/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1627

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/523/
Executed test runs:
    SUCCESS: http://s-jenkins:8080/job/generic-cleanup-mbs/2586
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4335
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2043
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1987
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/108
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/527
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/527/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/527
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/622
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/209
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/209/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2045
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2045/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1732
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1748

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/527/
Executed test runs:
    SUCCESS: http://s-jenkins:8080/job/generic-cleanup-mbs/2591
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4345
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2062
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1991
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/112
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/531
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/531/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/531
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/632
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/219
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/219/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2064
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2064/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1751
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1768

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/529/
Executed test runs:
    None: http://s-jenkins:8080/job/generic-cleanup-mbs/2593/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4357
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2080
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/1996
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/114
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/533
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/533/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/533
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/643
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/231
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/231/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2082
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2082/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1768
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1785

review: Needs Fixing (continuous-integration)
Revision history for this message
MichaƂ Sawicz (saviq) wrote :

OK it seems those test failures are valid... Or at least I can't get them to pass. Can you verify that autopilot tests pass on device?

review: Needs Information
Revision history for this message
Michael Terry (mterry) wrote :

You're right... I don't see the extra 3 application_lifecycle errors on my desktop, only when running on the device. But it seems to only be with this branch.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:285
http://jenkins.qa.ubuntu.com/job/unity8-ci/1238/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4416
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2158
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2029
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/261
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1238
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1238/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1237
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/698
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/291
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/291/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2160
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2160/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1837
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1855

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1238/rebuild

review: Needs Fixing (continuous-integration)
lp:~mterry/unity8/statsWelcomeScreen updated
286. By Michael Terry

Don't crash if we only ever set an empty username in our mock libusermetrics

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:286
http://jenkins.qa.ubuntu.com/job/unity8-ci/1240/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4438
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2186
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2040
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/263
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1240
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1240/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1239
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/721
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/313
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/313/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2188
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2188/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1864
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1881

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1240/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Greeter/GreeterContent.qml'
2--- Greeter/GreeterContent.qml 2013-09-24 13:00:33 +0000
3+++ Greeter/GreeterContent.qml 2013-10-03 04:28:43 +0000
4@@ -135,19 +135,23 @@
5
6 Infographics {
7 id: infographics
8+ objectName: "infographics"
9 height: narrowMode ? parent.height : 0.75 * parent.height
10 model: greeterContentLoader.infographicModel
11
12- Component.onCompleted: infographics.updateUsername(greeterContentLoader.currentIndex)
13+ property string selectedUser
14+ property string infographicUser: AccountsService.statsWelcomeScreen ? selectedUser : ""
15+ onInfographicUserChanged: greeterContentLoader.infographicModel.username = infographicUser
16+
17+ Component.onCompleted: {
18+ selectedUser = greeterContentLoader.model.data(greeterContentLoader.currentIndex, LightDM.UserRoles.NameRole)
19+ greeterContentLoader.infographicModel.username = infographicUser
20+ greeterContentLoader.infographicModel.readyForDataChange()
21+ }
22
23 Connections {
24 target: root
25- onSelected: infographics.updateUsername(uid)
26- }
27-
28- function updateUsername(uid) {
29- greeterContentLoader.infographicModel.username = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
30- greeterContentLoader.infographicModel.readyForDataChangeSlot();
31+ onSelected: infographics.selectedUser = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
32 }
33
34 anchors {
35
36=== modified file 'Greeter/Infographics.qml'
37--- Greeter/Infographics.qml 2013-09-03 14:39:25 +0000
38+++ Greeter/Infographics.qml 2013-10-03 04:28:43 +0000
39@@ -29,21 +29,30 @@
40 Connections {
41 target: model
42
43+ onDataAboutToAppear: startHideAnimation() // hide "no data" label
44 onDataAppeared: startShowAnimation()
45
46 onDataAboutToChange: startHideAnimation()
47-
48 onDataChanged: startShowAnimation()
49
50 onDataAboutToDisappear: startHideAnimation()
51+ onDataDisappeared: startShowAnimation() // show "no data" label
52 }
53
54 function startShowAnimation() {
55+ dotHideAnimTimer.stop()
56+ circleShrinkAnimTimer.stop()
57+ notification.hideAnim.stop()
58+
59 dotShowAnimTimer.startFromBeginning()
60 notification.showAnim.start()
61 }
62
63 function startHideAnimation() {
64+ dotShowAnimTimer.stop()
65+ circleGrowAnimTimer.stop()
66+ notification.showAnim.stop()
67+
68 dotHideAnimTimer.startFromBeginning()
69 notification.hideAnim.start()
70 }
71
72=== modified file 'plugins/AccountsService/AccountsService.cpp'
73--- plugins/AccountsService/AccountsService.cpp 2013-09-19 15:36:54 +0000
74+++ plugins/AccountsService/AccountsService.cpp 2013-10-03 04:28:43 +0000
75@@ -44,6 +44,7 @@
76
77 updateDemoEdges();
78 updateBackgroundFile();
79+ updateStatsWelcomeScreen();
80 }
81
82 bool AccountsService::demoEdges() const
83@@ -62,6 +63,11 @@
84 return m_backgroundFile;
85 }
86
87+bool AccountsService::statsWelcomeScreen() const
88+{
89+ return m_statsWelcomeScreen;
90+}
91+
92 void AccountsService::updateDemoEdges()
93 {
94 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();
95@@ -80,6 +86,15 @@
96 }
97 }
98
99+void AccountsService::updateStatsWelcomeScreen()
100+{
101+ bool statsWelcomeScreen = m_service->getUserProperty(m_user, "com.ubuntu.touch.AccountsService.SecurityPrivacy", "StatsWelcomeScreen").toBool();
102+ if (m_statsWelcomeScreen != statsWelcomeScreen) {
103+ m_statsWelcomeScreen = statsWelcomeScreen;
104+ Q_EMIT statsWelcomeScreenChanged();
105+ }
106+}
107+
108 void AccountsService::propertiesChanged(const QString &user, const QString &interface, const QStringList &changed)
109 {
110 if (m_user != user) {
111@@ -90,6 +105,10 @@
112 if (changed.contains("demo-edges")) {
113 updateDemoEdges();
114 }
115+ } else if (interface == "com.ubuntu.touch.AccountsService.SecurityPrivacy") {
116+ if (changed.contains("StatsWelcomeScreen")) {
117+ updateStatsWelcomeScreen();
118+ }
119 }
120 }
121
122
123=== modified file 'plugins/AccountsService/AccountsService.h'
124--- plugins/AccountsService/AccountsService.h 2013-09-19 15:36:54 +0000
125+++ plugins/AccountsService/AccountsService.h 2013-10-03 04:28:43 +0000
126@@ -38,6 +38,9 @@
127 Q_PROPERTY (QString backgroundFile
128 READ backgroundFile
129 NOTIFY backgroundFileChanged)
130+ Q_PROPERTY (bool statsWelcomeScreen
131+ READ statsWelcomeScreen
132+ NOTIFY statsWelcomeScreenChanged)
133
134 public:
135 explicit AccountsService(QObject *parent = 0);
136@@ -47,11 +50,13 @@
137 bool demoEdges() const;
138 void setDemoEdges(bool demoEdges);
139 QString backgroundFile() const;
140+ bool statsWelcomeScreen() const;
141
142 Q_SIGNALS:
143 void userChanged();
144 void demoEdgesChanged();
145 void backgroundFileChanged();
146+ void statsWelcomeScreenChanged();
147
148 private Q_SLOTS:
149 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
150@@ -60,11 +65,13 @@
151 private:
152 void updateDemoEdges();
153 void updateBackgroundFile();
154+ void updateStatsWelcomeScreen();
155
156 AccountsServiceDBusAdaptor *m_service;
157 QString m_user;
158 bool m_demoEdges;
159 QString m_backgroundFile;
160+ bool m_statsWelcomeScreen;
161 };
162
163 #endif
164
165=== modified file 'tests/mocks/AccountsService/AccountsService.cpp'
166--- tests/mocks/AccountsService/AccountsService.cpp 2013-09-19 17:10:23 +0000
167+++ tests/mocks/AccountsService/AccountsService.cpp 2013-10-03 04:28:43 +0000
168@@ -20,7 +20,8 @@
169
170 AccountsService::AccountsService(QObject* parent)
171 : QObject(parent),
172- m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg")
173+ m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg"),
174+ m_statsWelcomeScreen(true)
175 {
176 }
177
178@@ -54,3 +55,14 @@
179 m_backgroundFile = backgroundFile;
180 backgroundFileChanged();
181 }
182+
183+bool AccountsService::statsWelcomeScreen() const
184+{
185+ return m_statsWelcomeScreen;
186+}
187+
188+void AccountsService::setStatsWelcomeScreen(bool statsWelcomeScreen)
189+{
190+ m_statsWelcomeScreen = statsWelcomeScreen;
191+ statsWelcomeScreenChanged();
192+}
193
194=== modified file 'tests/mocks/AccountsService/AccountsService.h'
195--- tests/mocks/AccountsService/AccountsService.h 2013-09-19 17:10:23 +0000
196+++ tests/mocks/AccountsService/AccountsService.h 2013-10-03 04:28:43 +0000
197@@ -39,6 +39,10 @@
198 READ backgroundFile
199 WRITE setBackgroundFile // only available in mock
200 NOTIFY backgroundFileChanged)
201+ Q_PROPERTY (bool statsWelcomeScreen
202+ READ statsWelcomeScreen
203+ WRITE setStatsWelcomeScreen // only available in mock
204+ NOTIFY statsWelcomeScreenChanged)
205
206 public:
207 explicit AccountsService(QObject *parent = 0);
208@@ -49,14 +53,18 @@
209 void setDemoEdges(bool demoEdges);
210 QString backgroundFile() const;
211 void setBackgroundFile(const QString &backgroundFile);
212+ bool statsWelcomeScreen() const;
213+ void setStatsWelcomeScreen(bool statsWelcomeScreen);
214
215 Q_SIGNALS:
216 void userChanged();
217 void demoEdgesChanged();
218 void backgroundFileChanged();
219+ void statsWelcomeScreenChanged();
220
221 private:
222 QString m_backgroundFile;
223+ bool m_statsWelcomeScreen;
224 };
225
226 #endif
227
228=== modified file 'tests/mocks/libusermetrics/UserMetrics.cpp'
229--- tests/mocks/libusermetrics/UserMetrics.cpp 2013-06-14 19:35:25 +0000
230+++ tests/mocks/libusermetrics/UserMetrics.cpp 2013-10-03 04:28:43 +0000
231@@ -228,7 +228,7 @@
232
233 void UserMetricsPrivate::setUsername(const QString &username)
234 {
235- if (m_username == username) {
236+ if (m_username == username && m_newData) {
237 return;
238 }
239
240@@ -407,7 +407,11 @@
241
242 QString UserMetrics::label() const
243 {
244- return d_ptr->m_label;
245+ if (d_ptr->m_label.isEmpty()) {
246+ return "No data";
247+ } else {
248+ return d_ptr->m_label;
249+ }
250 }
251
252 QString UserMetrics::username() const
253
254=== modified file 'tests/qmltests/Greeter/tst_Infographics.qml'
255--- tests/qmltests/Greeter/tst_Infographics.qml 2013-06-05 22:03:08 +0000
256+++ tests/qmltests/Greeter/tst_Infographics.qml 2013-10-03 04:28:43 +0000
257@@ -64,15 +64,15 @@
258
259 function test_set_username_data() {
260 return [
261- { username: "has-password" },
262- { username: "no-password" },
263- { username: "empty-name" }
264+ { username: "has-password", label: "<b>19</b> minutes talk time" },
265+ { username: "two-factor", label: "No data" },
266+ { username: "", label: "No data" },
267 ]
268 }
269
270 function test_set_username(data) {
271 infographicModel.username = data.username
272- tryCompare(label, "text", "<b>19</b> minutes talk time")
273+ tryCompare(label, "text", data.label)
274 }
275 }
276
277
278=== modified file 'tests/qmltests/Greeter/tst_Phone.qml'
279--- tests/qmltests/Greeter/tst_Phone.qml 2013-09-13 15:17:02 +0000
280+++ tests/qmltests/Greeter/tst_Phone.qml 2013-10-03 04:28:43 +0000
281@@ -19,6 +19,7 @@
282 import ".."
283 import "../../../Greeter"
284 import AccountsService 0.1
285+import LightDM 0.1 as LightDM
286 import Ubuntu.Components 0.1
287 import Unity.Test 0.1 as UT
288
289@@ -53,6 +54,10 @@
290 name: "Greeter"
291 when: windowShown
292
293+ function cleanup() {
294+ AccountsService.statsWelcomeScreen = true
295+ }
296+
297 function test_properties() {
298 compare(greeter.multiUser, false)
299 compare(greeter.narrowMode, true)
300@@ -105,6 +110,16 @@
301 tryCompareFunction(function() { return greeter.x;}, 0);
302 }
303
304+ function test_statsWelcomeScreen() {
305+ // Test logic in greeter that turns statsWelcomeScreen setting into infographic changes
306+ compare(AccountsService.statsWelcomeScreen, true)
307+ tryCompare(LightDM.Infographic, "username", "single")
308+ AccountsService.statsWelcomeScreen = false
309+ tryCompare(LightDM.Infographic, "username", "")
310+ AccountsService.statsWelcomeScreen = true
311+ tryCompare(LightDM.Infographic, "username", "single")
312+ }
313+
314 function test_wallpaper_data() {
315 return [
316 {tag: "set", accounts: "../tests/data/unity/backgrounds/blue.png", expected: "blue.png"},

Subscribers

People subscribed via source and target branches