Loading api/current.txt +3 −1 Original line number Diff line number Diff line Loading @@ -7360,8 +7360,8 @@ package android.app.usage { method public int getCount(); method public int getEventType(); method public long getFirstTimeStamp(); method public long getLastEventTime(); method public long getLastTimeStamp(); method public long getLastTimeUsed(); method public long getTotalTime(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.app.usage.EventStats> CREATOR; Loading Loading @@ -7469,6 +7469,8 @@ package android.app.usage { method public int getStandbyBucket(); method public long getTimeStamp(); field public static final int CONFIGURATION_CHANGE = 5; // 0x5 field public static final int KEYGUARD_HIDDEN = 18; // 0x12 field public static final int KEYGUARD_SHOWN = 17; // 0x11 field public static final int MOVE_TO_BACKGROUND = 2; // 0x2 field public static final int MOVE_TO_FOREGROUND = 1; // 0x1 field public static final int NONE = 0; // 0x0 core/java/android/app/usage/EventStats.java +8 −9 Original line number Diff line number Diff line Loading @@ -41,10 +41,9 @@ public final class EventStats implements Parcelable { public long mEndTimeStamp; /** * Last time used by the user with an explicit action (notification, activity launch). * {@hide} */ public long mLastTimeUsed; public long mLastEventTime; /** * {@hide} Loading @@ -66,7 +65,7 @@ public final class EventStats implements Parcelable { mEventType = stats.mEventType; mBeginTimeStamp = stats.mBeginTimeStamp; mEndTimeStamp = stats.mEndTimeStamp; mLastTimeUsed = stats.mLastTimeUsed; mLastEventTime = stats.mLastEventTime; mTotalTime = stats.mTotalTime; mCount = stats.mCount; } Loading Loading @@ -100,12 +99,12 @@ public final class EventStats implements Parcelable { } /** * Get the last time this event was used, measured in milliseconds since the epoch. * Get the last time this event triggered, measured in milliseconds since the epoch. * <p/> * See {@link System#currentTimeMillis()}. */ public long getLastTimeUsed() { return mLastTimeUsed; public long getLastEventTime() { return mLastEventTime; } /** Loading Loading @@ -138,7 +137,7 @@ public final class EventStats implements Parcelable { // We use the mBeginTimeStamp due to a bug where UsageStats files can overlap with // regards to their mEndTimeStamp. if (right.mBeginTimeStamp > mBeginTimeStamp) { mLastTimeUsed = Math.max(mLastTimeUsed, right.mLastTimeUsed); mLastEventTime = Math.max(mLastEventTime, right.mLastEventTime); } mBeginTimeStamp = Math.min(mBeginTimeStamp, right.mBeginTimeStamp); mEndTimeStamp = Math.max(mEndTimeStamp, right.mEndTimeStamp); Loading @@ -156,7 +155,7 @@ public final class EventStats implements Parcelable { dest.writeInt(mEventType); dest.writeLong(mBeginTimeStamp); dest.writeLong(mEndTimeStamp); dest.writeLong(mLastTimeUsed); dest.writeLong(mLastEventTime); dest.writeLong(mTotalTime); dest.writeInt(mCount); } Loading @@ -168,7 +167,7 @@ public final class EventStats implements Parcelable { stats.mEventType = in.readInt(); stats.mBeginTimeStamp = in.readLong(); stats.mEndTimeStamp = in.readLong(); stats.mLastTimeUsed = in.readLong(); stats.mLastEventTime = in.readLong(); stats.mTotalTime = in.readLong(); stats.mCount = in.readInt(); return stats; Loading core/java/android/app/usage/UsageEvents.java +12 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,18 @@ public final class UsageEvents implements Parcelable { */ public static final int SCREEN_NON_INTERACTIVE = 16; /** * An event type denoting that the screen's keyguard has been shown, whether or not * the screen is off. */ public static final int KEYGUARD_SHOWN = 17; /** * An event type denoting that the screen's keyguard has been hidden. This typically * happens when the user unlocks their phone after turning it on. */ public static final int KEYGUARD_HIDDEN = 18; /** @hide */ public static final int FLAG_IS_PACKAGE_INSTANT_APP = 1 << 0; Loading core/java/android/app/usage/UsageStatsManager.java +2 −0 Original line number Diff line number Diff line Loading @@ -319,6 +319,8 @@ public final class UsageStatsManager { * <ul> * <li>{@link UsageEvents.Event#SCREEN_INTERACTIVE}</li> * <li>{@link UsageEvents.Event#SCREEN_NON_INTERACTIVE}</li> * <li>{@link UsageEvents.Event#KEYGUARD_SHOWN}</li> * <li>{@link UsageEvents.Event#KEYGUARD_HIDDEN}</li> * </ul> * * <p> The caller must have {@link android.Manifest.permission#PACKAGE_USAGE_STATS} </p> Loading services/core/java/com/android/server/am/ActivityManagerService.java +15 −0 Original line number Diff line number Diff line Loading @@ -1529,6 +1529,11 @@ public class ActivityManagerService extends IActivityManager.Stub */ private int mWakefulness = PowerManagerInternal.WAKEFULNESS_AWAKE; /** * State of external calls telling us if the device is awake or asleep. */ private boolean mKeyguardShown = false; /** * Set if we are shutting down the system, similar to sleeping. */ Loading Loading @@ -13094,6 +13099,12 @@ public class ActivityManagerService extends IActivityManager.Stub : UsageEvents.Event.SCREEN_NON_INTERACTIVE); } void reportCurKeyguardUsageEventLocked() { reportGlobalUsageEventLocked(mKeyguardShown ? UsageEvents.Event.KEYGUARD_SHOWN : UsageEvents.Event.KEYGUARD_HIDDEN); } void onWakefulnessChanged(int wakefulness) { synchronized(this) { boolean wasAwake = mWakefulness == PowerManagerInternal.WAKEFULNESS_AWAKE; Loading Loading @@ -13257,6 +13268,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized(this) { long ident = Binder.clearCallingIdentity(); if (mKeyguardShown != keyguardShowing) { mKeyguardShown = keyguardShowing; reportCurKeyguardUsageEventLocked(); } try { mKeyguardController.setKeyguardShown(keyguardShowing, aodShowing, secondaryDisplayShowing); Loading
api/current.txt +3 −1 Original line number Diff line number Diff line Loading @@ -7360,8 +7360,8 @@ package android.app.usage { method public int getCount(); method public int getEventType(); method public long getFirstTimeStamp(); method public long getLastEventTime(); method public long getLastTimeStamp(); method public long getLastTimeUsed(); method public long getTotalTime(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.app.usage.EventStats> CREATOR; Loading Loading @@ -7469,6 +7469,8 @@ package android.app.usage { method public int getStandbyBucket(); method public long getTimeStamp(); field public static final int CONFIGURATION_CHANGE = 5; // 0x5 field public static final int KEYGUARD_HIDDEN = 18; // 0x12 field public static final int KEYGUARD_SHOWN = 17; // 0x11 field public static final int MOVE_TO_BACKGROUND = 2; // 0x2 field public static final int MOVE_TO_FOREGROUND = 1; // 0x1 field public static final int NONE = 0; // 0x0
core/java/android/app/usage/EventStats.java +8 −9 Original line number Diff line number Diff line Loading @@ -41,10 +41,9 @@ public final class EventStats implements Parcelable { public long mEndTimeStamp; /** * Last time used by the user with an explicit action (notification, activity launch). * {@hide} */ public long mLastTimeUsed; public long mLastEventTime; /** * {@hide} Loading @@ -66,7 +65,7 @@ public final class EventStats implements Parcelable { mEventType = stats.mEventType; mBeginTimeStamp = stats.mBeginTimeStamp; mEndTimeStamp = stats.mEndTimeStamp; mLastTimeUsed = stats.mLastTimeUsed; mLastEventTime = stats.mLastEventTime; mTotalTime = stats.mTotalTime; mCount = stats.mCount; } Loading Loading @@ -100,12 +99,12 @@ public final class EventStats implements Parcelable { } /** * Get the last time this event was used, measured in milliseconds since the epoch. * Get the last time this event triggered, measured in milliseconds since the epoch. * <p/> * See {@link System#currentTimeMillis()}. */ public long getLastTimeUsed() { return mLastTimeUsed; public long getLastEventTime() { return mLastEventTime; } /** Loading Loading @@ -138,7 +137,7 @@ public final class EventStats implements Parcelable { // We use the mBeginTimeStamp due to a bug where UsageStats files can overlap with // regards to their mEndTimeStamp. if (right.mBeginTimeStamp > mBeginTimeStamp) { mLastTimeUsed = Math.max(mLastTimeUsed, right.mLastTimeUsed); mLastEventTime = Math.max(mLastEventTime, right.mLastEventTime); } mBeginTimeStamp = Math.min(mBeginTimeStamp, right.mBeginTimeStamp); mEndTimeStamp = Math.max(mEndTimeStamp, right.mEndTimeStamp); Loading @@ -156,7 +155,7 @@ public final class EventStats implements Parcelable { dest.writeInt(mEventType); dest.writeLong(mBeginTimeStamp); dest.writeLong(mEndTimeStamp); dest.writeLong(mLastTimeUsed); dest.writeLong(mLastEventTime); dest.writeLong(mTotalTime); dest.writeInt(mCount); } Loading @@ -168,7 +167,7 @@ public final class EventStats implements Parcelable { stats.mEventType = in.readInt(); stats.mBeginTimeStamp = in.readLong(); stats.mEndTimeStamp = in.readLong(); stats.mLastTimeUsed = in.readLong(); stats.mLastEventTime = in.readLong(); stats.mTotalTime = in.readLong(); stats.mCount = in.readInt(); return stats; Loading
core/java/android/app/usage/UsageEvents.java +12 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,18 @@ public final class UsageEvents implements Parcelable { */ public static final int SCREEN_NON_INTERACTIVE = 16; /** * An event type denoting that the screen's keyguard has been shown, whether or not * the screen is off. */ public static final int KEYGUARD_SHOWN = 17; /** * An event type denoting that the screen's keyguard has been hidden. This typically * happens when the user unlocks their phone after turning it on. */ public static final int KEYGUARD_HIDDEN = 18; /** @hide */ public static final int FLAG_IS_PACKAGE_INSTANT_APP = 1 << 0; Loading
core/java/android/app/usage/UsageStatsManager.java +2 −0 Original line number Diff line number Diff line Loading @@ -319,6 +319,8 @@ public final class UsageStatsManager { * <ul> * <li>{@link UsageEvents.Event#SCREEN_INTERACTIVE}</li> * <li>{@link UsageEvents.Event#SCREEN_NON_INTERACTIVE}</li> * <li>{@link UsageEvents.Event#KEYGUARD_SHOWN}</li> * <li>{@link UsageEvents.Event#KEYGUARD_HIDDEN}</li> * </ul> * * <p> The caller must have {@link android.Manifest.permission#PACKAGE_USAGE_STATS} </p> Loading
services/core/java/com/android/server/am/ActivityManagerService.java +15 −0 Original line number Diff line number Diff line Loading @@ -1529,6 +1529,11 @@ public class ActivityManagerService extends IActivityManager.Stub */ private int mWakefulness = PowerManagerInternal.WAKEFULNESS_AWAKE; /** * State of external calls telling us if the device is awake or asleep. */ private boolean mKeyguardShown = false; /** * Set if we are shutting down the system, similar to sleeping. */ Loading Loading @@ -13094,6 +13099,12 @@ public class ActivityManagerService extends IActivityManager.Stub : UsageEvents.Event.SCREEN_NON_INTERACTIVE); } void reportCurKeyguardUsageEventLocked() { reportGlobalUsageEventLocked(mKeyguardShown ? UsageEvents.Event.KEYGUARD_SHOWN : UsageEvents.Event.KEYGUARD_HIDDEN); } void onWakefulnessChanged(int wakefulness) { synchronized(this) { boolean wasAwake = mWakefulness == PowerManagerInternal.WAKEFULNESS_AWAKE; Loading Loading @@ -13257,6 +13268,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized(this) { long ident = Binder.clearCallingIdentity(); if (mKeyguardShown != keyguardShowing) { mKeyguardShown = keyguardShowing; reportCurKeyguardUsageEventLocked(); } try { mKeyguardController.setKeyguardShown(keyguardShowing, aodShowing, secondaryDisplayShowing);