- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
530 lines
17 KiB
Java
530 lines
17 KiB
Java
package androidx.core.view;
|
|
|
|
import android.content.ClipData;
|
|
import android.content.ClipDescription;
|
|
import android.net.Uri;
|
|
import android.os.Build;
|
|
import android.os.Bundle;
|
|
import android.util.Pair;
|
|
import android.view.ContentInfo;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.RequiresApi;
|
|
import androidx.annotation.RestrictTo;
|
|
import androidx.core.util.Preconditions;
|
|
import androidx.core.util.Predicate;
|
|
import com.facebook.share.internal.ShareConstants;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class ContentInfoCompat {
|
|
public static final int FLAG_CONVERT_TO_PLAIN_TEXT = 1;
|
|
public static final int SOURCE_APP = 0;
|
|
public static final int SOURCE_AUTOFILL = 4;
|
|
public static final int SOURCE_CLIPBOARD = 1;
|
|
public static final int SOURCE_DRAG_AND_DROP = 3;
|
|
public static final int SOURCE_INPUT_METHOD = 2;
|
|
public static final int SOURCE_PROCESS_TEXT = 5;
|
|
|
|
@NonNull
|
|
private final Compat mCompat;
|
|
|
|
public interface BuilderCompat {
|
|
@NonNull
|
|
ContentInfoCompat build();
|
|
|
|
void setClip(@NonNull ClipData clipData);
|
|
|
|
void setExtras(@Nullable Bundle bundle);
|
|
|
|
void setFlags(int i);
|
|
|
|
void setLinkUri(@Nullable Uri uri);
|
|
|
|
void setSource(int i);
|
|
}
|
|
|
|
public interface Compat {
|
|
@NonNull
|
|
ClipData getClip();
|
|
|
|
@Nullable
|
|
Bundle getExtras();
|
|
|
|
int getFlags();
|
|
|
|
@Nullable
|
|
Uri getLinkUri();
|
|
|
|
int getSource();
|
|
|
|
@Nullable
|
|
ContentInfo getWrapped();
|
|
}
|
|
|
|
@Retention(RetentionPolicy.SOURCE)
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public @interface Flags {
|
|
}
|
|
|
|
@Retention(RetentionPolicy.SOURCE)
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public @interface Source {
|
|
}
|
|
|
|
@NonNull
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public static String sourceToString(int i) {
|
|
return i != 0 ? i != 1 ? i != 2 ? i != 3 ? i != 4 ? i != 5 ? String.valueOf(i) : "SOURCE_PROCESS_TEXT" : "SOURCE_AUTOFILL" : "SOURCE_DRAG_AND_DROP" : "SOURCE_INPUT_METHOD" : "SOURCE_CLIPBOARD" : "SOURCE_APP";
|
|
}
|
|
|
|
@NonNull
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public static String flagsToString(int i) {
|
|
return (i & 1) != 0 ? "FLAG_CONVERT_TO_PLAIN_TEXT" : String.valueOf(i);
|
|
}
|
|
|
|
public ContentInfoCompat(@NonNull Compat compat) {
|
|
this.mCompat = compat;
|
|
}
|
|
|
|
@NonNull
|
|
@RequiresApi(31)
|
|
public static ContentInfoCompat toContentInfoCompat(@NonNull ContentInfo contentInfo) {
|
|
return new ContentInfoCompat(new Compat31Impl(contentInfo));
|
|
}
|
|
|
|
@NonNull
|
|
@RequiresApi(31)
|
|
public ContentInfo toContentInfo() {
|
|
ContentInfo wrapped = this.mCompat.getWrapped();
|
|
Objects.requireNonNull(wrapped);
|
|
return ContentInfoCompat$$ExternalSyntheticApiModelOutline0.m(wrapped);
|
|
}
|
|
|
|
@NonNull
|
|
public String toString() {
|
|
return this.mCompat.toString();
|
|
}
|
|
|
|
@NonNull
|
|
public ClipData getClip() {
|
|
return this.mCompat.getClip();
|
|
}
|
|
|
|
public int getSource() {
|
|
return this.mCompat.getSource();
|
|
}
|
|
|
|
public int getFlags() {
|
|
return this.mCompat.getFlags();
|
|
}
|
|
|
|
@Nullable
|
|
public Uri getLinkUri() {
|
|
return this.mCompat.getLinkUri();
|
|
}
|
|
|
|
@Nullable
|
|
public Bundle getExtras() {
|
|
return this.mCompat.getExtras();
|
|
}
|
|
|
|
@NonNull
|
|
public Pair<ContentInfoCompat, ContentInfoCompat> partition(@NonNull Predicate<ClipData.Item> predicate) {
|
|
ClipData clip = this.mCompat.getClip();
|
|
if (clip.getItemCount() == 1) {
|
|
boolean test = predicate.test(clip.getItemAt(0));
|
|
return Pair.create(test ? this : null, test ? null : this);
|
|
}
|
|
Pair<ClipData, ClipData> partition = partition(clip, predicate);
|
|
if (partition.first == null) {
|
|
return Pair.create(null, this);
|
|
}
|
|
if (partition.second == null) {
|
|
return Pair.create(this, null);
|
|
}
|
|
return Pair.create(new Builder(this).setClip((ClipData) partition.first).build(), new Builder(this).setClip((ClipData) partition.second).build());
|
|
}
|
|
|
|
@NonNull
|
|
public static Pair<ClipData, ClipData> partition(@NonNull ClipData clipData, @NonNull Predicate<ClipData.Item> predicate) {
|
|
ArrayList arrayList = null;
|
|
ArrayList arrayList2 = null;
|
|
for (int i = 0; i < clipData.getItemCount(); i++) {
|
|
ClipData.Item itemAt = clipData.getItemAt(i);
|
|
if (predicate.test(itemAt)) {
|
|
if (arrayList == null) {
|
|
arrayList = new ArrayList();
|
|
}
|
|
arrayList.add(itemAt);
|
|
} else {
|
|
if (arrayList2 == null) {
|
|
arrayList2 = new ArrayList();
|
|
}
|
|
arrayList2.add(itemAt);
|
|
}
|
|
}
|
|
if (arrayList == null) {
|
|
return Pair.create(null, clipData);
|
|
}
|
|
if (arrayList2 == null) {
|
|
return Pair.create(clipData, null);
|
|
}
|
|
return Pair.create(buildClipData(clipData.getDescription(), arrayList), buildClipData(clipData.getDescription(), arrayList2));
|
|
}
|
|
|
|
@NonNull
|
|
public static ClipData buildClipData(@NonNull ClipDescription clipDescription, @NonNull List<ClipData.Item> list) {
|
|
ClipData clipData = new ClipData(new ClipDescription(clipDescription), list.get(0));
|
|
for (int i = 1; i < list.size(); i++) {
|
|
clipData.addItem(list.get(i));
|
|
}
|
|
return clipData;
|
|
}
|
|
|
|
@NonNull
|
|
@RequiresApi(31)
|
|
public static Pair<ContentInfo, ContentInfo> partition(@NonNull ContentInfo contentInfo, @NonNull java.util.function.Predicate<ClipData.Item> predicate) {
|
|
return Api31Impl.partition(contentInfo, predicate);
|
|
}
|
|
|
|
@RequiresApi(31)
|
|
public static final class Api31Impl {
|
|
private Api31Impl() {
|
|
}
|
|
|
|
@NonNull
|
|
public static Pair<ContentInfo, ContentInfo> partition(@NonNull ContentInfo contentInfo, @NonNull final java.util.function.Predicate<ClipData.Item> predicate) {
|
|
ClipData clip = contentInfo.getClip();
|
|
if (clip.getItemCount() == 1) {
|
|
boolean test = predicate.test(clip.getItemAt(0));
|
|
ContentInfo contentInfo2 = test ? contentInfo : null;
|
|
if (test) {
|
|
contentInfo = null;
|
|
}
|
|
return Pair.create(contentInfo2, contentInfo);
|
|
}
|
|
Objects.requireNonNull(predicate);
|
|
Pair<ClipData, ClipData> partition = ContentInfoCompat.partition(clip, (Predicate<ClipData.Item>) new Predicate() { // from class: androidx.core.view.ContentInfoCompat$Api31Impl$$ExternalSyntheticLambda0
|
|
@Override // androidx.core.util.Predicate
|
|
public final boolean test(Object obj) {
|
|
return predicate.test((ClipData.Item) obj);
|
|
}
|
|
});
|
|
if (partition.first == null) {
|
|
return Pair.create(null, contentInfo);
|
|
}
|
|
if (partition.second == null) {
|
|
return Pair.create(contentInfo, null);
|
|
}
|
|
return Pair.create(new ContentInfo.Builder(contentInfo).setClip((ClipData) partition.first).build(), new ContentInfo.Builder(contentInfo).setClip((ClipData) partition.second).build());
|
|
}
|
|
}
|
|
|
|
public static final class CompatImpl implements Compat {
|
|
|
|
@NonNull
|
|
private final ClipData mClip;
|
|
|
|
@Nullable
|
|
private final Bundle mExtras;
|
|
private final int mFlags;
|
|
|
|
@Nullable
|
|
private final Uri mLinkUri;
|
|
private final int mSource;
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@NonNull
|
|
public ClipData getClip() {
|
|
return this.mClip;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@Nullable
|
|
public Bundle getExtras() {
|
|
return this.mExtras;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
public int getFlags() {
|
|
return this.mFlags;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@Nullable
|
|
public Uri getLinkUri() {
|
|
return this.mLinkUri;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
public int getSource() {
|
|
return this.mSource;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@Nullable
|
|
public ContentInfo getWrapped() {
|
|
return null;
|
|
}
|
|
|
|
public CompatImpl(BuilderCompatImpl builderCompatImpl) {
|
|
this.mClip = (ClipData) Preconditions.checkNotNull(builderCompatImpl.mClip);
|
|
this.mSource = Preconditions.checkArgumentInRange(builderCompatImpl.mSource, 0, 5, ShareConstants.FEED_SOURCE_PARAM);
|
|
this.mFlags = Preconditions.checkFlagsArgument(builderCompatImpl.mFlags, 1);
|
|
this.mLinkUri = builderCompatImpl.mLinkUri;
|
|
this.mExtras = builderCompatImpl.mExtras;
|
|
}
|
|
|
|
@NonNull
|
|
public String toString() {
|
|
String str;
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("ContentInfoCompat{clip=");
|
|
sb.append(this.mClip.getDescription());
|
|
sb.append(", source=");
|
|
sb.append(ContentInfoCompat.sourceToString(this.mSource));
|
|
sb.append(", flags=");
|
|
sb.append(ContentInfoCompat.flagsToString(this.mFlags));
|
|
if (this.mLinkUri == null) {
|
|
str = "";
|
|
} else {
|
|
str = ", hasLinkUri(" + this.mLinkUri.toString().length() + ")";
|
|
}
|
|
sb.append(str);
|
|
sb.append(this.mExtras != null ? ", hasExtras" : "");
|
|
sb.append("}");
|
|
return sb.toString();
|
|
}
|
|
}
|
|
|
|
@RequiresApi(31)
|
|
public static final class Compat31Impl implements Compat {
|
|
|
|
@NonNull
|
|
private final ContentInfo mWrapped;
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@NonNull
|
|
public ContentInfo getWrapped() {
|
|
return this.mWrapped;
|
|
}
|
|
|
|
public Compat31Impl(@NonNull ContentInfo contentInfo) {
|
|
this.mWrapped = ContentInfoCompat$$ExternalSyntheticApiModelOutline0.m(Preconditions.checkNotNull(contentInfo));
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@NonNull
|
|
public ClipData getClip() {
|
|
ClipData clip;
|
|
clip = this.mWrapped.getClip();
|
|
return clip;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
public int getSource() {
|
|
int source;
|
|
source = this.mWrapped.getSource();
|
|
return source;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
public int getFlags() {
|
|
int flags;
|
|
flags = this.mWrapped.getFlags();
|
|
return flags;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@Nullable
|
|
public Uri getLinkUri() {
|
|
Uri linkUri;
|
|
linkUri = this.mWrapped.getLinkUri();
|
|
return linkUri;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.Compat
|
|
@Nullable
|
|
public Bundle getExtras() {
|
|
Bundle extras;
|
|
extras = this.mWrapped.getExtras();
|
|
return extras;
|
|
}
|
|
|
|
@NonNull
|
|
public String toString() {
|
|
return "ContentInfoCompat{" + this.mWrapped + "}";
|
|
}
|
|
}
|
|
|
|
public static final class Builder {
|
|
|
|
@NonNull
|
|
private final BuilderCompat mBuilderCompat;
|
|
|
|
public Builder(@NonNull ContentInfoCompat contentInfoCompat) {
|
|
if (Build.VERSION.SDK_INT >= 31) {
|
|
this.mBuilderCompat = new BuilderCompat31Impl(contentInfoCompat);
|
|
} else {
|
|
this.mBuilderCompat = new BuilderCompatImpl(contentInfoCompat);
|
|
}
|
|
}
|
|
|
|
public Builder(@NonNull ClipData clipData, int i) {
|
|
if (Build.VERSION.SDK_INT >= 31) {
|
|
this.mBuilderCompat = new BuilderCompat31Impl(clipData, i);
|
|
} else {
|
|
this.mBuilderCompat = new BuilderCompatImpl(clipData, i);
|
|
}
|
|
}
|
|
|
|
@NonNull
|
|
public Builder setClip(@NonNull ClipData clipData) {
|
|
this.mBuilderCompat.setClip(clipData);
|
|
return this;
|
|
}
|
|
|
|
@NonNull
|
|
public Builder setSource(int i) {
|
|
this.mBuilderCompat.setSource(i);
|
|
return this;
|
|
}
|
|
|
|
@NonNull
|
|
public Builder setFlags(int i) {
|
|
this.mBuilderCompat.setFlags(i);
|
|
return this;
|
|
}
|
|
|
|
@NonNull
|
|
public Builder setLinkUri(@Nullable Uri uri) {
|
|
this.mBuilderCompat.setLinkUri(uri);
|
|
return this;
|
|
}
|
|
|
|
@NonNull
|
|
public Builder setExtras(@Nullable Bundle bundle) {
|
|
this.mBuilderCompat.setExtras(bundle);
|
|
return this;
|
|
}
|
|
|
|
@NonNull
|
|
public ContentInfoCompat build() {
|
|
return this.mBuilderCompat.build();
|
|
}
|
|
}
|
|
|
|
public static final class BuilderCompatImpl implements BuilderCompat {
|
|
|
|
@NonNull
|
|
ClipData mClip;
|
|
|
|
@Nullable
|
|
Bundle mExtras;
|
|
int mFlags;
|
|
|
|
@Nullable
|
|
Uri mLinkUri;
|
|
int mSource;
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setClip(@NonNull ClipData clipData) {
|
|
this.mClip = clipData;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setExtras(@Nullable Bundle bundle) {
|
|
this.mExtras = bundle;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setFlags(int i) {
|
|
this.mFlags = i;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setLinkUri(@Nullable Uri uri) {
|
|
this.mLinkUri = uri;
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setSource(int i) {
|
|
this.mSource = i;
|
|
}
|
|
|
|
public BuilderCompatImpl(@NonNull ClipData clipData, int i) {
|
|
this.mClip = clipData;
|
|
this.mSource = i;
|
|
}
|
|
|
|
public BuilderCompatImpl(@NonNull ContentInfoCompat contentInfoCompat) {
|
|
this.mClip = contentInfoCompat.getClip();
|
|
this.mSource = contentInfoCompat.getSource();
|
|
this.mFlags = contentInfoCompat.getFlags();
|
|
this.mLinkUri = contentInfoCompat.getLinkUri();
|
|
this.mExtras = contentInfoCompat.getExtras();
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
@NonNull
|
|
public ContentInfoCompat build() {
|
|
return new ContentInfoCompat(new CompatImpl(this));
|
|
}
|
|
}
|
|
|
|
@RequiresApi(31)
|
|
public static final class BuilderCompat31Impl implements BuilderCompat {
|
|
|
|
@NonNull
|
|
private final ContentInfo.Builder mPlatformBuilder;
|
|
|
|
public BuilderCompat31Impl(@NonNull ClipData clipData, int i) {
|
|
this.mPlatformBuilder = ContentInfoCompat$BuilderCompat31Impl$$ExternalSyntheticApiModelOutline6.m(clipData, i);
|
|
}
|
|
|
|
public BuilderCompat31Impl(@NonNull ContentInfoCompat contentInfoCompat) {
|
|
ContentInfoCompat$BuilderCompat31Impl$$ExternalSyntheticApiModelOutline8.m();
|
|
this.mPlatformBuilder = ContentInfoCompat$BuilderCompat31Impl$$ExternalSyntheticApiModelOutline7.m(contentInfoCompat.toContentInfo());
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setClip(@NonNull ClipData clipData) {
|
|
this.mPlatformBuilder.setClip(clipData);
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setSource(int i) {
|
|
this.mPlatformBuilder.setSource(i);
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setFlags(int i) {
|
|
this.mPlatformBuilder.setFlags(i);
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setLinkUri(@Nullable Uri uri) {
|
|
this.mPlatformBuilder.setLinkUri(uri);
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
public void setExtras(@Nullable Bundle bundle) {
|
|
this.mPlatformBuilder.setExtras(bundle);
|
|
}
|
|
|
|
@Override // androidx.core.view.ContentInfoCompat.BuilderCompat
|
|
@NonNull
|
|
public ContentInfoCompat build() {
|
|
ContentInfo build;
|
|
build = this.mPlatformBuilder.build();
|
|
return new ContentInfoCompat(new Compat31Impl(build));
|
|
}
|
|
}
|
|
}
|