diff options
Diffstat (limited to 'src/ryuslash/org/dvdroid/AddDVDActivity.java')
-rw-r--r-- | src/ryuslash/org/dvdroid/AddDVDActivity.java | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/src/ryuslash/org/dvdroid/AddDVDActivity.java b/src/ryuslash/org/dvdroid/AddDVDActivity.java index f5244c3..cd7b853 100644 --- a/src/ryuslash/org/dvdroid/AddDVDActivity.java +++ b/src/ryuslash/org/dvdroid/AddDVDActivity.java @@ -13,8 +13,9 @@ import android.widget.EditText; public class AddDVDActivity extends Activity { private DVDDataSource datasource; + private long id; - public void createDVD() + public void saveDVD() { EditText name_entry = (EditText)findViewById(R.id.name_entry); CheckBox watched_entry = @@ -22,9 +23,15 @@ public class AddDVDActivity extends Activity CheckBox wishlist_entry = (CheckBox)findViewById(R.id.wishlist_entry); - datasource.createDVD(name_entry.getText().toString(), - watched_entry.isChecked() ? 1 : 0, - wishlist_entry.isChecked() ? 1 : 0); + if (id > 0) { + datasource.updateDVD(id, name_entry.getText().toString(), + watched_entry.isChecked() ? 1 : 0, + wishlist_entry.isChecked() ? 1 : 0); + } else { + datasource.createDVD(name_entry.getText().toString(), + watched_entry.isChecked() ? 1 : 0, + wishlist_entry.isChecked() ? 1 : 0); + } } @Override @@ -35,6 +42,23 @@ public class AddDVDActivity extends Activity datasource = new DVDDataSource(this); datasource.open(); + + Intent intent = getIntent(); + id = intent.getLongExtra(SQLiteHelper.COLUMN_ID, 0l); + + if (id > 0) { + DVD dvd = datasource.getById(id); + EditText name_entry = + (EditText) findViewById(R.id.name_entry); + CheckBox watched_entry = + (CheckBox) findViewById(R.id.watched_entry); + CheckBox wishlist_entry = + (CheckBox) findViewById(R.id.wishlist_entry); + + name_entry.setText(dvd.getTitle()); + watched_entry.setChecked(dvd.getWatched() == 1); + wishlist_entry.setChecked(dvd.getWishlist() == 1); + } } @Override @@ -57,7 +81,7 @@ public class AddDVDActivity extends Activity { switch (item.getItemId()) { case R.id.add_menu_save: - createDVD(); + saveDVD(); finish(); return true; } |