diff options
author | Tom Willemsen | 2012-08-08 22:11:12 +0200 |
---|---|---|
committer | Tom Willemsen | 2012-08-08 22:11:12 +0200 |
commit | 9fc77db21845e2a89c03cea43228f95545c0b639 (patch) | |
tree | 54b2d4be154ddc51f84a09665d69bafcb1e99bd3 | |
parent | 0f2bd8ae16abe43e5f0985de8a710e8045f9b448 (diff) | |
download | dvdroid-9fc77db21845e2a89c03cea43228f95545c0b639.tar.gz dvdroid-9fc77db21845e2a89c03cea43228f95545c0b639.zip |
Separate adding of DVDs
* AndroidManifest.xml: Add `AddDVDActivity' as an activity.
* res/layout/add.xml: Layout for `AddDVDActivity'.
* res/layout/main.xml: Remove the nested `LinearLayout' and `EditText'
widgets.
* res/values/strings.xml: Change the `name_entry' hint text, add
captions for `wishlist_entry', `watched_entry' and `save_button'.
* src/ryuslash/org/dvdroid/AddDVDActivity.java: New activity.
* src/ryuslash/org/dvdroid/DVDDataSource.java (createDVD): Accept
WATCHED and WISHLIST parameters and send these to the database
instead of `0' and `1'.
* src/ryuslash/org/dvdroid/DVDroidActivity.java (addDVD): Call
`AddDVDActivity' to add a new DVD to the collection.
(onActivityResult): New override.
-rw-r--r-- | AndroidManifest.xml | 1 | ||||
-rw-r--r-- | res/layout/add.xml | 30 | ||||
-rw-r--r-- | res/layout/main.xml | 23 | ||||
-rw-r--r-- | res/values/strings.xml | 5 | ||||
-rw-r--r-- | src/ryuslash/org/dvdroid/AddDVDActivity.java | 59 | ||||
-rw-r--r-- | src/ryuslash/org/dvdroid/DVDDataSource.java | 6 | ||||
-rw-r--r-- | src/ryuslash/org/dvdroid/DVDroidActivity.java | 30 |
7 files changed, 123 insertions, 31 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 9b0638a..4c34e76 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -11,5 +11,6 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name="AddDVDActivity" /> </application> </manifest> diff --git a/res/layout/add.xml b/res/layout/add.xml new file mode 100644 index 0000000..22430f3 --- /dev/null +++ b/res/layout/add.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent"> + <EditText + android:id="@+id/name_entry" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/name_entry" /> + + <CheckBox + android:id="@+id/wishlist_entry" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/wishlist_entry" /> + + <CheckBox + android:id="@+id/watched_entry" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/watched_entry" /> + + <Button + android:id="@+id/save_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/save_button" + android:onClick="saveDVD" /> +</LinearLayout> diff --git a/res/layout/main.xml b/res/layout/main.xml index f109163..925b362 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -3,23 +3,12 @@ android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> - <LinearLayout - android:orientation="horizontal" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - <EditText - android:id="@+id/name_entry" - android:layout_weight="1" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:hint="@string/name_entry" /> - <Button - android:id="@+id/add_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/add_button" - android:onClick="addDVD" /> - </LinearLayout> + <Button + android:id="@+id/add_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/add_button" + android:onClick="addDVD" /> <ListView android:id="@android:id/list" diff --git a/res/values/strings.xml b/res/values/strings.xml index 0c49385..40f4d6e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">DVDroid</string> - <string name="name_entry">Enter A DVD title</string> + <string name="name_entry">Title...</string> + <string name="wishlist_entry">On wishlist</string> + <string name="watched_entry">Watched</string> <string name="add_button">Add</string> + <string name="save_button">Save</string> </resources> diff --git a/src/ryuslash/org/dvdroid/AddDVDActivity.java b/src/ryuslash/org/dvdroid/AddDVDActivity.java new file mode 100644 index 0000000..f6612f7 --- /dev/null +++ b/src/ryuslash/org/dvdroid/AddDVDActivity.java @@ -0,0 +1,59 @@ +package ryuslash.org.dvdroid; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.CheckBox; +import android.widget.EditText; + +public class AddDVDActivity extends Activity +{ + private DVDDataSource datasource; + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.add); + + datasource = new DVDDataSource(this); + datasource.open(); + } + + public void saveDVD(View view) + { + 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); + + datasource.createDVD(name_entry.getText().toString(), + watched_entry.isChecked() ? 1 : 0, + wishlist_entry.isChecked() ? 1 : 0); + + finish(); + } + + @Override + protected void onResume() + { + datasource.open(); + super.onResume(); + } + + @Override + protected void onPause() + { + datasource.close(); + super.onPause(); + } + + @Override + protected void onDestroy() + { + datasource.close(); + super.onDestroy(); + } +} diff --git a/src/ryuslash/org/dvdroid/DVDDataSource.java b/src/ryuslash/org/dvdroid/DVDDataSource.java index 428ecc4..6658c8d 100644 --- a/src/ryuslash/org/dvdroid/DVDDataSource.java +++ b/src/ryuslash/org/dvdroid/DVDDataSource.java @@ -33,13 +33,13 @@ public class DVDDataSource dbHelper.close(); } - public DVD createDVD(String title) + public DVD createDVD(String title, int watched, int wishlist) { ContentValues values = new ContentValues(); values.put(SQLiteHelper.COLUMN_TITLE, title); - values.put(SQLiteHelper.COLUMN_WATCHED, 0); - values.put(SQLiteHelper.COLUMN_WISHLIST, 1); + values.put(SQLiteHelper.COLUMN_WATCHED, watched); + values.put(SQLiteHelper.COLUMN_WISHLIST, wishlist); long insertId = database.insert(SQLiteHelper.TABLE_DVD, null, values); diff --git a/src/ryuslash/org/dvdroid/DVDroidActivity.java b/src/ryuslash/org/dvdroid/DVDroidActivity.java index 20c1ad0..5a46286 100644 --- a/src/ryuslash/org/dvdroid/DVDroidActivity.java +++ b/src/ryuslash/org/dvdroid/DVDroidActivity.java @@ -4,6 +4,7 @@ import java.util.List; import android.app.ListActivity; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; @@ -35,17 +36,10 @@ public class DVDroidActivity extends ListActivity public void addDVD(View view) { - ArrayAdapter<DVD> adapter = (ArrayAdapter<DVD>)getListAdapter(); - EditText editText = (EditText)findViewById(R.id.name_entry); - DVD dvd = datasource.createDVD(editText.getText().toString()); - int duration = Toast.LENGTH_SHORT; - Toast toast = Toast.makeText(this, "Added " + editText.getText(), - duration); + Intent intent = new Intent(this, AddDVDActivity.class); - editText.setText(""); - adapter.add(dvd); - adapter.notifyDataSetChanged(); - toast.show(); + datasource.close(); + startActivityForResult(intent, 1); } @Override @@ -61,4 +55,20 @@ public class DVDroidActivity extends ListActivity datasource.close(); super.onPause(); } + + @Override + protected void onActivityResult(int requestCode, + int resultCode, + Intent data) + { + super.onActivityResult(requestCode, resultCode, data); + datasource.open(); + + ArrayAdapter<DVD> adapter = (ArrayAdapter<DVD>)getListAdapter(); + List<DVD> dvds = datasource.getWishlist(); + + adapter.clear(); + adapter.addAll(dvds); + adapter.notifyDataSetChanged(); + } } |