summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-08-08 22:11:12 +0200
committerGravatar Tom Willemsen2012-08-08 22:11:12 +0200
commit9fc77db21845e2a89c03cea43228f95545c0b639 (patch)
tree54b2d4be154ddc51f84a09665d69bafcb1e99bd3
parent0f2bd8ae16abe43e5f0985de8a710e8045f9b448 (diff)
downloaddvdroid-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.xml1
-rw-r--r--res/layout/add.xml30
-rw-r--r--res/layout/main.xml23
-rw-r--r--res/values/strings.xml5
-rw-r--r--src/ryuslash/org/dvdroid/AddDVDActivity.java59
-rw-r--r--src/ryuslash/org/dvdroid/DVDDataSource.java6
-rw-r--r--src/ryuslash/org/dvdroid/DVDroidActivity.java30
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();
+ }
}