diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index b72ff7d..58aad1d 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -4,18 +4,18 @@
-
+
-
+
-
-
+
+
-
-
+
+
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 192e47a..6f949a6 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -19,6 +19,8 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
+
+# Needed For Deserialization
-keepclassmembers class com.thebrokenrail.mtudining.api.method.** {
*;
}
\ No newline at end of file
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/activity/list/ListViewModel.java b/app/src/main/java/com/thebrokenrail/mtudining/activity/list/ListViewModel.java
index 100a897..5fa9c89 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/activity/list/ListViewModel.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/activity/list/ListViewModel.java
@@ -9,6 +9,5 @@ import com.thebrokenrail.mtudining.api.Connection;
* Data preserved between screen rotations for {@link ListActivity}.
*/
public class ListViewModel extends ViewModel {
- private final Connection connection = new Connection();
- public final Task task = new ListTask(connection);
+ public final Task task = new ListTask(new Connection());
}
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/ItemDialog.java b/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/ItemDialog.java
index 8b3b424..ce6be28 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/ItemDialog.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/ItemDialog.java
@@ -87,7 +87,7 @@ public class ItemDialog {
message.append(item.ingredients);
}
writeNewline(message, 2);
- if (item.nutrients.size() > 0) {
+ if (item.nutrients != null && item.nutrients.size() > 0) {
message.append(context.getString(R.string.nutrients), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
for (PeriodDetail.Response.Menu.PeriodData.MenuCategory.MenuItem.Nutrient nutrient : item.nutrients) {
writeBullet(message, nutrient.name, nutrient.value);
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/MenuActivity.java b/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/MenuActivity.java
index bd85872..172b3e3 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/MenuActivity.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/activity/menu/MenuActivity.java
@@ -1,5 +1,6 @@
package com.thebrokenrail.mtudining.activity.menu;
+import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
@@ -101,7 +102,11 @@ public class MenuActivity extends AppCompatActivity {
}
Uri gmmIntentUri = Uri.parse("geo:" + latitude + ',' + longitude + "?q=" + encodedStreet);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
- startActivity(mapIntent);
+ try {
+ startActivity(mapIntent);
+ } catch (ActivityNotFoundException e) {
+ // Ignore
+ }
return true;
} else {
return super.onOptionsItemSelected(item);
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/api/Method.java b/app/src/main/java/com/thebrokenrail/mtudining/api/Method.java
index 0330e23..4ef206c 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/api/Method.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/api/Method.java
@@ -1,11 +1,16 @@
package com.thebrokenrail.mtudining.api;
+/**
+ * Interface for a simple API call.
+ * @param The response type
+ */
public interface Method {
/**
* Get the API method's path.
* @return The path
*/
String getPath();
+
/**
* Get the response class. Needed for deserialization.
* @return The response class
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/api/method/AllLocations.java b/app/src/main/java/com/thebrokenrail/mtudining/api/method/AllLocations.java
index 99400b2..ca6d403 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/api/method/AllLocations.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/api/method/AllLocations.java
@@ -5,6 +5,9 @@ import com.thebrokenrail.mtudining.util.Category;
import java.util.List;
+/**
+ * API call used to list buildings and locations.
+ */
public class AllLocations implements Method {
private final int platform;
private final String siteId;
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/api/method/Info.java b/app/src/main/java/com/thebrokenrail/mtudining/api/method/Info.java
index 6b55113..c56f38f 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/api/method/Info.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/api/method/Info.java
@@ -3,6 +3,9 @@ package com.thebrokenrail.mtudining.api.method;
import com.thebrokenrail.mtudining.api.Method;
import com.thebrokenrail.mtudining.util.Constants;
+/**
+ * API call used for getting the site ID from a site name.
+ */
public class Info implements Method {
@Override
public String getPath() {
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/api/method/PeriodDetail.java b/app/src/main/java/com/thebrokenrail/mtudining/api/method/PeriodDetail.java
index 77765ba..738fb5d 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/api/method/PeriodDetail.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/api/method/PeriodDetail.java
@@ -7,6 +7,9 @@ import com.thebrokenrail.mtudining.util.DateUtil;
import java.util.Date;
import java.util.List;
+/**
+ * API call for retrieving the menu from a "period."
+ */
public class PeriodDetail implements Method {
private final int platform;
private final String locationId;
diff --git a/app/src/main/java/com/thebrokenrail/mtudining/api/method/Periods.java b/app/src/main/java/com/thebrokenrail/mtudining/api/method/Periods.java
index 60daf99..303110f 100644
--- a/app/src/main/java/com/thebrokenrail/mtudining/api/method/Periods.java
+++ b/app/src/main/java/com/thebrokenrail/mtudining/api/method/Periods.java
@@ -6,6 +6,9 @@ import com.thebrokenrail.mtudining.util.DateUtil;
import java.util.Date;
import java.util.List;
+/**
+ * API call used to list available "periods" (Breakfast, Lunch, etc).
+ */
public class Periods implements Method {
private final int platform;
private final String locationId;
diff --git a/app/src/main/res/layout/menu_header.xml b/app/src/main/res/layout/menu_header.xml
index 730018a..cb62e23 100644
--- a/app/src/main/res/layout/menu_header.xml
+++ b/app/src/main/res/layout/menu_header.xml
@@ -4,6 +4,7 @@
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
+ android:gravity="center_vertical"
android:padding="@dimen/margin">
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index ec937e8..453567a 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,7 +1,5 @@
- #FF000000
- #FFFFFFFF
#725C0C
#FFFFFF