diff options
Diffstat (limited to 'src/org/ryuslash/Dailies/AddActivity.java')
-rw-r--r-- | src/org/ryuslash/Dailies/AddActivity.java | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/org/ryuslash/Dailies/AddActivity.java b/src/org/ryuslash/Dailies/AddActivity.java new file mode 100644 index 0000000..4ede5fc --- /dev/null +++ b/src/org/ryuslash/Dailies/AddActivity.java @@ -0,0 +1,106 @@ +package org.ryuslash.Dailies; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.TimePicker; + +public class AddActivity extends Activity +{ + private DailiesDataSource datasource; + private long id; + + public void saveDaily() + { + EditText name_entry = (EditText) findViewById(R.id.name_entry); + CheckBox alarm_entry = + (CheckBox) findViewById(R.id.alarm_entry); + TimePicker time_entry = + (TimePicker) findViewById(R.id.time_entry); + + String name = name_entry.getText().toString(); + boolean alarm = alarm_entry.isChecked(); + int hour = alarm ? time_entry.getCurrentHour() : 0; + int minute = alarm ? time_entry.getCurrentMinute() : 0; + + if (id > 0) + datasource.updateDaily(id, name, alarm, hour, minute, null); + else + datasource.createDaily(name, alarm, hour, minute); + } + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.add); + + datasource = new DailiesDataSource(this); + datasource.open(); + + Intent intent = getIntent(); + id = intent.getLongExtra(SQLiteHelper.COLUMN_ID, 0l); + + if (id > 0) { + Daily daily = datasource.getById(id); + EditText name_entry = + (EditText) findViewById(R.id.name_entry); + CheckBox alarm_entry = + (CheckBox) findViewById(R.id.alarm_entry); + TimePicker time_entry = + (TimePicker) findViewById(R.id.alarm_entry); + + name_entry.setText(daily.getTitle()); + alarm_entry.setChecked(daily.getAlarm()); + time_entry.setCurrentHour(daily.getHour()); + time_entry.setCurrentMinute(daily.getMinute()); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.add_activity, menu); + return true; + } + + @Override + protected void onDestroy() + { + datasource.close(); + super.onDestroy(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + switch (item.getItemId()) { + case R.id.add_menu_save: + saveDaily(); + finish(); + return true; + } + + return false; + } + + @Override + protected void onPause() + { + datasource.close(); + super.onPause(); + } + + @Override + protected void onResume() + { + datasource.open(); + super.onResume(); + } +} |