Mir

Merge lp:~robertcarr/mir/remove-dummy-dispatcher-policy into lp:~mir-team/mir/trunk

Proposed by Robert Carr
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 574
Proposed branch: lp:~robertcarr/mir/remove-dummy-dispatcher-policy
Merge into: lp:~mir-team/mir/trunk
Diff against target: 283 lines (+88/-140)
4 files modified
src/server/input/android/dummy_input_dispatcher_policy.h (+0/-133)
src/server/input/android/event_filter_dispatcher_policy.cpp (+55/-0)
src/server/input/android/event_filter_dispatcher_policy.h (+33/-6)
tests/integration-tests/input/android/test_android_input_manager.cpp (+0/-1)
To merge this branch: bzr merge lp:~robertcarr/mir/remove-dummy-dispatcher-policy
Reviewer Review Type Date Requested Status
Alan Griffiths Approve
Alexandros Frantzis (community) Approve
Kevin DuBois (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+157716@code.launchpad.net

Commit message

Remove DummyInputDispatcherPolicy

Description of the change

I think the DummyInputDispatcherPolicy is a kind of strange pattern which is getting in the way of some stuff I am working on in another branch (preparation for xkb based keymapping).

So lets remove it!

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

seems we're just replacing one stub with another at the moment, i assume the new stub files are the ones that we'll fill in to make the real policy. That being said, the changes look ok.

It looks like nsecs_t are things that come from the android input stack; that being said though, it would be nice if we're moving towards wrapping things like this in our system so all the rough edges around our dependencies are hidden away. Still, looks good to me though. Transitions like that take more time :)

review: Approve
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

Looks good.

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

I'm not sure what is possible after this that wasn't possible before. but it seems harmless.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed file 'src/server/input/android/dummy_input_dispatcher_policy.h'
2--- src/server/input/android/dummy_input_dispatcher_policy.h 2012-11-10 20:36:01 +0000
3+++ src/server/input/android/dummy_input_dispatcher_policy.h 1970-01-01 00:00:00 +0000
4@@ -1,133 +0,0 @@
5-#ifndef MIR_DUMMY_INPUT_DISPATCHER_POLICY_H_
6-#define MIR_DUMMY_INPUT_DISPATCHER_POLICY_H_
7-
8-// from android
9-#include <InputDispatcher.h>
10-
11-namespace android
12-{
13-class InputEvent;
14-}
15-
16-namespace droidinput = android;
17-
18-namespace mir
19-{
20-namespace input
21-{
22-namespace android
23-{
24-/*
25- Dummy implementation of a InputReaderPolicy
26-
27- Delete it once we have a real implementation.
28- */
29-class DummyInputDispatcherPolicy : public droidinput::InputDispatcherPolicyInterface
30-{
31-public:
32- DummyInputDispatcherPolicy() {}
33- virtual ~DummyInputDispatcherPolicy() {}
34-
35- virtual void notifyConfigurationChanged(nsecs_t when)
36- {
37- (void)when;
38- }
39-
40- virtual nsecs_t notifyANR(
41- const droidinput::sp<droidinput::InputApplicationHandle>& inputApplicationHandle,
42- const droidinput::sp<droidinput::InputWindowHandle>& inputWindowHandle)
43- {
44- (void)inputApplicationHandle;
45- (void)inputWindowHandle;
46- return 0;
47- }
48-
49- virtual void notifyInputChannelBroken(
50- const droidinput::sp<droidinput::InputWindowHandle>& inputWindowHandle)
51- {
52- (void)inputWindowHandle;
53- }
54-
55- virtual void getDispatcherConfiguration(
56- droidinput::InputDispatcherConfiguration* outConfig)
57- {
58- (void)outConfig;
59- }
60-
61- virtual bool isKeyRepeatEnabled()
62- {
63- return true;
64- }
65-
66- virtual bool filterInputEvent(const droidinput::InputEvent* inputEvent,
67- uint32_t policyFlags)
68- {
69- (void)inputEvent;
70- (void)policyFlags;
71- return true;
72- }
73-
74- virtual void interceptKeyBeforeQueueing(const droidinput::KeyEvent* keyEvent,
75- uint32_t& policyFlags)
76- {
77- (void)keyEvent;
78- policyFlags = droidinput::POLICY_FLAG_PASS_TO_USER;
79- }
80-
81- virtual void interceptMotionBeforeQueueing(nsecs_t when, uint32_t& policyFlags)
82- {
83- (void)when;
84- policyFlags = droidinput::POLICY_FLAG_PASS_TO_USER;
85- }
86-
87- virtual nsecs_t interceptKeyBeforeDispatching(
88- const droidinput::sp<droidinput::InputWindowHandle>& inputWindowHandle,
89- const droidinput::KeyEvent* keyEvent, uint32_t policyFlags)
90- {
91- (void)inputWindowHandle;
92- (void)keyEvent;
93- (void)policyFlags;
94- return 0;
95- }
96-
97- virtual bool dispatchUnhandledKey(
98- const droidinput::sp<droidinput::InputWindowHandle>& inputWindowHandle,
99- const droidinput::KeyEvent* keyEvent, uint32_t policyFlags,
100- droidinput::KeyEvent* outFallbackKeyEvent)
101- {
102- (void)inputWindowHandle;
103- (void)keyEvent;
104- (void)policyFlags;
105- (void)outFallbackKeyEvent;
106- return false;
107- }
108-
109- virtual void notifySwitch(nsecs_t when,
110- int32_t switchCode, int32_t switchValue, uint32_t policyFlags)
111- {
112- (void)when;
113- (void)switchCode;
114- (void)switchValue;
115- (void)policyFlags;
116- }
117-
118- virtual void pokeUserActivity(nsecs_t eventTime, int32_t eventType)
119- {
120- (void)eventTime;
121- (void)eventType;
122- }
123-
124- virtual bool checkInjectEventsPermissionNonReentrant(
125- int32_t injectorPid, int32_t injectorUid)
126- {
127- (void)injectorPid;
128- (void)injectorUid;
129- return true;
130- }
131-};
132-
133-}
134-}
135-}
136-
137-#endif // MIR_DUMMY_INPUT_DISPATCHER_POLICY_H_
138
139=== modified file 'src/server/input/android/event_filter_dispatcher_policy.cpp'
140--- src/server/input/android/event_filter_dispatcher_policy.cpp 2013-03-25 18:40:44 +0000
141+++ src/server/input/android/event_filter_dispatcher_policy.cpp 2013-04-08 18:25:26 +0000
142@@ -27,6 +27,29 @@
143 {
144 }
145
146+void mia::EventFilterDispatcherPolicy::notifyConfigurationChanged(nsecs_t /* when */)
147+{
148+}
149+
150+nsecs_t mia::EventFilterDispatcherPolicy::notifyANR(droidinput::sp<droidinput::InputApplicationHandle> const& /* inputApplicationHandle */,
151+ droidinput::sp<droidinput::InputWindowHandle> const& /* inputWindowHandle */)
152+{
153+ return 0;
154+}
155+
156+void mia::EventFilterDispatcherPolicy::notifyInputChannelBroken(droidinput::sp<droidinput::InputWindowHandle> const& /* inputWindowHandle */)
157+{
158+}
159+
160+void mia::EventFilterDispatcherPolicy::getDispatcherConfiguration(droidinput::InputDispatcherConfiguration* /* outConfig */)
161+{
162+}
163+
164+bool mia::EventFilterDispatcherPolicy::isKeyRepeatEnabled()
165+{
166+ return true;
167+}
168+
169 bool mia::EventFilterDispatcherPolicy::filterInputEvent(const droidinput::InputEvent* input_event, uint32_t /*policy_flags*/)
170 {
171 MirEvent mir_ev;
172@@ -42,3 +65,35 @@
173 {
174 policy_flags |= droidinput::POLICY_FLAG_PASS_TO_USER;
175 }
176+
177+void mia::EventFilterDispatcherPolicy::interceptMotionBeforeQueueing(nsecs_t /* when */, uint32_t& /* policyFlags */)
178+{
179+ // TODO: Implement for motion events to client.
180+}
181+
182+nsecs_t mia::EventFilterDispatcherPolicy::interceptKeyBeforeDispatching(
183+ droidinput::sp<droidinput::InputWindowHandle> const& /* inputWindowHandle */, droidinput::KeyEvent const* /* keyEvent */, uint32_t /* policyFlags */)
184+{
185+ return 0;
186+}
187+
188+bool mia::EventFilterDispatcherPolicy::dispatchUnhandledKey(droidinput::sp<droidinput::InputWindowHandle> const& /* inputWindowHandle */,
189+ droidinput::KeyEvent const* /* keyEvent */, uint32_t /* policyFlags */,
190+ droidinput::KeyEvent* /* outFallbackKeyEvent */)
191+{
192+ return false;
193+}
194+
195+void mia::EventFilterDispatcherPolicy::notifySwitch(nsecs_t /* when */, int32_t /* switchCode */,
196+ int32_t /* switchValue */, uint32_t /* policyFlags */)
197+{
198+}
199+
200+void mia::EventFilterDispatcherPolicy::pokeUserActivity(nsecs_t /* eventTime */, int32_t /* eventType */)
201+{
202+}
203+
204+bool mia::EventFilterDispatcherPolicy::checkInjectEventsPermissionNonReentrant(int32_t /* injectorPid */, int32_t /* injectorUid */)
205+{
206+ return true;
207+}
208
209=== modified file 'src/server/input/android/event_filter_dispatcher_policy.h'
210--- src/server/input/android/event_filter_dispatcher_policy.h 2013-03-13 04:54:15 +0000
211+++ src/server/input/android/event_filter_dispatcher_policy.h 2013-04-08 18:25:26 +0000
212@@ -18,9 +18,17 @@
213 #ifndef MIR_EVENT_FILTER_DISPATCHER_POLICY_H_
214 #define MIR_EVENT_FILTER_DISPATCHER_POLICY_H_
215
216-#include "dummy_input_dispatcher_policy.h"
217 #include "mir/input/event_filter.h"
218
219+#include <InputDispatcher.h>
220+
221+namespace android
222+{
223+class InputEvent;
224+}
225+
226+namespace droidinput = android;
227+
228 namespace mir
229 {
230 namespace input
231@@ -29,16 +37,35 @@
232 {
233 //class EventFilter;
234
235-class EventFilterDispatcherPolicy : public DummyInputDispatcherPolicy
236+class EventFilterDispatcherPolicy : public droidinput::InputDispatcherPolicyInterface
237 {
238 public:
239 EventFilterDispatcherPolicy(std::shared_ptr<EventFilter> const& event_filter);
240 virtual ~EventFilterDispatcherPolicy() {}
241
242- virtual bool filterInputEvent(const droidinput::InputEvent* input_event,
243- uint32_t policy_flags);
244- virtual void interceptKeyBeforeQueueing(const droidinput::KeyEvent* key_event,
245- uint32_t& policy_flags);
246+ void notifyConfigurationChanged(nsecs_t when);
247+ nsecs_t notifyANR(droidinput::sp<droidinput::InputApplicationHandle> const& inputApplicationHandle,
248+ droidinput::sp<droidinput::InputWindowHandle> const& inputWindowHandle);
249+ void notifyInputChannelBroken(droidinput::sp<droidinput::InputWindowHandle> const& inputWindowHandle);
250+ bool filterInputEvent(const droidinput::InputEvent* input_event,
251+ uint32_t policy_flags);
252+ void interceptKeyBeforeQueueing(const droidinput::KeyEvent* key_event,
253+ uint32_t& policy_flags);
254+ void getDispatcherConfiguration(droidinput::InputDispatcherConfiguration* outConfig);
255+ bool isKeyRepeatEnabled();
256+ void interceptMotionBeforeQueueing(nsecs_t when, uint32_t& policyFlags);
257+
258+ nsecs_t interceptKeyBeforeDispatching(droidinput::sp<droidinput::InputWindowHandle> const& inputWindowHandle,
259+ droidinput::KeyEvent const* keyEvent, uint32_t policyFlags);
260+
261+ bool dispatchUnhandledKey(droidinput::sp<droidinput::InputWindowHandle> const& inputWindowHandle,
262+ droidinput::KeyEvent const* keyEvent, uint32_t policyFlags,
263+ droidinput::KeyEvent* outFallbackKeyEvent);
264+
265+ void notifySwitch(nsecs_t when, int32_t switchCode, int32_t switchValue, uint32_t policyFlags);
266+ void pokeUserActivity(nsecs_t eventTime, int32_t eventType);
267+ bool checkInjectEventsPermissionNonReentrant(int32_t injectorPid, int32_t injectorUid);
268+
269 protected:
270 EventFilterDispatcherPolicy(const EventFilterDispatcherPolicy&) = delete;
271 EventFilterDispatcherPolicy& operator=(const EventFilterDispatcherPolicy&) = delete;
272
273=== modified file 'tests/integration-tests/input/android/test_android_input_manager.cpp'
274--- tests/integration-tests/input/android/test_android_input_manager.cpp 2013-04-02 18:26:40 +0000
275+++ tests/integration-tests/input/android/test_android_input_manager.cpp 2013-04-08 18:25:26 +0000
276@@ -22,7 +22,6 @@
277
278 #include "src/server/input/android/default_android_input_configuration.h"
279 #include "src/server/input/android/android_input_manager.h"
280-#include "src/server/input/android/dummy_input_dispatcher_policy.h"
281 #include "src/server/input/android/event_filter_dispatcher_policy.h"
282
283 #include "mir_test/fake_shared.h"

Subscribers

People subscribed via source and target branches