2021-07-24 02:37:17 +00:00
|
|
|
package androidx.core.view;
|
|
|
|
|
|
|
|
import android.graphics.Rect;
|
|
|
|
import android.os.Build;
|
|
|
|
import android.view.DisplayCutout;
|
2021-09-15 06:33:54 +00:00
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
import androidx.annotation.Nullable;
|
2021-07-24 02:37:17 +00:00
|
|
|
import androidx.annotation.RequiresApi;
|
2021-09-15 06:33:54 +00:00
|
|
|
import androidx.core.graphics.Insets;
|
|
|
|
import androidx.core.os.BuildCompat;
|
|
|
|
import androidx.core.util.ObjectsCompat;
|
2021-12-17 21:59:34 +00:00
|
|
|
import b.d.b.a.a;
|
2021-09-15 06:33:54 +00:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Collections;
|
2021-07-24 02:37:17 +00:00
|
|
|
import java.util.List;
|
2022-03-07 09:34:54 +00:00
|
|
|
/* loaded from: classes.dex */
|
2021-07-24 02:37:17 +00:00
|
|
|
public final class DisplayCutoutCompat {
|
|
|
|
private final Object mDisplayCutout;
|
|
|
|
|
|
|
|
public DisplayCutoutCompat(Rect rect, List<Rect> list) {
|
|
|
|
this(Build.VERSION.SDK_INT >= 28 ? new DisplayCutout(rect, list) : null);
|
|
|
|
}
|
|
|
|
|
2021-09-15 06:33:54 +00:00
|
|
|
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));
|
|
|
|
}
|
|
|
|
|
2021-07-24 02:37:17 +00:00
|
|
|
private DisplayCutoutCompat(Object obj) {
|
|
|
|
this.mDisplayCutout = obj;
|
|
|
|
}
|
|
|
|
|
2021-09-15 06:33:54 +00:00
|
|
|
private static DisplayCutout constructDisplayCutout(@NonNull Insets insets, @Nullable Rect rect, @Nullable Rect rect2, @Nullable Rect rect3, @Nullable Rect rect4, @NonNull Insets insets2) {
|
|
|
|
if (BuildCompat.isAtLeastR()) {
|
|
|
|
return new DisplayCutout(insets.toPlatformInsets(), rect, rect2, rect3, rect4, insets2.toPlatformInsets());
|
|
|
|
}
|
|
|
|
int i = Build.VERSION.SDK_INT;
|
|
|
|
if (i >= 29) {
|
|
|
|
return new DisplayCutout(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 new DisplayCutout(rect5, arrayList);
|
|
|
|
}
|
|
|
|
|
2021-07-24 02:37:17 +00:00
|
|
|
public static DisplayCutoutCompat wrap(Object obj) {
|
|
|
|
if (obj == null) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
return new DisplayCutoutCompat(obj);
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean equals(Object obj) {
|
|
|
|
if (this == obj) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (obj == null || DisplayCutoutCompat.class != obj.getClass()) {
|
|
|
|
return false;
|
|
|
|
}
|
2021-09-15 06:33:54 +00:00
|
|
|
return ObjectsCompat.equals(this.mDisplayCutout, ((DisplayCutoutCompat) obj).mDisplayCutout);
|
2021-07-24 02:37:17 +00:00
|
|
|
}
|
|
|
|
|
2021-09-15 06:33:54 +00:00
|
|
|
@NonNull
|
2021-07-24 02:37:17 +00:00
|
|
|
public List<Rect> getBoundingRects() {
|
2021-09-15 06:33:54 +00:00
|
|
|
return Build.VERSION.SDK_INT >= 28 ? ((DisplayCutout) this.mDisplayCutout).getBoundingRects() : Collections.emptyList();
|
2021-07-24 02:37:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public int getSafeInsetBottom() {
|
|
|
|
if (Build.VERSION.SDK_INT >= 28) {
|
|
|
|
return ((DisplayCutout) this.mDisplayCutout).getSafeInsetBottom();
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getSafeInsetLeft() {
|
|
|
|
if (Build.VERSION.SDK_INT >= 28) {
|
|
|
|
return ((DisplayCutout) this.mDisplayCutout).getSafeInsetLeft();
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getSafeInsetRight() {
|
|
|
|
if (Build.VERSION.SDK_INT >= 28) {
|
|
|
|
return ((DisplayCutout) this.mDisplayCutout).getSafeInsetRight();
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getSafeInsetTop() {
|
|
|
|
if (Build.VERSION.SDK_INT >= 28) {
|
|
|
|
return ((DisplayCutout) this.mDisplayCutout).getSafeInsetTop();
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2021-09-15 06:33:54 +00:00
|
|
|
@NonNull
|
|
|
|
public Insets getWaterfallInsets() {
|
|
|
|
return BuildCompat.isAtLeastR() ? Insets.toCompatInsets(((DisplayCutout) this.mDisplayCutout).getWaterfallInsets()) : Insets.NONE;
|
|
|
|
}
|
|
|
|
|
2021-07-24 02:37:17 +00:00
|
|
|
public int hashCode() {
|
|
|
|
Object obj = this.mDisplayCutout;
|
|
|
|
if (obj == null) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
return obj.hashCode();
|
|
|
|
}
|
|
|
|
|
|
|
|
public String toString() {
|
2022-03-21 18:52:30 +00:00
|
|
|
StringBuilder R = a.R("DisplayCutoutCompat{");
|
|
|
|
R.append(this.mDisplayCutout);
|
|
|
|
R.append("}");
|
|
|
|
return R.toString();
|
2021-07-24 02:37:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@RequiresApi(api = 28)
|
|
|
|
public DisplayCutout unwrap() {
|
|
|
|
return (DisplayCutout) this.mDisplayCutout;
|
|
|
|
}
|
|
|
|
}
|