正在查看: 万能钥匙 v1.1.23 应用的 ScreenStackFragment.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 万能钥匙 v1.1.23 应用的 ScreenStackFragment.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.swmansion.rnscreens;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.Transformation;
import androidx.appcompat.widget.Toolbar;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.fragment.app.Fragment;
import com.google.android.inner_exoplayer2.text.ttml.TtmlNode;
import com.google.android.material.appbar.AppBarLayout;
import com.sdk.plus.data.manager.RalDataManager;
import com.swmansion.rnscreens.ScreenStackHeaderSubview;
import kotlin.Metadata;
import lg0.e0;
@Metadata(d1 = {"\u0000l\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\b\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\n\n\u0002\u0018\u0002\n\u0002\b\f\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\n\u0018\u00002\u00020\u00012\u00020\u0002:\u0002MNB\u0011\b\u0017\u0012\u0006\u0010\u0004\u001a\u00020\u0003¢\u0006\u0004\b\u0005\u0010\u0006B\t\b\u0016¢\u0006\u0004\b\u0005\u0010\u0007J\u000f\u0010\t\u001a\u00020\bH\u0016¢\u0006\u0004\b\t\u0010\u0007J\u0017\u0010\f\u001a\u00020\b2\u0006\u0010\u000b\u001a\u00020\nH\u0016¢\u0006\u0004\b\f\u0010\rJ\u0017\u0010\u0010\u001a\u00020\b2\u0006\u0010\u000f\u001a\u00020\u000eH\u0016¢\u0006\u0004\b\u0010\u0010\u0011J\u0017\u0010\u0013\u001a\u00020\b2\u0006\u0010\u0012\u001a\u00020\u000eH\u0016¢\u0006\u0004\b\u0013\u0010\u0011J\u000f\u0010\u0014\u001a\u00020\bH\u0016¢\u0006\u0004\b\u0014\u0010\u0007J\u000f\u0010\u0015\u001a\u00020\bH\u0016¢\u0006\u0004\b\u0015\u0010\u0007J\u000f\u0010\u0016\u001a\u00020\bH\u0016¢\u0006\u0004\b\u0016\u0010\u0007J-\u0010\u001e\u001a\u0004\u0018\u00010\u001d2\u0006\u0010\u0018\u001a\u00020\u00172\b\u0010\u001a\u001a\u0004\u0018\u00010\u00192\b\u0010\u001c\u001a\u0004\u0018\u00010\u001bH\u0016¢\u0006\u0004\b\u001e\u0010\u001fJ\u000f\u0010 \u001a\u00020\bH\u0016¢\u0006\u0004\b \u0010\u0007J\u0017\u0010#\u001a\u00020\b2\u0006\u0010\"\u001a\u00020!H\u0016¢\u0006\u0004\b#\u0010$J\u001f\u0010&\u001a\u00020\b2\u0006\u0010\"\u001a\u00020!2\u0006\u0010\u0018\u001a\u00020%H\u0016¢\u0006\u0004\b&\u0010'J\u000f\u0010(\u001a\u00020\u000eH\u0016¢\u0006\u0004\b(\u0010)J\u000f\u0010*\u001a\u00020\bH\u0016¢\u0006\u0004\b*\u0010\u0007J\u000f\u0010+\u001a\u00020\bH\u0002¢\u0006\u0004\b+\u0010\u0007J\u000f\u0010,\u001a\u00020\u000eH\u0002¢\u0006\u0004\b,\u0010)J\u0017\u0010-\u001a\u00020\b2\u0006\u0010\"\u001a\u00020!H\u0002¢\u0006\u0004\b-\u0010$J\u0011\u0010.\u001a\u0004\u0018\u00010\u001dH\u0002¢\u0006\u0004\b.\u0010/R\u0018\u00103\u001a\u0004\u0018\u0001008\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b1\u00102R\u0018\u0010\u000b\u001a\u0004\u0018\u00010\n8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b4\u00105R\u0016\u00108\u001a\u00020\u000e8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b6\u00107R\u0016\u00109\u001a\u00020\u000e8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0014\u00107R\u0018\u0010<\u001a\u0004\u0018\u00010\u001d8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b:\u0010;R$\u0010D\u001a\u0004\u0018\u00010=8\u0006@\u0006X\u0086\u000e¢\u0006\u0012\n\u0004\b>\u0010?\u001a\u0004\b@\u0010A\"\u0004\bB\u0010CR0\u0010L\u001a\u0010\u0012\u0004\u0012\u00020=\u0012\u0004\u0012\u00020\b\u0018\u00010E8\u0006@\u0006X\u0086\u000e¢\u0006\u0012\n\u0004\bF\u0010G\u001a\u0004\bH\u0010I\"\u0004\bJ\u0010K¨\u0006O"}, d2 = {"Lcom/swmansion/rnscreens/ScreenStackFragment;", "Lcom/swmansion/rnscreens/ScreenFragment;", "Lcom/swmansion/rnscreens/k;", "Lcom/swmansion/rnscreens/Screen;", "screenView", "<init>", "(Lcom/swmansion/rnscreens/Screen;)V", "()V", "Llg0/e0;", "Q", "Landroidx/appcompat/widget/Toolbar;", "toolbar", "S", "(Landroidx/appcompat/widget/Toolbar;)V", "", "hidden", "T", "(Z)V", "translucent", "U", "o", "F", "onStart", "Landroid/view/LayoutInflater;", "inflater", "Landroid/view/ViewGroup;", TtmlNode.RUBY_CONTAINER, "Landroid/os/Bundle;", "savedInstanceState", "Landroid/view/View;", "onCreateView", "(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;", "onStop", "Landroid/view/Menu;", "menu", "onPrepareOptionsMenu", "(Landroid/view/Menu;)V", "Landroid/view/MenuInflater;", "onCreateOptionsMenu", "(Landroid/view/Menu;Landroid/view/MenuInflater;)V", "K", "()Z", "L", "P", "V", "W", "N", "()Landroid/view/View;", "Lcom/google/android/material/appbar/AppBarLayout;", "l", "Lcom/google/android/material/appbar/AppBarLayout;", "appBarLayout", "m", "Landroidx/appcompat/widget/Toolbar;", "n", "Z", "isToolbarShadowHidden", "isToolbarTranslucent", TtmlNode.TAG_P, "Landroid/view/View;", "lastFocusedChild", "Lcom/swmansion/rnscreens/CustomSearchView;", "q", "Lcom/swmansion/rnscreens/CustomSearchView;", "O", "()Lcom/swmansion/rnscreens/CustomSearchView;", "setSearchView", "(Lcom/swmansion/rnscreens/CustomSearchView;)V", "searchView", "Lkotlin/Function1;", "r", "Lah0/l;", "getOnSearchViewCreate", "()Lah0/l;", "R", "(Lah0/l;)V", "onSearchViewCreate", "a", "ScreensCoordinatorLayout", "react-native-screens_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public final class ScreenStackFragment extends ScreenFragment implements k {
public AppBarLayout appBarLayout;
public Toolbar toolbar;
public boolean isToolbarShadowHidden;
public boolean isToolbarTranslucent;
public View lastFocusedChild;
public CustomSearchView searchView;
public ah0.l<? super CustomSearchView, e0> onSearchViewCreate;
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0002\u0018\u00002\u00020\u0001B\u0017\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0004¢\u0006\u0004\b\u0006\u0010\u0007J\u0017\u0010\u000b\u001a\u00020\n2\u0006\u0010\t\u001a\u00020\bH\u0016¢\u0006\u0004\b\u000b\u0010\fJ\u000f\u0010\r\u001a\u00020\nH\u0016¢\u0006\u0004\b\r\u0010\u000eR\u0014\u0010\u0005\u001a\u00020\u00048\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0005\u0010\u000fR\u0014\u0010\u0011\u001a\u00020\u00108\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0011\u0010\u0012¨\u0006\u0013"}, d2 = {"Lcom/swmansion/rnscreens/ScreenStackFragment$ScreensCoordinatorLayout;", "Landroidx/coordinatorlayout/widget/CoordinatorLayout;", "Landroid/content/Context;", "context", "Lcom/swmansion/rnscreens/ScreenFragment;", "mFragment", "<init>", "(Landroid/content/Context;Lcom/swmansion/rnscreens/ScreenFragment;)V", "Landroid/view/animation/Animation;", "animation", "Llg0/e0;", "startAnimation", "(Landroid/view/animation/Animation;)V", "clearFocus", "()V", "Lcom/swmansion/rnscreens/ScreenFragment;", "Landroid/view/animation/Animation$AnimationListener;", "mAnimationListener", "Landroid/view/animation/Animation$AnimationListener;", "react-native-screens_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public static final class ScreensCoordinatorLayout extends CoordinatorLayout {
private final Animation.AnimationListener mAnimationListener;
private final ScreenFragment mFragment;
@Metadata(d1 = {"\u0000\u0017\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005*\u0001\u0000\b\n\u0018\u00002\u00020\u0001J\u0017\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0016¢\u0006\u0004\b\u0005\u0010\u0006J\u0017\u0010\u0007\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0016¢\u0006\u0004\b\u0007\u0010\u0006J\u0017\u0010\b\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0016¢\u0006\u0004\b\b\u0010\u0006¨\u0006\t"}, d2 = {"com/swmansion/rnscreens/ScreenStackFragment$ScreensCoordinatorLayout$a", "Landroid/view/animation/Animation$AnimationListener;", "Landroid/view/animation/Animation;", "animation", "Llg0/e0;", "onAnimationStart", "(Landroid/view/animation/Animation;)V", "onAnimationEnd", "onAnimationRepeat", "react-native-screens_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public static final class a implements Animation.AnimationListener {
public a() {
}
@Override
public void onAnimationEnd(Animation animation) {
kotlin.jvm.internal.n.i(animation, "animation");
ScreensCoordinatorLayout.this.mFragment.F();
}
@Override
public void onAnimationRepeat(Animation animation) {
kotlin.jvm.internal.n.i(animation, "animation");
}
@Override
public void onAnimationStart(Animation animation) {
kotlin.jvm.internal.n.i(animation, "animation");
ScreensCoordinatorLayout.this.mFragment.G();
}
}
public ScreensCoordinatorLayout(Context context, ScreenFragment screenFragment) {
super(context);
kotlin.jvm.internal.n.i(context, "context");
kotlin.jvm.internal.n.i(screenFragment, "mFragment");
this.mFragment = screenFragment;
this.mAnimationListener = new a();
}
public void clearFocus() {
if (getVisibility() != 4) {
super/*android.view.ViewGroup*/.clearFocus();
}
}
public void startAnimation(Animation animation) {
kotlin.jvm.internal.n.i(animation, "animation");
a aVar = new a(this.mFragment);
aVar.setDuration(animation.getDuration());
if ((animation instanceof AnimationSet) && !this.mFragment.isRemoving()) {
AnimationSet animationSet = (AnimationSet) animation;
animationSet.addAnimation(aVar);
animationSet.setAnimationListener(this.mAnimationListener);
super/*android.view.ViewGroup*/.startAnimation(animationSet);
return;
}
AnimationSet animationSet2 = new AnimationSet(true);
animationSet2.addAnimation(animation);
animationSet2.addAnimation(aVar);
animationSet2.setAnimationListener(this.mAnimationListener);
super/*android.view.ViewGroup*/.startAnimation(animationSet2);
}
}
@Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0002\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0003\u001a\u00020\u0002¢\u0006\u0004\b\u0004\u0010\u0005J\u001f\u0010\u000b\u001a\u00020\n2\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\t\u001a\u00020\bH\u0014¢\u0006\u0004\b\u000b\u0010\fR\u0014\u0010\u0003\u001a\u00020\u00028\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\r\u0010\u000e¨\u0006\u000f"}, d2 = {"Lcom/swmansion/rnscreens/ScreenStackFragment$a;", "Landroid/view/animation/Animation;", "Lcom/swmansion/rnscreens/ScreenFragment;", "mFragment", "<init>", "(Lcom/swmansion/rnscreens/ScreenFragment;)V", "", "interpolatedTime", "Landroid/view/animation/Transformation;", RalDataManager.DB_TIME, "Llg0/e0;", "applyTransformation", "(FLandroid/view/animation/Transformation;)V", "a", "Lcom/swmansion/rnscreens/ScreenFragment;", "react-native-screens_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public static final class a extends Animation {
public final ScreenFragment mFragment;
public a(ScreenFragment screenFragment) {
kotlin.jvm.internal.n.i(screenFragment, "mFragment");
this.mFragment = screenFragment;
}
@Override
public void applyTransformation(float interpolatedTime, Transformation t) {
kotlin.jvm.internal.n.i(t, RalDataManager.DB_TIME);
super.applyTransformation(interpolatedTime, t);
this.mFragment.C(interpolatedTime, !r3.isResumed());
}
}
public ScreenStackFragment() {
throw new IllegalStateException("ScreenStack fragments should never be restored. Follow instructions from https://github.com/software-mansion/react-native-screens/issues/17#issuecomment-424704067 to properly configure your main activity.");
}
@SuppressLint({"ValidFragment"})
public ScreenStackFragment(Screen screen) {
super(screen);
kotlin.jvm.internal.n.i(screen, "screenView");
}
@Override
public void F() {
super.F();
P();
}
public boolean K() {
ScreenContainer container = k().getContainer();
if (!(container instanceof ScreenStack)) {
throw new IllegalStateException("ScreenStackFragment added into a non-stack container");
}
if (!kotlin.jvm.internal.n.d(((ScreenStack) container).getRootScreen(), k())) {
return true;
}
Fragment parentFragment = getParentFragment();
if (parentFragment instanceof ScreenStackFragment) {
return ((ScreenStackFragment) parentFragment).K();
}
return false;
}
public void L() {
ScreenContainer container = k().getContainer();
if (!(container instanceof ScreenStack)) {
throw new IllegalStateException("ScreenStackFragment added into a non-stack container");
}
((ScreenStack) container).dismiss(this);
}
public final View N() {
View k = k();
while (k != null) {
if (k.isFocused()) {
return k;
}
k = k instanceof ViewGroup ? ((ViewGroup) k).getFocusedChild() : null;
}
return null;
}
public final CustomSearchView getSearchView() {
return this.searchView;
}
public final void P() {
View view = getView();
ViewParent parent = view != null ? view.getParent() : null;
if (parent instanceof ScreenStack) {
((ScreenStack) parent).onViewAppearTransitionEnd();
}
}
public void Q() {
Toolbar toolbar;
AppBarLayout appBarLayout = this.appBarLayout;
if (appBarLayout != null && (toolbar = this.toolbar) != null && toolbar.getParent() == appBarLayout) {
appBarLayout.removeView(toolbar);
}
this.toolbar = null;
}
public final void R(ah0.l<? super CustomSearchView, e0> lVar) {
this.onSearchViewCreate = lVar;
}
public void S(Toolbar toolbar) {
kotlin.jvm.internal.n.i(toolbar, "toolbar");
AppBarLayout appBarLayout = this.appBarLayout;
if (appBarLayout != null) {
appBarLayout.addView(toolbar);
}
AppBarLayout.LayoutParams layoutParams = new AppBarLayout.LayoutParams(-1, -2);
layoutParams.g(0);
toolbar.setLayoutParams(layoutParams);
this.toolbar = toolbar;
}
public void T(boolean hidden) {
if (this.isToolbarShadowHidden != hidden) {
AppBarLayout appBarLayout = this.appBarLayout;
if (appBarLayout != null) {
appBarLayout.setElevation(hidden ? 0.0f : com.facebook.react.uimanager.u.d(4.0f));
}
AppBarLayout appBarLayout2 = this.appBarLayout;
if (appBarLayout2 != null) {
appBarLayout2.setStateListAnimator(null);
}
this.isToolbarShadowHidden = hidden;
}
}
public void U(boolean translucent) {
if (this.isToolbarTranslucent != translucent) {
CoordinatorLayout.e layoutParams = k().getLayoutParams();
kotlin.jvm.internal.n.g(layoutParams, "null cannot be cast to non-null type androidx.coordinatorlayout.widget.CoordinatorLayout.LayoutParams");
layoutParams.o(translucent ? null : new AppBarLayout.ScrollingViewBehavior());
this.isToolbarTranslucent = translucent;
}
}
public final boolean V() {
ScreenStackHeaderConfig headerConfig = k().getHeaderConfig();
int configSubviewsCount = headerConfig != null ? headerConfig.getConfigSubviewsCount() : 0;
if (headerConfig != null && configSubviewsCount > 0) {
for (int i = 0; i < configSubviewsCount; i++) {
if (headerConfig.getConfigSubview(i).getType() == ScreenStackHeaderSubview.a.SEARCH_BAR) {
return true;
}
}
}
return false;
}
public final void W(Menu menu) {
menu.clear();
if (V()) {
Context context = getContext();
if (this.searchView == null && context != null) {
CustomSearchView customSearchView = new CustomSearchView(context, this);
this.searchView = customSearchView;
ah0.l<? super CustomSearchView, e0> lVar = this.onSearchViewCreate;
if (lVar != null) {
lVar.invoke(customSearchView);
}
}
MenuItem add = menu.add("");
add.setShowAsAction(2);
add.setActionView((View) this.searchView);
}
}
@Override
public void o() {
super.o();
ScreenStackHeaderConfig headerConfig = k().getHeaderConfig();
if (headerConfig != null) {
headerConfig.onUpdate();
}
}
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
kotlin.jvm.internal.n.i(menu, "menu");
kotlin.jvm.internal.n.i(inflater, "inflater");
W(menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
AppBarLayout appBarLayout;
AppBarLayout appBarLayout2;
kotlin.jvm.internal.n.i(inflater, "inflater");
Context context = getContext();
CoordinatorLayout screensCoordinatorLayout = context != null ? new ScreensCoordinatorLayout(context, this) : null;
Screen k = k();
CoordinatorLayout.e eVar = new CoordinatorLayout.e(-1, -1);
eVar.o(this.isToolbarTranslucent ? null : new AppBarLayout.ScrollingViewBehavior());
k.setLayoutParams(eVar);
if (screensCoordinatorLayout != null) {
screensCoordinatorLayout.addView(ScreenFragment.H(k()));
}
Context context2 = getContext();
if (context2 != null) {
appBarLayout = new AppBarLayout(context2);
appBarLayout.setBackgroundColor(0);
appBarLayout.setLayoutParams(new AppBarLayout.LayoutParams(-1, -2));
} else {
appBarLayout = null;
}
this.appBarLayout = appBarLayout;
if (screensCoordinatorLayout != null) {
screensCoordinatorLayout.addView(appBarLayout);
}
if (this.isToolbarShadowHidden) {
AppBarLayout appBarLayout3 = this.appBarLayout;
if (appBarLayout3 != null) {
appBarLayout3.setElevation(0.0f);
}
AppBarLayout appBarLayout4 = this.appBarLayout;
if (appBarLayout4 != null) {
appBarLayout4.setStateListAnimator(null);
}
}
Toolbar toolbar = this.toolbar;
if (toolbar != null && (appBarLayout2 = this.appBarLayout) != null) {
appBarLayout2.addView(ScreenFragment.H(toolbar));
}
setHasOptionsMenu(true);
return screensCoordinatorLayout;
}
public void onPrepareOptionsMenu(Menu menu) {
ScreenStackHeaderConfig headerConfig;
kotlin.jvm.internal.n.i(menu, "menu");
if (!k().isTransparent() || ((headerConfig = k().getHeaderConfig()) != null && !headerConfig.getIsHeaderHidden())) {
W(menu);
}
super.onPrepareOptionsMenu(menu);
}
public void onStart() {
View view = this.lastFocusedChild;
if (view != null) {
view.requestFocus();
}
super.onStart();
}
public void onStop() {
if (op.a.a.a(getContext())) {
this.lastFocusedChild = N();
}
super.onStop();
}
}