package com.parttime.mine.setting;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.carson.constant.ConstantForSaveList;
import com.easemob.EMCallBack;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import com.parttime.base.IntentManager;
import com.parttime.base.WithTitleActivity;
import com.parttime.common.Image.ContactImageLoader;
import com.parttime.login.FindPJLoginActivity;
import com.parttime.main.MainTabActivity;
import com.parttime.widget.FormButton;
import com.parttime.widget.FormItem;
import com.qingmu.jianzhidaren.R;
import com.quark.jianzhidaren.ApplicationControl;
import com.quark.model.HuanxinUser;
import com.quark.ui.widget.CustomDialog;
import java.util.ArrayList;
/**
* Created by cjz on 2015/7/16.
*/
public class SettingActivity extends WithTitleActivity{
@ViewInject(R.id.fi_account_setting)
private FormItem fiAccountSetting;
@ViewInject(R.id.fi_clear_cache)
private FormItem fiClearCache;
// @ViewInject(R.id.fi_give_a_praise)
// private FormItem fiGiveAPraise;
@ViewInject(R.id.fi_about)
private FormItem fiAbout;
@ViewInject(R.id.fb_logout)
private FormButton fbOut;
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_setting);
super.onCreate(savedInstanceState);
init();
}
protected void init(){
sp = getSharedPreferences("jrdr.setting",
Context.MODE_PRIVATE);
}
@Override
protected void initViews() {
super.initViews();
ViewUtils.inject(this);
center(R.string.setting);
left(TextView.class, R.string.back);
getCacheSize();
}
private void getCacheSize(){
// new Thread(){
//
// @Override
// public void run() {
// super.run();
long cacheSize = ContactImageLoader.getCacheSize();
fiClearCache.setValue(String.format("%.2fMB", cacheSize / (double) 1024 / 1024));
// }
// }.start();
}
public void showAlertDialog() {
CustomDialog.Builder builder = new CustomDialog.Builder(this);
builder.setMessage(R.string.logout_prompt_content);
builder.setTitle(R.string.logout_tips_title);
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
ApplicationControl.getInstance().logout(new EMCallBack() {
@Override
public void onSuccess() {
runOnUiThread(new Runnable() {
@Override
public void run() {
SharedPreferences.Editor edit = sp.edit();
edit.putString("userId", "");
edit.putString("token", "");
edit.clear();
edit.commit();
ConstantForSaveList.usersNick = new ArrayList<HuanxinUser>();//
finish();
// carson 点击退出账号时,关闭之前的界面
/*if (FindPJLoginActivity.instance != null) {
FindPJLoginActivity.instance.finish();
}*/
IntentManager.intentToLoginActivity(SettingActivity.this);
}
});
}
@Override
public void onProgress(int arg0, String arg1) {
}
@Override
public void onError(int arg0, String arg1) {
}
});
}
});
builder.setNegativeButton(R.string.wrong_click, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
@Override
protected ViewGroup getLeftWrapper() {
return null;
}
@Override
protected ViewGroup getRightWrapper() {
return null;
}
@Override
protected TextView getCenter() {
return null;
}
private void goToActivity(Class activityClz){
Intent intent = new Intent(this, activityClz);
startActivity(intent);
}
@OnClick(R.id.fi_account_setting)
private void accountSetting(View v){
goToActivity(AccountSettingActivity.class);
}
@OnClick(R.id.fi_clear_cache)
private void clearCache(View v){
new Thread(){
@Override
public void run() {
super.run();
if(ContactImageLoader.getCacheSize() > 0) {
ContactImageLoader.clearCache();
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!isFinishing()) {
getCacheSize();
showToast(R.string.clear_success);
}
}
});
}
}
}.start();
}
@OnClick(R.id.fi_about)
private void about(View v){
startActivity(new Intent(this, AboutActivity.class));
}
@OnClick(R.id.fb_logout)
private void logout(View v){
showAlertDialog();
}
}