1349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown/* 2349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * Copyright (C) 2010 The Android Open Source Project 3349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * 4349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 5349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * you may not use this file except in compliance with the License. 6349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * You may obtain a copy of the License at 7349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * 8349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 9349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * 10349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * Unless required by applicable law or agreed to in writing, software 11349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 12349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * See the License for the specific language governing permissions and 14349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * limitations under the License. 15349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown */ 16349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 17349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brownpackage com.android.server; 18349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 19349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brownimport android.view.InputChannel; 20349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 21349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown/** 22349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * Describes input-related window properties for use by the input dispatcher. 23349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * 24349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown * @hide 25349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown */ 26349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brownpublic final class InputWindow { 27349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // The input channel associated with the window. 28349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public InputChannel inputChannel; 29349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 30519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown // The window name. 31519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown public String name; 32519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown 33349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Window layout params attributes. (WindowManager.LayoutParams) 34349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int layoutParamsFlags; 35349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int layoutParamsType; 36349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 37349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Dispatching timeout. 38349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public long dispatchingTimeoutNanos; 39349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 4085a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown // Window frame area. 41349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int frameLeft; 42349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int frameTop; 4385a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown public int frameRight; 4485a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown public int frameBottom; 4585a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown 4685a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown // Window visible frame area. 4785a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown public int visibleFrameLeft; 4885a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown public int visibleFrameTop; 4985a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown public int visibleFrameRight; 5085a3176704b5bfbeece9bd928369fbb76eec7dc6Jeff Brown public int visibleFrameBottom; 51349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 52349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Window touchable area. 53349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int touchableAreaLeft; 54349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int touchableAreaTop; 55349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int touchableAreaRight; 56349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int touchableAreaBottom; 57349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 58349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Window is visible. 59349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public boolean visible; 60349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 61519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown // Window can receive keys. 62519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown public boolean canReceiveKeys; 63519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown 64349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Window has focus. 65349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public boolean hasFocus; 66349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 67349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Window has wallpaper. (window is the current wallpaper target) 68349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public boolean hasWallpaper; 69349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 70349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Input event dispatching is paused. 71349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public boolean paused; 72349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 73519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown // Window layer. 74519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown public int layer; 75519e024d1e682ca458cc2dab743589a12992c0e1Jeff Brown 76349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown // Id of process and user that owns the window. 77349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int ownerPid; 78349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public int ownerUid; 79349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown 80349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown public void recycle() { 81349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown inputChannel = null; 82349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown } 83349703effce5acc53ed96f7ed8556131f0c65e18Jeff Brown} 84