package com.sun.bingo.ui.activity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.afollestad.materialdialogs.MaterialDialog; import com.sun.bingo.R; import com.sun.bingo.control.NavigateManager; import com.sun.bingo.model.eventbus.EventEntity; import com.sun.bingo.model.eventbus.EventType; import com.sun.bingo.util.AppUtil; import com.sun.bingo.util.ShareUtil; import com.sun.bingo.util.theme.ColorChooserDialog; import com.sun.bingo.util.update.DownloadApk; import org.greenrobot.eventbus.EventBus; import butterknife.BindView; import butterknife.ButterKnife; import cn.bmob.v3.BmobUser; /** * Created by sunfusheng on 16/5/2. */ public class SettingsActivity extends BaseActivity implements ColorChooserDialog.Callback { @BindView(R.id.toolbar) Toolbar toolbar; @BindView(R.id.tv_change_theme) TextView tvChangeTheme; @BindView(R.id.tv_send_to_friend) TextView tvSendToFriend; @BindView(R.id.tv_share) TextView tvShare; @BindView(R.id.tv_feedback) TextView tvFeedback; @BindView(R.id.tv_about) TextView tvAbout; @BindView(R.id.tv_logout) TextView tvLogout; @BindView(R.id.iv_version_dot) ImageView ivVersionDot; @BindView(R.id.tv_version) TextView tvVersion; @BindView(R.id.rl_check_update) RelativeLayout rlCheckUpdate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); ButterKnife.bind(this); initData(); initView(); initListener(); } private void initData() { } private void initView() { initToolBar(toolbar, true, R.string.action_settings); tvVersion.setText(AppUtil.getVersionName(this)); ivVersionDot.setVisibility(getAccountSharedPreferences().is_need_update()? View.VISIBLE:View.INVISIBLE); } private void initListener() { rlCheckUpdate.setOnClickListener(this); tvChangeTheme.setOnClickListener(this); tvSendToFriend.setOnClickListener(this); tvShare.setOnClickListener(this); tvFeedback.setOnClickListener(this); tvAbout.setOnClickListener(this); tvLogout.setOnClickListener(this); } @Override public void onClick(View v) { super.onClick(v); switch (v.getId()) { case R.id.rl_check_update: new DownloadApk(this).checkVersion(true); break; case R.id.tv_change_theme: changeTheme(); break; case R.id.tv_send_to_friend: ShareUtil.sendToFriend(mContext); break; case R.id.tv_share: ShareUtil.share(mContext); break; case R.id.tv_feedback: ShareUtil.feedback(mContext); break; case R.id.tv_about: NavigateManager.gotoSpecifiedActivity(mContext, AboutActivity.class); break; case R.id.tv_logout: logout(); break; } } //设置主题 private void changeTheme() { new ColorChooserDialog().show(this, getSettingsSharedPreferences().themeValue()); } @Override public void onColorSelection(int index, int color, int darker) { getSettingsSharedPreferences().themeValue(index); recreate(); EventBus.getDefault().post(new EventEntity(EventType.EVENT_TYPE_CHANGE_THEME)); } // 退出登录 private void logout() { new MaterialDialog.Builder(this) .title("提示") .content("确认退出登录?") .contentColor(getResources().getColor(R.color.font_black_3)) .positiveText(R.string.ok) .negativeText(R.string.cancel) .negativeColor(getResources().getColor(R.color.font_black_3)) .callback(new MaterialDialog.ButtonCallback() { @Override public void onPositive(MaterialDialog dialog) { getAccountSharedPreferences().uid(null); getAccountSharedPreferences().access_token(null); getAccountSharedPreferences().refresh_token(null); getAccountSharedPreferences().expires_in(0); BmobUser.logOut(mContext); NavigateManager.gotoMainActivity(mActivity); finish(); } @Override public void onNegative(MaterialDialog dialog) { } }) .show(); } }