diff options
author | 2012-08-10 22:03:34 +0200 | |
---|---|---|
committer | 2012-08-10 22:03:34 +0200 | |
commit | f30b4fcd3a525d2fa3c2d85fb11e8e7aa3a6a031 (patch) | |
tree | 00cdeeb15ca9de3574e9c1e80ece9c849e926eb6 /src/ryuslash/org/dvdroid/AddDVDActivity.java | |
parent | 2689fd0c5010d6e97616dfbc8557d0828b3d4064 (diff) | |
download | dvdroid-f30b4fcd3a525d2fa3c2d85fb11e8e7aa3a6a031.tar.gz dvdroid-f30b4fcd3a525d2fa3c2d85fb11e8e7aa3a6a031.zip |
Add edit and delete functionality
* res/values/strings.xml: Add strings for `main_context_menu_edit' and
`main_context_menu_delete'.
* src/ryuslash/org/dvdroid/AddDVDActivity.java (saveDVD): Renamed from
`createDVD'. When ID is greater than 0 update, otherwise create.
(onCreate): Get ID from the `Intent' that was used to start this
activity. If ID is greater than 0, show known information in the
inputs.
* src/ryuslash/org/dvdroid/DVDDataSource.java:
(createValues):
(updateDVD):
(getById): New functions.
(createDVD): Use `createValues' to get the values for the database.
(deleteDVD): Add overloaded function that takes a `long', make the
original function use this to delete a `DVD'.
* src/ryuslash/org/dvdroid/DVDroidActivity.java: Implement
`ActionMode.Callback'.
(onActivityResult): If REQUESTCODE is `2' reset the intent
information so as not to confuse it during its next invocation.
Finish action mode.
(onActionItemClicked):
(onCreateActionMode):
(onDestroyActionMode):
(onListItemClick):
(onPrepareActionMode):
(reloadList):
(showEditDVD): New functions.
(onCreate): Instantiate the ADD_DVD `Intent'.
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; } |