Merge lp:~nik90/ubuntu-clock-app/sync-bottomedge-sep08 into lp:ubuntu-clock-app
- sync-bottomedge-sep08
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Nekhelesh Ramananthan |
Approved revision: | 104 |
Merged at revision: | 131 |
Proposed branch: | lp:~nik90/ubuntu-clock-app/sync-bottomedge-sep08 |
Merge into: | lp:ubuntu-clock-app |
Diff against target: |
535 lines (+188/-158) 7 files modified
app/clock/ClockPage.qml (+8/-1) app/components/Clock.qml (+1/-0) app/ubuntu-clock-app.qml (+0/-1) app/upstreamcomponents/PageWithBottomEdge.qml (+164/-155) debian/changelog (+12/-0) manifest.json.in (+1/-1) tests/autopilot/ubuntu_clock_app/emulators.py (+2/-0) |
To merge this branch: | bzr merge lp:~nik90/ubuntu-clock-app/sync-bottomedge-sep08 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Nekhelesh Ramananthan | testing | Approve | |
Ubuntu Phone Apps Jenkins Bot | continuous-integration | Approve | |
Renato Araujo Oliveira Filho | Pending | ||
Review via email: mp+236604@code.launchpad.net |
Commit message
Sync PageWithBottomE
Description of the change
Sync PageWithBottomE
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:93
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 94. By Nekhelesh Ramananthan
-
Hide focus when flicking or interacting with clock page contents
- 95. By Nekhelesh Ramananthan
-
Synced with lp:~renatofilho/address-book-app/fix-1375513
Nekhelesh Ramananthan (nik90) wrote : | # |
> I notice 2 issues with this MP,
>
> 1. The bottom edge hint does not show automatically after opening the clock
> app.
>
Still not fixed. Debugging atm.
> 2. The bottom edge hint does not hide when interacting with the content
> (scrolling, pressing button). This is also noticed in the upstream addressbook
> app as well.
>
Fixed in latest rev.
> 3. When user stops interacting, it does not reappear after 5 seconds (also
> noticeable in upstream implementation).
Renato mentioned that he agreed with the designers to not implement that, since it will be very complex to do and they are happy with the current implementation
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:95
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 96. By Nekhelesh Ramananthan
-
Fixed AP test and also solved bottom edge hint not getting active focus at clock app start using a hack
Nekhelesh Ramananthan (nik90) wrote : | # |
All issues resolved (issue 1 solved with a hack). Let's see if we can resolve it properly.
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:96
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 97. By Nekhelesh Ramananthan
-
Removed ugly hack which was added before
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:97
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 98. By Nekhelesh Ramananthan
-
Fixed AP test by waiting for bottom edge hint to be shown
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:98
http://
Executed test runs:
None: http://
Click here to trigger a rebuild:
http://
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:98
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
Nekhelesh Ramananthan (nik90) wrote : | # |
This has been design approved by Giorgio. Just need the AP tests to pass now before this can be merged!
Damn you Jenkins :P
- 99. By Nekhelesh Ramananthan
-
Added debug
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:99
http://
Executed test runs:
None: http://
Click here to trigger a rebuild:
http://
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:99
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 100. By Nekhelesh Ramananthan
-
Disabled alarms tests
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:100
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 101. By Nekhelesh Ramananthan
-
Reverted disabling tests
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:101
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 102. By Nekhelesh Ramananthan
-
Removed unnecessary function in bottom edge file
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:102
http://
Executed test runs:
UNSTABLE: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
Nekhelesh Ramananthan (nik90) wrote : | # |
#blocked on Jenkins. This requires a patch to the Jenkins environment since the xvfb package which is used to run the clock app tests takes input focus away from the clock app when it is launched. This is causing the AP tests to be pass. Francis and Nicholas have been informed. Once jenkins is fixed, we should be good to merge this branch.
- 103. By Nekhelesh Ramananthan
-
merged trunk lp:ubuntu-clock-app
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:103
http://
Executed test runs:
UNSTABLE: http://
deb: http://
Click here to trigger a rebuild:
http://
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:103
http://
Executed test runs:
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
Nekhelesh Ramananthan (nik90) wrote : | # |
#unblocked
- 104. By Nekhelesh Ramananthan
-
Updated changelog and bumped version to 3.2
Nekhelesh Ramananthan (nik90) wrote : | # |
This MP only syncs the bottom edge component with upstream code. So no code review necessary. It was tested by myself and Giorgio (designer) on N4 and Krillin and confirmed to be working as expected.
Approving.
Preview Diff
1 | === modified file 'app/clock/ClockPage.qml' |
2 | --- app/clock/ClockPage.qml 2014-09-26 11:36:12 +0000 |
3 | +++ app/clock/ClockPage.qml 2014-10-09 16:31:17 +0000 |
4 | @@ -33,13 +33,20 @@ |
5 | |
6 | flickable: null |
7 | |
8 | - Component.onCompleted: Utils.log(debugMode, "Clock Page loaded") |
9 | + Component.onCompleted: { |
10 | + Utils.log(debugMode, "Clock Page loaded") |
11 | + _clockPage.setBottomEdgePage(Qt.resolvedUrl("../alarm/AlarmPage.qml"), {}) |
12 | + } |
13 | |
14 | Flickable { |
15 | id: _flickable |
16 | |
17 | Component.onCompleted: otherElementsStartUpAnimation.start() |
18 | |
19 | + onFlickStarted: { |
20 | + forceActiveFocus() |
21 | + } |
22 | + |
23 | anchors.fill: parent |
24 | contentWidth: parent.width |
25 | contentHeight: clock.height + date.height + locationRow.height |
26 | |
27 | === modified file 'app/components/Clock.qml' |
28 | --- app/components/Clock.qml 2014-09-06 15:16:43 +0000 |
29 | +++ app/components/Clock.qml 2014-10-09 16:31:17 +0000 |
30 | @@ -148,6 +148,7 @@ |
31 | enabled: isMainClock |
32 | anchors.fill: parent |
33 | onClicked: { |
34 | + forceActiveFocus() |
35 | clockFlipAnimation.start() |
36 | } |
37 | } |
38 | |
39 | === modified file 'app/ubuntu-clock-app.qml' |
40 | --- app/ubuntu-clock-app.qml 2014-08-26 20:20:37 +0000 |
41 | +++ app/ubuntu-clock-app.qml 2014-10-09 16:31:17 +0000 |
42 | @@ -101,7 +101,6 @@ |
43 | alarm. For instance it should read "Next alarm in 9h23m". |
44 | */ |
45 | bottomEdgeTitle: i18n.tr("Alarms") |
46 | - bottomEdgePageComponent: AlarmPage {} |
47 | } |
48 | } |
49 | } |
50 | |
51 | === modified file 'app/upstreamcomponents/PageWithBottomEdge.qml' |
52 | --- app/upstreamcomponents/PageWithBottomEdge.qml 2014-09-20 10:47:21 +0000 |
53 | +++ app/upstreamcomponents/PageWithBottomEdge.qml 2014-10-09 16:31:17 +0000 |
54 | @@ -62,7 +62,7 @@ |
55 | |
56 | */ |
57 | |
58 | -import QtQuick 2.3 |
59 | +import QtQuick 2.2 |
60 | import Ubuntu.Components 1.1 |
61 | |
62 | Page { |
63 | @@ -71,7 +71,7 @@ |
64 | property alias bottomEdgePageComponent: edgeLoader.sourceComponent |
65 | property alias bottomEdgePageSource: edgeLoader.source |
66 | property alias bottomEdgeTitle: tipLabel.text |
67 | - property alias bottomEdgeEnabled: bottomEdge.visible |
68 | + property bool bottomEdgeEnabled: true |
69 | property int bottomEdgeExpandThreshold: page.height * 0.2 |
70 | property int bottomEdgeExposedArea: bottomEdge.state !== "expanded" ? (page.height - bottomEdge.y - bottomEdge.tipHeight) : _areaWhenExpanded |
71 | property bool reloadBottomEdgePage: true |
72 | @@ -87,7 +87,6 @@ |
73 | signal bottomEdgeReleased() |
74 | signal bottomEdgeDismissed() |
75 | |
76 | - |
77 | function showBottomEdgePage(source, properties) |
78 | { |
79 | edgeLoader.setSource(source, properties) |
80 | @@ -142,13 +141,123 @@ |
81 | z: 1 |
82 | } |
83 | |
84 | - Timer { |
85 | - id: hideIndicator |
86 | - |
87 | - interval: 3000 |
88 | - running: true |
89 | - repeat: false |
90 | - onTriggered: tip.hiden = true |
91 | + UbuntuShape { |
92 | + id: tip |
93 | + objectName: "bottomEdgeTip" |
94 | + |
95 | + property bool hiden: (activeFocus === false) || |
96 | + ((bottomEdge.y - units.gu(1)) < tip.y) |
97 | + |
98 | + enabled: mouseArea.enabled |
99 | + visible: page.bottomEdgeEnabled |
100 | + anchors { |
101 | + bottom: parent.bottom |
102 | + horizontalCenter: bottomEdge.horizontalCenter |
103 | + bottomMargin: hiden ? - height + units.gu(1) : -units.gu(1) |
104 | + Behavior on bottomMargin { |
105 | + SequentialAnimation { |
106 | + // wait some msecs in case of the focus change again, to avoid flickering |
107 | + PauseAnimation { |
108 | + duration: 300 |
109 | + } |
110 | + UbuntuNumberAnimation { |
111 | + duration: UbuntuAnimation.SnapDuration |
112 | + } |
113 | + } |
114 | + } |
115 | + } |
116 | + |
117 | + z: 1 |
118 | + width: tipLabel.paintedWidth + units.gu(6) |
119 | + height: bottomEdge.tipHeight + units.gu(1) |
120 | + color: Theme.palette.normal.overlay |
121 | + Label { |
122 | + id: tipLabel |
123 | + |
124 | + anchors { |
125 | + top: parent.top |
126 | + left: parent.left |
127 | + right: parent.right |
128 | + } |
129 | + height: bottomEdge.tipHeight |
130 | + verticalAlignment: Text.AlignVCenter |
131 | + horizontalAlignment: Text.AlignHCenter |
132 | + opacity: tip.hiden ? 0.0 : 1.0 |
133 | + Behavior on opacity { |
134 | + UbuntuNumberAnimation { |
135 | + duration: UbuntuAnimation.SnapDuration |
136 | + } |
137 | + } |
138 | + } |
139 | + } |
140 | + |
141 | + Rectangle { |
142 | + id: shadow |
143 | + |
144 | + anchors { |
145 | + left: parent.left |
146 | + right: parent.right |
147 | + bottom: parent.bottom |
148 | + } |
149 | + height: units.gu(1) |
150 | + z: 1 |
151 | + opacity: 0.0 |
152 | + gradient: Gradient { |
153 | + GradientStop { position: 0.0; color: "transparent" } |
154 | + GradientStop { position: 1.0; color: Qt.rgba(0, 0, 0, 0.2) } |
155 | + } |
156 | + } |
157 | + |
158 | + MouseArea { |
159 | + id: mouseArea |
160 | + |
161 | + property real previousY: -1 |
162 | + property string dragDirection: "None" |
163 | + |
164 | + preventStealing: true |
165 | + drag { |
166 | + axis: Drag.YAxis |
167 | + target: bottomEdge |
168 | + minimumY: bottomEdge.pageStartY |
169 | + maximumY: page.height |
170 | + } |
171 | + enabled: edgeLoader.status == Loader.Ready |
172 | + visible: page.bottomEdgeEnabled |
173 | + |
174 | + anchors { |
175 | + left: parent.left |
176 | + right: parent.right |
177 | + bottom: parent.bottom |
178 | + } |
179 | + height: bottomEdge.tipHeight |
180 | + z: 1 |
181 | + |
182 | + onReleased: { |
183 | + page.bottomEdgeReleased() |
184 | + if ((dragDirection === "BottomToTop") && |
185 | + bottomEdge.y < (page.height - bottomEdgeExpandThreshold - bottomEdge.tipHeight)) { |
186 | + bottomEdge.state = "expanded" |
187 | + } else { |
188 | + bottomEdge.state = "collapsed" |
189 | + } |
190 | + previousY = -1 |
191 | + dragDirection = "None" |
192 | + } |
193 | + |
194 | + onPressed: { |
195 | + previousY = mouse.y |
196 | + tip.forceActiveFocus() |
197 | + } |
198 | + |
199 | + onMouseYChanged: { |
200 | + var yOffset = previousY - mouseY |
201 | + // skip if was a small move |
202 | + if (Math.abs(yOffset) <= units.gu(2)) { |
203 | + return |
204 | + } |
205 | + previousY = mouseY |
206 | + dragDirection = yOffset > 0 ? "BottomToTop" : "TopToBottom" |
207 | + } |
208 | } |
209 | |
210 | FakeHeader { |
211 | @@ -177,7 +286,7 @@ |
212 | |
213 | z: 1 |
214 | color: Theme.palette.normal.background |
215 | - parent: page |
216 | + clip: true |
217 | anchors { |
218 | left: parent.left |
219 | right: parent.right |
220 | @@ -185,99 +294,7 @@ |
221 | height: page.height |
222 | y: height |
223 | |
224 | - UbuntuShape { |
225 | - id: tip |
226 | - objectName: "bottomEdgeTip" |
227 | - |
228 | - property bool hiden: false |
229 | - |
230 | - readonly property double visiblePosition: (page.height - bottomEdge.y) < units.gu(1) ? -bottomEdge.tipHeight + (page.height - bottomEdge.y) : 0 |
231 | - readonly property double invisiblePosition: (page.height - bottomEdge.y) < units.gu(1) ? -units.gu(1) : 0 |
232 | - |
233 | - z: -1 |
234 | - anchors.horizontalCenter: parent.horizontalCenter |
235 | - y: hiden ? invisiblePosition : visiblePosition |
236 | - |
237 | - width: tipLabel.paintedWidth + units.gu(6) |
238 | - height: bottomEdge.tipHeight + units.gu(1) |
239 | - color: Theme.palette.normal.overlay |
240 | - Label { |
241 | - id: tipLabel |
242 | - |
243 | - anchors { |
244 | - top: parent.top |
245 | - left: parent.left |
246 | - right: parent.right |
247 | - } |
248 | - height: bottomEdge.tipHeight |
249 | - verticalAlignment: Text.AlignVCenter |
250 | - horizontalAlignment: Text.AlignHCenter |
251 | - opacity: tip.hiden ? 0.0 : 1.0 |
252 | - Behavior on opacity { |
253 | - UbuntuNumberAnimation { |
254 | - duration: UbuntuAnimation.SnapDuration |
255 | - } |
256 | - } |
257 | - } |
258 | - Behavior on y { |
259 | - UbuntuNumberAnimation { |
260 | - duration: UbuntuAnimation.SnapDuration |
261 | - } |
262 | - } |
263 | - } |
264 | - |
265 | - Rectangle { |
266 | - id: shadow |
267 | - |
268 | - anchors { |
269 | - left: parent.left |
270 | - right: parent.right |
271 | - } |
272 | - height: units.gu(1) |
273 | - y: -height |
274 | - z: -2 |
275 | - opacity: 0.0 |
276 | - gradient: Gradient { |
277 | - GradientStop { position: 0.0; color: "transparent" } |
278 | - GradientStop { position: 1.0; color: Qt.rgba(0, 0, 0, 0.2) } |
279 | - } |
280 | - } |
281 | - |
282 | - MouseArea { |
283 | - id: mouseArea |
284 | - |
285 | - preventStealing: true |
286 | - drag { |
287 | - axis: Drag.YAxis |
288 | - target: bottomEdge |
289 | - minimumY: bottomEdge.pageStartY |
290 | - maximumY: page.height |
291 | - threshold: 100 |
292 | - } |
293 | - |
294 | - anchors { |
295 | - left: parent.left |
296 | - right: parent.right |
297 | - } |
298 | - height: bottomEdge.tipHeight |
299 | - y: -height |
300 | - |
301 | - onReleased: { |
302 | - page.bottomEdgeReleased() |
303 | - if (bottomEdge.y < (page.height - bottomEdgeExpandThreshold - bottomEdge.tipHeight)) { |
304 | - bottomEdge.state = "expanded" |
305 | - } else { |
306 | - bottomEdge.state = "collapsed" |
307 | - bottomEdge.y = bottomEdge.height |
308 | - } |
309 | - } |
310 | - |
311 | - onClicked: { |
312 | - tip.hiden = false |
313 | - hideIndicator.restart() |
314 | - } |
315 | - } |
316 | - |
317 | + visible: !page.isCollapsed |
318 | state: "collapsed" |
319 | states: [ |
320 | State { |
321 | @@ -290,14 +307,6 @@ |
322 | target: fakeHeader |
323 | y: -fakeHeader.height |
324 | } |
325 | - PropertyChanges { |
326 | - target: tip |
327 | - opacity: 1.0 |
328 | - } |
329 | - PropertyChanges { |
330 | - target: hideIndicator |
331 | - running: true |
332 | - } |
333 | }, |
334 | State { |
335 | name: "expanded" |
336 | @@ -309,10 +318,6 @@ |
337 | target: fakeHeader |
338 | y: 0 |
339 | } |
340 | - PropertyChanges { |
341 | - target: hideIndicator |
342 | - running: false |
343 | - } |
344 | }, |
345 | State { |
346 | name: "floating" |
347 | @@ -321,14 +326,6 @@ |
348 | target: shadow |
349 | opacity: 1.0 |
350 | } |
351 | - PropertyChanges { |
352 | - target: hideIndicator |
353 | - running: false |
354 | - } |
355 | - PropertyChanges { |
356 | - target: tip |
357 | - hiden: false |
358 | - } |
359 | } |
360 | ] |
361 | |
362 | @@ -336,18 +333,35 @@ |
363 | Transition { |
364 | to: "expanded" |
365 | SequentialAnimation { |
366 | + alwaysRunToEnd: true |
367 | ParallelAnimation { |
368 | - UbuntuNumberAnimation { |
369 | + SmoothedAnimation { |
370 | target: bottomEdge |
371 | property: "y" |
372 | - duration: UbuntuAnimation.SlowDuration |
373 | + duration: UbuntuAnimation.FastDuration |
374 | + easing.type: Easing.Linear |
375 | } |
376 | - UbuntuNumberAnimation { |
377 | + SmoothedAnimation { |
378 | target: fakeHeader |
379 | property: "y" |
380 | - duration: UbuntuAnimation.SlowDuration |
381 | + duration: UbuntuAnimation.FastDuration |
382 | + easing.type: Easing.Linear |
383 | } |
384 | } |
385 | + SmoothedAnimation { |
386 | + target: edgeLoader |
387 | + property: "anchors.topMargin" |
388 | + to: - units.gu(4) |
389 | + duration: UbuntuAnimation.FastDuration |
390 | + easing.type: Easing.Linear |
391 | + } |
392 | + SmoothedAnimation { |
393 | + target: edgeLoader |
394 | + property: "anchors.topMargin" |
395 | + to: 0 |
396 | + duration: UbuntuAnimation.FastDuration |
397 | + easing: UbuntuAnimation.StandardEasing |
398 | + } |
399 | ScriptAction { |
400 | script: page._pushPage() |
401 | } |
402 | @@ -357,6 +371,8 @@ |
403 | from: "expanded" |
404 | to: "collapsed" |
405 | SequentialAnimation { |
406 | + alwaysRunToEnd: true |
407 | + |
408 | ScriptAction { |
409 | script: { |
410 | Qt.inputMethod.hide() |
411 | @@ -366,12 +382,12 @@ |
412 | } |
413 | } |
414 | ParallelAnimation { |
415 | - UbuntuNumberAnimation { |
416 | + SmoothedAnimation { |
417 | target: bottomEdge |
418 | property: "y" |
419 | duration: UbuntuAnimation.SlowDuration |
420 | } |
421 | - UbuntuNumberAnimation { |
422 | + SmoothedAnimation { |
423 | target: fakeHeader |
424 | property: "y" |
425 | duration: UbuntuAnimation.SlowDuration |
426 | @@ -382,14 +398,14 @@ |
427 | // destroy current bottom page |
428 | if (page.reloadBottomEdgePage) { |
429 | edgeLoader.active = false |
430 | + } else { |
431 | + tip.forceActiveFocus() |
432 | } |
433 | |
434 | // notify |
435 | page.bottomEdgeDismissed() |
436 | |
437 | edgeLoader.active = true |
438 | - tip.hiden = false |
439 | - hideIndicator.restart() |
440 | } |
441 | } |
442 | } |
443 | @@ -404,30 +420,23 @@ |
444 | } |
445 | ] |
446 | |
447 | - Item { |
448 | + Loader { |
449 | + id: edgeLoader |
450 | + |
451 | + asynchronous: true |
452 | anchors.fill: parent |
453 | - clip: true |
454 | - |
455 | - Loader { |
456 | - id: edgeLoader |
457 | - |
458 | - z: 1 |
459 | - active: true |
460 | - asynchronous: true |
461 | - anchors.fill: parent |
462 | - |
463 | - //WORKAROUND: The SDK move the page contents down to allocate space for the header we need to avoid that during the page dragging |
464 | - Binding { |
465 | - target: edgeLoader.status === Loader.Ready ? edgeLoader : null |
466 | - property: "anchors.topMargin" |
467 | - value: edgeLoader.item && edgeLoader.item.flickable ? edgeLoader.item.flickable.contentY : 0 |
468 | - when: !page.isReady |
469 | - } |
470 | - |
471 | - onLoaded: { |
472 | - if (page.isReady && edgeLoader.item.active !== true) { |
473 | - page._pushPage() |
474 | - } |
475 | + //WORKAROUND: The SDK move the page contents down to allocate space for the header we need to avoid that during the page dragging |
476 | + Binding { |
477 | + target: edgeLoader.status === Loader.Ready ? edgeLoader : null |
478 | + property: "anchors.topMargin" |
479 | + value: edgeLoader.item && edgeLoader.item.flickable ? edgeLoader.item.flickable.contentY : 0 |
480 | + when: !page.isReady |
481 | + } |
482 | + |
483 | + onLoaded: { |
484 | + tip.forceActiveFocus() |
485 | + if (page.isReady && edgeLoader.item.active !== true) { |
486 | + page._pushPage() |
487 | } |
488 | } |
489 | } |
490 | |
491 | === modified file 'debian/changelog' |
492 | --- debian/changelog 2014-09-25 11:29:41 +0000 |
493 | +++ debian/changelog 2014-10-09 16:31:17 +0000 |
494 | @@ -1,3 +1,15 @@ |
495 | +ubuntu-clock-app (3.2) utopic; urgency=medium |
496 | + |
497 | + [Nekhelesh Ramananthan] |
498 | + * Fixed bottom edge hint timeout which made it possible for new users to not notice |
499 | + the bottom edge action. (LP: #1357945) |
500 | + |
501 | + [Akiva Shammai Avraham] |
502 | + * Improved the analog clock performance by updating the clock hands every second |
503 | + rather than every 10 milliseconds. (LP: #1363968) |
504 | + |
505 | + -- Nekhelesh Ramananthan <krnekhelesh@gmail.com> Thu, 09 Oct 2014 18:22:31 +0200 |
506 | + |
507 | ubuntu-clock-app (3.1) utopic; urgency=medium |
508 | |
509 | [Nekhelesh Ramananthan] |
510 | |
511 | === modified file 'manifest.json.in' |
512 | --- manifest.json.in 2014-09-18 15:20:25 +0000 |
513 | +++ manifest.json.in 2014-10-09 16:31:17 +0000 |
514 | @@ -12,7 +12,7 @@ |
515 | "urls": "share/url-dispatcher/urls/com.ubuntu.clock_clock.url-dispatcher" |
516 | } |
517 | }, |
518 | - "version": "3.1.@BZR_REVNO@", |
519 | + "version": "3.2.@BZR_REVNO@", |
520 | "maintainer": "Ubuntu App Cats <ubuntu-touch-coreapps@lists.launchpad.net>", |
521 | "x-test": { |
522 | "autopilot": "ubuntu_clock_app" |
523 | |
524 | === modified file 'tests/autopilot/ubuntu_clock_app/emulators.py' |
525 | --- tests/autopilot/ubuntu_clock_app/emulators.py 2014-09-12 19:44:18 +0000 |
526 | +++ tests/autopilot/ubuntu_clock_app/emulators.py 2014-10-09 16:31:17 +0000 |
527 | @@ -91,6 +91,8 @@ |
528 | self.bottomEdgePageLoaded.wait_for(True) |
529 | try: |
530 | action_item = self.wait_select_single(objectName='bottomEdgeTip') |
531 | + action_item.hiden.wait_for(False) |
532 | + action_item.enabled.wait_for(True) |
533 | start_x = (action_item.globalRect.x + |
534 | (action_item.globalRect.width * 0.5)) |
535 | start_y = (action_item.globalRect.y + |
I notice 2 issues with this MP,
1. The bottom edge hint does not show automatically after opening the clock app.
2. The bottom edge hint does not hide when interacting with the content (scrolling, pressing button). This is also noticed in the upstream addressbook app as well.
3. When user stops interacting, it does not reappear after 5 seconds (also noticeable in upstream implementation).