diff options
8 files changed, 450 insertions, 54 deletions
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 08acfb651b18..c238ffbbaf4d 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -10071,6 +10071,27 @@ public class Intent implements Parcelable, Cloneable { return false; } + /** + * Convert the dock state to a human readable format. + * @hide + */ + public static String dockStateToString(int dock) { + switch (dock) { + case EXTRA_DOCK_STATE_HE_DESK: + return "EXTRA_DOCK_STATE_HE_DESK"; + case EXTRA_DOCK_STATE_LE_DESK: + return "EXTRA_DOCK_STATE_LE_DESK"; + case EXTRA_DOCK_STATE_CAR: + return "EXTRA_DOCK_STATE_CAR"; + case EXTRA_DOCK_STATE_DESK: + return "EXTRA_DOCK_STATE_DESK"; + case EXTRA_DOCK_STATE_UNDOCKED: + return "EXTRA_DOCK_STATE_UNDOCKED"; + default: + return Integer.toString(dock); + } + } + private static ClipData.Item makeClipItem(ArrayList<Uri> streams, ArrayList<CharSequence> texts, ArrayList<String> htmlTexts, int which) { Uri uri = streams != null ? streams.get(which) : null; diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index 48587b3630d9..486ff43a6467 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -34,8 +34,7 @@ import java.lang.annotation.RetentionPolicy; * from the AndroidManifest.xml's <activity> and * <receiver> tags. */ -public class ActivityInfo extends ComponentInfo - implements Parcelable { +public class ActivityInfo extends ComponentInfo implements Parcelable { // NOTE: When adding new data members be sure to update the copy-constructor, Parcel // constructor, and writeToParcel. @@ -1211,6 +1210,51 @@ public class ActivityInfo extends ComponentInfo return isFloating || isTranslucent || isSwipeToDismiss; } + /** + * Convert the screen orientation constant to a human readable format. + * @hide + */ + public static String screenOrientationToString(int orientation) { + switch(orientation) { + case SCREEN_ORIENTATION_UNSET: + return "SCREEN_ORIENTATION_UNSET"; + case SCREEN_ORIENTATION_UNSPECIFIED: + return "SCREEN_ORIENTATION_UNSPECIFIED"; + case SCREEN_ORIENTATION_LANDSCAPE: + return "SCREEN_ORIENTATION_LANDSCAPE"; + case SCREEN_ORIENTATION_PORTRAIT: + return "SCREEN_ORIENTATION_PORTRAIT"; + case SCREEN_ORIENTATION_USER: + return "SCREEN_ORIENTATION_USER"; + case SCREEN_ORIENTATION_BEHIND: + return "SCREEN_ORIENTATION_BEHIND"; + case SCREEN_ORIENTATION_SENSOR: + return "SCREEN_ORIENTATION_SENSOR"; + case SCREEN_ORIENTATION_NOSENSOR: + return "SCREEN_ORIENTATION_NOSENSOR"; + case SCREEN_ORIENTATION_SENSOR_LANDSCAPE: + return "SCREEN_ORIENTATION_SENSOR_LANDSCAPE"; + case SCREEN_ORIENTATION_SENSOR_PORTRAIT: + return "SCREEN_ORIENTATION_SENSOR_PORTRAIT"; + case SCREEN_ORIENTATION_REVERSE_LANDSCAPE: + return "SCREEN_ORIENTATION_REVERSE_LANDSCAPE"; + case SCREEN_ORIENTATION_REVERSE_PORTRAIT: + return "SCREEN_ORIENTATION_REVERSE_PORTRAIT"; + case SCREEN_ORIENTATION_FULL_SENSOR: + return "SCREEN_ORIENTATION_FULL_SENSOR"; + case SCREEN_ORIENTATION_USER_LANDSCAPE: + return "SCREEN_ORIENTATION_USER_LANDSCAPE"; + case SCREEN_ORIENTATION_USER_PORTRAIT: + return "SCREEN_ORIENTATION_USER_PORTRAIT"; + case SCREEN_ORIENTATION_FULL_USER: + return "SCREEN_ORIENTATION_FULL_USER"; + case SCREEN_ORIENTATION_LOCKED: + return "SCREEN_ORIENTATION_LOCKED"; + default: + return Integer.toString(orientation); + } + } + public static final Parcelable.Creator<ActivityInfo> CREATOR = new Parcelable.Creator<ActivityInfo>() { public ActivityInfo createFromParcel(Parcel source) { diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index 1310e30300e2..dfd3bbf04d35 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -1089,6 +1089,33 @@ public final class Configuration implements Parcelable, Comparable<Configuration } /** + * Convert the UI mode to a human readable format. + * @hide + */ + public static String uiModeToString(int uiMode) { + switch (uiMode) { + case UI_MODE_TYPE_UNDEFINED: + return "UI_MODE_TYPE_UNDEFINED"; + case UI_MODE_TYPE_NORMAL: + return "UI_MODE_TYPE_NORMAL"; + case UI_MODE_TYPE_DESK: + return "UI_MODE_TYPE_DESK"; + case UI_MODE_TYPE_CAR: + return "UI_MODE_TYPE_CAR"; + case UI_MODE_TYPE_TELEVISION: + return "UI_MODE_TYPE_TELEVISION"; + case UI_MODE_TYPE_APPLIANCE: + return "UI_MODE_TYPE_APPLIANCE"; + case UI_MODE_TYPE_WATCH: + return "UI_MODE_TYPE_WATCH"; + case UI_MODE_TYPE_VR_HEADSET: + return "UI_MODE_TYPE_VR_HEADSET"; + default: + return Integer.toString(uiMode); + } + } + + /** * Set this object to the system defaults. */ public void setToDefaults() { diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index 2c1f73468ca6..ddced6cdd83f 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -762,7 +762,7 @@ public class Surface implements Parcelable { return "ROTATION_270"; } default: { - throw new IllegalArgumentException("Invalid rotation: " + rotation); + return Integer.toString(rotation); } } } diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java index 66506a18296b..4131fd1ae9ff 100644 --- a/core/java/android/view/WindowManagerPolicy.java +++ b/core/java/android/view/WindowManagerPolicy.java @@ -617,6 +617,38 @@ public interface WindowManagerPolicy { * @param listener callback to call when display can be turned off */ void screenTurningOff(ScreenOffListener listener); + + /** + * Convert the lid state to a human readable format. + */ + static String lidStateToString(int lid) { + switch (lid) { + case LID_ABSENT: + return "LID_ABSENT"; + case LID_CLOSED: + return "LID_CLOSED"; + case LID_OPEN: + return "LID_OPEN"; + default: + return Integer.toString(lid); + } + } + + /** + * Convert the camera lens state to a human readable format. + */ + static String cameraLensStateToString(int lens) { + switch (lens) { + case CAMERA_LENS_COVER_ABSENT: + return "CAMERA_LENS_COVER_ABSENT"; + case CAMERA_LENS_UNCOVERED: + return "CAMERA_LENS_UNCOVERED"; + case CAMERA_LENS_COVERED: + return "CAMERA_LENS_COVERED"; + default: + return Integer.toString(lens); + } + } } public interface PointerEventListener { @@ -1750,4 +1782,34 @@ public interface WindowManagerPolicy { * @return true if ready; false otherwise. */ boolean canDismissBootAnimation(); + + /** + * Convert the user rotation mode to a human readable format. + */ + static String userRotationModeToString(int mode) { + switch(mode) { + case USER_ROTATION_FREE: + return "USER_ROTATION_FREE"; + case USER_ROTATION_LOCKED: + return "USER_ROTATION_LOCKED"; + default: + return Integer.toString(mode); + } + } + + /** + * Convert the off reason to a human readable format. + */ + static String offReasonToString(int why) { + switch (why) { + case OFF_BECAUSE_OF_ADMIN: + return "OFF_BECAUSE_OF_ADMIN"; + case OFF_BECAUSE_OF_USER: + return "OFF_BECAUSE_OF_USER"; + case OFF_BECAUSE_OF_TIMEOUT: + return "OFF_BECAUSE_OF_TIMEOUT"; + default: + return Integer.toString(why); + } + } } diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 1d7f66f54faf..d19bf445ef04 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -198,6 +198,7 @@ import android.util.EventLog; import android.util.Log; import android.util.LongSparseArray; import android.util.MutableBoolean; +import android.util.PrintWriterPrinter; import android.util.Slog; import android.util.SparseArray; import android.util.proto.ProtoOutputStream; @@ -296,13 +297,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final int LONG_PRESS_POWER_SHUT_OFF = 2; static final int LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM = 3; - static final int LONG_PRESS_BACK_NOTHING = 0; - static final int LONG_PRESS_BACK_GO_TO_VOICE_ASSIST = 1; - static final int MULTI_PRESS_POWER_NOTHING = 0; static final int MULTI_PRESS_POWER_THEATER_MODE = 1; static final int MULTI_PRESS_POWER_BRIGHTNESS_BOOST = 2; + static final int LONG_PRESS_BACK_NOTHING = 0; + static final int LONG_PRESS_BACK_GO_TO_VOICE_ASSIST = 1; + // Number of presses needed before we induce panic press behavior on the back button static final int PANIC_PRESS_BACK_COUNT = 4; static final int PANIC_PRESS_BACK_NOTHING = 0; @@ -565,7 +566,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { int mLongPressOnBackBehavior; int mPanicPressOnBackBehavior; int mShortPressOnSleepBehavior; - int mShortPressWindowBehavior; + int mShortPressOnWindowBehavior; volatile boolean mAwake; boolean mScreenOnEarly; boolean mScreenOnFully; @@ -2180,9 +2181,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mDoubleTapOnHomeBehavior = LONG_PRESS_HOME_NOTHING; } - mShortPressWindowBehavior = SHORT_PRESS_WINDOW_NOTHING; + mShortPressOnWindowBehavior = SHORT_PRESS_WINDOW_NOTHING; if (mContext.getPackageManager().hasSystemFeature(FEATURE_PICTURE_IN_PICTURE)) { - mShortPressWindowBehavior = SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE; + mShortPressOnWindowBehavior = SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE; } mNavBarOpacityMode = res.getInteger( @@ -6276,7 +6277,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { break; } case KeyEvent.KEYCODE_WINDOW: { - if (mShortPressWindowBehavior == SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE) { + if (mShortPressOnWindowBehavior == SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE) { if (mPictureInPictureVisible) { // Consumes the key only if picture-in-picture is visible to show // picture-in-picture control menu. This gives a chance to the foreground @@ -8323,9 +8324,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { pw.print(prefix); pw.print("mSafeMode="); pw.print(mSafeMode); pw.print(" mSystemReady="); pw.print(mSystemReady); pw.print(" mSystemBooted="); pw.println(mSystemBooted); - pw.print(prefix); pw.print("mLidState="); pw.print(mLidState); - pw.print(" mLidOpenRotation="); pw.print(mLidOpenRotation); - pw.print(" mCameraLensCoverState="); pw.print(mCameraLensCoverState); + pw.print(prefix); pw.print("mLidState="); + pw.print(WindowManagerFuncs.lidStateToString(mLidState)); + pw.print(" mLidOpenRotation="); + pw.println(Surface.rotationToString(mLidOpenRotation)); + pw.print(prefix); pw.print("mCameraLensCoverState="); + pw.print(WindowManagerFuncs.cameraLensStateToString(mCameraLensCoverState)); pw.print(" mHdmiPlugged="); pw.println(mHdmiPlugged); if (mLastSystemUiFlags != 0 || mResettingSystemUiFlags != 0 || mForceClearedSystemUiFlags != 0) { @@ -8343,16 +8347,24 @@ public class PhoneWindowManager implements WindowManagerPolicy { pw.print(prefix); pw.print("mWakeGestureEnabledSetting="); pw.println(mWakeGestureEnabledSetting); - pw.print(prefix); pw.print("mSupportAutoRotation="); pw.println(mSupportAutoRotation); - pw.print(prefix); pw.print("mUiMode="); pw.print(mUiMode); - pw.print(" mDockMode="); pw.print(mDockMode); - pw.print(" mEnableCarDockHomeCapture="); pw.print(mEnableCarDockHomeCapture); - pw.print(" mCarDockRotation="); pw.print(mCarDockRotation); - pw.print(" mDeskDockRotation="); pw.println(mDeskDockRotation); - pw.print(prefix); pw.print("mUserRotationMode="); pw.print(mUserRotationMode); - pw.print(" mUserRotation="); pw.print(mUserRotation); - pw.print(" mAllowAllRotations="); pw.println(mAllowAllRotations); - pw.print(prefix); pw.print("mCurrentAppOrientation="); pw.println(mCurrentAppOrientation); + pw.print(prefix); + pw.print("mSupportAutoRotation="); pw.print(mSupportAutoRotation); + pw.print(" mOrientationSensorEnabled="); pw.println(mOrientationSensorEnabled); + pw.print(prefix); pw.print("mUiMode="); pw.print(Configuration.uiModeToString(mUiMode)); + pw.print(" mDockMode="); pw.println(Intent.dockStateToString(mDockMode)); + pw.print(prefix); pw.print("mEnableCarDockHomeCapture="); + pw.print(mEnableCarDockHomeCapture); + pw.print(" mCarDockRotation="); + pw.print(Surface.rotationToString(mCarDockRotation)); + pw.print(" mDeskDockRotation="); + pw.println(Surface.rotationToString(mDeskDockRotation)); + pw.print(prefix); pw.print("mUserRotationMode="); + pw.print(WindowManagerPolicy.userRotationModeToString(mUserRotationMode)); + pw.print(" mUserRotation="); pw.print(Surface.rotationToString(mUserRotation)); + pw.print(" mAllowAllRotations="); + pw.println(allowAllRotationsToString(mAllowAllRotations)); + pw.print(prefix); pw.print("mCurrentAppOrientation="); + pw.println(ActivityInfo.screenOrientationToString(mCurrentAppOrientation)); pw.print(prefix); pw.print("mCarDockEnablesAccelerometer="); pw.print(mCarDockEnablesAccelerometer); pw.print(" mDeskDockEnablesAccelerometer="); @@ -8361,23 +8373,54 @@ public class PhoneWindowManager implements WindowManagerPolicy { pw.print(mLidKeyboardAccessibility); pw.print(" mLidNavigationAccessibility="); pw.print(mLidNavigationAccessibility); pw.print(" mLidControlsScreenLock="); pw.println(mLidControlsScreenLock); - pw.print(" mLidControlsSleep="); pw.println(mLidControlsSleep); + pw.print(prefix); pw.print("mLidControlsSleep="); pw.println(mLidControlsSleep); + pw.print(prefix); + pw.print("mLongPressOnBackBehavior="); + pw.println(longPressOnBackBehaviorToString(mLongPressOnBackBehavior)); + pw.print(prefix); + pw.print("mPanicPressOnBackBehavior="); + pw.println(panicPressOnBackBehaviorToString(mPanicPressOnBackBehavior)); + pw.print(prefix); + pw.print("mLongPressOnHomeBehavior="); + pw.println(longPressOnHomeBehaviorToString(mLongPressOnHomeBehavior)); + pw.print(prefix); + pw.print("mDoubleTapOnHomeBehavior="); + pw.println(doubleTapOnHomeBehaviorToString(mDoubleTapOnHomeBehavior)); + pw.print(prefix); + pw.print("mShortPressOnPowerBehavior="); + pw.println(shortPressOnPowerBehaviorToString(mShortPressOnPowerBehavior)); pw.print(prefix); - pw.print(" mLongPressOnBackBehavior="); pw.println(mLongPressOnBackBehavior); + pw.print("mLongPressOnPowerBehavior="); + pw.println(longPressOnPowerBehaviorToString(mLongPressOnPowerBehavior)); pw.print(prefix); - pw.print("mShortPressOnPowerBehavior="); pw.print(mShortPressOnPowerBehavior); - pw.print(" mLongPressOnPowerBehavior="); pw.println(mLongPressOnPowerBehavior); + pw.print("mDoublePressOnPowerBehavior="); + pw.println(multiPressOnPowerBehaviorToString(mDoublePressOnPowerBehavior)); pw.print(prefix); - pw.print("mDoublePressOnPowerBehavior="); pw.print(mDoublePressOnPowerBehavior); - pw.print(" mTriplePressOnPowerBehavior="); pw.println(mTriplePressOnPowerBehavior); - pw.print(prefix); pw.print("mHasSoftInput="); pw.println(mHasSoftInput); - pw.print(prefix); pw.print("mAwake="); pw.println(mAwake); - pw.print(prefix); pw.print("mScreenOnEarly="); pw.print(mScreenOnEarly); + pw.print("mTriplePressOnPowerBehavior="); + pw.println(multiPressOnPowerBehaviorToString(mTriplePressOnPowerBehavior)); + pw.print(prefix); + pw.print("mShortPressOnSleepBehavior="); + pw.println(shortPressOnSleepBehaviorToString(mShortPressOnSleepBehavior)); + pw.print(prefix); + pw.print("mShortPressOnWindowBehavior="); + pw.println(shortPressOnWindowBehaviorToString(mShortPressOnWindowBehavior)); + pw.print(prefix); + pw.print("mHasSoftInput="); pw.print(mHasSoftInput); + pw.print(" mDismissImeOnBackKeyPressed="); pw.println(mDismissImeOnBackKeyPressed); + pw.print(prefix); + pw.print("mIncallPowerBehavior="); + pw.print(incallPowerBehaviorToString(mIncallPowerBehavior)); + pw.print(" mIncallBackBehavior="); + pw.print(incallBackBehaviorToString(mIncallBackBehavior)); + pw.print(" mEndcallBehavior="); + pw.println(endcallBehaviorToString(mEndcallBehavior)); + pw.print(prefix); pw.print("mHomePressed="); pw.println(mHomePressed); + pw.print(prefix); + pw.print("mAwake="); pw.print(mAwake); + pw.print("mScreenOnEarly="); pw.print(mScreenOnEarly); pw.print(" mScreenOnFully="); pw.println(mScreenOnFully); pw.print(prefix); pw.print("mKeyguardDrawComplete="); pw.print(mKeyguardDrawComplete); pw.print(" mWindowManagerDrawComplete="); pw.println(mWindowManagerDrawComplete); - pw.print(prefix); pw.print("mOrientationSensorEnabled="); - pw.println(mOrientationSensorEnabled); pw.print(prefix); pw.print("mOverscanScreen=("); pw.print(mOverscanScreenLeft); pw.print(","); pw.print(mOverscanScreenTop); pw.print(") "); pw.print(mOverscanScreenWidth); @@ -8443,8 +8486,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { pw.print(prefix); pw.print("mLastInputMethodTargetWindow="); pw.println(mLastInputMethodTargetWindow); } - pw.print(prefix); pw.print("mDismissImeOnBackKeyPressed="); - pw.println(mDismissImeOnBackKeyPressed); if (mStatusBar != null) { pw.print(prefix); pw.print("mStatusBar="); pw.print(mStatusBar); pw.print(" isStatusBarKeyguard="); @@ -8477,26 +8518,28 @@ public class PhoneWindowManager implements WindowManagerPolicy { } pw.print(prefix); pw.print("mTopIsFullscreen="); pw.print(mTopIsFullscreen); pw.print(" mKeyguardOccluded="); pw.println(mKeyguardOccluded); - pw.print(" mKeyguardOccludedChanged="); pw.println(mKeyguardOccludedChanged); + pw.print(prefix); + pw.print("mKeyguardOccludedChanged="); pw.print(mKeyguardOccludedChanged); pw.print(" mPendingKeyguardOccluded="); pw.println(mPendingKeyguardOccluded); pw.print(prefix); pw.print("mForceStatusBar="); pw.print(mForceStatusBar); pw.print(" mForceStatusBarFromKeyguard="); pw.println(mForceStatusBarFromKeyguard); - pw.print(prefix); pw.print("mHomePressed="); pw.println(mHomePressed); pw.print(prefix); pw.print("mAllowLockscreenWhenOn="); pw.print(mAllowLockscreenWhenOn); pw.print(" mLockScreenTimeout="); pw.print(mLockScreenTimeout); pw.print(" mLockScreenTimerActive="); pw.println(mLockScreenTimerActive); - pw.print(prefix); pw.print("mEndcallBehavior="); pw.print(mEndcallBehavior); - pw.print(" mIncallPowerBehavior="); pw.print(mIncallPowerBehavior); - pw.print(" mIncallBackBehavior="); pw.print(mIncallBackBehavior); - pw.print(" mLongPressOnHomeBehavior="); pw.println(mLongPressOnHomeBehavior); - pw.print(prefix); pw.print("mLandscapeRotation="); pw.print(mLandscapeRotation); - pw.print(" mSeascapeRotation="); pw.println(mSeascapeRotation); - pw.print(prefix); pw.print("mPortraitRotation="); pw.print(mPortraitRotation); - pw.print(" mUpsideDownRotation="); pw.println(mUpsideDownRotation); - pw.print(prefix); pw.print("mDemoHdmiRotation="); pw.print(mDemoHdmiRotation); + pw.print(prefix); pw.print("mLandscapeRotation="); + pw.print(Surface.rotationToString(mLandscapeRotation)); + pw.print(" mSeascapeRotation="); + pw.println(Surface.rotationToString(mSeascapeRotation)); + pw.print(prefix); pw.print("mPortraitRotation="); + pw.print(Surface.rotationToString(mPortraitRotation)); + pw.print(" mUpsideDownRotation="); + pw.println(Surface.rotationToString(mUpsideDownRotation)); + pw.print(prefix); pw.print("mDemoHdmiRotation="); + pw.print(Surface.rotationToString(mDemoHdmiRotation)); pw.print(" mDemoHdmiRotationLock="); pw.println(mDemoHdmiRotationLock); - pw.print(prefix); pw.print("mUndockedHdmiRotation="); pw.println(mUndockedHdmiRotation); + pw.print(prefix); pw.print("mUndockedHdmiRotation="); + pw.println(Surface.rotationToString(mUndockedHdmiRotation)); if (mHasFeatureLeanback) { pw.print(prefix); pw.print("mAccessibilityTvKey1Pressed="); pw.println(mAccessibilityTvKey1Pressed); @@ -8523,5 +8566,169 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mKeyguardDelegate != null) { mKeyguardDelegate.dump(prefix, pw); } + + pw.print(prefix); pw.println("Looper state:"); + mHandler.getLooper().dump(new PrintWriterPrinter(pw), prefix + " "); + } + + private static String allowAllRotationsToString(int allowAll) { + switch (allowAll) { + case -1: + return "unknown"; + case 0: + return "false"; + case 1: + return "true"; + default: + return Integer.toString(allowAll); + } + } + + private static String endcallBehaviorToString(int behavior) { + StringBuilder sb = new StringBuilder(); + if ((behavior & Settings.System.END_BUTTON_BEHAVIOR_HOME) != 0 ) { + sb.append("home|"); + } + if ((behavior & Settings.System.END_BUTTON_BEHAVIOR_SLEEP) != 0) { + sb.append("sleep|"); + } + + final int N = sb.length(); + if (N == 0) { + return "<nothing>"; + } else { + // Chop off the trailing '|' + return sb.substring(0, N - 1); + } + } + + private static String incallPowerBehaviorToString(int behavior) { + if ((behavior & Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP) != 0) { + return "hangup"; + } else { + return "sleep"; + } + } + + private static String incallBackBehaviorToString(int behavior) { + if ((behavior & Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR_HANGUP) != 0) { + return "hangup"; + } else { + return "<nothing>"; + } + } + + private static String longPressOnBackBehaviorToString(int behavior) { + switch (behavior) { + case LONG_PRESS_BACK_NOTHING: + return "LONG_PRESS_BACK_NOTHING"; + case LONG_PRESS_BACK_GO_TO_VOICE_ASSIST: + return "LONG_PRESS_BACK_GO_TO_VOICE_ASSIST"; + default: + return Integer.toString(behavior); + } + } + + private static String panicPressOnBackBehaviorToString(int behavior) { + switch (behavior) { + case PANIC_PRESS_BACK_NOTHING: + return "PANIC_PRESS_BACK_NOTHING"; + case PANIC_PRESS_BACK_HOME: + return "PANIC_PRESS_BACK_HOME"; + default: + return Integer.toString(behavior); + } + } + + private static String longPressOnHomeBehaviorToString(int behavior) { + switch (behavior) { + case LONG_PRESS_HOME_NOTHING: + return "LONG_PRESS_HOME_NOTHING"; + case LONG_PRESS_HOME_ALL_APPS: + return "LONG_PRESS_HOME_ALL_APPS"; + case LONG_PRESS_HOME_ASSIST: + return "LONG_PRESS_HOME_ASSIST"; + default: + return Integer.toString(behavior); + } + } + + private static String doubleTapOnHomeBehaviorToString(int behavior) { + switch (behavior) { + case DOUBLE_TAP_HOME_NOTHING: + return "DOUBLE_TAP_HOME_NOTHING"; + case DOUBLE_TAP_HOME_RECENT_SYSTEM_UI: + return "DOUBLE_TAP_HOME_RECENT_SYSTEM_UI"; + default: + return Integer.toString(behavior); + } + } + + private static String shortPressOnPowerBehaviorToString(int behavior) { + switch (behavior) { + case SHORT_PRESS_POWER_NOTHING: + return "SHORT_PRESS_POWER_NOTHING"; + case SHORT_PRESS_POWER_GO_TO_SLEEP: + return "SHORT_PRESS_POWER_GO_TO_SLEEP"; + case SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP: + return "SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP"; + case SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME: + return "SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME"; + case SHORT_PRESS_POWER_GO_HOME: + return "SHORT_PRESS_POWER_GO_HOME"; + case SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME: + return "SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME"; + default: + return Integer.toString(behavior); + } + } + + private static String longPressOnPowerBehaviorToString(int behavior) { + switch (behavior) { + case LONG_PRESS_POWER_NOTHING: + return "LONG_PRESS_POWER_NOTHING"; + case LONG_PRESS_POWER_GLOBAL_ACTIONS: + return "LONG_PRESS_POWER_GLOBAL_ACTIONS"; + case LONG_PRESS_POWER_SHUT_OFF: + return "LONG_PRESS_POWER_SHUT_OFF"; + case LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM: + return "LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM"; + default: + return Integer.toString(behavior); + } + } + private static String multiPressOnPowerBehaviorToString(int behavior) { + switch (behavior) { + case MULTI_PRESS_POWER_NOTHING: + return "MULTI_PRESS_POWER_NOTHING"; + case MULTI_PRESS_POWER_THEATER_MODE: + return "MULTI_PRESS_POWER_THEATER_MODE"; + case MULTI_PRESS_POWER_BRIGHTNESS_BOOST: + return "MULTI_PRESS_POWER_BRIGHTNESS_BOOST"; + default: + return Integer.toString(behavior); + } + } + + private static String shortPressOnSleepBehaviorToString(int behavior) { + switch (behavior) { + case SHORT_PRESS_SLEEP_GO_TO_SLEEP: + return "SHORT_PRESS_SLEEP_GO_TO_SLEEP"; + case SHORT_PRESS_SLEEP_GO_TO_SLEEP_AND_GO_HOME: + return "SHORT_PRESS_SLEEP_GO_TO_SLEEP_AND_GO_HOME"; + default: + return Integer.toString(behavior); + } + } + + private static String shortPressOnWindowBehaviorToString(int behavior) { + switch (behavior) { + case SHORT_PRESS_WINDOW_NOTHING: + return "SHORT_PRESS_WINDOW_NOTHING"; + case SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE: + return "SHORT_PRESS_WINDOW_PICTURE_IN_PICTURE"; + default: + return Integer.toString(behavior); + } } } diff --git a/services/core/java/com/android/server/policy/WindowOrientationListener.java b/services/core/java/com/android/server/policy/WindowOrientationListener.java index 64f64c0d45d6..169fd278f665 100644 --- a/services/core/java/com/android/server/policy/WindowOrientationListener.java +++ b/services/core/java/com/android/server/policy/WindowOrientationListener.java @@ -26,6 +26,7 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.text.TextUtils; import android.util.Slog; +import android.view.Surface; import java.io.PrintWriter; import java.util.Arrays; @@ -236,7 +237,7 @@ public abstract class WindowOrientationListener { pw.println(prefix + TAG); prefix += " "; pw.println(prefix + "mEnabled=" + mEnabled); - pw.println(prefix + "mCurrentRotation=" + mCurrentRotation); + pw.println(prefix + "mCurrentRotation=" + Surface.rotationToString(mCurrentRotation)); pw.println(prefix + "mSensorType=" + mSensorType); pw.println(prefix + "mSensor=" + mSensor); pw.println(prefix + "mRate=" + mRate); @@ -1026,8 +1027,9 @@ public abstract class WindowOrientationListener { public void dumpLocked(PrintWriter pw, String prefix) { pw.println(prefix + "OrientationSensorJudge"); prefix += " "; - pw.println(prefix + "mDesiredRotation=" + mDesiredRotation); - pw.println(prefix + "mProposedRotation=" + mProposedRotation); + pw.println(prefix + "mDesiredRotation=" + Surface.rotationToString(mDesiredRotation)); + pw.println(prefix + "mProposedRotation=" + + Surface.rotationToString(mProposedRotation)); pw.println(prefix + "mTouching=" + mTouching); pw.println(prefix + "mTouchEndedTimestampNanos=" + mTouchEndedTimestampNanos); } diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java index 50e5e7bd2312..1dac15ff9bee 100644 --- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java @@ -13,6 +13,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.util.Log; import android.util.Slog; +import android.view.WindowManagerPolicy; import android.view.WindowManagerPolicy.OnKeyguardExitResult; import com.android.internal.policy.IKeyguardDismissCallback; @@ -412,13 +413,45 @@ public class KeyguardServiceDelegate { pw.println(prefix + "systemIsReady=" + mKeyguardState.systemIsReady); pw.println(prefix + "deviceHasKeyguard=" + mKeyguardState.deviceHasKeyguard); pw.println(prefix + "enabled=" + mKeyguardState.enabled); - pw.println(prefix + "offReason=" + mKeyguardState.offReason); + pw.println(prefix + "offReason=" + + WindowManagerPolicy.offReasonToString(mKeyguardState.offReason)); pw.println(prefix + "currentUser=" + mKeyguardState.currentUser); pw.println(prefix + "bootCompleted=" + mKeyguardState.bootCompleted); - pw.println(prefix + "screenState=" + mKeyguardState.screenState); - pw.println(prefix + "interactiveState=" + mKeyguardState.interactiveState); + pw.println(prefix + "screenState=" + screenStateToString(mKeyguardState.screenState)); + pw.println(prefix + "interactiveState=" + + interactiveStateToString(mKeyguardState.interactiveState)); if (mKeyguardService != null) { mKeyguardService.dump(prefix, pw); } } + + private static String screenStateToString(int screen) { + switch (screen) { + case SCREEN_STATE_OFF: + return "SCREEN_STATE_OFF"; + case SCREEN_STATE_TURNING_ON: + return "SCREEN_STATE_TURNING_ON"; + case SCREEN_STATE_ON: + return "SCREEN_STATE_ON"; + case SCREEN_STATE_TURNING_OFF: + return "SCREEN_STATE_TURNING_OFF"; + default: + return Integer.toString(screen); + } + } + + private static String interactiveStateToString(int interactive) { + switch (interactive) { + case INTERACTIVE_STATE_SLEEP: + return "INTERACTIVE_STATE_SLEEP"; + case INTERACTIVE_STATE_WAKING: + return "INTERACTIVE_STATE_WAKING"; + case INTERACTIVE_STATE_AWAKE: + return "INTERACTIVE_STATE_AWAKE"; + case INTERACTIVE_STATE_GOING_TO_SLEEP: + return "INTERACTIVE_STATE_GOING_TO_SLEEP"; + default: + return Integer.toString(interactive); + } + } } |