Loading core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -11162,6 +11162,7 @@ package android.service.contentcapture { public final class ActivityEvent implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.app.assist.ActivityId getActivityId(); method @NonNull public android.content.ComponentName getComponentName(); method public int getEventType(); method public void writeToParcel(@NonNull android.os.Parcel, int); core/java/android/app/ActivityManagerInternal.java +2 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.app.ActivityManager.ProcessCapability; import android.app.ActivityManager.RestrictionLevel; import android.app.assist.ActivityId; import android.content.ComponentName; import android.content.IIntentReceiver; import android.content.IIntentSender; Loading Loading @@ -343,7 +344,7 @@ public abstract class ActivityManagerInternal { */ public abstract void updateActivityUsageStats( ComponentName activity, @UserIdInt int userId, int event, IBinder appToken, ComponentName taskRoot); ComponentName taskRoot, ActivityId activityId); public abstract void updateForegroundTimeIfOnBattery( String packageName, int uid, long cpuTimeDiff); public abstract void sendForegroundProfileChanged(@UserIdInt int userId); Loading core/java/android/service/contentcapture/ActivityEvent.java +20 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.service.contentcapture; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SystemApi; import android.app.assist.ActivityId; import android.app.usage.UsageEvents.Event; import android.content.ComponentName; import android.os.Parcel; Loading Loading @@ -80,13 +81,24 @@ public final class ActivityEvent implements Parcelable { private final @NonNull ComponentName mComponentName; private final @ActivityEventType int mType; private final @NonNull ActivityId mActivityId; /** @hide */ public ActivityEvent(@NonNull ComponentName componentName, @ActivityEventType int type) { public ActivityEvent(@NonNull ActivityId activityId, @NonNull ComponentName componentName, @ActivityEventType int type) { mActivityId = activityId; mComponentName = componentName; mType = type; } /** * Gets the ActivityId of the activity associated with the event. */ @NonNull public ActivityId getActivityId() { return mActivityId; } /** * Gests the {@link ComponentName} of the activity associated with the event. */ Loading Loading @@ -129,6 +141,7 @@ public final class ActivityEvent implements Parcelable { @Override public String toString() { return new StringBuilder("ActivityEvent[").append(mComponentName.toShortString()) .append(", ActivityId: ").append(mActivityId) .append("]:").append(getTypeAsString(mType)).toString(); } Loading @@ -141,6 +154,7 @@ public final class ActivityEvent implements Parcelable { public void writeToParcel(@NonNull Parcel parcel, int flags) { parcel.writeParcelable(mComponentName, flags); parcel.writeInt(mType); parcel.writeParcelable(mActivityId, flags); } public static final @android.annotation.NonNull Creator<ActivityEvent> CREATOR = Loading @@ -149,9 +163,12 @@ public final class ActivityEvent implements Parcelable { @Override @NonNull public ActivityEvent createFromParcel(@NonNull Parcel parcel) { final ComponentName componentName = parcel.readParcelable(null, android.content.ComponentName.class); final ComponentName componentName = parcel.readParcelable(null, ComponentName.class); final int eventType = parcel.readInt(); return new ActivityEvent(componentName, eventType); final ActivityId activityId = parcel.readParcelable(null, ActivityId.class); return new ActivityEvent(activityId, componentName, eventType); } @Override Loading services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java +6 −2 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.app.ActivityManagerInternal; import android.app.ActivityThread; import android.app.assist.ActivityId; import android.content.ComponentName; import android.content.ContentCaptureOptions; import android.content.ContentResolver; Loading Loading @@ -916,13 +917,16 @@ public final class ContentCaptureManagerService extends return mGlobalContentCaptureOptions.getOptions(userId, packageName); } // ErrorProne says ContentCaptureManagerService.this.mLock needs to be guarded by // 'service.mLock', which is the same as mLock. @SuppressWarnings("GuardedBy") @Override public void notifyActivityEvent(int userId, @NonNull ComponentName activityComponent, @ActivityEventType int eventType) { @ActivityEventType int eventType, @NonNull ActivityId activityId) { synchronized (mLock) { final ContentCapturePerUserService service = peekServiceForUserLocked(userId); if (service != null) { service.onActivityEventLocked(activityComponent, eventType); service.onActivityEventLocked(activityId, activityComponent, eventType); } } } Loading services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java +3 −2 Original line number Diff line number Diff line Loading @@ -548,12 +548,13 @@ final class ContentCapturePerUserService } @GuardedBy("mLock") void onActivityEventLocked(@NonNull ComponentName componentName, @ActivityEventType int type) { void onActivityEventLocked(@NonNull ActivityId activityId, @NonNull ComponentName componentName, @ActivityEventType int type) { if (mRemoteService == null) { if (mMaster.debug) Slog.d(mTag, "onActivityEvent(): no remote service"); return; } final ActivityEvent event = new ActivityEvent(componentName, type); final ActivityEvent event = new ActivityEvent(activityId, componentName, type); if (mMaster.verbose) Slog.v(mTag, "onActivityEvent(): " + event); Loading Loading
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -11162,6 +11162,7 @@ package android.service.contentcapture { public final class ActivityEvent implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.app.assist.ActivityId getActivityId(); method @NonNull public android.content.ComponentName getComponentName(); method public int getEventType(); method public void writeToParcel(@NonNull android.os.Parcel, int);
core/java/android/app/ActivityManagerInternal.java +2 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.app.ActivityManager.ProcessCapability; import android.app.ActivityManager.RestrictionLevel; import android.app.assist.ActivityId; import android.content.ComponentName; import android.content.IIntentReceiver; import android.content.IIntentSender; Loading Loading @@ -343,7 +344,7 @@ public abstract class ActivityManagerInternal { */ public abstract void updateActivityUsageStats( ComponentName activity, @UserIdInt int userId, int event, IBinder appToken, ComponentName taskRoot); ComponentName taskRoot, ActivityId activityId); public abstract void updateForegroundTimeIfOnBattery( String packageName, int uid, long cpuTimeDiff); public abstract void sendForegroundProfileChanged(@UserIdInt int userId); Loading
core/java/android/service/contentcapture/ActivityEvent.java +20 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.service.contentcapture; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SystemApi; import android.app.assist.ActivityId; import android.app.usage.UsageEvents.Event; import android.content.ComponentName; import android.os.Parcel; Loading Loading @@ -80,13 +81,24 @@ public final class ActivityEvent implements Parcelable { private final @NonNull ComponentName mComponentName; private final @ActivityEventType int mType; private final @NonNull ActivityId mActivityId; /** @hide */ public ActivityEvent(@NonNull ComponentName componentName, @ActivityEventType int type) { public ActivityEvent(@NonNull ActivityId activityId, @NonNull ComponentName componentName, @ActivityEventType int type) { mActivityId = activityId; mComponentName = componentName; mType = type; } /** * Gets the ActivityId of the activity associated with the event. */ @NonNull public ActivityId getActivityId() { return mActivityId; } /** * Gests the {@link ComponentName} of the activity associated with the event. */ Loading Loading @@ -129,6 +141,7 @@ public final class ActivityEvent implements Parcelable { @Override public String toString() { return new StringBuilder("ActivityEvent[").append(mComponentName.toShortString()) .append(", ActivityId: ").append(mActivityId) .append("]:").append(getTypeAsString(mType)).toString(); } Loading @@ -141,6 +154,7 @@ public final class ActivityEvent implements Parcelable { public void writeToParcel(@NonNull Parcel parcel, int flags) { parcel.writeParcelable(mComponentName, flags); parcel.writeInt(mType); parcel.writeParcelable(mActivityId, flags); } public static final @android.annotation.NonNull Creator<ActivityEvent> CREATOR = Loading @@ -149,9 +163,12 @@ public final class ActivityEvent implements Parcelable { @Override @NonNull public ActivityEvent createFromParcel(@NonNull Parcel parcel) { final ComponentName componentName = parcel.readParcelable(null, android.content.ComponentName.class); final ComponentName componentName = parcel.readParcelable(null, ComponentName.class); final int eventType = parcel.readInt(); return new ActivityEvent(componentName, eventType); final ActivityId activityId = parcel.readParcelable(null, ActivityId.class); return new ActivityEvent(activityId, componentName, eventType); } @Override Loading
services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java +6 −2 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.app.ActivityManagerInternal; import android.app.ActivityThread; import android.app.assist.ActivityId; import android.content.ComponentName; import android.content.ContentCaptureOptions; import android.content.ContentResolver; Loading Loading @@ -916,13 +917,16 @@ public final class ContentCaptureManagerService extends return mGlobalContentCaptureOptions.getOptions(userId, packageName); } // ErrorProne says ContentCaptureManagerService.this.mLock needs to be guarded by // 'service.mLock', which is the same as mLock. @SuppressWarnings("GuardedBy") @Override public void notifyActivityEvent(int userId, @NonNull ComponentName activityComponent, @ActivityEventType int eventType) { @ActivityEventType int eventType, @NonNull ActivityId activityId) { synchronized (mLock) { final ContentCapturePerUserService service = peekServiceForUserLocked(userId); if (service != null) { service.onActivityEventLocked(activityComponent, eventType); service.onActivityEventLocked(activityId, activityComponent, eventType); } } } Loading
services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java +3 −2 Original line number Diff line number Diff line Loading @@ -548,12 +548,13 @@ final class ContentCapturePerUserService } @GuardedBy("mLock") void onActivityEventLocked(@NonNull ComponentName componentName, @ActivityEventType int type) { void onActivityEventLocked(@NonNull ActivityId activityId, @NonNull ComponentName componentName, @ActivityEventType int type) { if (mRemoteService == null) { if (mMaster.debug) Slog.d(mTag, "onActivityEvent(): no remote service"); return; } final ActivityEvent event = new ActivityEvent(componentName, type); final ActivityEvent event = new ActivityEvent(activityId, componentName, type); if (mMaster.verbose) Slog.v(mTag, "onActivityEvent(): " + event); Loading