// Path: app/src/main/java/me/yifeiyuan/climb/tools/trace/Agent.java
// public class Agent {
// 
//     public static void onEvent(Context context, String eventName, String s1) {
//         if (enable()) {
//             MobclickAgent.onEvent(context, eventName, s1);
//         }
//     }
// 
//     public static void onEvent(Context context, String eventName) {
//         if (enable()) {
//             MobclickAgent.onEvent(context, eventName);
//         }
//     }
// 
// 
//     public static void onResume(Context context) {
//         if (enable()) {
//             MobclickAgent.onResume(context);
//         }
//     }
// 
//     public static void onPause(Context context) {
//         if (enable()) {
//             MobclickAgent.onPause(context);
//         }
//     }
// 
//     public static void onPageStart(String s) {
//         if (enable()) {
//             MobclickAgent.onPageStart(s);
//         }
//     }
// 
//     public static void onPageEnd(String s) {
//         if (enable()) {
//             MobclickAgent.onPageEnd(s);
//         }
//     }
// 
//     private static boolean enable() {
//         // 控制开关
// //        return !BuildConfig.DEBUG;
//         return true;
//     }
// }


import rx.subscriptions.CompositeSubscription;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import butterknife.ButterKnife;
import me.yifeiyuan.climb.tools.trace.Agent;
import rx.Subscription;
        mRootView = inflater.inflate(getLayoutId(), container, false);
        ButterKnife.bind(this, mRootView);
        mActivity = (BaseActivity) getActivity();
        mSubscriptions = new CompositeSubscription();
        Bundle args = getArguments();
        if (null != args) {
            initArguments(args);
        }
        initData();
        initView(savedInstanceState);
        mRootView.post(() -> requestData(false, true));
        return mRootView;
    }

    protected abstract
    @LayoutRes
    int getLayoutId();

    protected void initArguments(@NonNull Bundle args) {
    }

    protected abstract void initData();

    protected abstract void initView(@Nullable Bundle savedInstanceState);

    protected abstract void requestData(boolean isForce, boolean isRefresh);

    @Override
    public void onResume() {
        super.onResume();
// Path: app/src/main/java/me/yifeiyuan/climb/tools/trace/Agent.java
// public class Agent {
// 
//     public static void onEvent(Context context, String eventName, String s1) {
//         if (enable()) {
//             MobclickAgent.onEvent(context, eventName, s1);
//         }
//     }
// 
//     public static void onEvent(Context context, String eventName) {
//         if (enable()) {
//             MobclickAgent.onEvent(context, eventName);
//         }
//     }
// 
// 
//     public static void onResume(Context context) {
//         if (enable()) {
//             MobclickAgent.onResume(context);
//         }
//     }
// 
//     public static void onPause(Context context) {
//         if (enable()) {
//             MobclickAgent.onPause(context);
//         }
//     }
// 
//     public static void onPageStart(String s) {
//         if (enable()) {
//             MobclickAgent.onPageStart(s);
//         }
//     }
// 
//     public static void onPageEnd(String s) {
//         if (enable()) {
//             MobclickAgent.onPageEnd(s);
//         }
//     }
// 
//     private static boolean enable() {
//         // 控制开关
// //        return !BuildConfig.DEBUG;
//         return true;
//     }
// }


// Path: app/src/main/java/me/yifeiyuan/climb/base/BaseFragment.java
import rx.subscriptions.CompositeSubscription;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import butterknife.ButterKnife;
import me.yifeiyuan.climb.tools.trace.Agent;
import rx.Subscription;

        mRootView = inflater.inflate(getLayoutId(), container, false);
        ButterKnife.bind(this, mRootView);
        mActivity = (BaseActivity) getActivity();
        mSubscriptions = new CompositeSubscription();
        Bundle args = getArguments();
        if (null != args) {
            initArguments(args);
        }
        initData();
        initView(savedInstanceState);
        mRootView.post(() -> requestData(false, true));
        return mRootView;
    }

    protected abstract
    @LayoutRes
    int getLayoutId();

    protected void initArguments(@NonNull Bundle args) {
    }

    protected abstract void initData();

    protected abstract void initView(@Nullable Bundle savedInstanceState);

    protected abstract void requestData(boolean isForce, boolean isRefresh);

    @Override
    public void onResume() {
        super.onResume();
        Agent.onPageStart(TAG); //统计页面