package com.sls.superlight;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.FrameLayout;
import com.sls.superlight.superlightstack.AnimationHandler;
import com.sls.superlight.slates.Listener;
import com.sls.superlight.superlightstack.Transitioner;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class MainActivity extends AppCompatActivity {
@BindView(R.id.view_container)
FrameLayout viewContainer;
public Transitioner transitioner;
private List<Listener> listeners = new ArrayList<>();
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
//Create a new instance of Transitioner and provide the base view and view container;
transitioner = new Transitioner(this, viewContainer, R.layout.view_one, R.id.ViewOne);
transitioner.setup(bundle);
}
public void addListener(Listener listener) {
listeners.add(listener);
}
@Override
protected void onSaveInstanceState(Bundle bundle) {
//pass the bundle to save the transitioner state
Bundle state = transitioner.saveState(bundle);
super.onSaveInstanceState(state);
}
@Override
public void onBackPressed() {
if(transitioner.getSize() > 1) {
transitioner.goBack(AnimationHandler.TransitionTypes.CROSSFADE);
} else {
super.onBackPressed();
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
for(Listener listener : listeners){
listener.resultCallback(requestCode, resultCode, data);
}
}
}