// Path: app/src/main/java/com/konifar/annict/di/FragmentComponent.java
// @FragmentScope
// @Subcomponent(modules = FragmentModule.class)
// public interface FragmentComponent {
// 
//     void inject(MainFragment fragment);
// 
//     void inject(MyProgramsFragment fragment);
// 
//     void inject(LoginFragment fragment);
// 
//     void inject(RecordCreateDialogFragment fragment);
// 
//     void inject(MyWorksFragment fragment);
// 
//     void inject(SearchFragment fragment);
// 
//     void inject(SearchSeasonFragment fragment);
// 
//     void inject(SearchPopularFragment fragment);
// }
// 
// Path: app/src/main/java/com/konifar/annict/di/FragmentModule.java
// @Module
// public class FragmentModule {
// 
//     final Fragment fragment;
// 
//     public FragmentModule(Fragment fragment) {
//         this.fragment = fragment;
//     }
// 
//     @Provides
//     public FragmentManager provideFragmentManager() {
//         return fragment.getFragmentManager();
//     }
// }
// 
// Path: app/src/main/java/com/konifar/annict/view/activity/BaseActivity.java
// public abstract class BaseActivity extends AppCompatActivity {
// 
//     static {
//         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
//     }
// 
//     private ActivityComponent activityComponent;
// 
//     @NonNull
//     public ActivityComponent getComponent() {
//         if (activityComponent == null) {
//             MainApplication mainApplication = (MainApplication) getApplication();
//             activityComponent = mainApplication.getComponent().plus(new ActivityModule(this));
//         }
//         return activityComponent;
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         switch (item.getItemId()) {
//             case android.R.id.home:
//                 onBackPressed();
//                 break;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// 
//     final void replaceFragment(@NonNull Fragment fragment, @IdRes @LayoutRes int layoutResId) {
//         final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
//         ft.replace(layoutResId, fragment, fragment.getClass().getSimpleName());
//         ft.commit();
//     }
// 
//     final void initBackToolbar(Toolbar toolbar) {
//         setSupportActionBar(toolbar);
// 
//         ActionBar bar = getSupportActionBar();
//         if (bar != null) {
//             bar.setDisplayHomeAsUpEnabled(true);
//             bar.setDisplayShowHomeEnabled(true);
//             bar.setDisplayShowTitleEnabled(false);
//             bar.setHomeButtonEnabled(true);
//         }
//     }
// }


import com.konifar.annict.di.FragmentComponent;
import com.konifar.annict.di.FragmentModule;
import com.konifar.annict.view.activity.BaseActivity;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
package com.konifar.annict.view.fragment;



public abstract class BaseFragment extends Fragment {

    static String ARG_AUTH_CODE = "auth_code";

    private FragmentComponent fragmentComponent;

    @NonNull
    public FragmentComponent getComponent() {
        if (fragmentComponent != null) {
            return fragmentComponent;
        }

        Activity activity = getActivity();
        if (activity instanceof BaseActivity) {
// Path: app/src/main/java/com/konifar/annict/di/FragmentComponent.java
// @FragmentScope
// @Subcomponent(modules = FragmentModule.class)
// public interface FragmentComponent {
// 
//     void inject(MainFragment fragment);
// 
//     void inject(MyProgramsFragment fragment);
// 
//     void inject(LoginFragment fragment);
// 
//     void inject(RecordCreateDialogFragment fragment);
// 
//     void inject(MyWorksFragment fragment);
// 
//     void inject(SearchFragment fragment);
// 
//     void inject(SearchSeasonFragment fragment);
// 
//     void inject(SearchPopularFragment fragment);
// }
// 
// Path: app/src/main/java/com/konifar/annict/di/FragmentModule.java
// @Module
// public class FragmentModule {
// 
//     final Fragment fragment;
// 
//     public FragmentModule(Fragment fragment) {
//         this.fragment = fragment;
//     }
// 
//     @Provides
//     public FragmentManager provideFragmentManager() {
//         return fragment.getFragmentManager();
//     }
// }
// 
// Path: app/src/main/java/com/konifar/annict/view/activity/BaseActivity.java
// public abstract class BaseActivity extends AppCompatActivity {
// 
//     static {
//         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
//     }
// 
//     private ActivityComponent activityComponent;
// 
//     @NonNull
//     public ActivityComponent getComponent() {
//         if (activityComponent == null) {
//             MainApplication mainApplication = (MainApplication) getApplication();
//             activityComponent = mainApplication.getComponent().plus(new ActivityModule(this));
//         }
//         return activityComponent;
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         switch (item.getItemId()) {
//             case android.R.id.home:
//                 onBackPressed();
//                 break;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// 
//     final void replaceFragment(@NonNull Fragment fragment, @IdRes @LayoutRes int layoutResId) {
//         final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
//         ft.replace(layoutResId, fragment, fragment.getClass().getSimpleName());
//         ft.commit();
//     }
// 
//     final void initBackToolbar(Toolbar toolbar) {
//         setSupportActionBar(toolbar);
// 
//         ActionBar bar = getSupportActionBar();
//         if (bar != null) {
//             bar.setDisplayHomeAsUpEnabled(true);
//             bar.setDisplayShowHomeEnabled(true);
//             bar.setDisplayShowTitleEnabled(false);
//             bar.setHomeButtonEnabled(true);
//         }
//     }
// }


// Path: app/src/main/java/com/konifar/annict/view/fragment/BaseFragment.java
import com.konifar.annict.di.FragmentComponent;
import com.konifar.annict.di.FragmentModule;
import com.konifar.annict.view.activity.BaseActivity;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;

package com.konifar.annict.view.fragment;



public abstract class BaseFragment extends Fragment {

    static String ARG_AUTH_CODE = "auth_code";

    private FragmentComponent fragmentComponent;

    @NonNull
    public FragmentComponent getComponent() {
        if (fragmentComponent != null) {
            return fragmentComponent;
        }

        Activity activity = getActivity();
        if (activity instanceof BaseActivity) {
            fragmentComponent = ((BaseActivity) activity).getComponent().plus(new FragmentModule(this));