Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,250 @@
package androidx.core.view.inputmethod;
import android.annotation.SuppressLint;
import android.os.Build;
import android.os.Bundle;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.view.inputmethod.EditorInfo;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting;
import androidx.core.os.BuildCompat;
import androidx.core.util.Preconditions;
@SuppressLint({"PrivateConstructorForUtilityClass"})
/* loaded from: classes.dex */
public final class EditorInfoCompat {
private static final String CONTENT_MIME_TYPES_INTEROP_KEY = "android.support.v13.view.inputmethod.EditorInfoCompat.CONTENT_MIME_TYPES";
private static final String CONTENT_MIME_TYPES_KEY = "androidx.core.view.inputmethod.EditorInfoCompat.CONTENT_MIME_TYPES";
private static final String CONTENT_SELECTION_END_KEY = "androidx.core.view.inputmethod.EditorInfoCompat.CONTENT_SELECTION_END";
private static final String CONTENT_SELECTION_HEAD_KEY = "androidx.core.view.inputmethod.EditorInfoCompat.CONTENT_SELECTION_HEAD";
private static final String CONTENT_SURROUNDING_TEXT_KEY = "androidx.core.view.inputmethod.EditorInfoCompat.CONTENT_SURROUNDING_TEXT";
private static final String[] EMPTY_STRING_ARRAY = new String[0];
public static final int IME_FLAG_FORCE_ASCII = Integer.MIN_VALUE;
public static final int IME_FLAG_NO_PERSONALIZED_LEARNING = 16777216;
@VisibleForTesting
static final int MAX_INITIAL_SELECTION_LENGTH = 1024;
@VisibleForTesting
static final int MEMORY_EFFICIENT_TEXT_LENGTH = 2048;
@VisibleForTesting
static final String STYLUS_HANDWRITING_ENABLED_KEY = "androidx.core.view.inputmethod.EditorInfoCompat.STYLUS_HANDWRITING_ENABLED";
public static int getProtocol(EditorInfo editorInfo) {
return 1;
}
private static boolean isPasswordInputType(int i) {
int i2 = i & 4095;
return i2 == 129 || i2 == 225 || i2 == 18;
}
public static void setContentMimeTypes(@NonNull EditorInfo editorInfo, @Nullable String[] strArr) {
editorInfo.contentMimeTypes = strArr;
}
@NonNull
public static String[] getContentMimeTypes(@NonNull EditorInfo editorInfo) {
String[] strArr = editorInfo.contentMimeTypes;
return strArr != null ? strArr : EMPTY_STRING_ARRAY;
}
public static void setStylusHandwritingEnabled(@NonNull EditorInfo editorInfo, boolean z) {
if (BuildCompat.isAtLeastV()) {
Api35Impl.setStylusHandwritingEnabled(editorInfo, z);
}
if (editorInfo.extras == null) {
editorInfo.extras = new Bundle();
}
editorInfo.extras.putBoolean(STYLUS_HANDWRITING_ENABLED_KEY, z);
}
public static boolean isStylusHandwritingEnabled(@NonNull EditorInfo editorInfo) {
Bundle bundle = editorInfo.extras;
if (bundle != null && bundle.containsKey(STYLUS_HANDWRITING_ENABLED_KEY)) {
return editorInfo.extras.getBoolean(STYLUS_HANDWRITING_ENABLED_KEY);
}
if (BuildCompat.isAtLeastV()) {
return Api35Impl.isStylusHandwritingEnabled(editorInfo);
}
return false;
}
public static void setInitialSurroundingText(@NonNull EditorInfo editorInfo, @NonNull CharSequence charSequence) {
if (Build.VERSION.SDK_INT >= 30) {
Api30Impl.setInitialSurroundingSubText(editorInfo, charSequence, 0);
} else {
setInitialSurroundingSubText(editorInfo, charSequence, 0);
}
}
public static void setInitialSurroundingSubText(@NonNull EditorInfo editorInfo, @NonNull CharSequence charSequence, int i) {
Preconditions.checkNotNull(charSequence);
if (Build.VERSION.SDK_INT >= 30) {
Api30Impl.setInitialSurroundingSubText(editorInfo, charSequence, i);
return;
}
int i2 = editorInfo.initialSelStart;
int i3 = editorInfo.initialSelEnd;
int i4 = i2 > i3 ? i3 - i : i2 - i;
int i5 = i2 > i3 ? i2 - i : i3 - i;
int length = charSequence.length();
if (i < 0 || i4 < 0 || i5 > length) {
setSurroundingText(editorInfo, null, 0, 0);
return;
}
if (isPasswordInputType(editorInfo.inputType)) {
setSurroundingText(editorInfo, null, 0, 0);
} else if (length <= 2048) {
setSurroundingText(editorInfo, charSequence, i4, i5);
} else {
trimLongSurroundingText(editorInfo, charSequence, i4, i5);
}
}
private static void trimLongSurroundingText(EditorInfo editorInfo, CharSequence charSequence, int i, int i2) {
CharSequence subSequence;
int i3 = i2 - i;
int i4 = i3 > 1024 ? 0 : i3;
int i5 = 2048 - i4;
int min = Math.min(charSequence.length() - i2, i5 - Math.min(i, (int) (i5 * 0.8d)));
int min2 = Math.min(i, i5 - min);
int i6 = i - min2;
if (isCutOnSurrogate(charSequence, i6, 0)) {
i6++;
min2--;
}
if (isCutOnSurrogate(charSequence, (i2 + min) - 1, 1)) {
min--;
}
int i7 = min2 + i4 + min;
if (i4 != i3) {
subSequence = TextUtils.concat(charSequence.subSequence(i6, i6 + min2), charSequence.subSequence(i2, min + i2));
} else {
subSequence = charSequence.subSequence(i6, i7 + i6);
}
setSurroundingText(editorInfo, subSequence, min2, i4 + min2);
}
@Nullable
public static CharSequence getInitialTextBeforeCursor(@NonNull EditorInfo editorInfo, int i, int i2) {
CharSequence charSequence;
if (Build.VERSION.SDK_INT >= 30) {
return Api30Impl.getInitialTextBeforeCursor(editorInfo, i, i2);
}
Bundle bundle = editorInfo.extras;
if (bundle == null || (charSequence = bundle.getCharSequence(CONTENT_SURROUNDING_TEXT_KEY)) == null) {
return null;
}
int i3 = editorInfo.extras.getInt(CONTENT_SELECTION_HEAD_KEY);
int min = Math.min(i, i3);
if ((i2 & 1) != 0) {
return charSequence.subSequence(i3 - min, i3);
}
return TextUtils.substring(charSequence, i3 - min, i3);
}
@Nullable
public static CharSequence getInitialSelectedText(@NonNull EditorInfo editorInfo, int i) {
CharSequence charSequence;
if (Build.VERSION.SDK_INT >= 30) {
return Api30Impl.getInitialSelectedText(editorInfo, i);
}
if (editorInfo.extras == null) {
return null;
}
int min = Math.min(editorInfo.initialSelStart, editorInfo.initialSelEnd);
int max = Math.max(editorInfo.initialSelStart, editorInfo.initialSelEnd);
int i2 = editorInfo.extras.getInt(CONTENT_SELECTION_HEAD_KEY);
int i3 = editorInfo.extras.getInt(CONTENT_SELECTION_END_KEY);
int i4 = max - min;
if (editorInfo.initialSelStart < 0 || editorInfo.initialSelEnd < 0 || i3 - i2 != i4 || (charSequence = editorInfo.extras.getCharSequence(CONTENT_SURROUNDING_TEXT_KEY)) == null) {
return null;
}
if ((i & 1) != 0) {
return charSequence.subSequence(i2, i3);
}
return TextUtils.substring(charSequence, i2, i3);
}
@Nullable
public static CharSequence getInitialTextAfterCursor(@NonNull EditorInfo editorInfo, int i, int i2) {
CharSequence charSequence;
if (Build.VERSION.SDK_INT >= 30) {
return Api30Impl.getInitialTextAfterCursor(editorInfo, i, i2);
}
Bundle bundle = editorInfo.extras;
if (bundle == null || (charSequence = bundle.getCharSequence(CONTENT_SURROUNDING_TEXT_KEY)) == null) {
return null;
}
int i3 = editorInfo.extras.getInt(CONTENT_SELECTION_END_KEY);
int min = Math.min(i, charSequence.length() - i3);
if ((i2 & 1) != 0) {
return charSequence.subSequence(i3, min + i3);
}
return TextUtils.substring(charSequence, i3, min + i3);
}
private static boolean isCutOnSurrogate(CharSequence charSequence, int i, int i2) {
if (i2 == 0) {
return Character.isLowSurrogate(charSequence.charAt(i));
}
if (i2 != 1) {
return false;
}
return Character.isHighSurrogate(charSequence.charAt(i));
}
private static void setSurroundingText(EditorInfo editorInfo, CharSequence charSequence, int i, int i2) {
if (editorInfo.extras == null) {
editorInfo.extras = new Bundle();
}
editorInfo.extras.putCharSequence(CONTENT_SURROUNDING_TEXT_KEY, charSequence != null ? new SpannableStringBuilder(charSequence) : null);
editorInfo.extras.putInt(CONTENT_SELECTION_HEAD_KEY, i);
editorInfo.extras.putInt(CONTENT_SELECTION_END_KEY, i2);
}
@Deprecated
public EditorInfoCompat() {
}
@RequiresApi(30)
public static class Api30Impl {
private Api30Impl() {
}
public static void setInitialSurroundingSubText(@NonNull EditorInfo editorInfo, CharSequence charSequence, int i) {
editorInfo.setInitialSurroundingSubText(charSequence, i);
}
public static CharSequence getInitialTextBeforeCursor(@NonNull EditorInfo editorInfo, int i, int i2) {
return editorInfo.getInitialTextBeforeCursor(i, i2);
}
public static CharSequence getInitialSelectedText(@NonNull EditorInfo editorInfo, int i) {
return editorInfo.getInitialSelectedText(i);
}
public static CharSequence getInitialTextAfterCursor(@NonNull EditorInfo editorInfo, int i, int i2) {
return editorInfo.getInitialTextAfterCursor(i, i2);
}
}
@RequiresApi(35)
public static class Api35Impl {
private Api35Impl() {
}
public static void setStylusHandwritingEnabled(@NonNull EditorInfo editorInfo, boolean z) {
editorInfo.setStylusHandwritingEnabled(z);
}
public static boolean isStylusHandwritingEnabled(@NonNull EditorInfo editorInfo) {
return editorInfo.isStylusHandwritingEnabled();
}
}
}

