package com.pinecone.technology.mcommerce.learning.android.chapter04.alarm;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
import com.pinecone.technology.mcommerce.learning.android.chapter04.R;
public class TestAlarmsDriverActivity extends Activity implements IReportBack {
public static final String tag = "TestAlarmsDriverActivity";
// private SendAlarmOnceTester alarmTester = null;
// private SendRepeatingAlarmTester alarmTester = null;
// private CancelRepeatingAlarmTester alarmTester = null;
// private ScheduleIntentMultipleTimesTester alarmTester = null;
private AlarmIntentPrimacyTester alarmTester = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.c05_alarm);
alarmTester = new AlarmIntentPrimacyTester(this, this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// call the parent to attach any system level menus
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater(); // from activity
inflater.inflate(R.menu.c05_alarm_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
appendMenuItemText(item);
if (item.getItemId() == R.id.menu_clear) {
this.emptyText();
return true;
}
if (item.getItemId() == R.id.menu_alarm_once) {
alarmTester.sendAlarmOnce();
return true;
}
if (item.getItemId() == R.id.menu_alarm_repeated) {
alarmTester.sendRepeatingAlarm();
return true;
}
if (item.getItemId() == R.id.menu_alarm_cancel) {
alarmTester.cancelRepeatingAlarm();
return true;
}
if (item.getItemId() == R.id.menu_alarm_multiple) {
alarmTester.scheduleSameIntentMultipleTimes();
return true;
}
if (item.getItemId() == R.id.menu_alarm_distinct_intents) {
alarmTester.scheduleDistinctIntents();
return true;
}
if (item.getItemId() == R.id.menu_alarm_intent_primacy) {
alarmTester.alarmIntentPrimacy();
return true;
}
return true;
}
private TextView getTextView() {
return (TextView) this.findViewById(R.id.text1);
}
private void appendMenuItemText(MenuItem menuItem) {
String title = menuItem.getTitle().toString();
TextView tv = getTextView();
tv.setText(tv.getText() + "\n" + title);
}
private void emptyText() {
TextView tv = getTextView();
tv.setText("");
}
private void appendText(String s) {
TextView tv = getTextView();
tv.setText(tv.getText() + "\n" + s);
Log.d(tag, s);
}
public void reportBack(String tag, String message) {
this.appendText(tag + ":" + message);
Log.d(tag, message);
}
}