正在查看: Dostt v1.0.89 应用的 ScreenDummyLayoutHelper.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Dostt v1.0.89 应用的 ScreenDummyLayoutHelper.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.swmansion.rnscreens.utils;
import Sh.J;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.appcompat.widget.Toolbar;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.facebook.jni.annotations.DoNotStrip;
import com.facebook.react.bridge.LifecycleEventListener;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.e0;
import com.google.android.material.appbar.AppBarLayout;
import com.swmansion.rnscreens.I;
import java.lang.ref.WeakReference;
import kotlin.Metadata;
import kotlin.jvm.internal.AbstractC1735t;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.r;
@DoNotStrip
@Metadata(d1 = {"\u0000x\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\b\b\u0001\u0018\u0000 ;2\u00020\u0001:\u0001\u001fJ\u0017\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0002¢\u0006\u0004\b\u0005\u0010\u0006J\u0017\u0010\n\u001a\u00020\t2\u0006\u0010\b\u001a\u00020\u0007H\u0002¢\u0006\u0004\b\n\u0010\u000bJ\u001f\u0010\u0010\u001a\u00020\u000f2\u0006\u0010\r\u001a\u00020\f2\u0006\u0010\u000e\u001a\u00020\u0004H\u0003¢\u0006\u0004\b\u0010\u0010\u0011J!\u0010\u0015\u001a\u00020\u00022\u0010\b\u0002\u0010\u0014\u001a\n\u0012\u0004\u0012\u00020\u0013\u0018\u00010\u0012H\u0002¢\u0006\u0004\b\u0015\u0010\u0016J\u000f\u0010\u0018\u001a\u00020\u0017H\u0002¢\u0006\u0004\b\u0018\u0010\u0019J\u000f\u0010\u001a\u001a\u00020\tH\u0016¢\u0006\u0004\b\u001a\u0010\u001bJ\u000f\u0010\u001c\u001a\u00020\tH\u0016¢\u0006\u0004\b\u001c\u0010\u001bJ\u000f\u0010\u001d\u001a\u00020\tH\u0016¢\u0006\u0004\b\u001d\u0010\u001bR\u0016\u0010!\u001a\u00020\u001e8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\b\u001f\u0010 R\u0016\u0010$\u001a\u00020\"8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\b\n\u0010#R\u0016\u0010'\u001a\u00020%8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\b\u0005\u0010&R\u0016\u0010*\u001a\u00020(8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\b\u0018\u0010)R\u0016\u0010,\u001a\u00020\u000f8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0015\u0010+R\u0016\u0010/\u001a\u00020\f8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b-\u0010.R\u0016\u00103\u001a\u0002008\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b1\u00102R\u001c\u00107\u001a\b\u0012\u0004\u0012\u00020\u0002048\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b5\u00106R\u0016\u0010:\u001a\u00020\u00048\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b8\u00109¨\u0006<"}, d2 = {"Lcom/swmansion/rnscreens/utils/ScreenDummyLayoutHelper;", "Lcom/facebook/react/bridge/LifecycleEventListener;", "Lcom/facebook/react/bridge/ReactApplicationContext;", "reactContext", "", "c", "(Lcom/facebook/react/bridge/ReactApplicationContext;)Z", "Landroid/content/Context;", "contextWithTheme", "LSh/J;", "b", "(Landroid/content/Context;)V", "", "fontSize", "isTitleEmpty", "", "computeDummyLayout", "(IZ)F", "Lkotlin/Function0;", "", "lazyMessage", "e", "(Lgi/a;)Lcom/facebook/react/bridge/ReactApplicationContext;", "Landroid/app/Activity;", "d", "()Landroid/app/Activity;", "onHostResume", "()V", "onHostPause", "onHostDestroy", "Landroidx/coordinatorlayout/widget/CoordinatorLayout;", "a", "Landroidx/coordinatorlayout/widget/CoordinatorLayout;", "coordinatorLayout", "Lcom/google/android/material/appbar/AppBarLayout;", "Lcom/google/android/material/appbar/AppBarLayout;", "appBarLayout", "Landroid/view/View;", "Landroid/view/View;", "dummyContentView", "Landroidx/appcompat/widget/Toolbar;", "Landroidx/appcompat/widget/Toolbar;", "toolbar", "F", "defaultFontSize", "f", "I", "defaultContentInsetStartWithNavigation", "Lcom/swmansion/rnscreens/utils/a;", "o", "Lcom/swmansion/rnscreens/utils/a;", "cache", "Ljava/lang/ref/WeakReference;", "p", "Ljava/lang/ref/WeakReference;", "reactContextRef", "q", "Z", "isLayoutInitialized", "r", "react-native-screens_release"}, k = 1, mv = {1, 9, 0}, xi = 48)
public final class ScreenDummyLayoutHelper implements LifecycleEventListener {
public static final Companion INSTANCE = new Companion(null);
private static WeakReference s = new WeakReference(null);
private CoordinatorLayout coordinatorLayout;
private AppBarLayout appBarLayout;
private View dummyContentView;
private Toolbar toolbar;
private float defaultFontSize;
private int defaultContentInsetStartWithNavigation;
private a cache;
private WeakReference reactContextRef;
private volatile boolean isLayoutInitialized;
public static final class Companion {
public Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
@DoNotStrip
public final ScreenDummyLayoutHelper getInstance() {
return (ScreenDummyLayoutHelper) ScreenDummyLayoutHelper.s.get();
}
private Companion() {
}
}
static final class b extends AbstractC1735t implements gi.a {
public static final b a = new b();
b() {
super(0);
}
@Override
public final Object invoke() {
return "[RNScreens] Context was null-ed before dummy layout was initialized";
}
}
static final class c extends AbstractC1735t implements gi.a {
public static final c a = new c();
c() {
super(0);
}
@Override
public final Object invoke() {
return "[RNScreens] ReactContext missing in onHostResume! This should not happen.";
}
}
static final class d extends AbstractC1735t implements gi.a {
public static final d a = new d();
d() {
super(0);
}
@Override
public final String invoke() {
return "[RNScreens] Attempt to require missing react context";
}
}
private final void b(Context contextWithTheme) {
this.coordinatorLayout = new CoordinatorLayout(contextWithTheme);
AppBarLayout appBarLayout = new AppBarLayout(contextWithTheme);
appBarLayout.setLayoutParams(new CoordinatorLayout.f(-1, -2));
this.appBarLayout = appBarLayout;
Toolbar toolbar = new Toolbar(contextWithTheme);
toolbar.setTitle("FontSize123!#$");
AppBarLayout.f fVar = new AppBarLayout.f(-1, -2);
fVar.g(0);
toolbar.setLayoutParams(fVar);
this.toolbar = toolbar;
TextView a = I.H.a(toolbar);
r.c(a);
this.defaultFontSize = a.getTextSize();
Toolbar toolbar2 = this.toolbar;
View view = null;
if (toolbar2 == null) {
r.t("toolbar");
toolbar2 = null;
}
this.defaultContentInsetStartWithNavigation = toolbar2.getContentInsetStartWithNavigation();
ViewGroup viewGroup = this.appBarLayout;
if (viewGroup == null) {
r.t("appBarLayout");
viewGroup = null;
}
View view2 = this.toolbar;
if (view2 == null) {
r.t("toolbar");
view2 = null;
}
viewGroup.addView(view2);
View view3 = new View(contextWithTheme);
view3.setLayoutParams(new CoordinatorLayout.f(-1, -1));
this.dummyContentView = view3;
ViewGroup viewGroup2 = this.coordinatorLayout;
if (viewGroup2 == null) {
r.t("coordinatorLayout");
viewGroup2 = null;
}
View view4 = this.appBarLayout;
if (view4 == null) {
r.t("appBarLayout");
view4 = null;
}
viewGroup2.addView(view4);
View view5 = this.dummyContentView;
if (view5 == null) {
r.t("dummyContentView");
} else {
view = view5;
}
viewGroup2.addView(view);
this.isLayoutInitialized = true;
}
private final boolean c(ReactApplicationContext reactContext) {
if (this.isLayoutInitialized) {
return true;
}
if (!reactContext.hasCurrentActivity()) {
return false;
}
Activity currentActivity = reactContext.getCurrentActivity();
if (currentActivity == null) {
throw new IllegalArgumentException("[RNScreens] Attempt to use context detached from activity. This could happen only due to race-condition.");
}
r.e(currentActivity, "requireNotNull(...)");
synchronized (this) {
if (this.isLayoutInitialized) {
return true;
}
b(currentActivity);
J j = J.a;
return true;
}
}
@DoNotStrip
private final float computeDummyLayout(int fontSize, boolean isTitleEmpty) {
if (!this.isLayoutInitialized && !c(e(b.a))) {
Log.e("ScreenDummyLayoutHelper", "[RNScreens] Failed to late-init layout while computing header height. This is most likely a race-condition-bug in react-native-screens, please file an issue at https://github.com/software-mansion/react-native-screens/issues");
return 0.0f;
}
if (this.cache.b(new com.swmansion.rnscreens.utils.b(fontSize, isTitleEmpty))) {
return this.cache.a();
}
View decorView = d().getWindow().getDecorView();
r.e(decorView, "getDecorView(...)");
int width = decorView.getWidth();
int height = decorView.getHeight();
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(width, 1073741824);
int makeMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(height, 1073741824);
View view = null;
if (isTitleEmpty) {
Toolbar toolbar = this.toolbar;
if (toolbar == null) {
r.t("toolbar");
toolbar = null;
}
toolbar.setTitle("");
Toolbar toolbar2 = this.toolbar;
if (toolbar2 == null) {
r.t("toolbar");
toolbar2 = null;
}
toolbar2.setContentInsetStartWithNavigation(0);
} else {
Toolbar toolbar3 = this.toolbar;
if (toolbar3 == null) {
r.t("toolbar");
toolbar3 = null;
}
toolbar3.setTitle("FontSize123!#$");
Toolbar toolbar4 = this.toolbar;
if (toolbar4 == null) {
r.t("toolbar");
toolbar4 = null;
}
toolbar4.setContentInsetStartWithNavigation(this.defaultContentInsetStartWithNavigation);
}
I.a aVar = I.H;
Toolbar toolbar5 = this.toolbar;
if (toolbar5 == null) {
r.t("toolbar");
toolbar5 = null;
}
TextView a = aVar.a(toolbar5);
if (a != null) {
a.setTextSize(fontSize != -1 ? fontSize : this.defaultFontSize);
}
View view2 = this.coordinatorLayout;
if (view2 == null) {
r.t("coordinatorLayout");
view2 = null;
}
view2.measure(makeMeasureSpec, makeMeasureSpec2);
View view3 = this.coordinatorLayout;
if (view3 == null) {
r.t("coordinatorLayout");
view3 = null;
}
view3.layout(0, 0, width, height);
View view4 = this.appBarLayout;
if (view4 == null) {
r.t("appBarLayout");
} else {
view = view4;
}
float e = e0.e(view.getHeight());
this.cache = new a(new com.swmansion.rnscreens.utils.b(fontSize, isTitleEmpty), e);
return e;
}
private final Activity d() {
Activity currentActivity = f(this, null, 1, null).getCurrentActivity();
if (currentActivity != null) {
return currentActivity;
}
throw new IllegalArgumentException("[RNScreens] Attempt to use context detached from activity");
}
private final ReactApplicationContext e(gi.a lazyMessage) {
Object obj = this.reactContextRef.get();
if (lazyMessage == null) {
lazyMessage = d.a;
}
if (obj != null) {
return (ReactApplicationContext) obj;
}
throw new IllegalArgumentException(lazyMessage.invoke().toString());
}
static ReactApplicationContext f(ScreenDummyLayoutHelper screenDummyLayoutHelper, gi.a aVar, int i, Object obj) {
if ((i & 1) != 0) {
aVar = null;
}
return screenDummyLayoutHelper.e(aVar);
}
@DoNotStrip
public static final ScreenDummyLayoutHelper getInstance() {
return INSTANCE.getInstance();
}
public void onHostDestroy() {
ReactApplicationContext reactApplicationContext = (ReactApplicationContext) this.reactContextRef.get();
if (reactApplicationContext != null) {
reactApplicationContext.removeLifecycleEventListener(this);
}
}
public void onHostPause() {
}
public void onHostResume() {
ReactApplicationContext e = e(c.a);
if (c(e)) {
e.removeLifecycleEventListener(this);
} else {
Log.w("ScreenDummyLayoutHelper", "[RNScreens] Failed to initialise dummy layout in onHostResume.");
}
}
}