Merge lp:~andreas-pokorny/mir/fix-1531517 into lp:mir
| Status: | Merged | ||||
|---|---|---|---|---|---|
| Approved by: | Alexandros Frantzis on 2016-01-15 | ||||
| Approved revision: | 3245 | ||||
| Merged at revision: | 3243 | ||||
| Proposed branch: | lp:~andreas-pokorny/mir/fix-1531517 | ||||
| Merge into: | lp:mir | ||||
| Diff against target: |
362 lines (+241/-44) 2 files modified
src/server/input/android/input_sender.cpp (+69/-28) tests/unit-tests/input/android/test_android_input_sender.cpp (+172/-16) |
||||
| To merge this branch: | bzr merge lp:~andreas-pokorny/mir/fix-1531517 | ||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| PS Jenkins bot | continuous-integration | Approve on 2016-01-15 | |
| Mir CI Bot | continuous-integration | Approve on 2016-01-15 | |
| Brandon Schaefer (community) | Approve on 2016-01-15 | ||
| Kevin DuBois (community) | Approve on 2016-01-14 | ||
| Alexandros Frantzis (community) | 2016-01-13 | Approve on 2016-01-14 | |
|
Review via email:
|
|||
Commit Message
Never encode more than one action per event
Android InputTransport has only one action parameter per event. Within that the contact that caused the action is also encoded. So until we replace or extend the input transport protocol, we have to split up MirEvents, to not lose touch up/down changes.
Description of the Change
This change splits a MirEvent into several input transport messages when more than one contact was changed.
Alternatively to this approach we could 'just' change the InputTransport protocol... But I would wait with that when bschaefer gets around to add the cookie.. Additionally Daniel D'Andrada indicated that qt might not like seeing multiple state changes, at least there was some uncertainty.
- 3242. By Andreas Pokorny on 2016-01-13
-
fix MirCookie init in test case
| Alexandros Frantzis (afrantzis) wrote : | # |
I find it hard to follow the logic in the main loop, although this could just be a result of my unfamiliarity with the domain. Perhaps breaking up the code into multiple distinct passes over the touch points, each pass performing a simple task and setting up state for the next pass, would make the code clearer.
I don't see anything wrong with the code, but I am not confident enough to "approve" either, so "abstain" :)
| Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:3241
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
| Andreas Pokorny (andreas-pokorny) wrote : | # |
> I find it hard to follow the logic in the main loop, although this could just
> be a result of my unfamiliarity with the domain. Perhaps breaking up the code
> into multiple distinct passes over the touch points, each pass performing a
> simple task and setting up state for the next pass, would make the code
> clearer.
>
> I don't see anything wrong with the code, but I am not confident enough to
> "approve" either, so "abstain" :)
fair enough.
Hm I cannot see a simple solution .. I have three types up:
* up contacts have to be sent as change events until they have been processed then they have to be ignored.
* change contact are added always
* down contacts have to be omitted until they get processed.. then they have to be sent as change contacts..
ah.. yeah i guess that could turn into simpler code. Will give it a try.
| Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:3242
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3242
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 3243. By Andreas Pokorny on 2016-01-14
-
Reduced loop state a lot, by encoding the state changes in a separate array
- 3244. By Andreas Pokorny on 2016-01-14
-
lambda not needed either..
| Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:3243
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
| Alexandros Frantzis (afrantzis) wrote : | # |
OK. I am still missing some domain knowledge about why things are done this way, but the code is clearer. Thanks.
| Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:3244
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3243
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Brandon Schaefer (brandontschaefer) wrote : | # |
LGTM. For my changes ill just be hard coding an uint8_t[20] for the mac, sooo this wont cause me any issues. Which will just give me a operator= copy/move for the mac anyway soo no fancy changes needed on my end here.
Sooo really depends on whos branch lands first :), should be a simple conflict (if any)
One things:
+#include <unordered_set>
+ std::unordered_
Doesnt seem to be used?
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3244
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 3245. By Andreas Pokorny on 2016-01-14
-
unused variable removed:
| Andreas Pokorny (andreas-pokorny) wrote : | # |
> LGTM. For my changes ill just be hard coding an uint8_t[20] for the mac, sooo
> this wont cause me any issues. Which will just give me a operator= copy/move
> for the mac anyway soo no fancy changes needed on my end here.
>
> Sooo really depends on whos branch lands first :), should be a simple conflict
> (if any)
>
> One things:
> +#include <unordered_set>
> + std::unordered_
>
> Doesnt seem to be used?
yes removed that
| Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:3245
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3245
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

FAILED: Continuous integration, rev:3241 jenkins. qa.ubuntu. com/job/ mir-ci/ 6001/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/5514/ console jenkins. qa.ubuntu. com/job/ mir-clang- vivid-amd64- build/4421 jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/5470/ console jenkins. qa.ubuntu. com/job/ mir-xenial- amd64-ci/ 325 jenkins. qa.ubuntu. com/job/ mir-xenial- amd64-ci/ 325/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-xenial- i386-ci/ 325 jenkins. qa.ubuntu. com/job/ mir-xenial- i386-ci/ 325/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 5467/console
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/6001/ rebuild
http://