package com.cheikh.lazywaimai.ui.activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.view.View;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.OnClick;
import com.cheikh.lazywaimai.R;
import com.cheikh.lazywaimai.base.BaseActivity;
import com.cheikh.lazywaimai.base.BaseController;
import com.cheikh.lazywaimai.context.AppContext;
import com.cheikh.lazywaimai.context.AppCookie;
import com.cheikh.lazywaimai.controller.UserController;
import com.cheikh.lazywaimai.util.ContentView;
import com.cheikh.lazywaimai.ui.Display;
import com.cheikh.lazywaimai.util.SystemUtil;
import com.cheikh.lazywaimai.util.ToastUtil;
import com.cheikh.lazywaimai.widget.section.SectionTextItemView;
/**
* author: cheikh.wang on 17/1/5
* email: wanghonghi@126.com
*/
@ContentView(R.layout.activity_setting)
public class SettingActivity extends BaseActivity<UserController.UserUiCallbacks>
implements UserController.SettingUi {
@Bind(R.id.btn_check_update)
SectionTextItemView mCheckUpdateBtn;
@Bind(R.id.btn_feedback)
SectionTextItemView mFeedbackBtn;
@Bind(R.id.layout_logout)
View mLogoutLayout;
@Bind(R.id.btn_logout)
TextView mLogoutBtn;
@Override
protected BaseController getController() {
return AppContext.getContext().getMainController().getUserController();
}
@Override
protected void initializeViews(Bundle savedInstanceState) {
String versionName = SystemUtil.getAppVersionName(this);
mCheckUpdateBtn.setSubtitle(getString(R.string.label_current_version_name, versionName));
mLogoutLayout.setVisibility(AppCookie.isLoggin() ? View.VISIBLE : View.GONE);
}
@OnClick({R.id.btn_check_update, R.id.btn_feedback, R.id.btn_logout})
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_check_update:
// TODO 还未开发
ToastUtil.showToast("还未开发");
break;
case R.id.btn_feedback:
getCallbacks().showFeedback();
break;
case R.id.btn_logout:
handleLogoutClick();
break;
}
}
@Override
public void logoutFinish() {
ToastUtil.showToast(R.string.toast_success_logout);
Display display = getDisplay();
if (display != null) {
display.finishActivity();
}
}
private void handleLogoutClick() {
new AlertDialog.Builder(this)
.setTitle(R.string.dialog_logout_title)
.setMessage(R.string.dialog_logout_message)
.setCancelable(false)
.setPositiveButton(R.string.dialog_confirm, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
getCallbacks().logout();
}
})
.setNegativeButton(R.string.dialog_cancel, null)
.create()
.show();
}
}