From 01fac3c8f7068a6f7f853d56b3efa6653c172b4c Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@mail.kvcc.edu>
Date: Sun, 22 Nov 2015 20:46:32 -0500
Subject: [PATCH] Add bugfixes.

Now loads in from CSV (still displays error in console after, though?).
List view is better.
Can view single item information. However if you try to swipe, it crashes.
---
 README.md                                       |  5 +++--
 .../kvcc/cis298/cis298assignment3/Beverage.java |  8 ++++----
 .../cis298assignment3/BeverageActivity.java     |  8 +++-----
 .../cis298assignment3/BeverageFragment.java     | 17 ++++++++++++-----
 .../cis298/cis298assignment3/BeverageList.java  | 11 +++--------
 app/src/main/res/layout/list_item_beverage.xml  |  2 +-
 6 files changed, 26 insertions(+), 25 deletions(-)

diff --git a/README.md b/README.md
index d6c44d3..996b4e6 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 ## Author
 
-
+Brandon Rodriguez
 
 ## Description
 
@@ -51,4 +51,5 @@ Through File System:   app/src/main/res/raw/
 
 ## Known Problems, Issues, And/Or Errors in the Program
 
-
+When you select a beverage item and then try to swipe to another, for some reason it attempts to read the packString in for the priceDouble.
+However it doesn't actually crash until you attempt to swipe in the opposite direction that you just swiped. I assume this is also why, when you swipe, it doesn't actually load in the next item?
diff --git a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/Beverage.java b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/Beverage.java
index 4006854..5fcad61 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/Beverage.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/Beverage.java
@@ -10,7 +10,7 @@ public class Beverage {
 
     //region Variables
 
-    private UUID mID;
+    private String mID;
     private String mName;
     private String mPack;
     private double mPrice;      // Needs changed to Decimal.
@@ -21,7 +21,7 @@ public class Beverage {
 
 
     //region Constructor
-    public Beverage(UUID id, String name, String pack, Double price, Boolean active) {
+    public Beverage(String id, String name, String pack, Double price, Boolean active) {
         mID = id;
         mName = name;
         mPack = pack;
@@ -35,11 +35,11 @@ public class Beverage {
 
     //region Properties
 
-    public UUID getID() {
+    public String getID() {
         return mID;
     }
 
-    public void setID(UUID ID) {
+    public void setID(String ID) {
         mID = ID;
     }
 
diff --git a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageActivity.java b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageActivity.java
index 15eb65f..b850596 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageActivity.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageActivity.java
@@ -7,11 +7,9 @@ import android.support.v4.app.FragmentActivity;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentPagerAdapter;
 import android.support.v4.view.ViewPager;
-import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 
 import java.util.List;
-import java.util.UUID;
 
 /**
  * Activity class for each individual beverage.
@@ -29,9 +27,9 @@ public class BeverageActivity extends FragmentActivity {
 
     //region Intent to summon class.
 
-    private static final String EXTRA_BEVERAGE_ID = "edu.kvcc.cis298.cis298assignment3.beverage_id";
+    public static final String EXTRA_BEVERAGE_ID = "edu.kvcc.cis298.cis298assignment3.beverage_id";
 
-    public static Intent newIntent(Context packageContext, UUID beverageId) {
+    public static Intent newIntent(Context packageContext, String beverageId) {
 
         Intent intent = new Intent(packageContext, BeverageActivity.class);
 
@@ -51,7 +49,7 @@ public class BeverageActivity extends FragmentActivity {
         // Sets content to use beverage pager.
         setContentView(R.layout.activity_beverage_view_pager);
 
-        UUID beverageId = (UUID) getIntent().getSerializableExtra(EXTRA_BEVERAGE_ID);
+        String beverageId = (String) getIntent().getStringExtra(EXTRA_BEVERAGE_ID);
 
         mViewPager = (ViewPager) findViewById(R.id.activity_beverage_view_pager);
 
diff --git a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageFragment.java b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageFragment.java
index cfe1b5c..1a4a46d 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageFragment.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageFragment.java
@@ -13,8 +13,6 @@ import android.widget.CompoundButton;
 import android.widget.EditText;
 import android.widget.TextView;
 
-import java.util.UUID;
-
 /**
  * Fragment class to display each beverage.
  * Created by Waffy on 11/22/2015.
@@ -38,9 +36,9 @@ public class BeverageFragment extends Fragment{
 
     private static final String ARG_BEVERAGE_ID = "beverage_id";
 
-    public static BeverageFragment newInstance(UUID beverageId) {
+    public static BeverageFragment newInstance(String beverageId) {
         Bundle args = new Bundle();
-        args.putSerializable(ARG_BEVERAGE_ID, beverageId);
+        args.putString(ARG_BEVERAGE_ID, beverageId);
 
         BeverageFragment fragment = new BeverageFragment();
         fragment.setArguments(args);
@@ -53,6 +51,15 @@ public class BeverageFragment extends Fragment{
 
     //region Override Methods
 
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        String beverageId = (String) getActivity().getIntent().getStringExtra(BeverageActivity.EXTRA_BEVERAGE_ID);
+        mBeverage = BeverageList.get(getActivity()).getBeverage(beverageId);
+    }
+
     @Nullable
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -60,7 +67,7 @@ public class BeverageFragment extends Fragment{
 
         // Set all the beverage variables.
         mIdField = (TextView)v.findViewById(R.id.beverage_id);
-        mIdField.setText(mBeverage.getID().toString());
+        mIdField.setText(mBeverage.getID());
 
 
         mNameField = (EditText)v.findViewById(R.id.beverage_name);
diff --git a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageList.java b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageList.java
index 16586b8..3c6a99d 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageList.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment3/BeverageList.java
@@ -6,7 +6,6 @@ import android.util.Log;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Scanner;
-import java.util.UUID;
 
 /**
  * Singleton class which holds list of beverages.
@@ -64,7 +63,7 @@ public class BeverageList {
     //region Methods
 
     // Find beverage with Id.
-    public Beverage getBeverage(UUID id) {
+    public Beverage getBeverage(String id) {
         for (Beverage beverage : mBeverages) {
             if (beverage.getID().equals(id)) {
                 return beverage;
@@ -89,7 +88,6 @@ public class BeverageList {
                 String line = scanner.nextLine();
                 // Separate string by commas.
                 String parts[] = line.split(",");
-                Log.d(line, line);
 
                 // Assign each split part to a meaningful variable.
                 String idString = parts[0].toString().trim();
@@ -98,21 +96,18 @@ public class BeverageList {
                 String priceString = parts[3].toString().trim();
                 String activeString = parts[4].toString().trim();
 
-                // Parse the id into an actual UUID.
-                UUID uuid = UUID.fromString(idString);
-
                 // Parse the price into double.
                 Double priceDouble = Double.parseDouble(priceString);
 
                 // Parse active into bool.
                 boolean isActive;
-                if (activeString.equals("T")) {
+                if (activeString.toLowerCase().equals("true")) {
                     isActive = true;
                 } else {
                     isActive = false;
                 }
 
-                mBeverages.add(new Beverage(uuid, nameString, packString, priceDouble, isActive));
+                mBeverages.add(new Beverage(idString, nameString, packString, priceDouble, isActive));
             }
         } catch (Exception error) {
             // If error, log to console.
diff --git a/app/src/main/res/layout/list_item_beverage.xml b/app/src/main/res/layout/list_item_beverage.xml
index f33cca2..954f420 100644
--- a/app/src/main/res/layout/list_item_beverage.xml
+++ b/app/src/main/res/layout/list_item_beverage.xml
@@ -20,7 +20,7 @@
 
     <TextView
         android:id="@+id/list_item_beverage_id_text_view"
-        android:layout_width="match_parent"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@id/list_item_beverage_name_text_view"
         android:textStyle="italic"
-- 
GitLab