package com.whf.messagerelayer.activity;
import android.content.DialogInterface;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.Switch;
import android.widget.TextView;
import com.whf.messagerelayer.R;
import com.whf.messagerelayer.utils.NativeDataManager;
public class SmsRelayerActivity extends AppCompatActivity
implements CompoundButton.OnCheckedChangeListener, View.OnClickListener {
private Switch mSmsSwitch;
private RelativeLayout mMobileRelative, mCenterRelative;
private TextView mMobileText, mCenterText;
private NativeDataManager mNativeDataManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sms_relayer);
initActionbar();
init();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == android.R.id.home){
finish();
}
return super.onOptionsItemSelected(item);
}
private void initActionbar(){
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
private void init() {
mNativeDataManager = new NativeDataManager(this);
initView();
initData();
initListener();
}
private void initView() {
mSmsSwitch = (Switch) findViewById(R.id.switch_sms);
mMobileRelative = (RelativeLayout) findViewById(R.id.layout_mobile);
mMobileText = (TextView) findViewById(R.id.text_mobile);
}
private void initData() {
if (mNativeDataManager.getSmsRelay()) {
mSmsSwitch.setChecked(true);
} else {
mSmsSwitch.setChecked(false);
}
mMobileText.setText(mNativeDataManager.getObjectMobile());
}
private void initListener() {
mSmsSwitch.setOnCheckedChangeListener(this);
mMobileRelative.setOnClickListener(this);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case R.id.switch_sms:
smsChecked(isChecked);
break;
}
}
/**
* 使用短信转发至指定手机号的Switch的事件方法
*
* @param isChecked
*/
private void smsChecked(boolean isChecked) {
if (isChecked) {
mNativeDataManager.setSmsRelay(true);
} else {
mNativeDataManager.setSmsRelay(false);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.layout_mobile:
showEditDialog();
break;
}
}
private void showEditDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit, null, false);
final EditText mobileEdit = (EditText) view.findViewById(R.id.dialog_edit);
String mobileText = mMobileText.getText().toString();
if(!mobileText.equals("点击设置")){
mobileEdit.setText(mobileText);
}
builder.setView(view);
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mNativeDataManager.setObjectMobile(mobileEdit.getText().toString());
mMobileText.setText(mobileEdit.getText());
}
});
builder.show();
}
}