mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-26 09:02:34 -06:00
100 lines
2.9 KiB
Java
100 lines
2.9 KiB
Java
|
package androidx.transition;
|
||
|
|
||
|
import android.content.Context;
|
||
|
import android.util.SparseArray;
|
||
|
import android.view.LayoutInflater;
|
||
|
import android.view.View;
|
||
|
import android.view.ViewGroup;
|
||
|
|
||
|
/* loaded from: classes2.dex */
|
||
|
public class Scene {
|
||
|
private Context mContext;
|
||
|
private Runnable mEnterAction;
|
||
|
private Runnable mExitAction;
|
||
|
private View mLayout;
|
||
|
private int mLayoutId;
|
||
|
private ViewGroup mSceneRoot;
|
||
|
|
||
|
public ViewGroup getSceneRoot() {
|
||
|
return this.mSceneRoot;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean isCreatedFromLayoutResource() {
|
||
|
return this.mLayoutId > 0;
|
||
|
}
|
||
|
|
||
|
public void setEnterAction(Runnable runnable) {
|
||
|
this.mEnterAction = runnable;
|
||
|
}
|
||
|
|
||
|
public void setExitAction(Runnable runnable) {
|
||
|
this.mExitAction = runnable;
|
||
|
}
|
||
|
|
||
|
public static Scene getSceneForLayout(ViewGroup viewGroup, int i, Context context) {
|
||
|
SparseArray sparseArray = (SparseArray) viewGroup.getTag(R.id.transition_scene_layoutid_cache);
|
||
|
if (sparseArray == null) {
|
||
|
sparseArray = new SparseArray();
|
||
|
viewGroup.setTag(R.id.transition_scene_layoutid_cache, sparseArray);
|
||
|
}
|
||
|
Scene scene = (Scene) sparseArray.get(i);
|
||
|
if (scene != null) {
|
||
|
return scene;
|
||
|
}
|
||
|
Scene scene2 = new Scene(viewGroup, i, context);
|
||
|
sparseArray.put(i, scene2);
|
||
|
return scene2;
|
||
|
}
|
||
|
|
||
|
public Scene(ViewGroup viewGroup) {
|
||
|
this.mLayoutId = -1;
|
||
|
this.mSceneRoot = viewGroup;
|
||
|
}
|
||
|
|
||
|
private Scene(ViewGroup viewGroup, int i, Context context) {
|
||
|
this.mContext = context;
|
||
|
this.mSceneRoot = viewGroup;
|
||
|
this.mLayoutId = i;
|
||
|
}
|
||
|
|
||
|
public Scene(ViewGroup viewGroup, View view) {
|
||
|
this.mLayoutId = -1;
|
||
|
this.mSceneRoot = viewGroup;
|
||
|
this.mLayout = view;
|
||
|
}
|
||
|
|
||
|
public void exit() {
|
||
|
Runnable runnable;
|
||
|
if (getCurrentScene(this.mSceneRoot) != this || (runnable = this.mExitAction) == null) {
|
||
|
return;
|
||
|
}
|
||
|
runnable.run();
|
||
|
}
|
||
|
|
||
|
public void enter() {
|
||
|
if (this.mLayoutId > 0 || this.mLayout != null) {
|
||
|
getSceneRoot().removeAllViews();
|
||
|
if (this.mLayoutId > 0) {
|
||
|
LayoutInflater.from(this.mContext).inflate(this.mLayoutId, this.mSceneRoot);
|
||
|
} else {
|
||
|
this.mSceneRoot.addView(this.mLayout);
|
||
|
}
|
||
|
}
|
||
|
Runnable runnable = this.mEnterAction;
|
||
|
if (runnable != null) {
|
||
|
runnable.run();
|
||
|
}
|
||
|
setCurrentScene(this.mSceneRoot, this);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public static void setCurrentScene(ViewGroup viewGroup, Scene scene) {
|
||
|
viewGroup.setTag(R.id.transition_current_scene, scene);
|
||
|
}
|
||
|
|
||
|
public static Scene getCurrentScene(ViewGroup viewGroup) {
|
||
|
return (Scene) viewGroup.getTag(R.id.transition_current_scene);
|
||
|
}
|
||
|
}
|