diff options
Diffstat (limited to 'apps/SdkController/src/com/android/tools/sdkcontroller/handlers/MultiTouchChannel.java')
-rwxr-xr-x | apps/SdkController/src/com/android/tools/sdkcontroller/handlers/MultiTouchChannel.java | 346 |
1 files changed, 173 insertions, 173 deletions
diff --git a/apps/SdkController/src/com/android/tools/sdkcontroller/handlers/MultiTouchChannel.java b/apps/SdkController/src/com/android/tools/sdkcontroller/handlers/MultiTouchChannel.java index 522a06e..ad00e92 100755 --- a/apps/SdkController/src/com/android/tools/sdkcontroller/handlers/MultiTouchChannel.java +++ b/apps/SdkController/src/com/android/tools/sdkcontroller/handlers/MultiTouchChannel.java @@ -1,173 +1,173 @@ -/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.android.tools.sdkcontroller.handlers;
-
-import android.graphics.Point;
-import android.os.Message;
-import android.util.Log;
-
-import com.android.tools.sdkcontroller.lib.Channel;
-import com.android.tools.sdkcontroller.lib.ProtocolConstants;
-import com.android.tools.sdkcontroller.service.ControllerService;
-
-import java.nio.ByteBuffer;
-
-/**
- * Implements multi-touch emulation.
- */
-public class MultiTouchChannel extends Channel {
-
- @SuppressWarnings("hiding")
- private static final String TAG = MultiTouchChannel.class.getSimpleName();
- /**
- * A new frame buffer has been received from the emulator.
- * Parameter {@code obj} is a {@code byte[] array} containing the screen data.
- */
- public static final int EVENT_FRAME_BUFFER = 1;
- /**
- * A multi-touch "start" command has been received from the emulator.
- * Parameter {@code obj} is the string parameter from the start command.
- */
- public static final int EVENT_MT_START = 2;
- /**
- * A multi-touch "stop" command has been received from the emulator. There
- * is no {@code obj} parameter associated.
- */
- public static final int EVENT_MT_STOP = 3;
-
- private static final Point mViewSize = new Point(0, 0);
-
- /**
- * Constructs MultiTouchChannel instance.
- */
- public MultiTouchChannel(ControllerService service) {
- super(service, Channel.MULTITOUCH_CHANNEL);
- }
-
- /**
- * Sets size of the display view for emulated screen updates.
- *
- * @param width View width in pixels.
- * @param height View height in pixels.
- */
- public void setViewSize(int width, int height) {
- mViewSize.set(width, height);
- }
-
- /*
- * Channel abstract implementation.
- */
-
- /**
- * This method is invoked when this channel is fully connected with its
- * counterpart in the emulator.
- */
- @Override
- public void onEmulatorConnected() {
- if (hasUiHandler()) {
- enable();
- notifyUiHandlers(EVENT_MT_START);
- }
- }
-
- /**
- * This method is invoked when this channel loses connection with its
- * counterpart in the emulator.
- */
- @Override
- public void onEmulatorDisconnected() {
- if (hasUiHandler()) {
- disable();
- notifyUiHandlers(EVENT_MT_STOP);
- }
- }
-
- /**
- * A message has been received from the emulator.
- *
- * @param msg_type Message type.
- * @param msg_data Packet received from the emulator.
- */
- @Override
- public void onEmulatorMessage(int msg_type, ByteBuffer msg_data) {
- switch (msg_type) {
- case ProtocolConstants.MT_FB_UPDATE:
- Message msg = Message.obtain();
- msg.what = EVENT_FRAME_BUFFER;
- msg.obj = msg_data;
- postMessage(ProtocolConstants.MT_FB_ACK, (byte[]) null);
- notifyUiHandlers(msg);
- break;
-
- default:
- Log.e(TAG, "Unknown message type " + msg_type);
- }
- }
-
- /**
- * A query has been received from the emulator.
- *
- * @param query_id Identifies the query. This ID must be used when replying
- * to the query.
- * @param query_type Query type.
- * @param query_data Query data.
- */
- @Override
- public void onEmulatorQuery(int query_id, int query_type, ByteBuffer query_data) {
- Loge("Unexpected query " + query_type + " in multi-touch");
- sendQueryResponse(query_id, (byte[]) null);
- }
-
- /**
- * Registers a new UI handler.
- *
- * @param uiHandler A non-null UI handler to register. Ignored if the UI
- * handler is null or already registered.
- */
- @Override
- public void addUiHandler(android.os.Handler uiHandler) {
- final boolean first_handler = !hasUiHandler();
- super.addUiHandler(uiHandler);
- if (first_handler && isConnected()) {
- enable();
- notifyUiHandlers(EVENT_MT_START);
- }
- }
-
- /**
- * Unregisters an UI handler.
- *
- * @param uiHandler A non-null UI listener to unregister. Ignored if the
- * listener is null or already registered.
- */
- @Override
- public void removeUiHandler(android.os.Handler uiHandler) {
- super.removeUiHandler(uiHandler);
- if (isConnected() && !hasUiHandler()) {
- disable();
- }
- }
-
- /***************************************************************************
- * Logging wrappers
- **************************************************************************/
-
- private void Loge(String log) {
- mService.addError(log);
- Log.e(TAG, log);
- }
-}
+/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.android.tools.sdkcontroller.handlers; + +import android.graphics.Point; +import android.os.Message; +import android.util.Log; + +import com.android.tools.sdkcontroller.lib.Channel; +import com.android.tools.sdkcontroller.lib.ProtocolConstants; +import com.android.tools.sdkcontroller.service.ControllerService; + +import java.nio.ByteBuffer; + +/** + * Implements multi-touch emulation. + */ +public class MultiTouchChannel extends Channel { + + @SuppressWarnings("hiding") + private static final String TAG = MultiTouchChannel.class.getSimpleName(); + /** + * A new frame buffer has been received from the emulator. + * Parameter {@code obj} is a {@code byte[] array} containing the screen data. + */ + public static final int EVENT_FRAME_BUFFER = 1; + /** + * A multi-touch "start" command has been received from the emulator. + * Parameter {@code obj} is the string parameter from the start command. + */ + public static final int EVENT_MT_START = 2; + /** + * A multi-touch "stop" command has been received from the emulator. There + * is no {@code obj} parameter associated. + */ + public static final int EVENT_MT_STOP = 3; + + private static final Point mViewSize = new Point(0, 0); + + /** + * Constructs MultiTouchChannel instance. + */ + public MultiTouchChannel(ControllerService service) { + super(service, Channel.MULTITOUCH_CHANNEL); + } + + /** + * Sets size of the display view for emulated screen updates. + * + * @param width View width in pixels. + * @param height View height in pixels. + */ + public void setViewSize(int width, int height) { + mViewSize.set(width, height); + } + + /* + * Channel abstract implementation. + */ + + /** + * This method is invoked when this channel is fully connected with its + * counterpart in the emulator. + */ + @Override + public void onEmulatorConnected() { + if (hasUiHandler()) { + enable(); + notifyUiHandlers(EVENT_MT_START); + } + } + + /** + * This method is invoked when this channel loses connection with its + * counterpart in the emulator. + */ + @Override + public void onEmulatorDisconnected() { + if (hasUiHandler()) { + disable(); + notifyUiHandlers(EVENT_MT_STOP); + } + } + + /** + * A message has been received from the emulator. + * + * @param msg_type Message type. + * @param msg_data Packet received from the emulator. + */ + @Override + public void onEmulatorMessage(int msg_type, ByteBuffer msg_data) { + switch (msg_type) { + case ProtocolConstants.MT_FB_UPDATE: + Message msg = Message.obtain(); + msg.what = EVENT_FRAME_BUFFER; + msg.obj = msg_data; + postMessage(ProtocolConstants.MT_FB_ACK, (byte[]) null); + notifyUiHandlers(msg); + break; + + default: + Log.e(TAG, "Unknown message type " + msg_type); + } + } + + /** + * A query has been received from the emulator. + * + * @param query_id Identifies the query. This ID must be used when replying + * to the query. + * @param query_type Query type. + * @param query_data Query data. + */ + @Override + public void onEmulatorQuery(int query_id, int query_type, ByteBuffer query_data) { + Loge("Unexpected query " + query_type + " in multi-touch"); + sendQueryResponse(query_id, (byte[]) null); + } + + /** + * Registers a new UI handler. + * + * @param uiHandler A non-null UI handler to register. Ignored if the UI + * handler is null or already registered. + */ + @Override + public void addUiHandler(android.os.Handler uiHandler) { + final boolean first_handler = !hasUiHandler(); + super.addUiHandler(uiHandler); + if (first_handler && isConnected()) { + enable(); + notifyUiHandlers(EVENT_MT_START); + } + } + + /** + * Unregisters an UI handler. + * + * @param uiHandler A non-null UI listener to unregister. Ignored if the + * listener is null or already registered. + */ + @Override + public void removeUiHandler(android.os.Handler uiHandler) { + super.removeUiHandler(uiHandler); + if (isConnected() && !hasUiHandler()) { + disable(); + } + } + + /*************************************************************************** + * Logging wrappers + **************************************************************************/ + + private void Loge(String log) { + mService.addError(log); + Log.e(TAG, log); + } +} |