Mir

Merge lp:~kdub/mir/fix-1535780-android into lp:mir

Proposed by Kevin DuBois
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 3253
Proposed branch: lp:~kdub/mir/fix-1535780-android
Merge into: lp:mir
Diff against target: 70 lines (+49/-0)
2 files modified
src/platforms/android/server/display.cpp (+2/-0)
tests/unit-tests/graphics/android/test_display.cpp (+47/-0)
To merge this branch: bzr merge lp:~kdub/mir/fix-1535780-android
Reviewer Review Type Date Requested Status
Alan Griffiths Approve
PS Jenkins bot (community) continuous-integration Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+283211@code.launchpad.net

Commit message

android: store the configuration change for the form_factor and scale in mga::Display.

part of the fix for LP: #1535780

Description of the change

android: store the configuration change for the form_factor and scale in mga::Display.

part of the fix for LP: #1535780

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3251
https://mir-jenkins.ubuntu.com/job/mir-ci/88/
Executed test runs:
    None: https://mir-jenkins.ubuntu.com/job/generic-update-mp/88/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/88/rebuild

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

PASSED: Continuous integration, rev:3251
http://jenkins.qa.ubuntu.com/job/mir-ci/6062/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5593
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4500
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5549
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/302
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/386
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/386/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/386
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/386/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5546
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5546/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8004
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/26799
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/298
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/298/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/154
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/26808

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6062/rebuild

review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Where's MOVE CORRESPONDING when you need it?

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/platforms/android/server/display.cpp'
2--- src/platforms/android/server/display.cpp 2015-12-21 15:16:20 +0000
3+++ src/platforms/android/server/display.cpp 2016-01-19 20:13:25 +0000
4@@ -261,6 +261,8 @@
5 BOOST_THROW_EXCEPTION(std::logic_error("could not change display buffer format"));
6
7 config[output.id].orientation = output.orientation;
8+ config[output.id].form_factor = output.form_factor;
9+ config[output.id].scale = output.scale;
10
11 geom::Displacement offset(output.top_left - origin);
12 config[output.id].top_left = output.top_left;
13
14=== modified file 'tests/unit-tests/graphics/android/test_display.cpp'
15--- tests/unit-tests/graphics/android/test_display.cpp 2016-01-06 20:19:48 +0000
16+++ tests/unit-tests/graphics/android/test_display.cpp 2016-01-19 20:13:25 +0000
17@@ -559,6 +559,53 @@
18 });
19 }
20
21+//LP: #1535780
22+TEST_F(Display, can_configure_orientation)
23+{
24+ mga::Display display(
25+ stub_db_factory,
26+ stub_gl_program_factory,
27+ stub_gl_config,
28+ null_display_report,
29+ mga::OverlayOptimization::enabled);
30+
31+ auto scale = 4.2f;
32+ auto config = display.configuration();
33+ config->for_each_output([&scale](mg::UserDisplayConfigurationOutput const& c){
34+ c.scale = scale;
35+ });
36+ display.configure(*config);
37+
38+ config = display.configuration();
39+ config->for_each_output([&scale](mg::UserDisplayConfigurationOutput const& c){
40+ if (c.id == primary_output_id)
41+ EXPECT_THAT(c.scale, testing::FloatEq(scale));
42+ });
43+}
44+
45+TEST_F(Display, can_configure_form_factor)
46+{
47+ mga::Display display(
48+ stub_db_factory,
49+ stub_gl_program_factory,
50+ stub_gl_config,
51+ null_display_report,
52+ mga::OverlayOptimization::enabled);
53+
54+ auto form_factor = mir_form_factor_tablet;
55+ auto config = display.configuration();
56+ config->for_each_output([&form_factor](mg::UserDisplayConfigurationOutput const& c){
57+ c.form_factor = form_factor;
58+ });
59+ display.configure(*config);
60+
61+ config = display.configuration();
62+ config->for_each_output([&form_factor](mg::UserDisplayConfigurationOutput const& c){
63+ if (c.id == primary_output_id)
64+ EXPECT_THAT(c.form_factor, testing::Eq(form_factor));
65+ });
66+}
67+
68 TEST_F(Display, keeps_subscription_to_hotplug)
69 {
70 using namespace testing;

Subscribers

People subscribed via source and target branches