ActivityInfo.java revision d9273d6f289d9b55da3fd0db2f659fdfb48106a8
115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root/* 215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Copyright (C) 2007 The Android Open Source Project 315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * you may not use this file except in compliance with the License. 615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * You may obtain a copy of the License at 715a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 815a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * http://www.apache.org/licenses/LICENSE-2.0 915a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 1015a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Unless required by applicable law or agreed to in writing, software 1115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * distributed under the License is distributed on an "AS IS" BASIS, 1215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * See the License for the specific language governing permissions and 1415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * limitations under the License. 1515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root */ 1615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.content.pm; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbyeimport android.annotation.IntDef; 201d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackbornimport android.content.res.Configuration; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcel; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcelable; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Printer; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbyeimport java.lang.annotation.Retention; 26d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbyeimport java.lang.annotation.RetentionPolicy; 27d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Information you can retrieve about a particular application 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * activity or receiver. This corresponds to information collected 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * from the AndroidManifest.xml's <activity> and 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <receiver> tags. 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class ActivityInfo extends ComponentInfo 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project implements Parcelable { 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A style resource identifier (in the package's resources) of this 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * activity's theme. From the "theme" attribute or, if not set, 0. 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int theme; 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>standard</code> in 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#launchMode} attribute. 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAUNCH_MULTIPLE = 0; 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>singleTop</code> in 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#launchMode} attribute. 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAUNCH_SINGLE_TOP = 1; 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>singleTask</code> in 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#launchMode} attribute. 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAUNCH_SINGLE_TASK = 2; 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>singleInstance</code> in 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#launchMode} attribute. 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int LAUNCH_SINGLE_INSTANCE = 3; 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The launch mode style requested by the activity. From the 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#launchMode} attribute, one of 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #LAUNCH_MULTIPLE}, 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #LAUNCH_SINGLE_TOP}, {@link #LAUNCH_SINGLE_TASK}, or 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #LAUNCH_SINGLE_INSTANCE}. 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int launchMode; 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Optional name of a permission required to be able to access this 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Activity. From the "permission" attribute. 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String permission; 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The affinity this activity has for another task in the system. The 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * string here is the name of the task, often the package name of the 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * overall package. If null, the activity has no affinity. Set from the 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#taskAffinity} attribute. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String taskAffinity; 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If this is an activity alias, this is the real activity class to run 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for it. Otherwise, this is null. 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String targetActivity; 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} indicating whether this activity is able to 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * run in multiple processes. If 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * true, the system may instantiate it in the some process as the 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * process starting it in order to conserve resources. If false, the 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * default, it always runs in {@link #processName}. Set from the 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#multiprocess} attribute. 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_MULTIPROCESS = 0x0001; 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} indicating that, when the activity's task is 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * relaunched from home, this activity should be finished. 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set from the 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#finishOnTaskLaunch} attribute. 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_FINISH_ON_TASK_LAUNCH = 0x0002; 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} indicating that, when the activity is the root 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of a task, that task's stack should be cleared each time the user 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * re-launches it from home. As a result, the user will always 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * return to the original activity at the top of the task. 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This flag only applies to activities that 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are used to start the root of a new task. Set from the 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#clearTaskOnLaunch} attribute. 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_CLEAR_TASK_ON_LAUNCH = 0x0004; 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} indicating that, when the activity is the root 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of a task, that task's stack should never be cleared when it is 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * relaunched from home. Set from the 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#alwaysRetainTaskState} attribute. 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_ALWAYS_RETAIN_TASK_STATE = 0x0008; 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} indicating that the activity's state 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is not required to be saved, so that if there is a failure the 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * activity will not be removed from the activity stack. Set from the 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#stateNotNeeded} attribute. 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_STATE_NOT_NEEDED = 0x0010; 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} that indicates that the activity should not 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * appear in the list of recently launched activities. Set from the 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#excludeFromRecents} attribute. 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_EXCLUDE_FROM_RECENTS = 0x0020; 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} that indicates that the activity can be moved 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * between tasks based on its task affinity. Set from the 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#allowTaskReparenting} attribute. 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_ALLOW_TASK_REPARENTING = 0x0040; 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #flags} indicating that, when the user navigates away 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * from an activity, it should be finished. 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set from the 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#noHistory} attribute. 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int FLAG_NO_HISTORY = 0x0080; 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 151ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn * Bit in {@link #flags} indicating that, when a request to close system 152ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn * windows happens, this activity is finished. 153ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn * Set from the 154ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn * {@link android.R.attr#finishOnCloseSystemDialogs} attribute. 155ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn */ 156ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn public static final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 0x0100; 157327fbd2c8fa294b919475feb4c74a74ee1981e02Dianne Hackborn /** 158327fbd2c8fa294b919475feb4c74a74ee1981e02Dianne Hackborn * Value for {@link #flags}: true when the application's rendering should 159327fbd2c8fa294b919475feb4c74a74ee1981e02Dianne Hackborn * be hardware accelerated. 160327fbd2c8fa294b919475feb4c74a74ee1981e02Dianne Hackborn */ 161327fbd2c8fa294b919475feb4c74a74ee1981e02Dianne Hackborn public static final int FLAG_HARDWARE_ACCELERATED = 0x0200; 162327fbd2c8fa294b919475feb4c74a74ee1981e02Dianne Hackborn /** 1635962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner * Value for {@link #flags}: true when the application can be displayed over the lockscreen 1645962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner * and consequently over all users' windows. 1655962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner * @hide 1665962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner */ 1675962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner public static final int FLAG_SHOW_ON_LOCK_SCREEN = 0x0400; 1685962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner /** 169322d77185d6e8fe79642f27b653bb51677873cbaJohn Spurlock * Bit in {@link #flags} corresponding to an immersive activity 170613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * that wishes not to be interrupted by notifications. 171613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * Applications that hide the system notification bar with 172613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * {@link android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN} 173613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * may still be interrupted by high-priority notifications; for example, an 174613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * incoming phone call may use 1758091ca5015b2a9f591ad7d3ee5ec832c16cf5548Daniel Sandler * {@link android.app.Notification#fullScreenIntent fullScreenIntent} 176613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * to present a full-screen in-call activity to the user, pausing the 177613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * current activity as a side-effect. An activity with 178613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * {@link #FLAG_IMMERSIVE} set, however, will not be interrupted; the 179613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * notification may be shown in some other way (such as a small floating 180613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * "toast" window). 18173c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * 18273c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * Note that this flag will always reflect the Activity's 18373c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * <code>android:immersive</code> manifest definition, even if the Activity's 18473c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * immersive state is changed at runtime via 18573c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * {@link android.app.Activity#setImmersive(boolean)}. 18673c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * 18773c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * @see android.app.Notification#FLAG_HIGH_PRIORITY 18873c2aee40a0e0ab2e8bd2bbbc560aa31c38eaac2Christopher Tate * @see android.app.Activity#setImmersive(boolean) 189613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler */ 1905962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner public static final int FLAG_IMMERSIVE = 0x0800; 191529b60a3b16ac3dff24f2403d760ab8ebc9670ffRomain Guy /** 192d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn * @hide Bit in {@link #flags}: If set, this component will only be seen 193d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn * by the primary user. Only works with broadcast receivers. Set from the 194d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn * {@link android.R.attr#primaryUserOnly} attribute. 195d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn */ 196d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn public static final int FLAG_PRIMARY_USER_ONLY = 0x20000000; 197d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn /** 1987d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn * Bit in {@link #flags}: If set, a single instance of the receiver will 1997d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn * run for all users on the device. Set from the 2007d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn * {@link android.R.attr#singleUser} attribute. Note that this flag is 201d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1Dianne Hackborn * only relevant for ActivityInfo structures that are describing receiver 2027d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn * components; it is not applied to activities. 2037d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn */ 2047d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn public static final int FLAG_SINGLE_USER = 0x40000000; 2057d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn /** 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Options that have been set in the activity declaration in the 207613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * manifest. 208613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * These include: 209613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * {@link #FLAG_MULTIPROCESS}, 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FLAG_FINISH_ON_TASK_LAUNCH}, {@link #FLAG_CLEAR_TASK_ON_LAUNCH}, 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FLAG_ALWAYS_RETAIN_TASK_STATE}, 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #FLAG_STATE_NOT_NEEDED}, {@link #FLAG_EXCLUDE_FROM_RECENTS}, 213ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn * {@link #FLAG_ALLOW_TASK_REPARENTING}, {@link #FLAG_NO_HISTORY}, 214613dde4aa651e11dac3db859723cc6faf8fc0a82Daniel Sandler * {@link #FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS}, 2157d19e0242faac8017033dabb872cdf1542fa184cDianne Hackborn * {@link #FLAG_HARDWARE_ACCELERATED}, {@link #FLAG_SINGLE_USER}. 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int flags; 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 219d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye /** @hide */ 220d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye @IntDef({ 221d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_UNSPECIFIED, 222d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_LANDSCAPE, 223d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_PORTRAIT, 224d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_USER, 225d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_BEHIND, 226d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_SENSOR, 227d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_NOSENSOR, 228d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_SENSOR_LANDSCAPE, 229d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_SENSOR_PORTRAIT, 230d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_REVERSE_LANDSCAPE, 231d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_REVERSE_PORTRAIT, 232d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_FULL_SENSOR, 233d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_USER_LANDSCAPE, 234d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_USER_PORTRAIT, 235d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_FULL_USER, 236d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye SCREEN_ORIENTATION_LOCKED 237d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye }) 238d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye @Retention(RetentionPolicy.SOURCE) 239d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye public @interface ScreenOrientation {} 240d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>unspecified</code> in 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_UNSPECIFIED = -1; 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>landscape</code> in 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_LANDSCAPE = 0; 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>portrait</code> in 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_PORTRAIT = 1; 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>user</code> in 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_USER = 2; 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>behind</code> in 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_BEHIND = 3; 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constant corresponding to <code>sensor</code> in 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_SENSOR = 4; 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 273e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * Constant corresponding to <code>nosensor</code> in 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the {@link android.R.attr#screenOrientation} attribute. 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int SCREEN_ORIENTATION_NOSENSOR = 5; 277e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn 278e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn /** 279e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * Constant corresponding to <code>sensorLandscape</code> in 280e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 281e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn */ 282e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6; 283e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn 284e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn /** 285e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * Constant corresponding to <code>sensorPortrait</code> in 286e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 287e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn */ 288e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn public static final int SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7; 289e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn 290e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn /** 291e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * Constant corresponding to <code>reverseLandscape</code> in 292e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 293e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn */ 294e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn public static final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8; 295e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn 296e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn /** 297e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * Constant corresponding to <code>reversePortrait</code> in 298e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 299e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn */ 300e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn public static final int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9; 301e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn 302e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn /** 303e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * Constant corresponding to <code>fullSensor</code> in 304e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 305e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn */ 306e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn public static final int SCREEN_ORIENTATION_FULL_SENSOR = 10; 307e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 309b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * Constant corresponding to <code>userLandscape</code> in 310b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 311b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn */ 312b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn public static final int SCREEN_ORIENTATION_USER_LANDSCAPE = 11; 313b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn 314b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn /** 315b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * Constant corresponding to <code>userPortrait</code> in 316b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 317b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn */ 318b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn public static final int SCREEN_ORIENTATION_USER_PORTRAIT = 12; 319b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn 320b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn /** 321b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * Constant corresponding to <code>fullUser</code> in 322b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 323b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn */ 324b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn public static final int SCREEN_ORIENTATION_FULL_USER = 13; 325b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn 326b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn /** 327b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * Constant corresponding to <code>locked</code> in 328b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * the {@link android.R.attr#screenOrientation} attribute. 329b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn */ 330b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn public static final int SCREEN_ORIENTATION_LOCKED = 14; 331b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn 332b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn /** 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The preferred screen orientation this activity would like to run in. 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * From the {@link android.R.attr#screenOrientation} attribute, one of 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SCREEN_ORIENTATION_UNSPECIFIED}, 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SCREEN_ORIENTATION_LANDSCAPE}, 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SCREEN_ORIENTATION_PORTRAIT}, 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SCREEN_ORIENTATION_USER}, 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SCREEN_ORIENTATION_BEHIND}, 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #SCREEN_ORIENTATION_SENSOR}, 341e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * {@link #SCREEN_ORIENTATION_NOSENSOR}, 342e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * {@link #SCREEN_ORIENTATION_SENSOR_LANDSCAPE}, 343e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * {@link #SCREEN_ORIENTATION_SENSOR_PORTRAIT}, 344e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * {@link #SCREEN_ORIENTATION_REVERSE_LANDSCAPE}, 345e5439f228f603f60febe058f633d91d5af2fff76Dianne Hackborn * {@link #SCREEN_ORIENTATION_REVERSE_PORTRAIT}, 346b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * {@link #SCREEN_ORIENTATION_FULL_SENSOR}, 347b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * {@link #SCREEN_ORIENTATION_USER_LANDSCAPE}, 348b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * {@link #SCREEN_ORIENTATION_USER_PORTRAIT}, 349b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * {@link #SCREEN_ORIENTATION_FULL_USER}, 350b9ec1ac51b631c4efc9b7a7e7a2b28882105ffa3Dianne Hackborn * {@link #SCREEN_ORIENTATION_LOCKED}, 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 352d9273d6f289d9b55da3fd0db2f659fdfb48106a8Tor Norbye @ScreenOrientation 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int screenOrientation = SCREEN_ORIENTATION_UNSPECIFIED; 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the IMSI MCC. Set from the 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_MCC = 0x0001; 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the IMSI MNC. Set from the 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_MNC = 0x0002; 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the locale. Set from the 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_LOCALE = 0x0004; 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the touchscreen type. Set from the 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_TOUCHSCREEN = 0x0008; 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the keyboard type. Set from the 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_KEYBOARD = 0x0010; 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 38793e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn * can itself handle changes to the keyboard or navigation being hidden/exposed. 38893e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn * Note that inspite of the name, this applies to the changes to any 38993e462b79d6896da10e15e74c5aec6beb098dddfDianne Hackborn * hidden states: keyboard or navigation. 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set from the {@link android.R.attr#configChanges} attribute. 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_KEYBOARD_HIDDEN = 0x0020; 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the navigation type. Set from the 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_NAVIGATION = 0x0040; 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the screen orientation. Set from the 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_ORIENTATION = 0x0080; 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit in {@link #configChanges} that indicates that the activity 407723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn * can itself handle changes to the screen layout. Set from the 408723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn * {@link android.R.attr#configChanges} attribute. 409723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn */ 410723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn public static final int CONFIG_SCREEN_LAYOUT = 0x0100; 411723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn /** 412723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn * Bit in {@link #configChanges} that indicates that the activity 41327b28b3f62bd3b54fa13acd5d035940b9be464f3Tobias Haamel * can itself handle the ui mode. Set from the 41427b28b3f62bd3b54fa13acd5d035940b9be464f3Tobias Haamel * {@link android.R.attr#configChanges} attribute. 41527b28b3f62bd3b54fa13acd5d035940b9be464f3Tobias Haamel */ 41627b28b3f62bd3b54fa13acd5d035940b9be464f3Tobias Haamel public static final int CONFIG_UI_MODE = 0x0200; 41727b28b3f62bd3b54fa13acd5d035940b9be464f3Tobias Haamel /** 41827b28b3f62bd3b54fa13acd5d035940b9be464f3Tobias Haamel * Bit in {@link #configChanges} that indicates that the activity 419ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn * can itself handle the screen size. Set from the 420e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * {@link android.R.attr#configChanges} attribute. This will be 421e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * set by default for applications that target an earlier version 422e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * than {@link android.os.Build.VERSION_CODES#HONEYCOMB_MR2}... 423e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * <b>however</b>, you will not see the bit set here becomes some 424e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * applications incorrectly compare {@link #configChanges} against 425e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * an absolute value rather than correctly masking out the bits 426e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * they are interested in. Please don't do that, thanks. 427ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn */ 428ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn public static final int CONFIG_SCREEN_SIZE = 0x0400; 429ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn /** 430ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn * Bit in {@link #configChanges} that indicates that the activity 43169cb87576ba163b61bb0e6477a3b7c57a9b11d40Dianne Hackborn * can itself handle the smallest screen size. Set from the 432e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * {@link android.R.attr#configChanges} attribute. This will be 433e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * set by default for applications that target an earlier version 434e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * than {@link android.os.Build.VERSION_CODES#HONEYCOMB_MR2}... 435e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * <b>however</b>, you will not see the bit set here becomes some 436e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * applications incorrectly compare {@link #configChanges} against 437e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * an absolute value rather than correctly masking out the bits 438e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * they are interested in. Please don't do that, thanks. 43969cb87576ba163b61bb0e6477a3b7c57a9b11d40Dianne Hackborn */ 44069cb87576ba163b61bb0e6477a3b7c57a9b11d40Dianne Hackborn public static final int CONFIG_SMALLEST_SCREEN_SIZE = 0x0800; 44169cb87576ba163b61bb0e6477a3b7c57a9b11d40Dianne Hackborn /** 44269cb87576ba163b61bb0e6477a3b7c57a9b11d40Dianne Hackborn * Bit in {@link #configChanges} that indicates that the activity 443908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn * can itself handle density changes. Set from the 444908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn * {@link android.R.attr#configChanges} attribute. 445908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn */ 446908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn public static final int CONFIG_DENSITY = 0x1000; 447908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn /** 448908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn * Bit in {@link #configChanges} that indicates that the activity 4495f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio * can itself handle the change to layout direction. Set from the 4505f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio * {@link android.R.attr#configChanges} attribute. 4515f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio */ 4525f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio public static final int CONFIG_LAYOUT_DIRECTION = 0x2000; 4535f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio /** 4545f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio * Bit in {@link #configChanges} that indicates that the activity 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can itself handle changes to the font scaling factor. Set from the 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.attr#configChanges} attribute. This is 457dc25d25333d3fac96dccfb9bd31d2474d6bc2d78Fabrice Di Meglio * not a core resource configuration, but a higher-level value, so its 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * constant starts at the high bits. 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int CONFIG_FONT_SCALE = 0x40000000; 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 462ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn /** @hide 463ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn * Unfortunately the constants for config changes in native code are 464ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn * different from ActivityInfo. :( Here are the values we should use for the 465ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn * native side given the bit we have assigned in ActivityInfo. 466ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn */ 467ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn public static int[] CONFIG_NATIVE_BITS = new int[] { 4681d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_MNC, // MNC 4691d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_MCC, // MCC 4701d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_LOCALE, // LOCALE 4711d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_TOUCHSCREEN, // TOUCH SCREEN 4721d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_KEYBOARD, // KEYBOARD 4731d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_KEYBOARD_HIDDEN, // KEYBOARD HIDDEN 4741d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_NAVIGATION, // NAVIGATION 4751d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_ORIENTATION, // ORIENTATION 4761d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_SCREEN_LAYOUT, // SCREEN LAYOUT 4771d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_UI_MODE, // UI MODE 4781d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_SCREEN_SIZE, // SCREEN SIZE 4791d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_SMALLEST_SCREEN_SIZE, // SMALLEST SCREEN SIZE 4801d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_DENSITY, // DENSITY 4811d0b177754c81a20e272b91c6f703a634fe5c856Dianne Hackborn Configuration.NATIVE_CONFIG_LAYOUTDIR, // LAYOUT DIRECTION 482ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn }; 483ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn /** @hide 484ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn * Convert Java change bits to native. 485ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn */ 486ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn public static int activityInfoConfigToNative(int input) { 487ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn int output = 0; 488ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn for (int i=0; i<CONFIG_NATIVE_BITS.length; i++) { 489ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn if ((input&(1<<i)) != 0) { 490ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn output |= CONFIG_NATIVE_BITS[i]; 491ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn } 492ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn } 493ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn return output; 494ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn } 495ebff8f92f13513ce37bd74759eb1db63f2220590Dianne Hackborn 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 497e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * @hide 498e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * Unfortunately some developers (OpenFeint I am looking at you) have 499e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * compared the configChanges bit field against absolute values, so if we 500e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * introduce a new bit they break. To deal with that, we will make sure 501e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * the public field will not have a value that breaks them, and let the 502e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn * framework call here to get the real value. 503e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn */ 504e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn public int getRealConfigChanged() { 505e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn return applicationInfo.targetSdkVersion < android.os.Build.VERSION_CODES.HONEYCOMB_MR2 506e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn ? (configChanges | ActivityInfo.CONFIG_SCREEN_SIZE 507e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE) 508e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn : configChanges; 509e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn } 510e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn 511e66763516a9c27c192adaba417616371a1c3c9bfDianne Hackborn /** 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit mask of kinds of configuration changes that this activity 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * can handle itself (without being restarted by the system). 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Contains any combination of {@link #CONFIG_FONT_SCALE}, 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #CONFIG_MCC}, {@link #CONFIG_MNC}, 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #CONFIG_LOCALE}, {@link #CONFIG_TOUCHSCREEN}, 517723738cfaec3dd7b0fe152c872c41bebf94074c4Dianne Hackborn * {@link #CONFIG_KEYBOARD}, {@link #CONFIG_NAVIGATION}, 5185f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio * {@link #CONFIG_ORIENTATION}, {@link #CONFIG_SCREEN_LAYOUT} and 5195f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio * {@link #CONFIG_LAYOUT_DIRECTION}. Set from the {@link android.R.attr#configChanges} 5205f7979993979466c79ab4f38d83c6f2aca361662Fabrice Di Meglio * attribute. 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int configChanges; 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The desired soft input mode for this activity's main window. 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set from the {@link android.R.attr#windowSoftInputMode} attribute 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * in the activity's manifest. May be any of the same values allowed 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for {@link android.view.WindowManager.LayoutParams#softInputMode 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WindowManager.LayoutParams.softInputMode}. If 0 (unspecified), 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the mode from the theme will be used. 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int softInputMode; 533269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell 534269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell /** 535269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell * The desired extra UI options for this activity and its main window. 536269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell * Set from the {@link android.R.attr#uiOptions} attribute in the 537269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell * activity's manifest. 538269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell */ 539269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell public int uiOptions = 0; 540269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell 541269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell /** 542e797ed6a74593630219faf7f0ba5dc8235586bceScott Main * Flag for use with {@link #uiOptions}. 543e797ed6a74593630219faf7f0ba5dc8235586bceScott Main * Indicates that the action bar should put all action items in a separate bar when 544e797ed6a74593630219faf7f0ba5dc8235586bceScott Main * the screen is narrow. 545e797ed6a74593630219faf7f0ba5dc8235586bceScott Main * <p>This value corresponds to "splitActionBarWhenNarrow" for the {@link #uiOptions} XML 546e797ed6a74593630219faf7f0ba5dc8235586bceScott Main * attribute. 547269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell */ 548269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell public static final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1; 549269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell 550dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell /** 551dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell * If defined, the activity named here is the logical parent of this activity. 552dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell */ 553dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell public String parentActivityName; 554dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ActivityInfo() { 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ActivityInfo(ActivityInfo orig) { 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(orig); 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project theme = orig.theme; 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project launchMode = orig.launchMode; 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project permission = orig.permission; 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project taskAffinity = orig.taskAffinity; 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project targetActivity = orig.targetActivity; 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = orig.flags; 5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project screenOrientation = orig.screenOrientation; 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project configChanges = orig.configChanges; 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project softInputMode = orig.softInputMode; 569269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell uiOptions = orig.uiOptions; 570dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell parentActivityName = orig.parentActivityName; 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Return the theme resource identifier to use for this activity. If 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the activity defines a theme, that is used; else, the application 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * theme is used. 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The theme associated with this activity. 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public final int getThemeResource() { 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return theme != 0 ? theme : applicationInfo.theme; 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void dump(Printer pw, String prefix) { 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.dumpFront(pw, prefix); 58612527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn if (permission != null) { 58712527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn pw.println(prefix + "permission=" + permission); 58812527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn } 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pw.println(prefix + "taskAffinity=" + taskAffinity 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " targetActivity=" + targetActivity); 59112527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn if (launchMode != 0 || flags != 0 || theme != 0) { 59212527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn pw.println(prefix + "launchMode=" + launchMode 59312527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn + " flags=0x" + Integer.toHexString(flags) 59412527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn + " theme=0x" + Integer.toHexString(theme)); 59512527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn } 59612527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn if (screenOrientation != SCREEN_ORIENTATION_UNSPECIFIED 59712527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn || configChanges != 0 || softInputMode != 0) { 59812527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn pw.println(prefix + "screenOrientation=" + screenOrientation 59912527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn + " configChanges=0x" + Integer.toHexString(configChanges) 60012527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn + " softInputMode=0x" + Integer.toHexString(softInputMode)); 60112527f9fb1cb0a1ad3be8149c1c88a0e731cb4d6Dianne Hackborn } 602269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell if (uiOptions != 0) { 603269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell pw.println(prefix + " uiOptions=0x" + Integer.toHexString(uiOptions)); 604269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell } 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.dumpBack(pw, prefix); 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String toString() { 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return "ActivityInfo{" 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + Integer.toHexString(System.identityHashCode(this)) 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + " " + name + "}"; 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int describeContents() { 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return 0; 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void writeToParcel(Parcel dest, int parcelableFlags) { 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.writeToParcel(dest, parcelableFlags); 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeInt(theme); 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeInt(launchMode); 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeString(permission); 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeString(taskAffinity); 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeString(targetActivity); 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeInt(flags); 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeInt(screenOrientation); 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeInt(configChanges); 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project dest.writeInt(softInputMode); 629269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell dest.writeInt(uiOptions); 630dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell dest.writeString(parentActivityName); 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final Parcelable.Creator<ActivityInfo> CREATOR 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project = new Parcelable.Creator<ActivityInfo>() { 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ActivityInfo createFromParcel(Parcel source) { 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ActivityInfo(source); 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ActivityInfo[] newArray(int size) { 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new ActivityInfo[size]; 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private ActivityInfo(Parcel source) { 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(source); 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project theme = source.readInt(); 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project launchMode = source.readInt(); 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project permission = source.readString(); 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project taskAffinity = source.readString(); 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project targetActivity = source.readString(); 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project flags = source.readInt(); 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project screenOrientation = source.readInt(); 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project configChanges = source.readInt(); 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project softInputMode = source.readInt(); 654269248d112e35fe8e9f0d5d11c96dcb2ac1118b0Adam Powell uiOptions = source.readInt(); 655dd8fab2629131b09367df747afd9a61e42dd1992Adam Powell parentActivityName = source.readString(); 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 658