Mostly split the interface to use the database
[Sunshine.git] / app / src / main / java / uk / me / njae / sunshine / Utility.java
index eb2b37a74e7dfe3928777c8f414e912d54fc57c7..64ddc0a82cade2fe0990b9b934de077eaf780f7d 100644 (file)
@@ -18,11 +18,44 @@ package uk.me.njae.sunshine;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.preference.PreferenceManager;
+import android.util.Log;
+
+import java.text.DateFormat;
+import java.util.Date;
+
+import uk.me.njae.sunshine.data.WeatherContract;
 
 public class Utility {
+    private static final String LOG_TAG = Utility.class.getSimpleName();
+
     public static String getPreferredLocation(Context context) {
         SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
         return prefs.getString(context.getString(R.string.pref_location_key),
                 context.getString(R.string.pref_location_default));
     }
+
+    public static boolean isMetric(Context context) {
+        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+        Log.v(LOG_TAG, "Units set to " + prefs.getString(context.getString(R.string.pref_units_key),
+                context.getString(R.string.pref_units_metric)));
+        return prefs.getString(context.getString(R.string.pref_units_key),
+                context.getString(R.string.pref_units_metric))
+                .equals(context.getString(R.string.pref_units_metric));
+    }
+
+    static String formatTemperature(double temperature, boolean isMetric) {
+        double temp;
+        if ( !isMetric ) {
+            temp = 9*temperature/5+32;
+        } else {
+            temp = temperature;
+        }
+        return String.format("%.0f", temp);
+    }
+
+    static String formatDate(String dateString) {
+        Date date = WeatherContract.getDateFromDb(dateString);
+        return DateFormat.getDateInstance().format(date);
+    }
 }
+