package com.pan.simplepicture.activity; import in.srain.cube.image.ImageProvider; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; import com.pan.simplepicture.ConstantValue; import com.pan.simplepicture.R; import com.pan.simplepicture.utils.AppUtils; import com.pan.simplepicture.utils.SharedPreferencesUtils; import com.pan.simplepicture.utils.StringUtils; import com.pan.simplepicture.widget.AlertDialog; import com.pan.simplepicture.widget.ShareDialog; import com.pan.simplepicture.widget.ShareDialog.OnShareDataListener; import com.umeng.fb.FeedbackAgent; import com.umeng.socialize.controller.UMSocialService; import com.umeng.socialize.media.UMImage; import com.umeng.socialize.sso.UMSsoHandler; /** * 设置 * @author pan * */ public class SettingActivity extends BaseActivity implements OnClickListener, OnCheckedChangeListener { private String title; @Override protected void initView() { setContentView(R.layout.activity_setting); agent = new FeedbackAgent(this); agent.sync(); ToggleButton prompt__not_wifi = (ToggleButton) findViewById(R.id.prompt__not_wifi); TextView clear_cache = (TextView) findViewById(R.id.clear_cache); TextView feedback = (TextView) findViewById(R.id.feedback); TextView remmend_firend = (TextView) findViewById(R.id.remmend_firend); TextView assess = (TextView) findViewById(R.id.assess); logout = (Button) findViewById(R.id.logout); ToggleButton auto_play = (ToggleButton) findViewById(R.id.auto_play); boolean auto = SharedPreferencesUtils.getBoolean(this, "auto_play", false); auto_play.setChecked(auto); boolean wifi = SharedPreferencesUtils.getBoolean(this, "prompt__not_wifi", true); prompt__not_wifi.setChecked(wifi); if (ConstantValue.user != null) { logout.setText("注销"); } else { logout.setText("登录"); } auto_play.setOnCheckedChangeListener(this); prompt__not_wifi.setOnCheckedChangeListener(this); clear_cache.setOnClickListener(this); feedback.setOnClickListener(this); remmend_firend.setOnClickListener(this); assess.setOnClickListener(this); logout.setOnClickListener(this); } @Override protected void init() { title = getIntent().getStringExtra("title"); } @Override protected void setActionBarTitle() { mActionBar.setTitle(title); } @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.clear_cache: // 清除缓存 new AlertDialog(SettingActivity.this).builder().setTitle("清除缓存") .setMsg("清除缓存可能会使你现有已经登录天数记录归零 ,确定清除?") .setPositiveButton("确认", new OnClickListener() { @Override public void onClick(View v) { ImageProvider imageProvider = imageLoader .getImageProvider(); long usedMemory = imageProvider .getFileCacheUsedSpace(); imageProvider.clearDiskCache(); Toast.makeText( SettingActivity.this, "恭喜释放了" + StringUtils .formatFileSize(usedMemory) + "空间!", 0).show(); } }).setNegativeButton("取消", new OnClickListener() { @Override public void onClick(View v) { } }).show(); break; case R.id.feedback: agent.startFeedbackActivity(); int4Right(); // 反馈意见 break; case R.id.remmend_firend: // 推荐好友 ShareDialog dialog = new ShareDialog(this, getWindowManager() .getDefaultDisplay().getWidth() - 80, this.dip2px(400)); dialog.setOnShareDataListener(new OnShareDataListener() { @Override public void onShareData(UMSocialService mController) { SettingActivity.this.mController = mController; UMImage umImage = new UMImage(SettingActivity.this, R.drawable.ic_launcher); umImage.setTargetUrl("http://www.itlanbao.com"); umImage.setTitle("微视频"); umImage.setThumb("http://www.itlanbao.com"); // 设置分享内容 mController .setShareContent("《微视频》是一款短视频应用,里面收集了世界上各国比较有创意.新颖趣事,广告以及其他.快快来下载吧!htt://www.itlanbao.com"); mController.setShareMedia(umImage); } }); dialog.show(); break; case R.id.assess: // 赏个好评 Toast.makeText(this, "赏个好评", 0).show(); AppUtils.goMarket(SettingActivity.this); break; case R.id.logout: if (ConstantValue.user != null) { // 退出登录 new AlertDialog(SettingActivity.this).builder() .setTitle("退出当前账号").setMsg("退出当前帐号可能会导致一些功能无法使用,确定退出?") .setPositiveButton("确认退出", new OnClickListener() { @Override public void onClick(View v) { ConstantValue.user = null; SharedPreferencesUtils.saveString( SettingActivity.this, "user", ""); logout.setText("登录"); } }).setNegativeButton("取消", new OnClickListener() { @Override public void onClick(View v) { } }).show(); } else { // 登录 Intent intent = new Intent(this, LoginActivity.class); startActivity(intent); finish(); int4Right(); } break; default: break; } } @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { SharedPreferencesUtils.setBoolean(this, (String) arg0.getTag(), arg1); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); /** 使用SSO授权必须添加如下代码 */ UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler( requestCode); if (ssoHandler != null) { ssoHandler.authorizeCallBack(requestCode, resultCode, data); } } private UMSocialService mController; private FeedbackAgent agent; private Button logout; }