// Path: app/src/main/java/com/github/zzwwws/rxzhihudaily/presenter/fragment/BaseFragment.java
// public abstract class BaseFragment extends Fragment {
//     private static final Handler handler = new Handler();
//     private int fragmentId;
//     private boolean destroyed;
// 
//     protected final boolean isDestroyed() {
//         return destroyed;
//     }
// 
//     public int getFragmentId() {
//         return fragmentId;
//     }
// 
//     public void setFragmentId(int fragmentId) {
//         this.fragmentId = fragmentId;
// 
//     }
// 
//     public final Context getContext() {
//         return getActivity();
//     }
// 
//     public void onActivityCreated(Bundle savedInstanceState) {
//         super.onActivityCreated(savedInstanceState);
// 
//         LogUtil.ui("fragment: " + getClass().getSimpleName() + " onActivityCreated()");
// 
//         destroyed = false;
//     }
// 
//     @Override
//     public void onSaveInstanceState(Bundle outState) {
//         super.onSaveInstanceState(outState);
// 
//     }
// 
//     public void onDestroy() {
//         super.onDestroy();
//     }
// 
//     protected final Handler getHandler() {
//         return handler;
//     }
// 
//     public void setUIFragmentBundle(Bundle bundle) {
// 
//     }
// 
//     protected final void postRunnable(final Runnable runnable) {
//         handler.post(new Runnable() {
//             @Override
//             public void run() {
//                 // validate
//                 if (!isAdded()) {
//                     return;
//                 }
// 
//                 // run
//                 runnable.run();
//             }
//         });
//     }
// 
//     protected final void postDelayed(final Runnable runnable, long delay) {
//         handler.postDelayed(new Runnable() {
//             @Override
//             public void run() {
//                 // validate
//                 if (!isAdded()) {
//                     return;
//                 }
// 
//                 // run
//                 runnable.run();
//             }
//         }, delay);
//     }
// 
//     protected void showKeyboard(boolean isShow) {
//         Activity activity = getActivity();
//         if (activity == null) {
//             return;
//         }
// 
//         InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//         if (imm == null) {
//             return;
//         }
// 
//         if (isShow) {
//             if (activity.getCurrentFocus() == null) {
//                 imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
//             } else {
//                 imm.showSoftInput(activity.getCurrentFocus(), 0);
//             }
//         } else {
//             if (activity.getCurrentFocus() != null) {
//                 imm.hideSoftInputFromWindow(
//                         activity.getCurrentFocus().getWindowToken(),
//                         InputMethodManager.HIDE_NOT_ALWAYS);
//             }
//         }
//     }
// 
//     protected void showKeyboardDelayed(View focus) {
//         final View viewToFocus = focus;
//         if (focus != null) {
//             focus.requestFocus();
//         }
// 
//         getHandler().postDelayed(new Runnable() {
//             @Override
//             public void run() {
//                 if (viewToFocus == null || viewToFocus.isFocused()) {
//                     showKeyboard(true);
//                 }
//             }
//         }, 200);
//     }
// 
//     protected void showKeyboard() {
//         Activity activity = getActivity();
//         if (activity == null) {
//             return;
//         }
// 
//         InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//         if (imm == null) {
//             return;
//         }
// 
//         if (activity.getCurrentFocus() == null) {
//             imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
//         } else {
//             imm.showSoftInput(activity.getCurrentFocus(), 0);
//         }
//     }
// 
//     protected void hideKeyboard(View view) {
//         Activity activity = getActivity();
//         if (activity == null) {
//             return;
//         }
// 
//         InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//         if (imm == null) {
//             return;
//         }
// 
//         imm.hideSoftInputFromWindow(
//                 view.getWindowToken(),
//                 InputMethodManager.HIDE_NOT_ALWAYS);
//     }
// }


import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import com.github.zzwwws.rxzhihudaily.presenter.fragment.BaseFragment;
package com.github.zzwwws.rxzhihudaily.presenter.activity;



/**
 * Created by zzwwws on 2016/2/19.
 */
public class BaseActivity extends AppCompatActivity {

    protected Menu menu;

    protected void hideOption(int id) {
        MenuItem item = menu.findItem(id);
        item.setVisible(false);
    }

    protected void showOption(int id) {
        MenuItem item = menu.findItem(id);
        item.setVisible(true);
    }

    protected void setOptionTitle(int id, String title) {
        MenuItem item = menu.findItem(id);
        item.setTitle(title);
    }

