// Path: app/src/main/java/cn/ytxu/androidbackflow/sample/normal/request_activity_and_fragment/BaseLetterAFFragment.java
// public class BaseLetterAFFragment extends BaseBackFlowFragment {
// 
//     private TextView tipTxt;
//     private Button jumpBtn, rollbackFlowBtn;
// 
// 
//     @Nullable
//     @Override
//     public View onCreateView(final LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         View view = inflater.inflate(R.layout.container_letter_fragment, container, false);
//         setRoot(view);
// 
//         tipTxt = $(R.id.letter_tip_txt);
//         jumpBtn = $(R.id.letter_jump_btn);
//         rollbackFlowBtn = $(R.id.letter_back_flow_btn);
//         rollbackFlowBtn.setVisibility(View.GONE);
//         tipTxt.setText(getActivity().getClass().getSimpleName() + "\n" + getClass().getSimpleName());
// 
//         jumpBtn.setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 if (getActivity() instanceof ContainerAF1Activity) {
//                     if (gotoAF1()) {
//                         return;
//                     }
//                     gotoAF2Header();
//                 } else {
//                     gotoAF2();
//                 }
// 
//             }
//         });
// 
//         finishApp();
// 
//         initView();
//         return view;
//     }
// 
//     private boolean gotoAF1() {
//         try {
//             Intent intent = new Intent(getActivity(), ContainerAF1Activity.class);
//             intent.putExtra(ContainerAF1Activity.PARAM_CLASSNAME, LetterAFFragmentType.getNextFragmentName(BaseLetterAFFragment.this));
//             startActivity(intent);
//             return true;
//         } catch (ArrayIndexOutOfBoundsException e) {
//             e.printStackTrace();
//             return false;
//         }
//     }
// 
//     private void gotoAF2Header() {
//         Intent intent = new Intent(getActivity(), ContainerAF2Activity.class);
//         intent.putExtra(ContainerAF2Activity.PARAM_CLASSNAME, LetterAFAFragment.class.getName());
//         startActivity(intent);
//     }
// 
//     private boolean gotoAF2() {
//         try {
//             Intent intent = new Intent(getActivity(), ContainerAF2Activity.class);
//             intent.putExtra(ContainerAF2Activity.PARAM_CLASSNAME, LetterAFFragmentType.getNextFragmentName(BaseLetterAFFragment.this));
//             startActivity(intent);
//             return true;
//         } catch (ArrayIndexOutOfBoundsException e) {
//             e.printStackTrace();
//             return false;
//         }
//     }
// 
//     protected void initView() {
//     }
// 
//     protected void setRollbackFlow(final Class<? extends Activity> atyClass, final Class<? extends Fragment> fragmentClass) {
//         setRollbackFlow(atyClass, fragmentClass,
//                 "rollback :" + atyClass.getSimpleName() + ", " + fragmentClass.getSimpleName());
//     }
// 
//     protected void setRollbackFlow(final Class<? extends Activity> atyClass, final Class<? extends Fragment> fragmentClass, String text) {
//         rollbackFlowBtn.setVisibility(View.VISIBLE);
//         rollbackFlowBtn.setText(text);
//         rollbackFlowBtn.setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 BackFlow.request(BaseLetterAFFragment.this, atyClass, fragmentClass);
//             }
//         });
//     }
// 
//     private void finishApp() {
//         $(R.id.letter_finish_task_btn).setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 BackFlow.finishTask(BaseLetterAFFragment.this);
//             }
//         });
//     }
// }
// 
// Path: app/src/main/java/cn/ytxu/androidbackflow/sample/normal/request_activity_and_fragment/ContainerAF1Activity.java
// public class ContainerAF1Activity extends BaseBackFlowActivity {
// 
//     /**
//      * sample: XXXFragment.class.getName()
//      */
//     public final static String PARAM_CLASSNAME = "className";
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         setContentView(R.layout.fragment_container);
// 
//         BaseBackFlowFragment fragment = getFragment();
//         if (fragment == null) {
// //            finish();
//             return;
//         }
// 
//         getSupportFragmentManager().beginTransaction()
//                 .replace(R.id.fragment_container, fragment)
//                 .commitAllowingStateLoss();
//     }
// 
//     private BaseBackFlowFragment getFragment() {
//         String className = getIntent().getStringExtra(PARAM_CLASSNAME);
//         BaseBackFlowFragment fragment = null;
//         if (className != null && !className.isEmpty()) {
//             try {
//                 fragment = (BaseBackFlowFragment) getClassLoader().loadClass(className).newInstance();
//             } catch (ClassNotFoundException e) {
//                 e.printStackTrace();
//             } catch (InstantiationException e) {
//                 e.printStackTrace();
//             } catch (IllegalAccessException e) {
//                 e.printStackTrace();
//             }
//         }
//         return fragment;
//     }
// 
// }


import cn.ytxu.androidbackflow.sample.normal.request_activity_and_fragment.BaseLetterAFFragment;
import cn.ytxu.androidbackflow.sample.normal.request_activity_and_fragment.ContainerAF1Activity;
package cn.ytxu.androidbackflow.sample.normal.request_activity_and_fragment.letter;


/**
 * Created by newchama on 17/1/3.
 */
public class LetterAFFFragment extends BaseLetterAFFragment {

