Merge "Add a home intent category for VR headset UI mode."
This commit is contained in:
committed by
Android (Google) Code Review
commit
a941cbc59a
@@ -9054,6 +9054,7 @@ package android.content {
|
||||
field public static final java.lang.String CATEGORY_TYPED_OPENABLE = "android.intent.category.TYPED_OPENABLE";
|
||||
field public static final java.lang.String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
|
||||
field public static final java.lang.String CATEGORY_VOICE = "android.intent.category.VOICE";
|
||||
field public static final java.lang.String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
|
||||
field public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
|
||||
field public static final java.lang.String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
|
||||
field public static final java.lang.String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
|
||||
|
||||
@@ -9466,6 +9466,7 @@ package android.content {
|
||||
field public static final java.lang.String CATEGORY_TYPED_OPENABLE = "android.intent.category.TYPED_OPENABLE";
|
||||
field public static final java.lang.String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
|
||||
field public static final java.lang.String CATEGORY_VOICE = "android.intent.category.VOICE";
|
||||
field public static final java.lang.String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
|
||||
field public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
|
||||
field public static final java.lang.String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
|
||||
field public static final java.lang.String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
|
||||
|
||||
@@ -9080,6 +9080,7 @@ package android.content {
|
||||
field public static final java.lang.String CATEGORY_TYPED_OPENABLE = "android.intent.category.TYPED_OPENABLE";
|
||||
field public static final java.lang.String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
|
||||
field public static final java.lang.String CATEGORY_VOICE = "android.intent.category.VOICE";
|
||||
field public static final java.lang.String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
|
||||
field public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
|
||||
field public static final java.lang.String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
|
||||
field public static final java.lang.String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
|
||||
|
||||
@@ -569,6 +569,7 @@ import static android.content.ContentProvider.maybeAddUserId;
|
||||
* <li> {@link #CATEGORY_HE_DESK_DOCK}
|
||||
* <li> {@link #CATEGORY_CAR_MODE}
|
||||
* <li> {@link #CATEGORY_APP_MARKET}
|
||||
* <li> {@link #CATEGORY_VR_HOME}
|
||||
* </ul>
|
||||
*
|
||||
* <h3>Standard Extra Data</h3>
|
||||
@@ -3643,6 +3644,13 @@ public class Intent implements Parcelable, Cloneable {
|
||||
@SdkConstant(SdkConstantType.INTENT_CATEGORY)
|
||||
public static final String CATEGORY_CAR_MODE = "android.intent.category.CAR_MODE";
|
||||
|
||||
/**
|
||||
* An activity to use for the launcher when the device is placed in a VR Headset viewer.
|
||||
* Used with {@link #ACTION_MAIN} to launch an activity. For more
|
||||
* information, see {@link android.app.UiModeManager}.
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.INTENT_CATEGORY)
|
||||
public static final String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
|
||||
// ---------------------------------------------------------------------
|
||||
// ---------------------------------------------------------------------
|
||||
// Application launch intent categories (see addCategory()).
|
||||
|
||||
@@ -261,6 +261,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
// No longer recommended for desk docks;
|
||||
static final boolean ENABLE_DESK_DOCK_HOME_CAPTURE = false;
|
||||
|
||||
// Whether to allow devices placed in vr headset viewers to have an alternative Home intent.
|
||||
static final boolean ENABLE_VR_HEADSET_HOME_CAPTURE = true;
|
||||
|
||||
static final boolean ALTERNATE_CAR_MODE_NAV_SIZE = false;
|
||||
|
||||
static final int SHORT_PRESS_POWER_NOTHING = 0;
|
||||
@@ -684,6 +687,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
Intent mHomeIntent;
|
||||
Intent mCarDockIntent;
|
||||
Intent mDeskDockIntent;
|
||||
Intent mVrHeadsetHomeIntent;
|
||||
boolean mSearchKeyShortcutPending;
|
||||
boolean mConsumeSearchKeyUp;
|
||||
boolean mAssistKeyLongPressed;
|
||||
@@ -1791,6 +1795,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
mDeskDockIntent.addCategory(Intent.CATEGORY_DESK_DOCK);
|
||||
mDeskDockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
|
||||
mVrHeadsetHomeIntent = new Intent(Intent.ACTION_MAIN, null);
|
||||
mVrHeadsetHomeIntent.addCategory(Intent.CATEGORY_VR_HOME);
|
||||
mVrHeadsetHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
|
||||
|
||||
mPowerManager = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
|
||||
mBroadcastWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
|
||||
@@ -7392,6 +7400,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
|| mDockMode == Intent.EXTRA_DOCK_STATE_LE_DESK)) {
|
||||
// Always launch dock home from home when watch is docked, if it exists.
|
||||
intent = mDeskDockIntent;
|
||||
} else if (mUiMode == Configuration.UI_MODE_TYPE_VR_HEADSET) {
|
||||
if (ENABLE_VR_HEADSET_HOME_CAPTURE) {
|
||||
intent = mVrHeadsetHomeIntent;
|
||||
}
|
||||
}
|
||||
|
||||
if (intent == null) {
|
||||
|
||||
Reference in New Issue
Block a user