Files
rr3-apk/decompiled-community/sources/androidx/core/view/DisplayCutoutCompat.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- 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
2026-02-18 15:48:36 -08:00

231 lines
7.5 KiB
Java

package androidx.core.view;
import android.graphics.Path;
import android.graphics.Rect;
import android.os.Build;
import android.view.DisplayCutout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.core.graphics.Insets;
import androidx.core.util.ObjectsCompat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes.dex */
public final class DisplayCutoutCompat {
private final DisplayCutout mDisplayCutout;
@RequiresApi(28)
public DisplayCutout unwrap() {
return this.mDisplayCutout;
}
public DisplayCutoutCompat(@Nullable Rect rect, @Nullable List<Rect> list) {
this(Build.VERSION.SDK_INT >= 28 ? Api28Impl.createDisplayCutout(rect, list) : null);
}
public DisplayCutoutCompat(@NonNull Insets insets, @Nullable Rect rect, @Nullable Rect rect2, @Nullable Rect rect3, @Nullable Rect rect4, @NonNull Insets insets2) {
this(constructDisplayCutout(insets, rect, rect2, rect3, rect4, insets2, null));
}
public DisplayCutoutCompat(@NonNull Insets insets, @Nullable Rect rect, @Nullable Rect rect2, @Nullable Rect rect3, @Nullable Rect rect4, @NonNull Insets insets2, @Nullable Path path) {
this(constructDisplayCutout(insets, rect, rect2, rect3, rect4, insets2, path));
}
private static DisplayCutout constructDisplayCutout(@NonNull Insets insets, @Nullable Rect rect, @Nullable Rect rect2, @Nullable Rect rect3, @Nullable Rect rect4, @NonNull Insets insets2, @Nullable Path path) {
int i = Build.VERSION.SDK_INT;
if (i >= 33) {
return Api33Impl.createDisplayCutout(insets.toPlatformInsets(), rect, rect2, rect3, rect4, insets2.toPlatformInsets(), path);
}
if (i >= 30) {
return Api30Impl.createDisplayCutout(insets.toPlatformInsets(), rect, rect2, rect3, rect4, insets2.toPlatformInsets());
}
if (i >= 29) {
return Api29Impl.createDisplayCutout(insets.toPlatformInsets(), rect, rect2, rect3, rect4);
}
if (i < 28) {
return null;
}
Rect rect5 = new Rect(insets.left, insets.top, insets.right, insets.bottom);
ArrayList arrayList = new ArrayList();
if (rect != null) {
arrayList.add(rect);
}
if (rect2 != null) {
arrayList.add(rect2);
}
if (rect3 != null) {
arrayList.add(rect3);
}
if (rect4 != null) {
arrayList.add(rect4);
}
return Api28Impl.createDisplayCutout(rect5, arrayList);
}
private DisplayCutoutCompat(DisplayCutout displayCutout) {
this.mDisplayCutout = displayCutout;
}
public int getSafeInsetTop() {
if (Build.VERSION.SDK_INT >= 28) {
return Api28Impl.getSafeInsetTop(this.mDisplayCutout);
}
return 0;
}
public int getSafeInsetBottom() {
if (Build.VERSION.SDK_INT >= 28) {
return Api28Impl.getSafeInsetBottom(this.mDisplayCutout);
}
return 0;
}
public int getSafeInsetLeft() {
if (Build.VERSION.SDK_INT >= 28) {
return Api28Impl.getSafeInsetLeft(this.mDisplayCutout);
}
return 0;
}
public int getSafeInsetRight() {
if (Build.VERSION.SDK_INT >= 28) {
return Api28Impl.getSafeInsetRight(this.mDisplayCutout);
}
return 0;
}
@NonNull
public List<Rect> getBoundingRects() {
if (Build.VERSION.SDK_INT >= 28) {
return Api28Impl.getBoundingRects(this.mDisplayCutout);
}
return Collections.emptyList();
}
@NonNull
public Insets getWaterfallInsets() {
if (Build.VERSION.SDK_INT >= 30) {
return Insets.toCompatInsets(Api30Impl.getWaterfallInsets(this.mDisplayCutout));
}
return Insets.NONE;
}
@Nullable
public Path getCutoutPath() {
if (Build.VERSION.SDK_INT >= 31) {
return Api31Impl.getCutoutPath(this.mDisplayCutout);
}
return null;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || DisplayCutoutCompat.class != obj.getClass()) {
return false;
}
return ObjectsCompat.equals(this.mDisplayCutout, ((DisplayCutoutCompat) obj).mDisplayCutout);
}
public int hashCode() {
int hashCode;
DisplayCutout displayCutout = this.mDisplayCutout;
if (displayCutout == null) {
return 0;
}
hashCode = displayCutout.hashCode();
return hashCode;
}
@NonNull
public String toString() {
return "DisplayCutoutCompat{" + this.mDisplayCutout + "}";
}
public static DisplayCutoutCompat wrap(DisplayCutout displayCutout) {
if (displayCutout == null) {
return null;
}
return new DisplayCutoutCompat(displayCutout);
}
@RequiresApi(28)
public static class Api28Impl {
private Api28Impl() {
}
public static DisplayCutout createDisplayCutout(Rect rect, List<Rect> list) {
return new DisplayCutout(rect, list);
}
public static int getSafeInsetTop(DisplayCutout displayCutout) {
return displayCutout.getSafeInsetTop();
}
public static int getSafeInsetBottom(DisplayCutout displayCutout) {
return displayCutout.getSafeInsetBottom();
}
public static int getSafeInsetLeft(DisplayCutout displayCutout) {
return displayCutout.getSafeInsetLeft();
}
public static int getSafeInsetRight(DisplayCutout displayCutout) {
return displayCutout.getSafeInsetRight();
}
public static List<Rect> getBoundingRects(DisplayCutout displayCutout) {
return displayCutout.getBoundingRects();
}
}
@RequiresApi(29)
public static class Api29Impl {
private Api29Impl() {
}
public static DisplayCutout createDisplayCutout(android.graphics.Insets insets, Rect rect, Rect rect2, Rect rect3, Rect rect4) {
return new DisplayCutout(insets, rect, rect2, rect3, rect4);
}
}
@RequiresApi(30)
public static class Api30Impl {
private Api30Impl() {
}
public static DisplayCutout createDisplayCutout(android.graphics.Insets insets, Rect rect, Rect rect2, Rect rect3, Rect rect4, android.graphics.Insets insets2) {
return new DisplayCutout(insets, rect, rect2, rect3, rect4, insets2);
}
public static android.graphics.Insets getWaterfallInsets(DisplayCutout displayCutout) {
return displayCutout.getWaterfallInsets();
}
}
@RequiresApi(31)
public static class Api31Impl {
private Api31Impl() {
}
@Nullable
public static Path getCutoutPath(DisplayCutout displayCutout) {
return displayCutout.getCutoutPath();
}
}
@RequiresApi(33)
public static class Api33Impl {
private Api33Impl() {
}
public static DisplayCutout createDisplayCutout(android.graphics.Insets insets, Rect rect, Rect rect2, Rect rect3, Rect rect4, android.graphics.Insets insets2, Path path) {
return new DisplayCutout.Builder().setSafeInsets(insets).setBoundingRectLeft(rect).setBoundingRectTop(rect2).setBoundingRectRight(rect3).setBoundingRectBottom(rect4).setWaterfallInsets(insets2).setCutoutPath(path).build();
}
}
}