    @Override
    protected void initView() {
        super.initView();


// Path: app/src/main/java/cn/ytxu/androidbackflow/sample/normal/request_activity_and_fragment/BaseLetterAFFragment.java
// public class BaseLetterAFFragment extends BaseBackFlowFragment {
// 
//     private TextView tipTxt;
//     private Button jumpBtn, rollbackFlowBtn;
// 
// 
//     @Nullable
//     @Override
//     public View onCreateView(final LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//         View view = inflater.inflate(R.layout.container_letter_fragment, container, false);
//         setRoot(view);
// 
//         tipTxt = $(R.id.letter_tip_txt);
//         jumpBtn = $(R.id.letter_jump_btn);
//         rollbackFlowBtn = $(R.id.letter_back_flow_btn);
//         rollbackFlowBtn.setVisibility(View.GONE);
//         tipTxt.setText(getActivity().getClass().getSimpleName() + "\n" + getClass().getSimpleName());
// 
//         jumpBtn.setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 if (getActivity() instanceof ContainerAF1Activity) {
//                     if (gotoAF1()) {
//                         return;
//                     }
//                     gotoAF2Header();
//                 } else {
//                     gotoAF2();
//                 }
// 
//             }
//         });
// 
//         finishApp();
// 
//         initView();
//         return view;
//     }
// 
//     private boolean gotoAF1() {
//         try {
//             Intent intent = new Intent(getActivity(), ContainerAF1Activity.class);
//             intent.putExtra(ContainerAF1Activity.PARAM_CLASSNAME, LetterAFFragmentType.getNextFragmentName(BaseLetterAFFragment.this));
//             startActivity(intent);
//             return true;
//         } catch (ArrayIndexOutOfBoundsException e) {
//             e.printStackTrace();
//             return false;
//         }
//     }
// 
//     private void gotoAF2Header() {
//         Intent intent = new Intent(getActivity(), ContainerAF2Activity.class);
//         intent.putExtra(ContainerAF2Activity.PARAM_CLASSNAME, LetterAFAFragment.class.getName());
//         startActivity(intent);
//     }
// 
//     private boolean gotoAF2() {
//         try {
//             Intent intent = new Intent(getActivity(), ContainerAF2Activity.class);
//             intent.putExtra(ContainerAF2Activity.PARAM_CLASSNAME, LetterAFFragmentType.getNextFragmentName(BaseLetterAFFragment.this));
//             startActivity(intent);
//             return true;
//         } catch (ArrayIndexOutOfBoundsException e) {
//             e.printStackTrace();
//             return false;
//         }
//     }
// 
//     protected void initView() {
//     }
// 
//     protected void setRollbackFlow(final Class<? extends Activity> atyClass, final Class<? extends Fragment> fragmentClass) {
//         setRollbackFlow(atyClass, fragmentClass,
//                 "rollback :" + atyClass.getSimpleName() + ", " + fragmentClass.getSimpleName());
//     }
// 
//     protected void setRollbackFlow(final Class<? extends Activity> atyClass, final Class<? extends Fragment> fragmentClass, String text) {
//         rollbackFlowBtn.setVisibility(View.VISIBLE);
//         rollbackFlowBtn.setText(text);
//         rollbackFlowBtn.setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 BackFlow.request(BaseLetterAFFragment.this, atyClass, fragmentClass);
//             }
//         });
//     }
// 
//     private void finishApp() {
//         $(R.id.letter_finish_task_btn).setOnClickListener(new View.OnClickListener() {
//             @Override
//             public void onClick(View v) {
//                 BackFlow.finishTask(BaseLetterAFFragment.this);
//             }
//         });
//     }
// }
// 
// Path: app/src/main/java/cn/ytxu/androidbackflow/sample/normal/request_activity_and_fragment/ContainerAF1Activity.java
// public class ContainerAF1Activity extends BaseBackFlowActivity {
// 
//     /**
//      * sample: XXXFragment.class.getName()
//      */
//     public final static String PARAM_CLASSNAME = "className";
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         setContentView(R.layout.fragment_container);
// 
//         BaseBackFlowFragment fragment = getFragment();
//         if (fragment == null) {
// //            finish();
//             return;
//         }
// 
//         getSupportFragmentManager().beginTransaction()
//                 .replace(R.id.fragment_container, fragment)
//                 .commitAllowingStateLoss();
//     }
// 
//     private BaseBackFlowFragment getFragment() {
//         String className = getIntent().getStringExtra(PARAM_CLASSNAME);
//         BaseBackFlowFragment fragment = null;
//         if (className != null && !className.isEmpty()) {
//             try {
//                 fragment = (BaseBackFlowFragment) getClassLoader().loadClass(className).newInstance();
//             } catch (ClassNotFoundException e) {
//                 e.printStackTrace();
//             } catch (InstantiationException e) {
//                 e.printStackTrace();
//             } catch (IllegalAccessException e) {
//                 e.printStackTrace();
//             }
//         }
//         return fragment;
//     }
// 
// }


// Path: app/src/main/java/cn/ytxu/androidbackflow/sample/normal/request_activity_and_fragment/letter/LetterAFFFragment.java
import cn.ytxu.androidbackflow.sample.normal.request_activity_and_fragment.BaseLetterAFFragment;
import cn.ytxu.androidbackflow.sample.normal.request_activity_and_fragment.ContainerAF1Activity;

package cn.ytxu.androidbackflow.sample.normal.request_activity_and_fragment.letter;


/**
 * Created by newchama on 17/1/3.
 */
public class LetterAFFFragment extends BaseLetterAFFragment {

    @Override
    protected void initView() {
        super.initView();


        if (getActivity() instanceof ContainerAF1Activity) {