mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
282 lines
20 KiB
Java
282 lines
20 KiB
Java
|
package androidx.compose.foundation.text.selection;
|
||
|
|
||
|
import androidx.compose.runtime.MutableState;
|
||
|
import androidx.compose.runtime.SnapshotStateKt__SnapshotStateKt;
|
||
|
import androidx.compose.ui.geometry.Offset;
|
||
|
import androidx.compose.ui.layout.LayoutCoordinates;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.Comparator;
|
||
|
import java.util.LinkedHashMap;
|
||
|
import java.util.List;
|
||
|
import java.util.Map;
|
||
|
import java.util.concurrent.atomic.AtomicLong;
|
||
|
import kotlin.Metadata;
|
||
|
import kotlin.Unit;
|
||
|
import kotlin.collections.CollectionsKt;
|
||
|
import kotlin.collections.MapsKt;
|
||
|
import kotlin.comparisons.ComparisonsKt;
|
||
|
import kotlin.jvm.functions.Function0;
|
||
|
import kotlin.jvm.functions.Function1;
|
||
|
import kotlin.jvm.functions.Function2;
|
||
|
import kotlin.jvm.functions.Function3;
|
||
|
import kotlin.jvm.functions.Function5;
|
||
|
import kotlin.jvm.internal.Intrinsics;
|
||
|
|
||
|
/* compiled from: SelectionRegistrarImpl.kt */
|
||
|
@Metadata(d1 = {"\u0000x\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010%\n\u0002\u0010\t\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010!\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010$\n\u0002\b\u0003\n\u0002\u0010 \n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u001e\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\b\u0010G\u001a\u00020\u0005H\u0016J\u0010\u0010H\u001a\u00020\u000b2\u0006\u0010I\u001a\u00020\u0005H\u0016J\u0010\u0010J\u001a\u00020\u000b2\u0006\u0010I\u001a\u00020\u0005H\u0016J=\u0010K\u001a\u00020\u001d2\u0006\u0010L\u001a\u00020\u001b2\u0006\u0010M\u001a\u00020\u001c2\u0006\u0010N\u001a\u00020\u001c2\u0006\u0010O\u001a\u00020\u001d2\u0006\u0010P\u001a\u00020\u001eH\u0016ø\u0001\u0001ø\u0001\u0000¢\u0006\u0004\bQ\u0010RJ\b\u0010S\u001a\u00020\u000bH\u0016J\u0010\u0010T\u001a\u00020\u000b2\u0006\u0010I\u001a\u00020\u0005H\u0016J-\u0010U\u001a\u00020\u000b2\u0006\u0010L\u001a\u00020\u001b2\u0006\u0010V\u001a\u00020\u001c2\u0006\u0010P\u001a\u00020\u001eH\u0016ø\u0001\u0001ø\u0001\u0000¢\u0006\u0004\bW\u0010XJ\u0014\u0010Y\u001a\b\u0012\u0004\u0012\u00020\u0006072\u0006\u0010Z\u001a\u00020\u001bJ\u0010\u0010[\u001a\u00020\u00062\u0006\u0010\\\u001a\u00020\u0006H\u0016J\u0010\u0010]\u001a\u00020\u000b2\u0006\u0010\\\u001a\u00020\u0006H\u0016R\u001a\u0010\u0003\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00060\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\u00060\bX\u0082\u0004¢\u0006\u0002\n\u0000R(\u0010\t\u001a\u0010\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u000b\u0018\u00010\nX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\f\u0010\r\"\u0004\b\u000e\u0010\u000fR\u0012\u0010\u0010\u001a\u00060\u0011j\u0002`\u0012X\u0082\u000e¢\u0006\u0002\n\u0000R(\u0010\u0013\u001a\u0010\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u000b\u0018\u00010\nX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0014\u0010\r\"\u0004\b\u0015\u0010\u000fR(\u0010\u0016\u001a\u0010\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u000b\u0018\u00010\nX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0017\u0010\r\"\u0004\b\u0018\u0010\u000fRC\u0010\u0019\u001a(\u0012\u0004\u0012\u00020\u001b\u0012\u0004\u0012\u00020\u001c\u0012\u0004\u0012\u00020\u001c\u0012\u0004\u0012\u00020\u001d\u0012\u0004\u0012\u00020\u001e\u0012\u0004\u0012\u00020\u001d\u0018\u00010\u001aX\u0080\u000eø\u0001\u0000¢\u0006\u000e\n\u0000\u001a\u0004\b\u001f\u0010 \"\u0004\b!\u0010\"R\"\u0010#\u001a\n\u0012\u0004\u0012\u00020\u000b\u0018\u00010$X\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b%\u0010&\"\u0004\b'\u0010(R(\u0010)\u001a\u0010\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u000b\u0018\u00010\nX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b*\u0010\r\"\u0004\b+\u0010\u000fR7\u0010,\u001a\u001c\u0012\u0004\u0012\u00020\u001b\u0012\u0004\u0012\u00020\u001c\u0012\u0004\u0012\u00020\u001e\u0012\u0004\u0012\u00020\u000b\u0018\u00010-X\u0080\u000eø\u0001\u0000¢\u0006\u000e\n\u0000\u001a\u0004\b.\u0010/\"\u0004\b0\u00101R \u00102\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u0006038@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b4\u00105R\u001a\u00106\u001a\b\u0012\u0004\u0012\u00020\u0006078@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b8\u00109R\u001a\u0010:\u001a\u00020\u001dX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b;\u0010<\"\u0004\b=\u0010>RC\u0010A\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020@032\u0012\u0010?\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020@038V@VX\u0096\u008e\u0002¢\u0006\u0012\n\u0004\bE\u0010F\u001a\u0004\bB\u00105\"\u0004\bC\u0010D\u0082\u0002\u000b\n\u0002\b\u0019\n\u0005\b¡\u001e0\u0001¨\u0006^"}, d2 = {"Landroidx/compose/foundation/text/selection/
|
||
|
/* loaded from: classes.dex */
|
||
|
public final class SelectionRegistrarImpl implements SelectionRegistrar {
|
||
|
private Function1<? super Long, Unit> afterSelectableUnsubscribe;
|
||
|
private Function1<? super Long, Unit> onPositionChangeCallback;
|
||
|
private Function1<? super Long, Unit> onSelectableChangeCallback;
|
||
|
private Function5<? super LayoutCoordinates, ? super Offset, ? super Offset, ? super Boolean, ? super SelectionAdjustment, Boolean> onSelectionUpdateCallback;
|
||
|
private Function0<Unit> onSelectionUpdateEndCallback;
|
||
|
private Function1<? super Long, Unit> onSelectionUpdateSelectAll;
|
||
|
private Function3<? super LayoutCoordinates, ? super Offset, ? super SelectionAdjustment, Unit> onSelectionUpdateStartCallback;
|
||
|
private boolean sorted;
|
||
|
|
||
|
/* renamed from: subselections$delegate, reason: from kotlin metadata */
|
||
|
private final MutableState subselections;
|
||
|
private final List<Selectable> _selectables = new ArrayList();
|
||
|
private final Map<Long, Selectable> _selectableMap = new LinkedHashMap();
|
||
|
private AtomicLong incrementId = new AtomicLong(1);
|
||
|
|
||
|
public final Function1<Long, Unit> getAfterSelectableUnsubscribe$foundation_release() {
|
||
|
return this.afterSelectableUnsubscribe;
|
||
|
}
|
||
|
|
||
|
public final Function1<Long, Unit> getOnPositionChangeCallback$foundation_release() {
|
||
|
return this.onPositionChangeCallback;
|
||
|
}
|
||
|
|
||
|
public final Function1<Long, Unit> getOnSelectableChangeCallback$foundation_release() {
|
||
|
return this.onSelectableChangeCallback;
|
||
|
}
|
||
|
|
||
|
public final Function5<LayoutCoordinates, Offset, Offset, Boolean, SelectionAdjustment, Boolean> getOnSelectionUpdateCallback$foundation_release() {
|
||
|
return this.onSelectionUpdateCallback;
|
||
|
}
|
||
|
|
||
|
public final Function0<Unit> getOnSelectionUpdateEndCallback$foundation_release() {
|
||
|
return this.onSelectionUpdateEndCallback;
|
||
|
}
|
||
|
|
||
|
public final Function1<Long, Unit> getOnSelectionUpdateSelectAll$foundation_release() {
|
||
|
return this.onSelectionUpdateSelectAll;
|
||
|
}
|
||
|
|
||
|
public final Function3<LayoutCoordinates, Offset, SelectionAdjustment, Unit> getOnSelectionUpdateStartCallback$foundation_release() {
|
||
|
return this.onSelectionUpdateStartCallback;
|
||
|
}
|
||
|
|
||
|
public final Map<Long, Selectable> getSelectableMap$foundation_release() {
|
||
|
return this._selectableMap;
|
||
|
}
|
||
|
|
||
|
public final List<Selectable> getSelectables$foundation_release() {
|
||
|
return this._selectables;
|
||
|
}
|
||
|
|
||
|
/* renamed from: getSorted$foundation_release, reason: from getter */
|
||
|
public final boolean getSorted() {
|
||
|
return this.sorted;
|
||
|
}
|
||
|
|
||
|
public final void setAfterSelectableUnsubscribe$foundation_release(Function1<? super Long, Unit> function1) {
|
||
|
this.afterSelectableUnsubscribe = function1;
|
||
|
}
|
||
|
|
||
|
public final void setOnPositionChangeCallback$foundation_release(Function1<? super Long, Unit> function1) {
|
||
|
this.onPositionChangeCallback = function1;
|
||
|
}
|
||
|
|
||
|
public final void setOnSelectableChangeCallback$foundation_release(Function1<? super Long, Unit> function1) {
|
||
|
this.onSelectableChangeCallback = function1;
|
||
|
}
|
||
|
|
||
|
public final void setOnSelectionUpdateCallback$foundation_release(Function5<? super LayoutCoordinates, ? super Offset, ? super Offset, ? super Boolean, ? super SelectionAdjustment, Boolean> function5) {
|
||
|
this.onSelectionUpdateCallback = function5;
|
||
|
}
|
||
|
|
||
|
public final void setOnSelectionUpdateEndCallback$foundation_release(Function0<Unit> function0) {
|
||
|
this.onSelectionUpdateEndCallback = function0;
|
||
|
}
|
||
|
|
||
|
public final void setOnSelectionUpdateSelectAll$foundation_release(Function1<? super Long, Unit> function1) {
|
||
|
this.onSelectionUpdateSelectAll = function1;
|
||
|
}
|
||
|
|
||
|
public final void setOnSelectionUpdateStartCallback$foundation_release(Function3<? super LayoutCoordinates, ? super Offset, ? super SelectionAdjustment, Unit> function3) {
|
||
|
this.onSelectionUpdateStartCallback = function3;
|
||
|
}
|
||
|
|
||
|
public final void setSorted$foundation_release(boolean z) {
|
||
|
this.sorted = z;
|
||
|
}
|
||
|
|
||
|
public SelectionRegistrarImpl() {
|
||
|
MutableState mutableStateOf$default;
|
||
|
mutableStateOf$default = SnapshotStateKt__SnapshotStateKt.mutableStateOf$default(MapsKt.emptyMap(), null, 2, null);
|
||
|
this.subselections = mutableStateOf$default;
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public Map<Long, Selection> getSubselections() {
|
||
|
return (Map) this.subselections.getValue();
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public Selectable subscribe(Selectable selectable) {
|
||
|
Intrinsics.checkNotNullParameter(selectable, "selectable");
|
||
|
if (selectable.getSelectableId() == 0) {
|
||
|
throw new IllegalArgumentException(("The selectable contains an invalid id: " + selectable.getSelectableId()).toString());
|
||
|
}
|
||
|
if (!(!this._selectableMap.containsKey(Long.valueOf(selectable.getSelectableId())))) {
|
||
|
throw new IllegalArgumentException(("Another selectable with the id: " + selectable + ".selectableId has already subscribed.").toString());
|
||
|
}
|
||
|
this._selectableMap.put(Long.valueOf(selectable.getSelectableId()), selectable);
|
||
|
this._selectables.add(selectable);
|
||
|
this.sorted = false;
|
||
|
return selectable;
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public void unsubscribe(Selectable selectable) {
|
||
|
Intrinsics.checkNotNullParameter(selectable, "selectable");
|
||
|
if (this._selectableMap.containsKey(Long.valueOf(selectable.getSelectableId()))) {
|
||
|
this._selectables.remove(selectable);
|
||
|
this._selectableMap.remove(Long.valueOf(selectable.getSelectableId()));
|
||
|
Function1<? super Long, Unit> function1 = this.afterSelectableUnsubscribe;
|
||
|
if (function1 != null) {
|
||
|
function1.invoke(Long.valueOf(selectable.getSelectableId()));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public long nextSelectableId() {
|
||
|
long andIncrement = this.incrementId.getAndIncrement();
|
||
|
while (andIncrement == 0) {
|
||
|
andIncrement = this.incrementId.getAndIncrement();
|
||
|
}
|
||
|
return andIncrement;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: private */
|
||
|
public static final int sort$lambda$2(Function2 tmp0, Object obj, Object obj2) {
|
||
|
Intrinsics.checkNotNullParameter(tmp0, "$tmp0");
|
||
|
return ((Number) tmp0.invoke(obj, obj2)).intValue();
|
||
|
}
|
||
|
|
||
|
public final List<Selectable> sort(final LayoutCoordinates containerLayoutCoordinates) {
|
||
|
Intrinsics.checkNotNullParameter(containerLayoutCoordinates, "containerLayoutCoordinates");
|
||
|
if (!this.sorted) {
|
||
|
List<Selectable> list = this._selectables;
|
||
|
final Function2<Selectable, Selectable, Integer> function2 = new Function2<Selectable, Selectable, Integer>() { // from class: androidx.compose.foundation.text.selection.SelectionRegistrarImpl$sort$1
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
{
|
||
|
super(2);
|
||
|
}
|
||
|
|
||
|
@Override // kotlin.jvm.functions.Function2
|
||
|
public final Integer invoke(Selectable a, Selectable b) {
|
||
|
long m2416getZeroF1C5BW0;
|
||
|
long m2416getZeroF1C5BW02;
|
||
|
int compareValues;
|
||
|
Intrinsics.checkNotNullParameter(a, "a");
|
||
|
Intrinsics.checkNotNullParameter(b, "b");
|
||
|
LayoutCoordinates layoutCoordinates = a.getLayoutCoordinates();
|
||
|
LayoutCoordinates layoutCoordinates2 = b.getLayoutCoordinates();
|
||
|
if (layoutCoordinates != null) {
|
||
|
m2416getZeroF1C5BW0 = LayoutCoordinates.this.mo3884localPositionOfR5De75A(layoutCoordinates, Offset.INSTANCE.m2416getZeroF1C5BW0());
|
||
|
} else {
|
||
|
m2416getZeroF1C5BW0 = Offset.INSTANCE.m2416getZeroF1C5BW0();
|
||
|
}
|
||
|
if (layoutCoordinates2 != null) {
|
||
|
m2416getZeroF1C5BW02 = LayoutCoordinates.this.mo3884localPositionOfR5De75A(layoutCoordinates2, Offset.INSTANCE.m2416getZeroF1C5BW0());
|
||
|
} else {
|
||
|
m2416getZeroF1C5BW02 = Offset.INSTANCE.m2416getZeroF1C5BW0();
|
||
|
}
|
||
|
if (Offset.m2401getYimpl(m2416getZeroF1C5BW0) == Offset.m2401getYimpl(m2416getZeroF1C5BW02)) {
|
||
|
compareValues = ComparisonsKt.compareValues(Float.valueOf(Offset.m2400getXimpl(m2416getZeroF1C5BW0)), Float.valueOf(Offset.m2400getXimpl(m2416getZeroF1C5BW02)));
|
||
|
} else {
|
||
|
compareValues = ComparisonsKt.compareValues(Float.valueOf(Offset.m2401getYimpl(m2416getZeroF1C5BW0)), Float.valueOf(Offset.m2401getYimpl(m2416getZeroF1C5BW02)));
|
||
|
}
|
||
|
return Integer.valueOf(compareValues);
|
||
|
}
|
||
|
};
|
||
|
CollectionsKt.sortWith(list, new Comparator() { // from class: androidx.compose.foundation.text.selection.SelectionRegistrarImpl$$ExternalSyntheticLambda0
|
||
|
@Override // java.util.Comparator
|
||
|
public final int compare(Object obj, Object obj2) {
|
||
|
int sort$lambda$2;
|
||
|
sort$lambda$2 = SelectionRegistrarImpl.sort$lambda$2(Function2.this, obj, obj2);
|
||
|
return sort$lambda$2;
|
||
|
}
|
||
|
});
|
||
|
this.sorted = true;
|
||
|
}
|
||
|
return getSelectables$foundation_release();
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public void notifyPositionChange(long selectableId) {
|
||
|
this.sorted = false;
|
||
|
Function1<? super Long, Unit> function1 = this.onPositionChangeCallback;
|
||
|
if (function1 != null) {
|
||
|
function1.invoke(Long.valueOf(selectableId));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
/* renamed from: notifySelectionUpdateStart-d-4ec7I */
|
||
|
public void mo945notifySelectionUpdateStartd4ec7I(LayoutCoordinates layoutCoordinates, long startPosition, SelectionAdjustment adjustment) {
|
||
|
Intrinsics.checkNotNullParameter(layoutCoordinates, "layoutCoordinates");
|
||
|
Intrinsics.checkNotNullParameter(adjustment, "adjustment");
|
||
|
Function3<? super LayoutCoordinates, ? super Offset, ? super SelectionAdjustment, Unit> function3 = this.onSelectionUpdateStartCallback;
|
||
|
if (function3 != null) {
|
||
|
function3.invoke(layoutCoordinates, Offset.m2389boximpl(startPosition), adjustment);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public void notifySelectionUpdateSelectAll(long selectableId) {
|
||
|
Function1<? super Long, Unit> function1 = this.onSelectionUpdateSelectAll;
|
||
|
if (function1 != null) {
|
||
|
function1.invoke(Long.valueOf(selectableId));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
/* renamed from: notifySelectionUpdate-5iVPX68 */
|
||
|
public boolean mo944notifySelectionUpdate5iVPX68(LayoutCoordinates layoutCoordinates, long newPosition, long previousPosition, boolean isStartHandle, SelectionAdjustment adjustment) {
|
||
|
Intrinsics.checkNotNullParameter(layoutCoordinates, "layoutCoordinates");
|
||
|
Intrinsics.checkNotNullParameter(adjustment, "adjustment");
|
||
|
Function5<? super LayoutCoordinates, ? super Offset, ? super Offset, ? super Boolean, ? super SelectionAdjustment, Boolean> function5 = this.onSelectionUpdateCallback;
|
||
|
if (function5 != null) {
|
||
|
return function5.invoke(layoutCoordinates, Offset.m2389boximpl(newPosition), Offset.m2389boximpl(previousPosition), Boolean.valueOf(isStartHandle), adjustment).booleanValue();
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public void notifySelectionUpdateEnd() {
|
||
|
Function0<Unit> function0 = this.onSelectionUpdateEndCallback;
|
||
|
if (function0 != null) {
|
||
|
function0.invoke();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // androidx.compose.foundation.text.selection.SelectionRegistrar
|
||
|
public void notifySelectableChange(long selectableId) {
|
||
|
Function1<? super Long, Unit> function1 = this.onSelectableChangeCallback;
|
||
|
if (function1 != null) {
|
||
|
function1.invoke(Long.valueOf(selectableId));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void setSubselections(Map<Long, Selection> map) {
|
||
|
Intrinsics.checkNotNullParameter(map, "<set-?>");
|
||
|
this.subselections.setValue(map);
|
||
|
}
|
||
|
}
|