package com.sjl.yuehu.ui.base;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.sjl.yuehu.App;
import com.sjl.yuehu.injector.component.DaggerFragmentComponent;
import com.sjl.yuehu.injector.component.FragmentComponent;
import com.sjl.yuehu.injector.module.ActivityModule;
import com.sjl.yuehu.injector.module.FragmentModule;
/**
* Created by 小鹿 on 2017/2/4.
*/
public abstract class BaseFg extends Fragment {
private String title = "";
private boolean isMenu1Visible = true;
public FragmentListener fgListener;
private FragmentComponent fragmentComponent;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
public FragmentComponent getFragmentComponent() {
if (fragmentComponent == null) {
fragmentComponent = DaggerFragmentComponent.builder()
.applicationComponent(App.getApplicationComponent())
.activityModule(new ActivityModule((BaseAct) getActivity()))
.fragmentModule(new FragmentModule(this))
.build();
}
return fragmentComponent;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
fgListener = (FragmentListener) getActivity();
}
public String getName() {
return this.getClass().getName();
}
@Override
public void onResume() {
super.onResume();
if (fgListener != null)
fgListener.fragmentVisible(this);
}
public boolean popFromFragment(String starName) {
FragmentManager fm = getActivity().getSupportFragmentManager();
return fm.popBackStackImmediate(starName, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
}
public String getFragmentTitle() {
return title;
}
public void setFragmentTitle(String title) {
this.title = title;
}
public boolean isMenu1Visible() {
return isMenu1Visible;
}
public void isMenu1Visible(boolean isMenu1Visible) {
this.isMenu1Visible = isMenu1Visible;
}
}