InputApplicationHandle.java revision cc4f7db698f88b633a286d8ab1105b28a474cd09
1928e054931d357326613c78e62f4d850b7c442ffJeff Brown/* 2928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Copyright (C) 2011 The Android Open Source Project 3928e054931d357326613c78e62f4d850b7c442ffJeff Brown * 4928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 5928e054931d357326613c78e62f4d850b7c442ffJeff Brown * you may not use this file except in compliance with the License. 6928e054931d357326613c78e62f4d850b7c442ffJeff Brown * You may obtain a copy of the License at 7928e054931d357326613c78e62f4d850b7c442ffJeff Brown * 8928e054931d357326613c78e62f4d850b7c442ffJeff Brown * http://www.apache.org/licenses/LICENSE-2.0 9928e054931d357326613c78e62f4d850b7c442ffJeff Brown * 10928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Unless required by applicable law or agreed to in writing, software 11928e054931d357326613c78e62f4d850b7c442ffJeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 12928e054931d357326613c78e62f4d850b7c442ffJeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13928e054931d357326613c78e62f4d850b7c442ffJeff Brown * See the License for the specific language governing permissions and 14928e054931d357326613c78e62f4d850b7c442ffJeff Brown * limitations under the License. 15928e054931d357326613c78e62f4d850b7c442ffJeff Brown */ 16928e054931d357326613c78e62f4d850b7c442ffJeff Brown 17a924dc0db952fe32509435fdb8dc9c84a9e181f3Dianne Hackbornpackage com.android.server.wm; 18a924dc0db952fe32509435fdb8dc9c84a9e181f3Dianne Hackborn 19928e054931d357326613c78e62f4d850b7c442ffJeff Brown 20928e054931d357326613c78e62f4d850b7c442ffJeff Brown/** 21928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Functions as a handle for an application that can receive input. 22928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Enables the native input dispatcher to refer indirectly to the window manager's 23928e054931d357326613c78e62f4d850b7c442ffJeff Brown * application window token. 24928e054931d357326613c78e62f4d850b7c442ffJeff Brown * @hide 25928e054931d357326613c78e62f4d850b7c442ffJeff Brown */ 26928e054931d357326613c78e62f4d850b7c442ffJeff Brownpublic final class InputApplicationHandle { 27928e054931d357326613c78e62f4d850b7c442ffJeff Brown // Pointer to the native input application handle. 28928e054931d357326613c78e62f4d850b7c442ffJeff Brown // This field is lazily initialized via JNI. 29928e054931d357326613c78e62f4d850b7c442ffJeff Brown @SuppressWarnings("unused") 30928e054931d357326613c78e62f4d850b7c442ffJeff Brown private int ptr; 31928e054931d357326613c78e62f4d850b7c442ffJeff Brown 32928e054931d357326613c78e62f4d850b7c442ffJeff Brown // The window manager's application window token. 336e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn public final AppWindowToken appWindowToken; 34928e054931d357326613c78e62f4d850b7c442ffJeff Brown 359302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown // Application name. 369302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown public String name; 379302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown 389302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown // Dispatching timeout. 399302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown public long dispatchingTimeoutNanos; 409302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown 41928e054931d357326613c78e62f4d850b7c442ffJeff Brown private native void nativeDispose(); 42928e054931d357326613c78e62f4d850b7c442ffJeff Brown 436e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn public InputApplicationHandle(AppWindowToken appWindowToken) { 44928e054931d357326613c78e62f4d850b7c442ffJeff Brown this.appWindowToken = appWindowToken; 45928e054931d357326613c78e62f4d850b7c442ffJeff Brown } 46928e054931d357326613c78e62f4d850b7c442ffJeff Brown 47928e054931d357326613c78e62f4d850b7c442ffJeff Brown @Override 48928e054931d357326613c78e62f4d850b7c442ffJeff Brown protected void finalize() throws Throwable { 49cc4f7db698f88b633a286d8ab1105b28a474cd09Jeff Brown try { 50cc4f7db698f88b633a286d8ab1105b28a474cd09Jeff Brown nativeDispose(); 51cc4f7db698f88b633a286d8ab1105b28a474cd09Jeff Brown } finally { 52cc4f7db698f88b633a286d8ab1105b28a474cd09Jeff Brown super.finalize(); 53cc4f7db698f88b633a286d8ab1105b28a474cd09Jeff Brown } 54928e054931d357326613c78e62f4d850b7c442ffJeff Brown } 55928e054931d357326613c78e62f4d850b7c442ffJeff Brown} 56