    protected void setOptionIcon(int id, int iconRes) {
        MenuItem item = menu.findItem(id);
        item.setIcon(iconRes);
    }

// Path: app/src/main/java/com/github/zzwwws/rxzhihudaily/presenter/fragment/BaseFragment.java
// public abstract class BaseFragment extends Fragment {
//     private static final Handler handler = new Handler();
//     private int fragmentId;
//     private boolean destroyed;
// 
//     protected final boolean isDestroyed() {
//         return destroyed;
//     }
// 
//     public int getFragmentId() {
//         return fragmentId;
//     }
// 
//     public void setFragmentId(int fragmentId) {
//         this.fragmentId = fragmentId;
// 
//     }
// 
//     public final Context getContext() {
//         return getActivity();
//     }
// 
//     public void onActivityCreated(Bundle savedInstanceState) {
//         super.onActivityCreated(savedInstanceState);
// 
//         LogUtil.ui("fragment: " + getClass().getSimpleName() + " onActivityCreated()");
// 
//         destroyed = false;
//     }
// 
//     @Override
//     public void onSaveInstanceState(Bundle outState) {
//         super.onSaveInstanceState(outState);
// 
//     }
// 
//     public void onDestroy() {
//         super.onDestroy();
//     }
// 
//     protected final Handler getHandler() {
//         return handler;
//     }
// 
//     public void setUIFragmentBundle(Bundle bundle) {
// 
//     }
// 
//     protected final void postRunnable(final Runnable runnable) {
//         handler.post(new Runnable() {
//             @Override
//             public void run() {
//                 // validate
//                 if (!isAdded()) {
//                     return;
//                 }
// 
//                 // run
//                 runnable.run();
//             }
//         });
//     }
// 
//     protected final void postDelayed(final Runnable runnable, long delay) {
//         handler.postDelayed(new Runnable() {
//             @Override
//             public void run() {
//                 // validate
//                 if (!isAdded()) {
//                     return;
//                 }
// 
//                 // run
//                 runnable.run();
//             }
//         }, delay);
//     }
// 
//     protected void showKeyboard(boolean isShow) {
//         Activity activity = getActivity();
//         if (activity == null) {
//             return;
//         }
// 
//         InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//         if (imm == null) {
//             return;
//         }
// 
//         if (isShow) {
//             if (activity.getCurrentFocus() == null) {
//                 imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
//             } else {
//                 imm.showSoftInput(activity.getCurrentFocus(), 0);
//             }
//         } else {
//             if (activity.getCurrentFocus() != null) {
//                 imm.hideSoftInputFromWindow(
//                         activity.getCurrentFocus().getWindowToken(),
//                         InputMethodManager.HIDE_NOT_ALWAYS);
//             }
//         }
//     }
// 
//     protected void showKeyboardDelayed(View focus) {
//         final View viewToFocus = focus;
//         if (focus != null) {
//             focus.requestFocus();
//         }
// 
//         getHandler().postDelayed(new Runnable() {
//             @Override
//             public void run() {
//                 if (viewToFocus == null || viewToFocus.isFocused()) {
//                     showKeyboard(true);
//                 }
//             }
//         }, 200);
//     }
// 
//     protected void showKeyboard() {
//         Activity activity = getActivity();
//         if (activity == null) {
//             return;
//         }
// 
//         InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//         if (imm == null) {
//             return;
//         }
// 
//         if (activity.getCurrentFocus() == null) {
//             imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
//         } else {
//             imm.showSoftInput(activity.getCurrentFocus(), 0);
//         }
//     }
// 
//     protected void hideKeyboard(View view) {
//         Activity activity = getActivity();
//         if (activity == null) {
//             return;
//         }
// 
//         InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
//         if (imm == null) {
//             return;
//         }
// 
//         imm.hideSoftInputFromWindow(
//                 view.getWindowToken(),
//                 InputMethodManager.HIDE_NOT_ALWAYS);
//     }
// }


// Path: app/src/main/java/com/github/zzwwws/rxzhihudaily/presenter/activity/BaseActivity.java
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import com.github.zzwwws.rxzhihudaily.presenter.fragment.BaseFragment;

package com.github.zzwwws.rxzhihudaily.presenter.activity;



/**
 * Created by zzwwws on 2016/2/19.
 */
public class BaseActivity extends AppCompatActivity {

    protected Menu menu;

    protected void hideOption(int id) {
        MenuItem item = menu.findItem(id);
        item.setVisible(false);
    }

    protected void showOption(int id) {
        MenuItem item = menu.findItem(id);
        item.setVisible(true);
    }

    protected void setOptionTitle(int id, String title) {
        MenuItem item = menu.findItem(id);
        item.setTitle(title);
    }

    protected void setOptionIcon(int id, int iconRes) {
        MenuItem item = menu.findItem(id);
        item.setIcon(iconRes);
    }

    protected void switchContent(BaseFragment from, BaseFragment to, Bundle bundle) {