package com.qiwenge.android.fragments; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.liuguangqiang.android.mvp.BaseUi; import com.liuguangqiang.android.mvp.Presenter; import com.liuguangqiang.framework.utils.IntentUtils; import com.liuguangqiang.framework.utils.ToastUtils; import com.qiwenge.android.R; import com.qiwenge.android.act.LegalActivity; import com.qiwenge.android.async.AsyncCheckUpdate; import com.qiwenge.android.base.BaseFragment; import com.qiwenge.android.constant.Constants; import com.qiwenge.android.listeners.OnPositiveClickListener; import com.qiwenge.android.mvp.presenter.SettingsPresenter; import com.qiwenge.android.mvp.ui.SettingUiCallback; import com.qiwenge.android.mvp.ui.SettingsUi; import com.qiwenge.android.ui.dialogs.MyDialog; import com.qiwenge.android.utils.ImageLoaderUtils; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.OnClick; public class SettingFragment extends BaseFragment implements SettingsUi { @InjectView(R.id.set_tv_update) TextView tvCheckUpdate; @InjectView(R.id.tv_version_name) TextView tvVersionName; @InjectView(R.id.layout_set_user) LinearLayout layoutUser; @InjectView(R.id.iv_save_model) ImageView ivSaveModel; private MyDialog logoutDialog; private boolean selectSaveModel = false; SettingUiCallback mCallback; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.activity_setting, container, false); ButterKnife.inject(this, rootView); return rootView; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initViews(); } @Override public Presenter setPresenter() { return new SettingsPresenter(getActivity(), this); } @Override public void setUiCallback(SettingUiCallback settingsUiCallback) { mCallback = settingsUiCallback; } public void initViews() { if (!ImageLoaderUtils.isOpen()) { setCheckbox(ivSaveModel, true); selectSaveModel = true; } if (Constants.DISABLE_UPDATE) { tvCheckUpdate.setVisibility(View.GONE); } } /** * 切换流量模式 */ @OnClick(R.id.iv_save_model) public void switchSaveModel() { if (selectSaveModel) { setCheckbox(ivSaveModel, false); ImageLoaderUtils.openLoader(getActivity()); } else { setCheckbox(ivSaveModel, true); ImageLoaderUtils.closeLoader(getActivity()); } selectSaveModel = !selectSaveModel; } @OnClick(R.id.set_tv_rating) public void skipToMarket() { try { IntentUtils.skipToMarket(getActivity()); } catch (Exception ex) { ToastUtils.show(getActivity(), getString(R.string.error_not_find_market)); } } @OnClick(R.id.set_tv_legal) public void skipToLegal() { startActivity(LegalActivity.class); } @OnClick(R.id.set_tv_update) public void chkVersionUpdate() { new AsyncCheckUpdate(getActivity()).checkUpdate(); } @OnClick(R.id.set_tv_logout) public void showLogoutDialog() { logoutDialog = new MyDialog(getActivity(), R.string.set_logout_title); logoutDialog.setMessage(R.string.set_logout_msg); logoutDialog.setPositiveButton(R.string.str_sure, new OnPositiveClickListener() { @Override public void onClick() { mCallback.logout(); } }); logoutDialog.show(); } private void setCheckbox(ImageView iv, boolean ischecked) { if (ischecked) { iv.setBackgroundResource(R.drawable.icon_switch_on); } else { iv.setBackgroundResource(R.drawable.icon_switch_off); } } @Override public void setVersionName(String versionName) { tvVersionName.setText(versionName); } @Override public void setLogoutVisibility(int visibility) { layoutUser.setVisibility(visibility); } }