import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.res.Resources;
+import android.net.Uri;
import android.preference.PreferenceManager;
import android.text.format.Time;
+import android.util.Log;
import android.view.animation.AlphaAnimation;
import android.widget.ViewFlipper;
import java.util.Calendar;
+import java.util.List;
public class Utils {
public static void startActivity(Context context, String className, long time) {
context.startActivity(intent);
}
+ static String getSharedPreference(Context context, String key, String defaultValue) {
+ SharedPreferences prefs = CalendarPreferenceActivity.getSharedPreferences(context);
+ return prefs.getString(key, defaultValue);
+ }
+
+ static void setSharedPreference(Context context, String key, String value) {
+ SharedPreferences prefs = CalendarPreferenceActivity.getSharedPreferences(context);
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putString(key, value);
+ editor.commit();
+ }
+
static void setDefaultView(Context context, int viewId) {
String activityString = CalendarApplication.ACTIVITY_NAMES[viewId];
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences prefs = CalendarPreferenceActivity.getSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
if (viewId == CalendarApplication.AGENDA_VIEW_ID ||
viewId == CalendarApplication.DAY_VIEW_ID) {
*/
public static final long timeFromIntentInMillis(Intent intent) {
// If the time was specified, then use that. Otherwise, use the current time.
+ Uri data = intent.getData();
long millis = intent.getLongExtra(EVENT_BEGIN_TIME, -1);
- if (millis == -1) {
+ if (millis == -1 && data != null && data.isHierarchical()) {
+ List<String> path = data.getPathSegments();
+ if(path.size() == 3 && path.get(1).equals("time")) {
+ try {
+ millis = Long.valueOf(data.getLastPathSegment());
+ } catch (NumberFormatException e) {
+ Log.i("Calendar", "timeFromIntentInMillis: Data existed but no valid time " +
+ "found. Using current time.");
+ }
+ }
+ }
+ if (millis <= 0) {
millis = System.currentTimeMillis();
}
return millis;