Loading api/current.txt +18 −7 Original line number Diff line number Diff line Loading @@ -10284,6 +10284,7 @@ package android.content { field public static final String ACTION_USER_PRESENT = "android.intent.action.USER_PRESENT"; field public static final String ACTION_USER_UNLOCKED = "android.intent.action.USER_UNLOCKED"; field public static final String ACTION_VIEW = "android.intent.action.VIEW"; field public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS"; field public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND"; field @Deprecated public static final String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED"; field public static final String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH"; Loading Loading @@ -10368,6 +10369,7 @@ package android.content { field public static final String EXTRA_INTENT = "android.intent.extra.INTENT"; field public static final String EXTRA_KEY_EVENT = "android.intent.extra.KEY_EVENT"; field public static final String EXTRA_LOCAL_ONLY = "android.intent.extra.LOCAL_ONLY"; field public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID"; field public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES"; field public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE"; field public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI"; Loading Loading @@ -10620,6 +10622,14 @@ package android.content { method @Deprecated public void onLoadComplete(android.content.Loader<D>, D); } public final class LocusId implements android.os.Parcelable { ctor public LocusId(@NonNull android.net.Uri); method public int describeContents(); method @NonNull public android.net.Uri getUri(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.content.LocusId> CREATOR; } public class MutableContextWrapper extends android.content.ContextWrapper { ctor public MutableContextWrapper(android.content.Context); method public void setBaseContext(android.content.Context); Loading Loading @@ -53471,16 +53481,17 @@ package android.view.contentcapture { public final class ContentCaptureContext implements android.os.Parcelable { method public int describeContents(); method public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull android.net.Uri); method @Nullable public android.os.Bundle getExtras(); method @NonNull public android.content.LocusId getLocusId(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR; } public static final class ContentCaptureContext.Builder { ctor public ContentCaptureContext.Builder(); ctor public ContentCaptureContext.Builder(@NonNull android.content.LocusId); method public android.view.contentcapture.ContentCaptureContext build(); method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setAction(@NonNull String); method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setExtras(@NonNull android.os.Bundle); method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setUri(@NonNull android.net.Uri); } public final class ContentCaptureManager { Loading Loading @@ -53513,8 +53524,8 @@ package android.view.contentcapture { public final class UserDataRemovalRequest implements android.os.Parcelable { method public int describeContents(); method @NonNull public java.util.List<android.view.contentcapture.UserDataRemovalRequest.LocusIdRequest> getLocusIdRequests(); method @NonNull public String getPackageName(); method @NonNull public java.util.List<android.view.contentcapture.UserDataRemovalRequest.UriRequest> getUriRequests(); method public boolean isForEverything(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.contentcapture.UserDataRemovalRequest> CREATOR; Loading @@ -53522,13 +53533,13 @@ package android.view.contentcapture { public static final class UserDataRemovalRequest.Builder { ctor public UserDataRemovalRequest.Builder(); method public android.view.contentcapture.UserDataRemovalRequest.Builder addUri(@NonNull android.net.Uri, boolean); method public android.view.contentcapture.UserDataRemovalRequest.Builder addLocusId(@NonNull android.content.LocusId, boolean); method @NonNull public android.view.contentcapture.UserDataRemovalRequest build(); method @NonNull public android.view.contentcapture.UserDataRemovalRequest.Builder forEverything(); } public final class UserDataRemovalRequest.UriRequest { method @NonNull public android.net.Uri getUri(); public final class UserDataRemovalRequest.LocusIdRequest { method @NonNull public android.content.LocusId getLocusId(); method @NonNull public boolean isRecursive(); } api/system-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -9379,14 +9379,11 @@ package android.view.autofill { package android.view.contentcapture { public final class ContentCaptureContext implements android.os.Parcelable { method @Nullable public String getAction(); method @Nullable public android.content.ComponentName getActivityComponent(); method public int getDisplayId(); method @Nullable public android.os.Bundle getExtras(); method public int getFlags(); method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId(); method public int getTaskId(); method @Nullable public android.net.Uri getUri(); field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1 field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2 } api/test-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -2728,14 +2728,11 @@ package android.view.autofill { package android.view.contentcapture { public final class ContentCaptureContext implements android.os.Parcelable { method @Nullable public String getAction(); method @Nullable public android.content.ComponentName getActivityComponent(); method public int getDisplayId(); method @Nullable public android.os.Bundle getExtras(); method public int getFlags(); method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId(); method public int getTaskId(); method @Nullable public android.net.Uri getUri(); field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1 field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2 } Loading core/java/android/content/Intent.java +21 −0 Original line number Diff line number Diff line Loading @@ -4344,6 +4344,18 @@ public class Intent implements Parcelable, Cloneable { "android.intent.action.DEVICE_CUSTOMIZATION_READY"; /** * Activity Action: Display an activity state associated with an unique {@link LocusId}. * * <p>For example, a chat app could use the context to resume a conversation between 2 users. * * <p>Input: {@link #EXTRA_LOCUS_ID} specifies the unique identifier of the locus in the * app domain. Should be stable across reboots and backup / restore. * <p>Output: nothing. */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS"; // --------------------------------------------------------------------- // --------------------------------------------------------------------- // Standard intent categories (see addCategory()). Loading Loading @@ -5542,6 +5554,15 @@ public class Intent implements Parcelable, Cloneable { */ public static final int EXTRA_MEDIA_RESOURCE_TYPE_AUDIO_CODEC = 1; /** * Intent extra: ID of the context used on {@link #ACTION_VIEW_LOCUS}. * * <p> * Type: {@link LocusId} * </p> */ public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID"; // --------------------------------------------------------------------- // --------------------------------------------------------------------- // Intent flags (see mFlags variable). Loading core/java/android/content/LocusId.java 0 → 100644 +115 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.content; import android.annotation.NonNull; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; import com.android.internal.util.Preconditions; import java.io.PrintWriter; /** * Identifier for an unique state in the application. * * <p>Should be stable across reboots and backup / restore. * * <p>For example, a chat app could use the context to resume a conversation between 2 users. */ // TODO(b/123577059): make sure this is well documented and understandable public final class LocusId implements Parcelable { private final Uri mUri; /** * Default constructor. */ public LocusId(@NonNull Uri uri) { mUri = Preconditions.checkNotNull(uri); } /** * Gets the {@code uri} associated with the locus. */ @NonNull public Uri getUri() { return mUri; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((mUri == null) ? 0 : mUri.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final LocusId other = (LocusId) obj; if (mUri == null) { if (other.mUri != null) return false; } else { if (!mUri.equals(other.mUri)) return false; } return true; } @Override public String toString() { return "LocusId[uri=" + getSanitizedUri() + "]"; } /** @hide */ public void dump(@NonNull PrintWriter pw) { pw.print("uri:"); pw.println(getSanitizedUri()); } private String getSanitizedUri() { final int size = mUri.toString().length(); return size + "_chars"; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mUri, flags); } public static final Parcelable.Creator<LocusId> CREATOR = new Parcelable.Creator<LocusId>() { @Override public LocusId createFromParcel(Parcel source) { final Uri uri = source.readParcelable(null); return new LocusId(uri); } @Override public LocusId[] newArray(int size) { return new LocusId[size]; } }; } Loading
api/current.txt +18 −7 Original line number Diff line number Diff line Loading @@ -10284,6 +10284,7 @@ package android.content { field public static final String ACTION_USER_PRESENT = "android.intent.action.USER_PRESENT"; field public static final String ACTION_USER_UNLOCKED = "android.intent.action.USER_UNLOCKED"; field public static final String ACTION_VIEW = "android.intent.action.VIEW"; field public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS"; field public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND"; field @Deprecated public static final String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED"; field public static final String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH"; Loading Loading @@ -10368,6 +10369,7 @@ package android.content { field public static final String EXTRA_INTENT = "android.intent.extra.INTENT"; field public static final String EXTRA_KEY_EVENT = "android.intent.extra.KEY_EVENT"; field public static final String EXTRA_LOCAL_ONLY = "android.intent.extra.LOCAL_ONLY"; field public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID"; field public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES"; field public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE"; field public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI"; Loading Loading @@ -10620,6 +10622,14 @@ package android.content { method @Deprecated public void onLoadComplete(android.content.Loader<D>, D); } public final class LocusId implements android.os.Parcelable { ctor public LocusId(@NonNull android.net.Uri); method public int describeContents(); method @NonNull public android.net.Uri getUri(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.content.LocusId> CREATOR; } public class MutableContextWrapper extends android.content.ContextWrapper { ctor public MutableContextWrapper(android.content.Context); method public void setBaseContext(android.content.Context); Loading Loading @@ -53471,16 +53481,17 @@ package android.view.contentcapture { public final class ContentCaptureContext implements android.os.Parcelable { method public int describeContents(); method public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull android.net.Uri); method @Nullable public android.os.Bundle getExtras(); method @NonNull public android.content.LocusId getLocusId(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR; } public static final class ContentCaptureContext.Builder { ctor public ContentCaptureContext.Builder(); ctor public ContentCaptureContext.Builder(@NonNull android.content.LocusId); method public android.view.contentcapture.ContentCaptureContext build(); method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setAction(@NonNull String); method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setExtras(@NonNull android.os.Bundle); method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setUri(@NonNull android.net.Uri); } public final class ContentCaptureManager { Loading Loading @@ -53513,8 +53524,8 @@ package android.view.contentcapture { public final class UserDataRemovalRequest implements android.os.Parcelable { method public int describeContents(); method @NonNull public java.util.List<android.view.contentcapture.UserDataRemovalRequest.LocusIdRequest> getLocusIdRequests(); method @NonNull public String getPackageName(); method @NonNull public java.util.List<android.view.contentcapture.UserDataRemovalRequest.UriRequest> getUriRequests(); method public boolean isForEverything(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.contentcapture.UserDataRemovalRequest> CREATOR; Loading @@ -53522,13 +53533,13 @@ package android.view.contentcapture { public static final class UserDataRemovalRequest.Builder { ctor public UserDataRemovalRequest.Builder(); method public android.view.contentcapture.UserDataRemovalRequest.Builder addUri(@NonNull android.net.Uri, boolean); method public android.view.contentcapture.UserDataRemovalRequest.Builder addLocusId(@NonNull android.content.LocusId, boolean); method @NonNull public android.view.contentcapture.UserDataRemovalRequest build(); method @NonNull public android.view.contentcapture.UserDataRemovalRequest.Builder forEverything(); } public final class UserDataRemovalRequest.UriRequest { method @NonNull public android.net.Uri getUri(); public final class UserDataRemovalRequest.LocusIdRequest { method @NonNull public android.content.LocusId getLocusId(); method @NonNull public boolean isRecursive(); }
api/system-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -9379,14 +9379,11 @@ package android.view.autofill { package android.view.contentcapture { public final class ContentCaptureContext implements android.os.Parcelable { method @Nullable public String getAction(); method @Nullable public android.content.ComponentName getActivityComponent(); method public int getDisplayId(); method @Nullable public android.os.Bundle getExtras(); method public int getFlags(); method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId(); method public int getTaskId(); method @Nullable public android.net.Uri getUri(); field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1 field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2 }
api/test-current.txt +0 −3 Original line number Diff line number Diff line Loading @@ -2728,14 +2728,11 @@ package android.view.autofill { package android.view.contentcapture { public final class ContentCaptureContext implements android.os.Parcelable { method @Nullable public String getAction(); method @Nullable public android.content.ComponentName getActivityComponent(); method public int getDisplayId(); method @Nullable public android.os.Bundle getExtras(); method public int getFlags(); method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId(); method public int getTaskId(); method @Nullable public android.net.Uri getUri(); field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1 field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2 } Loading
core/java/android/content/Intent.java +21 −0 Original line number Diff line number Diff line Loading @@ -4344,6 +4344,18 @@ public class Intent implements Parcelable, Cloneable { "android.intent.action.DEVICE_CUSTOMIZATION_READY"; /** * Activity Action: Display an activity state associated with an unique {@link LocusId}. * * <p>For example, a chat app could use the context to resume a conversation between 2 users. * * <p>Input: {@link #EXTRA_LOCUS_ID} specifies the unique identifier of the locus in the * app domain. Should be stable across reboots and backup / restore. * <p>Output: nothing. */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS"; // --------------------------------------------------------------------- // --------------------------------------------------------------------- // Standard intent categories (see addCategory()). Loading Loading @@ -5542,6 +5554,15 @@ public class Intent implements Parcelable, Cloneable { */ public static final int EXTRA_MEDIA_RESOURCE_TYPE_AUDIO_CODEC = 1; /** * Intent extra: ID of the context used on {@link #ACTION_VIEW_LOCUS}. * * <p> * Type: {@link LocusId} * </p> */ public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID"; // --------------------------------------------------------------------- // --------------------------------------------------------------------- // Intent flags (see mFlags variable). Loading
core/java/android/content/LocusId.java 0 → 100644 +115 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.content; import android.annotation.NonNull; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; import com.android.internal.util.Preconditions; import java.io.PrintWriter; /** * Identifier for an unique state in the application. * * <p>Should be stable across reboots and backup / restore. * * <p>For example, a chat app could use the context to resume a conversation between 2 users. */ // TODO(b/123577059): make sure this is well documented and understandable public final class LocusId implements Parcelable { private final Uri mUri; /** * Default constructor. */ public LocusId(@NonNull Uri uri) { mUri = Preconditions.checkNotNull(uri); } /** * Gets the {@code uri} associated with the locus. */ @NonNull public Uri getUri() { return mUri; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((mUri == null) ? 0 : mUri.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final LocusId other = (LocusId) obj; if (mUri == null) { if (other.mUri != null) return false; } else { if (!mUri.equals(other.mUri)) return false; } return true; } @Override public String toString() { return "LocusId[uri=" + getSanitizedUri() + "]"; } /** @hide */ public void dump(@NonNull PrintWriter pw) { pw.print("uri:"); pw.println(getSanitizedUri()); } private String getSanitizedUri() { final int size = mUri.toString().length(); return size + "_chars"; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mUri, flags); } public static final Parcelable.Creator<LocusId> CREATOR = new Parcelable.Creator<LocusId>() { @Override public LocusId createFromParcel(Parcel source) { final Uri uri = source.readParcelable(null); return new LocusId(uri); } @Override public LocusId[] newArray(int size) { return new LocusId[size]; } }; }