be1aa8250c
Bug: 5064702 Introduced the concept of an InputListener to further decouple the InputReader from the InputDispatcher. The InputListener exposes just the minimum interface that the InputReader needs to communicate with the outside world. The InputReader passes arguments to the InputListener by reference, which makes it easy to queue them up. Consolidated all of the InputReader locks into one simple global Mutex. The reason this wasn't done before was due to potential re-entrance in outbound calls to the InputDispatcher. To fix this, the InputReader now queues up all of the events it wants to send using a QueuedInputListener, then flushes them outside of the critical section after all of the event processing is finished. Removing all of the InputMapper locks greatly simplifies the implementation. Added tests for new stylus features such as buttons, tool types, and hovering. Added some helpers to BitSet32 to handle common code patterns like finding the first marked bit and clearing it. Fixed a bug in VelocityTracker where the wrong pointer trace could get cleared when handling ACTION_POINTER_DOWN. Oops. Changed PointerCoords so it no longer stores useless zero axis values. Removed editAxisValue because it is not very useful when all zero value axes are absent and therefore cannot be edited in place. Added dispatch of stylus hover events. Added support for distance and tool types. Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
# Copyright (C) 2010 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.
|
|
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES:= \
|
|
EventHub.cpp \
|
|
InputDispatcher.cpp \
|
|
InputListener.cpp \
|
|
InputManager.cpp \
|
|
InputReader.cpp \
|
|
InputWindow.cpp \
|
|
PointerController.cpp \
|
|
SpriteController.cpp
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libcutils \
|
|
libutils \
|
|
libhardware \
|
|
libhardware_legacy \
|
|
libskia \
|
|
libgui \
|
|
libui
|
|
|
|
LOCAL_C_INCLUDES := \
|
|
external/skia/include/core
|
|
|
|
LOCAL_MODULE:= libinput
|
|
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
|
|
# Include subdirectory makefiles
|
|
# ============================================================
|
|
|
|
# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
|
|
# team really wants is to build the stuff defined by this makefile.
|
|
ifeq (,$(ONE_SHOT_MAKEFILE))
|
|
include $(call first-makefiles-under,$(LOCAL_PATH))
|
|
endif
|