From 341c89d103d6e25ef6cf8d676e3a44619fd24fde Mon Sep 17 00:00:00 2001 From: Lyla Date: Thu, 22 Oct 2015 00:22:08 -0700 Subject: [PATCH 1/2] 2.11 Removing A Shopping List - Quiz --- .../ui/activeListDetails/RemoveListDialogFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java b/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java index 2d42e29..3444ea4 100644 --- a/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java +++ b/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java @@ -57,6 +57,8 @@ public void onClick(DialogInterface dialog, int which) { } private void removeList() { + // TODO Here is the method that is called when the user selects yes, they want to + // remove a list. } From 1a1f47e9eceab7370540b873fb82642e81645fd4 Mon Sep 17 00:00:00 2001 From: Lyla Date: Thu, 22 Oct 2015 00:25:13 -0700 Subject: [PATCH 2/2] 2.12 Removing A Shopping List - Solution --- .../ActiveListDetailsActivity.java | 2 +- .../RemoveListDialogFragment.java | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/ActiveListDetailsActivity.java b/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/ActiveListDetailsActivity.java index 575ace4..87a104e 100755 --- a/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/ActiveListDetailsActivity.java +++ b/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/ActiveListDetailsActivity.java @@ -221,7 +221,7 @@ public void addMeal(View view) { */ public void removeList() { /* Create an instance of the dialog fragment and show it */ - DialogFragment dialog = RemoveListDialogFragment.newInstance(mShoppingList); + DialogFragment dialog = RemoveListDialogFragment.newInstance(mShoppingList, mListId); dialog.show(getFragmentManager(), "RemoveListDialogFragment"); } diff --git a/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java b/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java index 3444ea4..55edf5b 100644 --- a/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java +++ b/app/src/main/java/com/udacity/firebase/shoppinglistplusplus/ui/activeListDetails/RemoveListDialogFragment.java @@ -6,21 +6,25 @@ import android.os.Bundle; import android.support.v7.app.AlertDialog; +import com.firebase.client.Firebase; import com.udacity.firebase.shoppinglistplusplus.R; import com.udacity.firebase.shoppinglistplusplus.model.ShoppingList; +import com.udacity.firebase.shoppinglistplusplus.utils.Constants; /** * Lets the user remove active shopping list */ public class RemoveListDialogFragment extends DialogFragment { + String mListId; final static String LOG_TAG = RemoveListDialogFragment.class.getSimpleName(); /** * Public static constructor that creates fragment and passes a bundle with data into it when adapter is created */ - public static RemoveListDialogFragment newInstance(ShoppingList shoppingList) { + public static RemoveListDialogFragment newInstance(ShoppingList shoppingList, String listId) { RemoveListDialogFragment removeListDialogFragment = new RemoveListDialogFragment(); Bundle bundle = new Bundle(); + bundle.putString(Constants.KEY_LIST_ID, listId); removeListDialogFragment.setArguments(bundle); return removeListDialogFragment; } @@ -31,6 +35,7 @@ public static RemoveListDialogFragment newInstance(ShoppingList shoppingList) { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mListId = getArguments().getString(Constants.KEY_LIST_ID); } @Override @@ -57,9 +62,10 @@ public void onClick(DialogInterface dialog, int which) { } private void removeList() { - // TODO Here is the method that is called when the user selects yes, they want to - // remove a list. - + /* Get the location to remove from */ + Firebase listToRemoveRef = new Firebase(Constants.FIREBASE_URL_ACTIVE_LISTS).child(mListId); + /* Remove the value */ + listToRemoveRef.removeValue(); } }