// Path: app/src/main/java/com/knight/arch/ui/SettingsActivity.java
// public class SettingsActivity extends InjectableActivity {
// 
//     @Override
//     public List<Object> getModules() {
//         return Arrays.<Object>asList(new SettingsModule());
//     }
// 
//     @Override
//     protected int provideContentViewId() {
//         return R.layout.activity_setting;
//     }
// 
//     public void onResume() {
//         super.onResume();
//         MobclickAgent.onResume(this);
//     }
// 
//     public void onPause() {
//         super.onPause();
//         MobclickAgent.onPause(this);
//     }
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
// 
//         super.onCreate(savedInstanceState);
//         initView();
// //        setStatusColor(android.R.color.transparent);
//     }
// 
//     private void initView() {
//         Toolbar mToolbar = (Toolbar) findViewById(R.id.hot_repos_toolbar);
//         setSupportActionBar(mToolbar);
// 
//         final ActionBar ab = getSupportActionBar();
//         if (ab != null) {
//             ab.setHomeAsUpIndicator(R.mipmap.ic_back_arrow);
//             ab.setDisplayHomeAsUpEnabled(true);
//         }
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         if (item.getItemId() == android.R.id.home) {
//             KeyBoardTools.actionKey(KeyEvent.KEYCODE_BACK);
//             return true;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// 
// }
// 
// Path: app/src/main/java/com/knight/arch/ui/fragment/SettingsFragment.java
// public class SettingsFragment extends PreferenceFragment {
// 
//     private boolean injected = false;
// 
// 
//     @Inject
//     FirService firService;
// 
//     @Override
//     public void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         getActivity();
//         addPreferencesFromResource(R.xml.preference);
// 
//         findPreference(getString(R.string.pref_build_time))
//                 .setSummary(BuildConfig.BUILD_TIME);
// 
//         findPreference(getString(R.string.open_source_licence))
//                 .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
//                     @Override
//                     public boolean onPreferenceClick(Preference preference) {
//                         new LicensesDialog.Builder(getActivity())
//                                 .setNotices(R.raw.notices)
//                                 .setIncludeOwnLicense(true)
//                                 .setThemeResourceId(R.style.custom_theme)
//                                 .build()
//                                 .show();
//                         return false;
//                     }
//                 });
// 
//         Preference checkVersionPref = findPreference(getString(R.string.pref_check_version));
// 
//         checkVersionPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
//             @Override
//             public boolean onPreferenceClick(Preference preference) {
//                 checkVersion();
//                 return true;
//             }
//         });
// 
//         checkVersionPref.setSummary(getString(R.string.s_check_version, BuildConfig.VERSION_NAME));
// 
//     }
// 
//     public void onResume() {
//         super.onResume();
//         MobclickAgent.onPageStart("SettingsFragment"); //统计页面
//     }
// 
//     public void onPause() {
//         super.onPause();
//         MobclickAgent.onPageEnd("SettingsFragment");
//     }
// 
//     private void checkVersion() {
//         final ProgressDialog dialog = new ProgressDialog(getActivity());
//         dialog.setMessage(getString(R.string.msg_checking_version));
//         dialog.show();
//         AppObservable.bindFragment(this, firService.checkVersion(BuildConfig.FIR_APPLICATION_ID, BuildConfig.FIR_API_TOKEN))
//                 .subscribe(new Subscriber<FirVersion>() {
//                     @Override
//                     public void onCompleted() {
// 
//                     }
// 
//                     @Override
//                     public void onError(Throwable e) {
//                         Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
//                         dialog.dismiss();
//                     }
// 
//                     @Override
//                     public void onNext(FirVersion firVersion) {
//                         if (firVersion.getVersion() > BuildConfig.VERSION_CODE) {
//                             dialog.dismiss();
//                             showNewVersionFoundDialog(firVersion);
//                         } else {
//                             Toast.makeText(getActivity(), R.string.msg_this_is_latest_version, Toast.LENGTH_SHORT).show();
//                             dialog.dismiss();
//                         }
//                     }
//                 });
//     }
// 
//     private void showNewVersionFoundDialog(final FirVersion newFirVersion) {
//         new AlertDialog.Builder(getActivity())
//                 .setTitle(R.string.title_new_version_found)
//                 .setMessage(getString(R.string.msg_new_version_found, newFirVersion.getVersionShort(), newFirVersion.getVersion(), newFirVersion.getChangeLog()))
//                 .setPositiveButton(R.string.btn_dialog_update, new DialogInterface.OnClickListener() {
//                     @Override
//                     public void onClick(DialogInterface dialog, int which) {
//                         Intent downloadPageIntent = new Intent(Intent.ACTION_VIEW);
//                         downloadPageIntent.setData(Uri.parse(newFirVersion.getUpdateUrl()));
//                         getActivity().startActivity(downloadPageIntent);
//                     }
//                 })
//                 .setNegativeButton(android.R.string.cancel, null)
//                 .create()
//                 .show();
//     }
// 
//     @Override
//     public void onAttach(Activity activity) {
//         super.onAttach(activity);
//         if (!injected) {
//             injected = true;
//             Injector injector = (Injector) getActivity();
//             injector.inject(this);
//         }
//     }
// }


import com.knight.arch.ui.SettingsActivity;
import com.knight.arch.ui.fragment.SettingsFragment;
import dagger.Module;
package com.knight.arch.module;




/**
 * @author andyiac
 * @date 15-9-16
 * @web http://blog.andyiac.com
 * @github https://github.com/andyiac
 */
@Module(
        complete = false,
        overrides = true,
        injects = {
// Path: app/src/main/java/com/knight/arch/ui/SettingsActivity.java
// public class SettingsActivity extends InjectableActivity {
// 
//     @Override
//     public List<Object> getModules() {
//         return Arrays.<Object>asList(new SettingsModule());
//     }
// 
//     @Override
//     protected int provideContentViewId() {
//         return R.layout.activity_setting;
//     }
// 
//     public void onResume() {
//         super.onResume();
//         MobclickAgent.onResume(this);
//     }
// 
//     public void onPause() {
//         super.onPause();
//         MobclickAgent.onPause(this);
//     }
// 
//     @Override
//     protected void onCreate(Bundle savedInstanceState) {
// 
//         super.onCreate(savedInstanceState);
//         initView();
// //        setStatusColor(android.R.color.transparent);
//     }
// 
//     private void initView() {
//         Toolbar mToolbar = (Toolbar) findViewById(R.id.hot_repos_toolbar);
//         setSupportActionBar(mToolbar);
// 
//         final ActionBar ab = getSupportActionBar();
//         if (ab != null) {
//             ab.setHomeAsUpIndicator(R.mipmap.ic_back_arrow);
//             ab.setDisplayHomeAsUpEnabled(true);
//         }
//     }
// 
//     @Override
//     public boolean onOptionsItemSelected(MenuItem item) {
//         if (item.getItemId() == android.R.id.home) {
//             KeyBoardTools.actionKey(KeyEvent.KEYCODE_BACK);
//             return true;
//         }
//         return super.onOptionsItemSelected(item);
//     }
// 
// }
// 
// Path: app/src/main/java/com/knight/arch/ui/fragment/SettingsFragment.java
// public class SettingsFragment extends PreferenceFragment {
// 
//     private boolean injected = false;
// 
// 
//     @Inject
//     FirService firService;
// 
//     @Override
//     public void onCreate(Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         getActivity();
//         addPreferencesFromResource(R.xml.preference);
// 
//         findPreference(getString(R.string.pref_build_time))
//                 .setSummary(BuildConfig.BUILD_TIME);
// 
//         findPreference(getString(R.string.open_source_licence))
//                 .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
//                     @Override
//                     public boolean onPreferenceClick(Preference preference) {
//                         new LicensesDialog.Builder(getActivity())
//                                 .setNotices(R.raw.notices)
//                                 .setIncludeOwnLicense(true)
//                                 .setThemeResourceId(R.style.custom_theme)
//                                 .build()
//                                 .show();
//                         return false;
//                     }
//                 });
// 
//         Preference checkVersionPref = findPreference(getString(R.string.pref_check_version));
// 
//         checkVersionPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
//             @Override
//             public boolean onPreferenceClick(Preference preference) {
//                 checkVersion();
//                 return true;
//             }
//         });
// 
//         checkVersionPref.setSummary(getString(R.string.s_check_version, BuildConfig.VERSION_NAME));
// 
//     }
// 
//     public void onResume() {
//         super.onResume();
//         MobclickAgent.onPageStart("SettingsFragment"); //统计页面
//     }
// 
//     public void onPause() {
//         super.onPause();
//         MobclickAgent.onPageEnd("SettingsFragment");
//     }
// 
//     private void checkVersion() {
//         final ProgressDialog dialog = new ProgressDialog(getActivity());
//         dialog.setMessage(getString(R.string.msg_checking_version));
//         dialog.show();
//         AppObservable.bindFragment(this, firService.checkVersion(BuildConfig.FIR_APPLICATION_ID, BuildConfig.FIR_API_TOKEN))
//                 .subscribe(new Subscriber<FirVersion>() {
//                     @Override
//                     public void onCompleted() {
// 
//                     }
// 
//                     @Override
//                     public void onError(Throwable e) {
//                         Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
//                         dialog.dismiss();
//                     }
// 
//                     @Override
//                     public void onNext(FirVersion firVersion) {
//                         if (firVersion.getVersion() > BuildConfig.VERSION_CODE) {
//                             dialog.dismiss();
//                             showNewVersionFoundDialog(firVersion);
//                         } else {
//                             Toast.makeText(getActivity(), R.string.msg_this_is_latest_version, Toast.LENGTH_SHORT).show();
//                             dialog.dismiss();
//                         }
//                     }
//                 });
//     }
// 
//     private void showNewVersionFoundDialog(final FirVersion newFirVersion) {
//         new AlertDialog.Builder(getActivity())
//                 .setTitle(R.string.title_new_version_found)
//                 .setMessage(getString(R.string.msg_new_version_found, newFirVersion.getVersionShort(), newFirVersion.getVersion(), newFirVersion.getChangeLog()))
//                 .setPositiveButton(R.string.btn_dialog_update, new DialogInterface.OnClickListener() {
//                     @Override
//                     public void onClick(DialogInterface dialog, int which) {
//                         Intent downloadPageIntent = new Intent(Intent.ACTION_VIEW);
//                         downloadPageIntent.setData(Uri.parse(newFirVersion.getUpdateUrl()));
//                         getActivity().startActivity(downloadPageIntent);
//                     }
//                 })
//                 .setNegativeButton(android.R.string.cancel, null)
//                 .create()
//                 .show();
//     }
// 
//     @Override
//     public void onAttach(Activity activity) {
//         super.onAttach(activity);
//         if (!injected) {
//             injected = true;
//             Injector injector = (Injector) getActivity();
//             injector.inject(this);
//         }
//     }
// }


// Path: app/src/main/java/com/knight/arch/module/SettingsModule.java
import com.knight.arch.ui.SettingsActivity;
import com.knight.arch.ui.fragment.SettingsFragment;
import dagger.Module;

package com.knight.arch.module;




/**
 * @author andyiac
 * @date 15-9-16
 * @web http://blog.andyiac.com
 * @github https://github.com/andyiac
 */
@Module(
        complete = false,
        overrides = true,
        injects = {
                SettingsActivity.class,