WindowManager.java revision 611fae4c39edbeb23b53f789a0219c539cf32fa6
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.view; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.pm.ActivityInfo; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.graphics.PixelFormat; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.IBinder; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcel; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcelable; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.text.TextUtils; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The interface that apps use to talk to the window manager. 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p> 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Use <code>Context.getSystemService(Context.WINDOW_SERVICE)</code> to get one of these. 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see android.content.Context#getSystemService 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see android.content.Context#WINDOW_SERVICE 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface WindowManager extends ViewManager { 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Exception that is thrown when trying to add view whose 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link WindowManager.LayoutParams} {@link WindowManager.LayoutParams#token} 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is invalid. 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static class BadTokenException extends RuntimeException { 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public BadTokenException() { 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public BadTokenException(String name) { 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(name); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Use this method to get the default Display object. 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return default Display object 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Display getDefaultDisplay(); 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Special variation of {@link #removeView} that immediately invokes 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the given view hierarchy's {@link View#onDetachedFromWindow() 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * View.onDetachedFromWindow()} methods before returning. This is not 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for normal applications; using it correctly requires great care. 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param view The view to be removed. 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void removeViewImmediate(View view); 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static class LayoutParams extends ViewGroup.LayoutParams 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project implements Parcelable { 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * X position for this window. With the default gravity it is ignored. 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * When using {@link Gravity#LEFT} or {@link Gravity#RIGHT} it provides 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an offset from the given edge. 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int x; 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Y position for this window. With the default gravity it is ignored. 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * When using {@link Gravity#TOP} or {@link Gravity#BOTTOM} it provides 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an offset from the given edge. 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int y; 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Indicates how much of the extra space will be allocated horizontally 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to the view associated with these LayoutParams. Specify 0 if the view 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * should not be stretched. Otherwise the extra pixels will be pro-rated 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * among all views whose weight is greater than 0. 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float horizontalWeight; 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Indicates how much of the extra space will be allocated vertically 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to the view associated with these LayoutParams. Specify 0 if the view 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * should not be stretched. Otherwise the extra pixels will be pro-rated 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * among all views whose weight is greater than 0. 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float verticalWeight; 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The general type of window. There are three main classes of 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window types: 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li> <strong>Application windows</strong> (ranging from 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FIRST_APPLICATION_WINDOW} to 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #LAST_APPLICATION_WINDOW}) are normal top-level application 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * windows. For these types of windows, the {@link #token} must be 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * set to the token of the activity they are a part of (this will 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * normally be done for you if {@link #token} is null). 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li> <strong>Sub-windows</strong> (ranging from 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FIRST_SUB_WINDOW} to 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #LAST_SUB_WINDOW}) are associated with another top-level 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window. For these types of windows, the {@link #token} must be 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the token of the window it is attached to. 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li> <strong>System windows</strong> (ranging from 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FIRST_SYSTEM_WINDOW} to 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #LAST_SYSTEM_WINDOW}) are special types of windows for 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * use by the system for specific purposes. They should not normally 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be used by applications, and a special permission is required 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to use them. 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_BASE_APPLICATION 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_APPLICATION 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_APPLICATION_STARTING 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_APPLICATION_PANEL 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_APPLICATION_MEDIA 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_APPLICATION_SUB_PANEL 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_APPLICATION_ATTACHED_DIALOG 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_STATUS_BAR 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_SEARCH_BAR 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_PHONE 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_SYSTEM_ALERT 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_KEYGUARD 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_TOAST 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_SYSTEM_OVERLAY 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_PRIORITY_PHONE 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_STATUS_BAR_PANEL 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_SYSTEM_DIALOG 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_KEYGUARD_DIALOG 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_SYSTEM_ERROR 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_INPUT_METHOD 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #TYPE_INPUT_METHOD_DIALOG 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1458f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.ExportedProperty(mapping = { 1468f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_BASE_APPLICATION, to = "TYPE_BASE_APPLICATION"), 1478f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_APPLICATION, to = "TYPE_APPLICATION"), 1488f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_APPLICATION_STARTING, to = "TYPE_APPLICATION_STARTING"), 1498f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_APPLICATION_PANEL, to = "TYPE_APPLICATION_PANEL"), 1508f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_APPLICATION_MEDIA, to = "TYPE_APPLICATION_MEDIA"), 1518f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_APPLICATION_SUB_PANEL, to = "TYPE_APPLICATION_SUB_PANEL"), 1528f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_APPLICATION_ATTACHED_DIALOG, to = "TYPE_APPLICATION_ATTACHED_DIALOG"), 1538f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_STATUS_BAR, to = "TYPE_STATUS_BAR"), 1548f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_SEARCH_BAR, to = "TYPE_SEARCH_BAR"), 1558f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_PHONE, to = "TYPE_PHONE"), 1568f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_SYSTEM_ALERT, to = "TYPE_SYSTEM_ALERT"), 1578f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_KEYGUARD, to = "TYPE_KEYGUARD"), 1588f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_TOAST, to = "TYPE_TOAST"), 1598f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_SYSTEM_OVERLAY, to = "TYPE_SYSTEM_OVERLAY"), 1608f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_PRIORITY_PHONE, to = "TYPE_PRIORITY_PHONE"), 1618f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_STATUS_BAR_PANEL, to = "TYPE_STATUS_BAR_PANEL"), 1628f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_SYSTEM_DIALOG, to = "TYPE_SYSTEM_DIALOG"), 1638f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_KEYGUARD_DIALOG, to = "TYPE_KEYGUARD_DIALOG"), 1648f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_SYSTEM_ERROR, to = "TYPE_SYSTEM_ERROR"), 1658f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_INPUT_METHOD, to = "TYPE_INPUT_METHOD"), 1668f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.IntToString(from = TYPE_INPUT_METHOD_DIALOG, to = "TYPE_INPUT_METHOD_DIALOG") 1678f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato }) 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int type; 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Start of window types that represent normal application windows. 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FIRST_APPLICATION_WINDOW = 1; 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: an application window that serves as the "base" window 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of the overall application; all other application windows will 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * appear on top of it. 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_BASE_APPLICATION = 1; 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: a normal application window. The {@link #token} must be 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an Activity token identifying who the window belongs to. 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_APPLICATION = 2; 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: special application window that is displayed while the 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * application is starting. Not for use by applications themselves; 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * this is used by the system to display something until the 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * application can show its own windows. 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_APPLICATION_STARTING = 3; 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * End of types of application windows. 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAST_APPLICATION_WINDOW = 99; 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Start of types of sub-windows. The {@link #token} of these windows 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * must be set to the window they are attached to. These types of 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * windows are kept next to their attached window in Z-order, and their 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * coordinate space is relative to their attached window. 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FIRST_SUB_WINDOW = 1000; 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: a panel on top of an application window. These windows 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * appear on top of their attached window. 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_APPLICATION_PANEL = FIRST_SUB_WINDOW; 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: window for showing media (e.g. video). These windows 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are displayed behind their attached window. 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_APPLICATION_MEDIA = FIRST_SUB_WINDOW+1; 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: a sub-panel on top of an application window. These 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * windows are displayed on top their attached window and any 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_APPLICATION_PANEL} panels. 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_APPLICATION_SUB_PANEL = FIRST_SUB_WINDOW+2; 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window type: like {@link #TYPE_APPLICATION_PANEL}, but layout 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of the window happens as that of a top-level window, <em>not</em> 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * as a child of its container. 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_APPLICATION_ATTACHED_DIALOG = FIRST_SUB_WINDOW+3; 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 235c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn * Window type: window for showing overlays on top of media windows. 236c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn * These windows are displayed between TYPE_APPLICATION_MEDIA and the 237c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn * application window. They should be translucent to be useful. This 238c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn * is a big ugly hack so: 239c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn * @hide 240c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn */ 241c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn public static final int TYPE_APPLICATION_MEDIA_OVERLAY = FIRST_SUB_WINDOW+4; 242c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn 243c4d5d02667af6989a3121072871f6a4b1e68b594Dianne Hackborn /** 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * End of types of sub-windows. 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAST_SUB_WINDOW = 1999; 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Start of system-specific window types. These are not normally 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * created by applications. 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FIRST_SYSTEM_WINDOW = 2000; 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: the status bar. There can be only one status bar 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window; it is placed at the top of the screen, and all other 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * windows are shifted down so they are below it. 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_STATUS_BAR = FIRST_SYSTEM_WINDOW; 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: the search bar. There can be only one search bar 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window; it is placed at the top of the screen. 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_SEARCH_BAR = FIRST_SYSTEM_WINDOW+1; 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: phone. These are non-application windows providing 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * user interaction with the phone (in particular incoming calls). 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * These windows are normally placed above all applications, but behind 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the status bar. 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_PHONE = FIRST_SYSTEM_WINDOW+2; 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: system window, such as low power alert. These windows 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are always on top of application windows. 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_SYSTEM_ALERT = FIRST_SYSTEM_WINDOW+3; 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: keyguard window. 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_KEYGUARD = FIRST_SYSTEM_WINDOW+4; 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: transient notifications. 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TOAST = FIRST_SYSTEM_WINDOW+5; 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: system overlay windows, which need to be displayed 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * on top of everything else. These windows must not take input 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * focus, or they will interfere with the keyguard. 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_SYSTEM_OVERLAY = FIRST_SYSTEM_WINDOW+6; 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: priority phone UI, which needs to be displayed even if 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the keyguard is active. These windows must not take input 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * focus, or they will interfere with the keyguard. 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_PRIORITY_PHONE = FIRST_SYSTEM_WINDOW+7; 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: panel that slides out from the status bar 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_SYSTEM_DIALOG = FIRST_SYSTEM_WINDOW+8; 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: dialogs that the keyguard shows 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_KEYGUARD_DIALOG = FIRST_SYSTEM_WINDOW+9; 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: internal system error windows, appear on top of 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * everything they can. 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_SYSTEM_ERROR = FIRST_SYSTEM_WINDOW+10; 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: internal input methods windows, which appear above 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the normal UI. Application windows may be resized or panned to keep 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the input focus visible while this window is displayed. 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_INPUT_METHOD = FIRST_SYSTEM_WINDOW+11; 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Window type: internal input methods dialog windows, which appear above 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the current input method window. 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_INPUT_METHOD_DIALOG= FIRST_SYSTEM_WINDOW+12; 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3354c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn * Window type: wallpaper window, placed behind any window that wants 3364c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn * to sit on top of the wallpaper. 3374c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn */ 3384c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn public static final int TYPE_WALLPAPER = FIRST_SYSTEM_WINDOW+13; 3394c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn 3404c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn /** 341badc47ecd1677d5f53bb16f8f30c158a879f5832Dianne Hackborn * Window type: panel that slides out from the status bar 342badc47ecd1677d5f53bb16f8f30c158a879f5832Dianne Hackborn */ 343badc47ecd1677d5f53bb16f8f30c158a879f5832Dianne Hackborn public static final int TYPE_STATUS_BAR_PANEL = FIRST_SYSTEM_WINDOW+14; 344badc47ecd1677d5f53bb16f8f30c158a879f5832Dianne Hackborn 345badc47ecd1677d5f53bb16f8f30c158a879f5832Dianne Hackborn /** 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * End of types of system windows. 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAST_SYSTEM_WINDOW = 2999; 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Specifies what type of memory buffers should be used by this window. 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Default is normal. 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #MEMORY_TYPE_NORMAL 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #MEMORY_TYPE_PUSH_BUFFERS 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int memoryType; 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Memory type: The window's surface is allocated in main memory. */ 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int MEMORY_TYPE_NORMAL = 0; 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Memory type: The window's surface is configured to be accessible 362317a6280cc109e873646e4652be1582d870eedfdMathias Agopian * by DMA engines and hardware accelerators. 363317a6280cc109e873646e4652be1582d870eedfdMathias Agopian * @deprecated this is ignored, this value is set automatically when needed. 364317a6280cc109e873646e4652be1582d870eedfdMathias Agopian */ 365317a6280cc109e873646e4652be1582d870eedfdMathias Agopian @Deprecated 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int MEMORY_TYPE_HARDWARE = 1; 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Memory type: The window's surface is configured to be accessible 368317a6280cc109e873646e4652be1582d870eedfdMathias Agopian * by graphics accelerators. 369317a6280cc109e873646e4652be1582d870eedfdMathias Agopian * @deprecated this is ignored, this value is set automatically when needed. 370317a6280cc109e873646e4652be1582d870eedfdMathias Agopian */ 371317a6280cc109e873646e4652be1582d870eedfdMathias Agopian @Deprecated 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int MEMORY_TYPE_GPU = 2; 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Memory type: The window's surface doesn't own its buffers and 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * therefore cannot be locked. Instead the buffers are pushed to 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * it through native binder calls. */ 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int MEMORY_TYPE_PUSH_BUFFERS = 3; 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Various behavioral options/flags. Default is none. 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_BLUR_BEHIND 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_DIM_BEHIND 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_NOT_FOCUSABLE 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_NOT_TOUCHABLE 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_NOT_TOUCH_MODAL 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_LAYOUT_IN_SCREEN 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_DITHER 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_KEEP_SCREEN_ON 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_FULLSCREEN 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_FORCE_NOT_FULLSCREEN 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #FLAG_IGNORE_CHEEK_PRESSES 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3938f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.ExportedProperty(flagMapping = { 3948f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_BLUR_BEHIND, equals = FLAG_BLUR_BEHIND, 3958f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_BLUR_BEHIND"), 3968f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_DIM_BEHIND, equals = FLAG_DIM_BEHIND, 3978f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_DIM_BEHIND"), 3988f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_NOT_FOCUSABLE, equals = FLAG_NOT_FOCUSABLE, 3998f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_NOT_FOCUSABLE"), 4008f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_NOT_TOUCHABLE, equals = FLAG_NOT_TOUCHABLE, 4018f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_NOT_TOUCHABLE"), 4028f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_NOT_TOUCH_MODAL, equals = FLAG_NOT_TOUCH_MODAL, 4038f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_NOT_TOUCH_MODAL"), 4048f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_LAYOUT_IN_SCREEN, equals = FLAG_LAYOUT_IN_SCREEN, 4058f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_LAYOUT_IN_SCREEN"), 4068f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_DITHER, equals = FLAG_DITHER, 4078f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_DITHER"), 40820e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler @ViewDebug.FlagToString(mask = FLAG_TURN_SCREEN_ON, equals = FLAG_TURN_SCREEN_ON, 40920e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler name = "FLAG_TURN_SCREEN_ON"), 4108f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_KEEP_SCREEN_ON, equals = FLAG_KEEP_SCREEN_ON, 4118f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_KEEP_SCREEN_ON"), 41220e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler @ViewDebug.FlagToString(mask = FLAG_SHOW_WHEN_LOCKED, equals = FLAG_SHOW_WHEN_LOCKED, 41320e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler name = "FLAG_SHOW_WHEN_LOCKED"), 41420e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler @ViewDebug.FlagToString(mask = FLAG_ALLOW_LOCK_WHILE_SCREEN_ON, equals = FLAG_ALLOW_LOCK_WHILE_SCREEN_ON, 41520e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler name = "FLAG_ALLOW_LOCK_WHILE_SCREEN_ON"), 41620e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler @ViewDebug.FlagToString(mask = FLAG_DISMISS_KEYGUARD, equals = FLAG_DISMISS_KEYGUARD, 41720e9271cf25e48d8ea17bed74e87465ca3d77b8cDaniel Sandler name = "FLAG_DISMISS_KEYGUARD"), 4188f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_FULLSCREEN, equals = FLAG_FULLSCREEN, 4198f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato name = "FLAG_FULLSCREEN"), 4208f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_FORCE_NOT_FULLSCREEN, 4218f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato equals = FLAG_FORCE_NOT_FULLSCREEN, name = "FLAG_FORCE_NOT_FULLSCREEN"), 4228f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato @ViewDebug.FlagToString(mask = FLAG_IGNORE_CHEEK_PRESSES, 4238f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato equals = FLAG_IGNORE_CHEEK_PRESSES, name = "FLAG_IGNORE_CHEEK_PRESSES") 4248f2bd4328a7cc9dd70e597b7cc011be22c6ca566Joe Onorato }) 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int flags; 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 427ef73162887943e16587b8e737b19e59348338e8cMike Lockwood /** Window flag: as long as this window is visible to the user, allow 428ef73162887943e16587b8e737b19e59348338e8cMike Lockwood * the lock screen to activate while the screen is on. 429ef73162887943e16587b8e737b19e59348338e8cMike Lockwood * This can be used independently, or in combination with 43095f7850a9d9c7c4f020d06986300f4740fb6a52cChristopher Tate * {@link #FLAG_KEEP_SCREEN_ON} and/or {@link #FLAG_SHOW_WHEN_LOCKED} */ 431ef73162887943e16587b8e737b19e59348338e8cMike Lockwood public static final int FLAG_ALLOW_LOCK_WHILE_SCREEN_ON = 0x00000001; 432ef73162887943e16587b8e737b19e59348338e8cMike Lockwood 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: everything behind this window will be dimmed. 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Use {@link #dimAmount} to control the amount of dim. */ 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_DIM_BEHIND = 0x00000002; 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: blur everything behind this window. */ 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_BLUR_BEHIND = 0x00000004; 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: this window won't ever get key input focus, so the 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * user can not send key or other button events to it. Those will 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * instead go to whatever focusable window is behind it. This flag 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * will also enable {@link #FLAG_NOT_TOUCH_MODAL} whether or not that 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is explicitly set. 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>Setting this flag also implies that the window will not need to 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * interact with 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a soft input method, so it will be Z-ordered and positioned 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * independently of any active input method (typically this means it 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * gets Z-ordered on top of the input method, so it can use the full 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * screen for its content and cover the input method if needed. You 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can use {@link #FLAG_ALT_FOCUSABLE_IM} to modify this behavior. */ 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_NOT_FOCUSABLE = 0x00000008; 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: this window can never receive touch events. */ 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_NOT_TOUCHABLE = 0x00000010; 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: Even when this window is focusable (its 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FLAG_NOT_FOCUSABLE is not set), allow any pointer events 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * outside of the window to be sent to the windows behind it. Otherwise 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * it will consume all pointer events itself, regardless of whether they 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are inside of the window. */ 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_NOT_TOUCH_MODAL = 0x00000020; 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: When set, if the device is asleep when the touch 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * screen is pressed, you will receive this first touch event. Usually 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the first touch event is consumed by the system since the user can 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * not see what they are pressing on. 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_TOUCHABLE_WHEN_WAKING = 0x00000040; 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: as long as this window is visible to the user, keep 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the device's screen turned on and bright. */ 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_KEEP_SCREEN_ON = 0x00000080; 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: place the window within the entire screen, ignoring 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * decorations around the border (a.k.a. the status bar). The 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window must correctly position its contents to take the screen 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * decoration into account. This flag is normally set for you 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * by Window as described in {@link Window#setFlags}. */ 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_LAYOUT_IN_SCREEN = 0x00000100; 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: allow window to extend outside of the screen. */ 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_LAYOUT_NO_LIMITS = 0x00000200; 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: Hide all screen decorations (e.g. status bar) while 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * this window is displayed. This allows the window to use the entire 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * display space for itself -- the status bar will be hidden when 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an app window with this flag set is on the top layer. */ 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_FULLSCREEN = 0x00000400; 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: Override {@link #FLAG_FULLSCREEN and force the 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * screen decorations (such as status bar) to be shown. */ 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_FORCE_NOT_FULLSCREEN = 0x00000800; 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: turn on dithering when compositing this window to 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the screen. */ 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_DITHER = 0x00001000; 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: don't allow screen shots while this window is 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * displayed. */ 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_SECURE = 0x00002000; 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: a special mode where the layout parameters are used 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to perform scaling of the surface when it is composited to the 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * screen. */ 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_SCALED = 0x00004000; 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: intended for windows that will often be used when the user is 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * holding the screen against their face, it will aggressively filter the event 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * stream to prevent unintended presses in this situation that may not be 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * desired for a particular window, when such an event stream is detected, the 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * application will receive a CANCEL motion event to indicate this so applications 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can handle this accordingly by taking no action on the event 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * until the finger is released. */ 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_IGNORE_CHEEK_PRESSES = 0x00008000; 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: a special option only for use in combination with 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FLAG_LAYOUT_IN_SCREEN}. When requesting layout in the 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * screen your window may appear on top of or behind screen decorations 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * such as the status bar. By also including this flag, the window 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * manager will report the inset rectangle needed to ensure your 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * content is not covered by screen decorations. This flag is normally 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * set for you by Window as described in {@link Window#setFlags}.*/ 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_LAYOUT_INSET_DECOR = 0x00010000; 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: invert the state of {@link #FLAG_NOT_FOCUSABLE} with 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * respect to how this window interacts with the current method. That 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is, if FLAG_NOT_FOCUSABLE is set and this flag is set, then the 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window will behave as if it needs to interact with the input method 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and thus be placed behind/away from it; if FLAG_NOT_FOCUSABLE is 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * not set and this flag is set, then the window will behave as if it 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * doesn't need to interact with the input method and can be placed 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to use more space and cover the input method. 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_ALT_FOCUSABLE_IM = 0x00020000; 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: if you have set {@link #FLAG_NOT_TOUCH_MODAL}, you 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can set this flag to receive a single special MotionEvent with 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the action 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link MotionEvent#ACTION_OUTSIDE MotionEvent.ACTION_OUTSIDE} for 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * touches that occur outside of your window. Note that you will not 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * receive the full down/move/up gesture, only the location of the 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * first down as an ACTION_OUTSIDE. 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_WATCH_OUTSIDE_TOUCH = 0x00040000; 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 548d1a9337380cf9f40f1aa095457b11242d483295dSuchi Amalapurapu /** Window flag: special flag to let windows be shown when the screen 549d1a9337380cf9f40f1aa095457b11242d483295dSuchi Amalapurapu * is locked. This will let application windows take precedence over 550d1a9337380cf9f40f1aa095457b11242d483295dSuchi Amalapurapu * key guard or any other lock screens. Can be used with 551d1a9337380cf9f40f1aa095457b11242d483295dSuchi Amalapurapu * {@link #FLAG_KEEP_SCREEN_ON} to turn screen on and display windows 5529bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * directly before showing the key guard window. Can be used with 5539bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * {@link #FLAG_DISMISS_KEYGUARD} to automatically fully dismisss 5549bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * non-secure keyguards. This flag only applies to the top-most 5559bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * full-screen window. 5564c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn */ 557d1a9337380cf9f40f1aa095457b11242d483295dSuchi Amalapurapu public static final int FLAG_SHOW_WHEN_LOCKED = 0x00080000; 558d1a9337380cf9f40f1aa095457b11242d483295dSuchi Amalapurapu 5594c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn /** Window flag: ask that the system wallpaper be shown behind 5604c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn * your window. The window surface must be translucent to be able 5614c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn * to actually see the wallpaper behind it; this flag just ensures 5624c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn * that the wallpaper surface will be there if this window actually 5634c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn * has translucent regions. 5644c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn */ 5654c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn public static final int FLAG_SHOW_WALLPAPER = 0x00100000; 5664c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn 56793e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn /** Window flag: when set as a window is being added or made 56893e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn * visible, once the window has been shown then the system will 56993e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn * poke the power manager's user activity (as if the user had woken 57093e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn * up the device) to turn the screen on. */ 57193e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn public static final int FLAG_TURN_SCREEN_ON = 0x00200000; 57293e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn 5739bfb707597898f54722460b48588007b682f3e2aDianne Hackborn /** Window flag: when set the window will cause the keyguard to 5749bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * be dismissed, only if it is not a secure lock keyguard. Because such 5759bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * a keyguard is not needed for security, it will never re-appear if 5769bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * the user navigates to another window (in contrast to 5779bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * {@link #FLAG_SHOW_WHEN_LOCKED}, which will only temporarily 5789bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * hide both secure and non-secure keyguards but ensure they reappear 5799bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * when the user moves to another UI that doesn't hide them). 5809bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * If the keyguard is currently active and is secure (requires an 5819bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * unlock pattern) than the user will still need to confirm it before 5829bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * seeing this window, unless {@link #FLAG_SHOW_WHEN_LOCKED} has 5839bfb707597898f54722460b48588007b682f3e2aDianne Hackborn * also been set. */ 5849bfb707597898f54722460b48588007b682f3e2aDianne Hackborn public static final int FLAG_DISMISS_KEYGUARD = 0x00400000; 585611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler 586611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler /** Window flag: This window corresponds to an immersive activity 587611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * that wishes not to be interrupted with notifications. In general, 588611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * applications may simply hide the status bar with {@link 589611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * FLAG_FULLSCREEN} to suppress most notifications, but will still be 590611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * interrupted by those with 591611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * {@link android.app.Notification.fullScreenIntent} set (example: an 592611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * incoming call). Setting {@link FLAG_IMMERSIVE} will suppress the 593611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * full-screen intent and show the status bar briefly for those 594611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * important notifications instead. See also 595611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler * {@link android.app.Notification.FLAG_HIGH_PRIORITY}. 596611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler */ 597611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler public static final int FLAG_IMMERSIVE = 0x00800000; 598611fae4c39edbeb23b53f789a0219c539cf32fa6Daniel Sandler 5993b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn /** Window flag: *sigh* The lock screen wants to continue running its 6003b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn * animation while it is fading. A kind-of hack to allow this. Maybe 6013b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn * in the future we just make this the default behavior. 6023b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn * 6033b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn * {@hide} */ 6043b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn public static final int FLAG_KEEP_SURFACE_WHILE_ANIMATING = 0x10000000; 6053b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn 6061ecf5d28817f0a051e77488380dcd5bc622ea169Mitsuru Oshima /** Window flag: special flag to limit the size of the window to be 6071ecf5d28817f0a051e77488380dcd5bc622ea169Mitsuru Oshima * original size ([320x480] x density). Used to create window for applications 6081ecf5d28817f0a051e77488380dcd5bc622ea169Mitsuru Oshima * running under compatibility mode. 6091ecf5d28817f0a051e77488380dcd5bc622ea169Mitsuru Oshima * 6101ecf5d28817f0a051e77488380dcd5bc622ea169Mitsuru Oshima * {@hide} */ 6114c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3Dianne Hackborn public static final int FLAG_COMPATIBLE_WINDOW = 0x20000000; 6121ecf5d28817f0a051e77488380dcd5bc622ea169Mitsuru Oshima 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Window flag: a special option intended for system dialogs. When 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * this flag is set, the window will demand focus unconditionally when 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * it is created. 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} */ 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_SYSTEM_ERROR = 0x40000000; 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Given a particular set of window manager flags, determine whether 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * such a window may be a target for an input method when it has 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * focus. In particular, this checks the 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FLAG_NOT_FOCUSABLE} and {@link #FLAG_ALT_FOCUSABLE_IM} 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * flags and returns true if the combination of the two corresponds 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to a window that needs to be behind the input method so that the 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * user can type into it. 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param flags The current window manager flags. 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return Returns true if such a window should be behind/interact 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with an input method, false if not. 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static boolean mayUseInputMethod(int flags) { 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (flags&(FLAG_NOT_FOCUSABLE|FLAG_ALT_FOCUSABLE_IM)) { 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case 0: 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case FLAG_NOT_FOCUSABLE|FLAG_ALT_FOCUSABLE_IM: 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return false; 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Mask for {@link #softInputMode} of the bits that determine the 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * desired visibility state of the soft input area for this window. 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_MASK_STATE = 0x0f; 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Visibility state for {@link #softInputMode}: no state has been specified. 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0; 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Visibility state for {@link #softInputMode}: please don't change the state of 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the soft input area. 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_STATE_UNCHANGED = 1; 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Visibility state for {@link #softInputMode}: please hide any soft input 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * area when normally appropriate (when the user is navigating 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * forward to your window). 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_STATE_HIDDEN = 2; 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Visibility state for {@link #softInputMode}: please always hide any 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * soft input area when this window receives focus. 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3; 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Visibility state for {@link #softInputMode}: please show the soft 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * input area when normally appropriate (when the user is navigating 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * forward to your window). 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_STATE_VISIBLE = 4; 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Visibility state for {@link #softInputMode}: please always make the 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * soft input area visible when this window receives input focus. 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5; 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Mask for {@link #softInputMode} of the bits that determine the 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * way that the window should be adjusted to accommodate the soft 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * input window. 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_MASK_ADJUST = 0xf0; 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Adjustment option for {@link #softInputMode}: nothing specified. 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The system will try to pick one or 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the other depending on the contents of the window. 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0x00; 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Adjustment option for {@link #softInputMode}: set to allow the 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * window to be resized when an input 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * method is shown, so that its contents are not covered by the input 701f10e6331e3bf01653235d93aa523056c146a85a3Scott Main * method. This can <em>not</em> be combined with 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_ADJUST_PAN}; if 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * neither of these are set, then the system will try to pick one or 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the other depending on the contents of the window. 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10; 7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Adjustment option for {@link #softInputMode}: set to have a window 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * pan when an input method is 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * shown, so it doesn't need to deal with resizing but just panned 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * by the framework to ensure the current input focus is visible. This 712f10e6331e3bf01653235d93aa523056c146a85a3Scott Main * can <em>not</em> be combined with {@link #SOFT_INPUT_ADJUST_RESIZE}; if 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * neither of these are set, then the system will try to pick one or 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the other depending on the contents of the window. 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_ADJUST_PAN = 0x20; 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit for {@link #softInputMode}: set when the user has navigated 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * forward to the window. This is normally set automatically for 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you by the system, though you may want to set it in certain cases 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * when you are displaying a window yourself. This flag will always 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be cleared automatically after the window is displayed. 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100; 726fb73f79340375013225618a5d87f46b958f698efMike Lockwood 727fb73f79340375013225618a5d87f46b958f698efMike Lockwood /** 728fb73f79340375013225618a5d87f46b958f698efMike Lockwood * Default value for {@link #screenBrightness} and {@link #buttonBrightness} 729fb73f79340375013225618a5d87f46b958f698efMike Lockwood * indicating that the brightness value is not overridden for this window 730fb73f79340375013225618a5d87f46b958f698efMike Lockwood * and normal brightness policy should be used. 731fb73f79340375013225618a5d87f46b958f698efMike Lockwood */ 732fb73f79340375013225618a5d87f46b958f698efMike Lockwood public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f; 733fb73f79340375013225618a5d87f46b958f698efMike Lockwood 734fb73f79340375013225618a5d87f46b958f698efMike Lockwood /** 735fb73f79340375013225618a5d87f46b958f698efMike Lockwood * Value for {@link #screenBrightness} and {@link #buttonBrightness} 736fb73f79340375013225618a5d87f46b958f698efMike Lockwood * indicating that the screen or button backlight brightness should be set 737fb73f79340375013225618a5d87f46b958f698efMike Lockwood * to the lowest value when this window is in front. 738fb73f79340375013225618a5d87f46b958f698efMike Lockwood */ 739fb73f79340375013225618a5d87f46b958f698efMike Lockwood public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f; 740fb73f79340375013225618a5d87f46b958f698efMike Lockwood 741fb73f79340375013225618a5d87f46b958f698efMike Lockwood /** 742fb73f79340375013225618a5d87f46b958f698efMike Lockwood * Value for {@link #screenBrightness} and {@link #buttonBrightness} 743fb73f79340375013225618a5d87f46b958f698efMike Lockwood * indicating that the screen or button backlight brightness should be set 744fb73f79340375013225618a5d87f46b958f698efMike Lockwood * to the hightest value when this window is in front. 745fb73f79340375013225618a5d87f46b958f698efMike Lockwood */ 746fb73f79340375013225618a5d87f46b958f698efMike Lockwood public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f; 747fb73f79340375013225618a5d87f46b958f698efMike Lockwood 7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Desired operating mode for any soft input area. May any combination 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of: 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li> One of the visibility states 7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_STATE_UNSPECIFIED}, {@link #SOFT_INPUT_STATE_UNCHANGED}, 7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_STATE_HIDDEN}, {@link #SOFT_INPUT_STATE_ALWAYS_VISIBLE}, or 7569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_STATE_VISIBLE}. 7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li> One of the adjustment options 7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_ADJUST_UNSPECIFIED}, 7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_ADJUST_RESIZE}, or 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SOFT_INPUT_ADJUST_PAN}. 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int softInputMode; 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Placement of window within the screen as per {@link Gravity} 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see Gravity 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int gravity; 7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The horizontal margin, as a percentage of the container's width, 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * between the container and the widget. 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float horizontalMargin; 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The vertical margin, as a percentage of the container's height, 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * between the container and the widget. 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float verticalMargin; 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The desired bitmap format. May be one of the constants in 7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.graphics.PixelFormat}. Default is OPAQUE. 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int format; 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A style resource defining the animations to use for this window. 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This must be a system resource; it can not be an application resource 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * because the window manager does not have access to applications. 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int windowAnimations; 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * An alpha value to apply to this entire window. 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * An alpha of 1.0 means fully opaque and 0.0 means fully transparent 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float alpha = 1.0f; 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * When {@link #FLAG_DIM_BEHIND} is set, this is the amount of dimming 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to apply. Range is from 1.0 for completely opaque to 0.0 for no 8059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dim. 8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float dimAmount = 1.0f; 8089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This can be used to override the user's preferred brightness of 8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the screen. A value of less than 0, the default, means to use the 8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * preferred screen brightness. 0 to 1 adjusts the brightness from 8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dark to full bright. 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 815fb73f79340375013225618a5d87f46b958f698efMike Lockwood public float screenBrightness = BRIGHTNESS_OVERRIDE_NONE; 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 818fb73f79340375013225618a5d87f46b958f698efMike Lockwood * This can be used to override the standard behavior of the button and 819fb73f79340375013225618a5d87f46b958f698efMike Lockwood * keyboard backlights. A value of less than 0, the default, means to 820fb73f79340375013225618a5d87f46b958f698efMike Lockwood * use the standard backlight behavior. 0 to 1 adjusts the brightness 821fb73f79340375013225618a5d87f46b958f698efMike Lockwood * from dark to full bright. 822fb73f79340375013225618a5d87f46b958f698efMike Lockwood */ 823fb73f79340375013225618a5d87f46b958f698efMike Lockwood public float buttonBrightness = BRIGHTNESS_OVERRIDE_NONE; 824fb73f79340375013225618a5d87f46b958f698efMike Lockwood 825fb73f79340375013225618a5d87f46b958f698efMike Lockwood /** 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Identifier for this window. This will usually be filled in for 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you. 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public IBinder token = null; 8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Name of the package owning this window. 8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String packageName = null; 8359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Specific orientation value for a window. 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * May be any of the same values allowed 8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for {@link android.content.pm.ActivityInfo#screenOrientation}. 8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If not set, a default value of 8419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_UNSPECIFIED} 8429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * will be used. 8439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; 8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams() { 848980a938c1c9a6a5791a8240e5a1e6638ab28dc77Romain Guy super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = TYPE_APPLICATION; 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = PixelFormat.OPAQUE; 8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams(int _type) { 854980a938c1c9a6a5791a8240e5a1e6638ab28dc77Romain Guy super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 8559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = _type; 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = PixelFormat.OPAQUE; 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams(int _type, int _flags) { 860980a938c1c9a6a5791a8240e5a1e6638ab28dc77Romain Guy super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = _type; 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = _flags; 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = PixelFormat.OPAQUE; 8649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams(int _type, int _flags, int _format) { 867980a938c1c9a6a5791a8240e5a1e6638ab28dc77Romain Guy super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 8689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = _type; 8699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = _flags; 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = _format; 8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams(int w, int h, int _type, int _flags, int _format) { 8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(w, h); 8759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = _type; 8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = _flags; 8779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = _format; 8789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams(int w, int h, int xpos, int ypos, int _type, 8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _flags, int _format) { 8829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(w, h); 8839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project x = xpos; 8849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project y = ypos; 8859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = _type; 8869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = _flags; 8879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = _format; 8889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final void setTitle(CharSequence title) { 8919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (null == title) 8929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project title = ""; 8939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mTitle = TextUtils.stringOrSpannedString(title); 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final CharSequence getTitle() { 8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mTitle; 8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int describeContents() { 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return 0; 9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void writeToParcel(Parcel out, int parcelableFlags) { 9069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(width); 9079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(height); 9089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(x); 9099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(y); 9109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(type); 9119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(memoryType); 9129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(flags); 9139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(softInputMode); 9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(gravity); 9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeFloat(horizontalMargin); 9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeFloat(verticalMargin); 9179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(format); 9189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(windowAnimations); 9199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeFloat(alpha); 9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeFloat(dimAmount); 9219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeFloat(screenBrightness); 922fb73f79340375013225618a5d87f46b958f698efMike Lockwood out.writeFloat(buttonBrightness); 9239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeStrongBinder(token); 9249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(packageName); 9259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project TextUtils.writeToParcel(mTitle, out, parcelableFlags); 9269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(screenOrientation); 9279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final Parcelable.Creator<LayoutParams> CREATOR 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project = new Parcelable.Creator<LayoutParams>() { 9319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams createFromParcel(Parcel in) { 9329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new LayoutParams(in); 9339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams[] newArray(int size) { 9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new LayoutParams[size]; 9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public LayoutParams(Parcel in) { 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project width = in.readInt(); 9439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project height = in.readInt(); 9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project x = in.readInt(); 9459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project y = in.readInt(); 9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = in.readInt(); 9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project memoryType = in.readInt(); 9489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = in.readInt(); 9499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project softInputMode = in.readInt(); 9509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project gravity = in.readInt(); 9519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project horizontalMargin = in.readFloat(); 9529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project verticalMargin = in.readFloat(); 9539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = in.readInt(); 9549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project windowAnimations = in.readInt(); 9559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project alpha = in.readFloat(); 9569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dimAmount = in.readFloat(); 9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project screenBrightness = in.readFloat(); 958fb73f79340375013225618a5d87f46b958f698efMike Lockwood buttonBrightness = in.readFloat(); 9599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project token = in.readStrongBinder(); 9609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project packageName = in.readString(); 9619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); 9629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project screenOrientation = in.readInt(); 9639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9657299807d1895ea25cbe45d32b6edfd9a5723ee7aRomain Guy @SuppressWarnings({"PointlessBitwiseExpression"}) 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAYOUT_CHANGED = 1<<0; 9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_CHANGED = 1<<1; 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAGS_CHANGED = 1<<2; 9699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FORMAT_CHANGED = 1<<3; 9709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int ANIMATION_CHANGED = 1<<4; 9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int DIM_AMOUNT_CHANGED = 1<<5; 9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TITLE_CHANGED = 1<<6; 9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int ALPHA_CHANGED = 1<<7; 9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int MEMORY_TYPE_CHANGED = 1<<8; 9759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SOFT_INPUT_MODE_CHANGED = 1<<9; 9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_CHANGED = 1<<10; 9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_BRIGHTNESS_CHANGED = 1<<11; 978fb73f79340375013225618a5d87f46b958f698efMike Lockwood /** {@hide} */ 979fb73f79340375013225618a5d87f46b958f698efMike Lockwood public static final int BUTTON_BRIGHTNESS_CHANGED = 1<<12; 9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 981e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima // internal buffer to backup/restore parameters under compatibility mode. 982e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima private int[] mCompatibilityParamsBackup = null; 983e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final int copyFrom(LayoutParams o) { 9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int changes = 0; 9869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (width != o.width) { 9889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project width = o.width; 9899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 9909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (height != o.height) { 9929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project height = o.height; 9939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 9949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (x != o.x) { 9969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project x = o.x; 9979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 9989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (y != o.y) { 10009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project y = o.y; 10019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (horizontalWeight != o.horizontalWeight) { 10049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project horizontalWeight = o.horizontalWeight; 10059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (verticalWeight != o.verticalWeight) { 10089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project verticalWeight = o.verticalWeight; 10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (horizontalMargin != o.horizontalMargin) { 10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project horizontalMargin = o.horizontalMargin; 10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (verticalMargin != o.verticalMargin) { 10169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project verticalMargin = o.verticalMargin; 10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (type != o.type) { 10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project type = o.type; 10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= TYPE_CHANGED; 10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (memoryType != o.memoryType) { 10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project memoryType = o.memoryType; 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= MEMORY_TYPE_CHANGED; 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (flags != o.flags) { 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = o.flags; 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= FLAGS_CHANGED; 10309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (softInputMode != o.softInputMode) { 10329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project softInputMode = o.softInputMode; 10339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= SOFT_INPUT_MODE_CHANGED; 10349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (gravity != o.gravity) { 10369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project gravity = o.gravity; 10379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (horizontalMargin != o.horizontalMargin) { 10409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project horizontalMargin = o.horizontalMargin; 10419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (verticalMargin != o.verticalMargin) { 10449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project verticalMargin = o.verticalMargin; 10459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= LAYOUT_CHANGED; 10469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (format != o.format) { 10489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project format = o.format; 10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= FORMAT_CHANGED; 10509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (windowAnimations != o.windowAnimations) { 10529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project windowAnimations = o.windowAnimations; 10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= ANIMATION_CHANGED; 10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (token == null) { 10569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // NOTE: token only copied if the recipient doesn't 10579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // already have one. 10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project token = o.token; 10599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (packageName == null) { 10619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // NOTE: packageName only copied if the recipient doesn't 10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // already have one. 10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project packageName = o.packageName; 10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!mTitle.equals(o.mTitle)) { 10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mTitle = o.mTitle; 10679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= TITLE_CHANGED; 10689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (alpha != o.alpha) { 10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project alpha = o.alpha; 10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= ALPHA_CHANGED; 10729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (dimAmount != o.dimAmount) { 10749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dimAmount = o.dimAmount; 10759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= DIM_AMOUNT_CHANGED; 10769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (screenBrightness != o.screenBrightness) { 10789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project screenBrightness = o.screenBrightness; 10799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= SCREEN_BRIGHTNESS_CHANGED; 10809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1081fb73f79340375013225618a5d87f46b958f698efMike Lockwood if (buttonBrightness != o.buttonBrightness) { 1082fb73f79340375013225618a5d87f46b958f698efMike Lockwood buttonBrightness = o.buttonBrightness; 1083fb73f79340375013225618a5d87f46b958f698efMike Lockwood changes |= BUTTON_BRIGHTNESS_CHANGED; 1084fb73f79340375013225618a5d87f46b958f698efMike Lockwood } 10859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (screenOrientation != o.screenOrientation) { 10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project screenOrientation = o.screenOrientation; 10889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project changes |= SCREEN_ORIENTATION_CHANGED; 10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return changes; 10919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 10949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String debug(String output) { 10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project output += "Contents of " + this + ":"; 10969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d("Debug", output); 10979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project output = super.debug(""); 10989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d("Debug", output); 10999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d("Debug", ""); 11009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d("Debug", "WindowManager.LayoutParams={title=" + mTitle + "}"); 11019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return ""; 11029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 11059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String toString() { 11069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project StringBuilder sb = new StringBuilder(256); 11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append("WM.LayoutParams{"); 11089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append("("); 11099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(x); 11109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(','); 11119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(y); 11129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(")("); 1113980a938c1c9a6a5791a8240e5a1e6638ab28dc77Romain Guy sb.append((width== MATCH_PARENT ?"fill":(width==WRAP_CONTENT?"wrap":width))); 11149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append('x'); 1115980a938c1c9a6a5791a8240e5a1e6638ab28dc77Romain Guy sb.append((height== MATCH_PARENT ?"fill":(height==WRAP_CONTENT?"wrap":height))); 11169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(")"); 11179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (softInputMode != 0) { 11189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" sim=#"); 11199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(Integer.toHexString(softInputMode)); 11209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (gravity != 0) { 11229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" gr=#"); 11239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(Integer.toHexString(gravity)); 11249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" ty="); 11269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(type); 11279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" fl=#"); 11289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(Integer.toHexString(flags)); 11299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" fmt="); 11309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(format); 11319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (windowAnimations != 0) { 11329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" wanim=0x"); 11339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(Integer.toHexString(windowAnimations)); 11349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (screenOrientation != ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) { 11369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(" or="); 11379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append(screenOrientation); 11389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11395a2b91dc14e4c92e91c6abcc795f54ac98ee5866Mitsuru Oshima if ((flags & FLAG_COMPATIBLE_WINDOW) != 0) { 11405a2b91dc14e4c92e91c6abcc795f54ac98ee5866Mitsuru Oshima sb.append(" compatible=true"); 11415a2b91dc14e4c92e91c6abcc795f54ac98ee5866Mitsuru Oshima } 11429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project sb.append('}'); 11439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return sb.toString(); 11449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11458d112675879a2b83197d3b4ae4fb623abd1a1ec3Mitsuru Oshima 11463d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima /** 11473d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima * Scale the layout params' coordinates and size. 114864f59342d41849bd365cb43fad7505d5e3daa417Mitsuru Oshima * @hide 1149e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima */ 115064f59342d41849bd365cb43fad7505d5e3daa417Mitsuru Oshima public void scale(float scale) { 115161324e58c549670c015010d0be14c6af76e3e9f7Mitsuru Oshima x = (int) (x * scale + 0.5f); 115261324e58c549670c015010d0be14c6af76e3e9f7Mitsuru Oshima y = (int) (y * scale + 0.5f); 1153e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima if (width > 0) { 115461324e58c549670c015010d0be14c6af76e3e9f7Mitsuru Oshima width = (int) (width * scale + 0.5f); 1155e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima } 1156e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima if (height > 0) { 115761324e58c549670c015010d0be14c6af76e3e9f7Mitsuru Oshima height = (int) (height * scale + 0.5f); 11588d112675879a2b83197d3b4ae4fb623abd1a1ec3Mitsuru Oshima } 11598d112675879a2b83197d3b4ae4fb623abd1a1ec3Mitsuru Oshima } 11608d112675879a2b83197d3b4ae4fb623abd1a1ec3Mitsuru Oshima 11613d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima /** 1162e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima * Backup the layout parameters used in compatibility mode. 1163e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima * @see LayoutParams#restore() 1164e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima */ 1165e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima void backup() { 1166e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima int[] backup = mCompatibilityParamsBackup; 1167e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima if (backup == null) { 116864f59342d41849bd365cb43fad7505d5e3daa417Mitsuru Oshima // we backup 4 elements, x, y, width, height 116964f59342d41849bd365cb43fad7505d5e3daa417Mitsuru Oshima backup = mCompatibilityParamsBackup = new int[4]; 11703d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima } 1171e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima backup[0] = x; 1172e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima backup[1] = y; 1173e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima backup[2] = width; 1174e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima backup[3] = height; 1175e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima } 1176e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima 1177e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima /** 1178e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima * Restore the layout params' coordinates, size and gravity 1179e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima * @see LayoutParams#backup() 1180e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima */ 1181e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima void restore() { 1182e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima int[] backup = mCompatibilityParamsBackup; 1183e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima if (backup != null) { 1184e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima x = backup[0]; 1185e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima y = backup[1]; 1186e5fb328825995aa33b5b7ecf8b5bee2b17f81715Mitsuru Oshima width = backup[2]; 11873d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima height = backup[3]; 11883d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima } 11893d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima } 11903d91492d694cf00474fec792134e496be6ee0313Mitsuru Oshima 11919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private CharSequence mTitle = ""; 11929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1194