package com.diandi.demo.ui.activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.diandi.demo.BuildConfig;
import com.diandi.demo.R;
import com.diandi.demo.util.SharePreferenceUtil;
import com.umeng.update.UmengUpdateAgent;
import com.umeng.update.UmengUpdateListener;
import com.umeng.update.UpdateResponse;
import com.umeng.update.UpdateStatus;
/**
* *******************************************************************************
* ********* Author : klob(kloblic@gmail.com) .
* ********* Date : 2014-11-29 .
* ********* Time : 11:46 .
* ********* Project name : Diandi1.18 .
* ********* Version : 1.0
* ********* Copyright @ 2014, klob, All Rights Reserved
* *******************************************************************************
*/
public class SettingActivity extends BaseActivity implements View.OnClickListener {
RelativeLayout mCheckUpdateLayout, rl_switch_notification, rl_switch_voice,
rl_switch_vibrate;
ImageView iv_open_notification, iv_close_notification, iv_open_voice,
iv_close_voice, iv_open_vibrate, iv_close_vibrate;
SharePreferenceUtil mSharedUtil;
View view1, view2;
private TextView mVersionText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
findView();
initView();
}
public void findView() {
setContentView(R.layout.activity_setting);
rl_switch_notification = (RelativeLayout) findViewById(R.id.rl_switch_notification);
rl_switch_voice = (RelativeLayout) findViewById(R.id.rl_switch_voice);
rl_switch_vibrate = (RelativeLayout) findViewById(R.id.rl_switch_vibrate);
mCheckUpdateLayout = (RelativeLayout) findViewById(R.id.activity_set_check_update_layout);
mVersionText = (TextView) findViewById(R.id.activity_set_version_text);
rl_switch_notification.setOnClickListener(this);
rl_switch_voice.setOnClickListener(this);
rl_switch_vibrate.setOnClickListener(this);
mCheckUpdateLayout.setOnClickListener(this);
iv_open_notification = (ImageView) findViewById(R.id.iv_open_notification);
iv_close_notification = (ImageView) findViewById(R.id.iv_close_notification);
iv_open_voice = (ImageView) findViewById(R.id.iv_open_voice);
iv_close_voice = (ImageView) findViewById(R.id.iv_close_voice);
iv_open_vibrate = (ImageView) findViewById(R.id.iv_open_vibrate);
iv_close_vibrate = (ImageView) findViewById(R.id.iv_close_vibrate);
view1 = findViewById(R.id.view1);
view2 = findViewById(R.id.view2);
}
void initView() {
initTopBarForLeft("消息提醒设置");
mVersionText.setText("v" + BuildConfig.VERSION_NAME);
initData();
bindEvent();
}
void initData() {
mSharedUtil = mApplication.getSpUtil();
boolean isAllowNotify = mSharedUtil.isAllowPushNotify();
if (isAllowNotify) {
iv_open_notification.setVisibility(View.VISIBLE);
iv_close_notification.setVisibility(View.INVISIBLE);
} else {
iv_open_notification.setVisibility(View.INVISIBLE);
iv_close_notification.setVisibility(View.VISIBLE);
}
boolean isAllowVoice = mSharedUtil.isAllowVoice();
if (isAllowVoice) {
iv_open_voice.setVisibility(View.VISIBLE);
iv_close_voice.setVisibility(View.INVISIBLE);
} else {
iv_open_voice.setVisibility(View.INVISIBLE);
iv_close_voice.setVisibility(View.VISIBLE);
}
boolean isAllowVibrate = mSharedUtil.isAllowVibrate();
if (isAllowVibrate) {
iv_open_vibrate.setVisibility(View.VISIBLE);
iv_close_vibrate.setVisibility(View.INVISIBLE);
} else {
iv_open_vibrate.setVisibility(View.INVISIBLE);
iv_close_vibrate.setVisibility(View.VISIBLE);
}
}
void bindEvent() {
rl_switch_notification.setOnClickListener(this);
rl_switch_voice.setOnClickListener(this);
rl_switch_vibrate.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.rl_switch_notification:
if (iv_open_notification.getVisibility() == View.VISIBLE) {
iv_open_notification.setVisibility(View.INVISIBLE);
iv_close_notification.setVisibility(View.VISIBLE);
mSharedUtil.setPushNotifyEnable(false);
rl_switch_vibrate.setVisibility(View.GONE);
rl_switch_voice.setVisibility(View.GONE);
view1.setVisibility(View.GONE);
view2.setVisibility(View.GONE);
} else {
iv_open_notification.setVisibility(View.VISIBLE);
iv_close_notification.setVisibility(View.INVISIBLE);
mSharedUtil.setPushNotifyEnable(true);
rl_switch_vibrate.setVisibility(View.VISIBLE);
rl_switch_voice.setVisibility(View.VISIBLE);
view1.setVisibility(View.VISIBLE);
view2.setVisibility(View.VISIBLE);
}
break;
case R.id.rl_switch_voice:
if (iv_open_voice.getVisibility() == View.VISIBLE) {
iv_open_voice.setVisibility(View.INVISIBLE);
iv_close_voice.setVisibility(View.VISIBLE);
mSharedUtil.setAllowVoiceEnable(false);
} else {
iv_open_voice.setVisibility(View.VISIBLE);
iv_close_voice.setVisibility(View.INVISIBLE);
mSharedUtil.setAllowVoiceEnable(true);
}
break;
case R.id.rl_switch_vibrate:
if (iv_open_vibrate.getVisibility() == View.VISIBLE) {
iv_open_vibrate.setVisibility(View.INVISIBLE);
iv_close_vibrate.setVisibility(View.VISIBLE);
mSharedUtil.setAllowVibrateEnable(false);
} else {
iv_open_vibrate.setVisibility(View.VISIBLE);
iv_close_vibrate.setVisibility(View.INVISIBLE);
mSharedUtil.setAllowVibrateEnable(true);
}
break;
case R.id.activity_set_check_update_layout:
checkUpdate();
break;
}
}
private void checkUpdate() {
Toast.makeText(mContext, "正在检查。。。", Toast.LENGTH_SHORT).show();
UmengUpdateAgent.setUpdateAutoPopup(false);
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
@Override
public void onUpdateReturned(int updateStatus, UpdateResponse updateInfo) {
switch (updateStatus) {
case UpdateStatus.Yes: // has update
Log.e(TAG, "有更新");
UmengUpdateAgent.showUpdateDialog(mContext, updateInfo);
break;
case UpdateStatus.No: // has no update
Toast.makeText(mContext, "没有更新", Toast.LENGTH_SHORT).show();
break;
case UpdateStatus.NoneWifi: // none wifi
Toast.makeText(mContext, "没有wifi连接, 只在wifi下更新", Toast.LENGTH_SHORT).show();
break;
case UpdateStatus.Timeout: // time out
Toast.makeText(mContext, "请检查网络", Toast.LENGTH_SHORT).show();
break;
}
}
});
UmengUpdateAgent.forceUpdate(mContext);
}
}