View File

@@ -0,0 +1,187 @@
package androidx.core.view.inputmethod;
import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipDescription;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
import android.os.ResultReceiver;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputConnectionWrapper;
import android.view.inputmethod.InputContentInfo;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.core.util.ObjectsCompat;
import androidx.core.util.Preconditions;
import androidx.core.view.ContentInfoCompat;
import androidx.core.view.ViewCompat;
@SuppressLint({"PrivateConstructorForUtilityClass"})
/* loaded from: classes.dex */
public final class InputConnectionCompat {
private static final String COMMIT_CONTENT_ACTION = "androidx.core.view.inputmethod.InputConnectionCompat.COMMIT_CONTENT";
private static final String COMMIT_CONTENT_CONTENT_URI_INTEROP_KEY = "android.support.v13.view.inputmethod.InputConnectionCompat.CONTENT_URI";
private static final String COMMIT_CONTENT_CONTENT_URI_KEY = "androidx.core.view.inputmethod.InputConnectionCompat.CONTENT_URI";
private static final String COMMIT_CONTENT_DESCRIPTION_INTEROP_KEY = "android.support.v13.view.inputmethod.InputConnectionCompat.CONTENT_DESCRIPTION";
private static final String COMMIT_CONTENT_DESCRIPTION_KEY = "androidx.core.view.inputmethod.InputConnectionCompat.CONTENT_DESCRIPTION";
private static final String COMMIT_CONTENT_FLAGS_INTEROP_KEY = "android.support.v13.view.inputmethod.InputConnectionCompat.CONTENT_FLAGS";
private static final String COMMIT_CONTENT_FLAGS_KEY = "androidx.core.view.inputmethod.InputConnectionCompat.CONTENT_FLAGS";
private static final String COMMIT_CONTENT_INTEROP_ACTION = "android.support.v13.view.inputmethod.InputConnectionCompat.COMMIT_CONTENT";
private static final String COMMIT_CONTENT_LINK_URI_INTEROP_KEY = "android.support.v13.view.inputmethod.InputConnectionCompat.CONTENT_LINK_URI";
private static final String COMMIT_CONTENT_LINK_URI_KEY = "androidx.core.view.inputmethod.InputConnectionCompat.CONTENT_LINK_URI";
private static final String COMMIT_CONTENT_OPTS_INTEROP_KEY = "android.support.v13.view.inputmethod.InputConnectionCompat.CONTENT_OPTS";
private static final String COMMIT_CONTENT_OPTS_KEY = "androidx.core.view.inputmethod.InputConnectionCompat.CONTENT_OPTS";
private static final String COMMIT_CONTENT_RESULT_INTEROP_RECEIVER_KEY = "android.support.v13.view.inputmethod.InputConnectionCompat.CONTENT_RESULT_RECEIVER";
private static final String COMMIT_CONTENT_RESULT_RECEIVER_KEY = "androidx.core.view.inputmethod.InputConnectionCompat.CONTENT_RESULT_RECEIVER";
private static final String EXTRA_INPUT_CONTENT_INFO = "androidx.core.view.extra.INPUT_CONTENT_INFO";
public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1;
private static final String LOG_TAG = "InputConnectionCompat";
public interface OnCommitContentListener {
boolean onCommitContent(@NonNull InputContentInfoCompat inputContentInfoCompat, int i, @Nullable Bundle bundle);
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r0v0 */
/* JADX WARN: Type inference failed for: r0v3, types: [boolean, int] */
/* JADX WARN: Type inference failed for: r0v5 */
/* JADX WARN: Type inference failed for: r0v6 */
public static boolean handlePerformPrivateCommand(@Nullable String str, @Nullable Bundle bundle, @NonNull OnCommitContentListener onCommitContentListener) {
boolean z;
ResultReceiver resultReceiver;
?? r0 = 0;
r0 = 0;
if (bundle == null) {
return false;
}
if (TextUtils.equals(COMMIT_CONTENT_ACTION, str)) {
z = false;
} else {
if (!TextUtils.equals(COMMIT_CONTENT_INTEROP_ACTION, str)) {
return false;
}
z = true;
}
try {
ResultReceiver resultReceiver2 = (ResultReceiver) bundle.getParcelable(z ? COMMIT_CONTENT_RESULT_INTEROP_RECEIVER_KEY : COMMIT_CONTENT_RESULT_RECEIVER_KEY);
try {
Uri uri = (Uri) bundle.getParcelable(z ? COMMIT_CONTENT_CONTENT_URI_INTEROP_KEY : COMMIT_CONTENT_CONTENT_URI_KEY);
ClipDescription clipDescription = (ClipDescription) bundle.getParcelable(z ? COMMIT_CONTENT_DESCRIPTION_INTEROP_KEY : COMMIT_CONTENT_DESCRIPTION_KEY);
Uri uri2 = (Uri) bundle.getParcelable(z ? COMMIT_CONTENT_LINK_URI_INTEROP_KEY : COMMIT_CONTENT_LINK_URI_KEY);
int i = bundle.getInt(z ? COMMIT_CONTENT_FLAGS_INTEROP_KEY : COMMIT_CONTENT_FLAGS_KEY);
Bundle bundle2 = (Bundle) bundle.getParcelable(z ? COMMIT_CONTENT_OPTS_INTEROP_KEY : COMMIT_CONTENT_OPTS_KEY);
if (uri != null && clipDescription != null) {
r0 = onCommitContentListener.onCommitContent(new InputContentInfoCompat(uri, clipDescription, uri2), i, bundle2);
}
if (resultReceiver2 != 0) {
resultReceiver2.send(r0, null);
}
return r0;
} catch (Throwable th) {
th = th;
resultReceiver = resultReceiver2;
if (resultReceiver != null) {
resultReceiver.send(0, null);
}
throw th;
}
} catch (Throwable th2) {
th = th2;
resultReceiver = null;
}
}
public static boolean commitContent(@NonNull InputConnection inputConnection, @NonNull EditorInfo editorInfo, @NonNull InputContentInfoCompat inputContentInfoCompat, int i, @Nullable Bundle bundle) {
return Api25Impl.commitContent(inputConnection, (InputContentInfo) inputContentInfoCompat.unwrap(), i, bundle);
}
@NonNull
@Deprecated
public static InputConnection createWrapper(@NonNull InputConnection inputConnection, @NonNull EditorInfo editorInfo, @NonNull final OnCommitContentListener onCommitContentListener) {
ObjectsCompat.requireNonNull(inputConnection, "inputConnection must be non-null");
ObjectsCompat.requireNonNull(editorInfo, "editorInfo must be non-null");
ObjectsCompat.requireNonNull(onCommitContentListener, "onCommitContentListener must be non-null");
return new InputConnectionWrapper(inputConnection, false) { // from class: androidx.core.view.inputmethod.InputConnectionCompat.1
@Override // android.view.inputmethod.InputConnectionWrapper, android.view.inputmethod.InputConnection
public boolean commitContent(InputContentInfo inputContentInfo, int i, Bundle bundle) {
if (onCommitContentListener.onCommitContent(InputContentInfoCompat.wrap(inputContentInfo), i, bundle)) {
return true;
}
return super.commitContent(inputContentInfo, i, bundle);
}
};
}
/* renamed from: androidx.core.view.inputmethod.InputConnectionCompat$2, reason: invalid class name */
public class AnonymousClass2 extends InputConnectionWrapper {
final /* synthetic */ OnCommitContentListener val$listener;
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public AnonymousClass2(InputConnection inputConnection, boolean z, OnCommitContentListener onCommitContentListener) {
super(inputConnection, z);
this.val$listener = onCommitContentListener;
}
@Override // android.view.inputmethod.InputConnectionWrapper, android.view.inputmethod.InputConnection
public boolean performPrivateCommand(String str, Bundle bundle) {
if (InputConnectionCompat.handlePerformPrivateCommand(str, bundle, this.val$listener)) {
return true;
}
return super.performPrivateCommand(str, bundle);
}
}
@NonNull
public static InputConnection createWrapper(@NonNull View view, @NonNull InputConnection inputConnection, @NonNull EditorInfo editorInfo) {
return createWrapper(inputConnection, editorInfo, createOnCommitContentListenerUsingPerformReceiveContent(view));
}
@NonNull
private static OnCommitContentListener createOnCommitContentListenerUsingPerformReceiveContent(@NonNull final View view) {
Preconditions.checkNotNull(view);
return new OnCommitContentListener() { // from class: androidx.core.view.inputmethod.InputConnectionCompat$$ExternalSyntheticLambda0
@Override // androidx.core.view.inputmethod.InputConnectionCompat.OnCommitContentListener
public final boolean onCommitContent(InputContentInfoCompat inputContentInfoCompat, int i, Bundle bundle) {
boolean lambda$createOnCommitContentListenerUsingPerformReceiveContent$0;
lambda$createOnCommitContentListenerUsingPerformReceiveContent$0 = InputConnectionCompat.lambda$createOnCommitContentListenerUsingPerformReceiveContent$0(view, inputContentInfoCompat, i, bundle);
return lambda$createOnCommitContentListenerUsingPerformReceiveContent$0;
}
};
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ boolean lambda$createOnCommitContentListenerUsingPerformReceiveContent$0(View view, InputContentInfoCompat inputContentInfoCompat, int i, Bundle bundle) {
if ((i & 1) != 0) {
try {
inputContentInfoCompat.requestPermission();
Parcelable parcelable = (Parcelable) inputContentInfoCompat.unwrap();
bundle = bundle == null ? new Bundle() : new Bundle(bundle);
bundle.putParcelable(EXTRA_INPUT_CONTENT_INFO, parcelable);
} catch (Exception e) {
Log.w(LOG_TAG, "Can't insert content from IME; requestPermission() failed", e);
return false;
}
}
return ViewCompat.performReceiveContent(view, new ContentInfoCompat.Builder(new ClipData(inputContentInfoCompat.getDescription(), new ClipData.Item(inputContentInfoCompat.getContentUri())), 2).setLinkUri(inputContentInfoCompat.getLinkUri()).setExtras(bundle).build()) == null;
}
@Deprecated
public InputConnectionCompat() {
}
@RequiresApi(25)
public static class Api25Impl {
private Api25Impl() {
}
public static boolean commitContent(InputConnection inputConnection, InputContentInfo inputContentInfo, int i, Bundle bundle) {
return inputConnection.commitContent(inputContentInfo, i, bundle);
}
}
}

View File

@@ -0,0 +1,174 @@
package androidx.core.view.inputmethod;
import android.content.ClipDescription;
import android.net.Uri;
import android.view.inputmethod.InputContentInfo;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
/* loaded from: classes.dex */
public final class InputContentInfoCompat {
private final InputContentInfoCompatImpl mImpl;
public interface InputContentInfoCompatImpl {
@NonNull
Uri getContentUri();
@NonNull
ClipDescription getDescription();
@Nullable
Object getInputContentInfo();
@Nullable
Uri getLinkUri();
void releasePermission();
void requestPermission();
}
public static final class InputContentInfoCompatBaseImpl implements InputContentInfoCompatImpl {
@NonNull
private final Uri mContentUri;
@NonNull
private final ClipDescription mDescription;
@Nullable
private final Uri mLinkUri;
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@NonNull
public Uri getContentUri() {
return this.mContentUri;
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@NonNull
public ClipDescription getDescription() {
return this.mDescription;
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@Nullable
public Object getInputContentInfo() {
return null;
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@Nullable
public Uri getLinkUri() {
return this.mLinkUri;
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
public void releasePermission() {
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
public void requestPermission() {
}
public InputContentInfoCompatBaseImpl(@NonNull Uri uri, @NonNull ClipDescription clipDescription, @Nullable Uri uri2) {
this.mContentUri = uri;
this.mDescription = clipDescription;
this.mLinkUri = uri2;
}
}
@RequiresApi(25)
public static final class InputContentInfoCompatApi25Impl implements InputContentInfoCompatImpl {
@NonNull
final InputContentInfo mObject;
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@NonNull
public Object getInputContentInfo() {
return this.mObject;
}
public InputContentInfoCompatApi25Impl(@NonNull Object obj) {
this.mObject = (InputContentInfo) obj;
}
public InputContentInfoCompatApi25Impl(@NonNull Uri uri, @NonNull ClipDescription clipDescription, @Nullable Uri uri2) {
this.mObject = new InputContentInfo(uri, clipDescription, uri2);
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@NonNull
public Uri getContentUri() {
return this.mObject.getContentUri();
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@NonNull
public ClipDescription getDescription() {
return this.mObject.getDescription();
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
@Nullable
public Uri getLinkUri() {
return this.mObject.getLinkUri();
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
public void requestPermission() {
this.mObject.requestPermission();
}
@Override // androidx.core.view.inputmethod.InputContentInfoCompat.InputContentInfoCompatImpl
public void releasePermission() {
this.mObject.releasePermission();
}
}
public InputContentInfoCompat(@NonNull Uri uri, @NonNull ClipDescription clipDescription, @Nullable Uri uri2) {
this.mImpl = new InputContentInfoCompatApi25Impl(uri, clipDescription, uri2);
}
private InputContentInfoCompat(@NonNull InputContentInfoCompatImpl inputContentInfoCompatImpl) {
this.mImpl = inputContentInfoCompatImpl;
}
@NonNull
public Uri getContentUri() {
return this.mImpl.getContentUri();
}
@NonNull
public ClipDescription getDescription() {
return this.mImpl.getDescription();
}
@Nullable
public Uri getLinkUri() {
return this.mImpl.getLinkUri();
}
@Nullable
public static InputContentInfoCompat wrap(@Nullable Object obj) {
if (obj == null) {
return null;
}
return new InputContentInfoCompat(new InputContentInfoCompatApi25Impl(obj));
}
@Nullable
public Object unwrap() {
return this.mImpl.getInputContentInfo();
}
public void requestPermission() {
this.mImpl.requestPermission();
}
public void releasePermission() {
this.mImpl.releasePermission();
}
}