package com.swjtu.gcmformojo;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import java.util.Date;
//向配置文件写入一个值(下一次开始推送时间,当前时间加上暂停时间)
//如果接收到消息,则判断是否满足条件,满足则不推送,否则推送
public class QqPausedNotificationActivity extends Activity
{
private int checked = R.id.paused_one_hour;
private RadioGroup radioGroup;
private Button btn_cancel;
private Button btn_done;
private EditText inputLayout;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
initialization();
monitor();
}
private void initialization()
{
setContentView(R.layout.activity_qq_paused_notification);
radioGroup = (RadioGroup) findViewById(R.id.radio_group);
btn_cancel = (Button) findViewById(R.id.btn_cancel);
btn_done = (Button) findViewById(R.id.btn_done);
inputLayout = (EditText) findViewById(R.id.input_oneself);
}
private void monitor()
{
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
checked = checkedId;
//判断是否选择自定义
if (checkedId == R.id.paused_oneself)
{
inputLayout.setVisibility(View.VISIBLE);
} else
{
inputLayout.setVisibility(View.GONE);
}
}
});
btn_cancel.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
finish();
}
});
btn_done.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
SharedPreferences.Editor editor = getSharedPreferences("paused_time", MODE_PRIVATE).edit();
long time = new Date().getTime();
switch (checked)
{
case R.id.paused_one_hour://1小时
time += 3600000;
break;
case R.id.paused_two_hour://2小时
time += 7200000;
break;
case R.id.paused_six_hour://6小时
time += 21600000;
break;
case R.id.paused_one_day://1天
time += 86400000;
break;
case R.id.paused_oneself://自定义
if (isFormat())
{
int minutes = Integer.parseInt(inputLayout.getText().toString());
time += (60000 * minutes);
}
break;
}
editor.putLong("paused_time", time);
editor.apply();
finish();
}
});
inputLayout.addTextChangedListener(new TextWatcher()
{
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
}
@Override
public void afterTextChanged(Editable editable)
{
isFormat();
}
});
}
private boolean isFormat()
{
if (inputLayout.getText().length() == 0)
{
inputLayout.setError(getString(R.string.paused_oneself_null));
return false;
} else if (Integer.parseInt(inputLayout.getText().toString()) > 14400)
{
inputLayout.setError(getString(R.string.paused_oneself_error));
return false;
}
return true;
}
}