Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01662435 authored by Marten Gajda's avatar Marten Gajda
Browse files

improve date & time formatting

The consolidated DateFormatter class knows how to format a date in a
specific context (i.e. in a list, in a widget, in a notification ...)
parent bdda46bd
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -29,6 +29,13 @@
        <item quantity="one">%d Aufgabe</item>
        <item quantity="other">%d Aufgaben</item>
    </plurals>
    <!-- date & time string -->
    <string name="today">Heute</string>
    <string name="today_with_time">Heute, %1$s</string>
    <string name="today_with_full_date">%1$s (Heute)</string>
    <string name="tomorrow">Morgen</string>
    <string name="tomorrow_with_time">Morgen, %1$s</string>
    <string name="tomorrow_with_full_date">%1$s (Morgen)</string>

    <!-- Task detail view -->
    <string name="activity_task_details_edit">Bearbeiten</string>
@@ -75,7 +82,6 @@
    <string name="task_group_due_in_month">Fällig im %s</string>
    <string name="task_group_due_in_year">Fällig %s</string>
    <string name="task_group_due_in_future">Irgendwann</string>
    <string name="today">Heute</string>

    <!-- Task list start group titles -->
    <string name="task_group_start_started">Schon gestartet</string>
+13 −9
Original line number Diff line number Diff line
@@ -26,12 +26,19 @@
    <string name="task_group_title_progress">Task progress</string>
    <string name="task_group_title_default">Tasks</string>


    <plurals name="number_of_tasks">
        <item quantity="one">%d task</item>
        <item quantity="other">%d tasks</item>
    </plurals>

    <!-- date & time string -->
    <string name="today">Today</string>
    <string name="today_with_time">Today, %1$s</string>
    <string name="today_with_full_date">%1$s (Today)</string>
    <string name="tomorrow">Tomorrow</string>
    <string name="tomorrow_with_time">Tomorrow, %1$s</string>
    <string name="tomorrow_with_full_date">%1$s (Tomorrow)</string>

    <!-- Task detail view -->
    <string name="activity_task_details_edit">Edit</string>
    <string name="activity_task_details_edit_task">Edit task</string>
@@ -78,7 +85,6 @@
    <string name="task_group_due_in_month">Due in %s</string>
    <string name="task_group_due_in_year">Due in %s</string>
    <string name="task_group_due_in_future">Someday</string>
    <string name="today">Today</string>

    <!-- Task list start group titles -->
    <string name="task_group_start_started">Already Started</string>
@@ -186,8 +192,6 @@
    <string name="notification_action_delay_toast">Due date updated</string>
    <string name="notification_undo">Undo</string>

    

    <!-- Strings for time UI widgets -->
    <string name="button_add_one_hour">+1 hour</string>
    <string name="button_add_one_day">+1 day</string>
+7 −5
Original line number Diff line number Diff line
@@ -26,7 +26,8 @@ import org.dmfs.provider.tasks.TaskContract.Tasks;
import org.dmfs.tasks.EditTaskActivity;
import org.dmfs.tasks.R;
import org.dmfs.tasks.model.adapters.TimeFieldAdapter;
import org.dmfs.tasks.utils.DueDateFormatter;
import org.dmfs.tasks.utils.DateFormatter;
import org.dmfs.tasks.utils.DateFormatter.DateFormatContext;

import android.content.ContentUris;
import android.content.Intent;
@@ -74,6 +75,7 @@ public class TasksExtension extends DashClockExtension
	private String mAuthority;
	private int mDisplayMode;
	private long mNow;
	private DateFormatter mDateFormatter;


	@Override
@@ -82,6 +84,8 @@ public class TasksExtension extends DashClockExtension
		// enable automatic dashclock updates on task changes
		addWatchContentUris(new String[] { TaskContract.getContentUri(getString(R.string.org_dmfs_tasks_authority)).toString() });
		super.onInitialize(isReconnect);
		
		mDateFormatter = new DateFormatter(this);
	}


@@ -178,7 +182,6 @@ public class TasksExtension extends DashClockExtension

	private String getTaskTitleDueString(Cursor c, boolean isAllDay)
	{
		DueDateFormatter formatter = new DueDateFormatter(this, DueDateFormatter.TIME_DATEUTILS_FLAGS);
		if (isAllDay)
		{
			return getString(R.string.dashclock_widget_title_due_expanded_allday, c.getString(c.getColumnIndex(Tasks.TITLE)));
@@ -187,7 +190,7 @@ public class TasksExtension extends DashClockExtension
		{
			TimeFieldAdapter timeFieldAdapter = new TimeFieldAdapter(Instances.DUE, Instances.TZ, Instances.IS_ALLDAY);
			Time dueTime = timeFieldAdapter.get(c);
			String dueTimeString = formatter.format(dueTime, false);
			String dueTimeString = mDateFormatter.format(dueTime, DateFormatContext.DASHCLOCK_VIEW);
			return getString(R.string.dashclock_widget_title_due_expanded, c.getString(c.getColumnIndex(Tasks.TITLE)), dueTimeString);
		}
	}
@@ -195,7 +198,6 @@ public class TasksExtension extends DashClockExtension

	private String getTaskTitleStartString(Cursor c, boolean isAllDay)
	{
		DueDateFormatter formatter = new DueDateFormatter(this, DueDateFormatter.TIME_DATEUTILS_FLAGS);
		if (isAllDay)
		{
			return getString(R.string.dashclock_widget_title_start_expanded_allday, c.getString(c.getColumnIndex(Tasks.TITLE)));
@@ -204,7 +206,7 @@ public class TasksExtension extends DashClockExtension
		{
			TimeFieldAdapter timeFieldAdapter = new TimeFieldAdapter(Instances.DTSTART, Instances.TZ, Instances.IS_ALLDAY);
			Time startTime = timeFieldAdapter.get(c);
			String startTimeString = formatter.format(startTime, false);
			String startTimeString = mDateFormatter.format(startTime, DateFormatContext.DASHCLOCK_VIEW);
			return getString(R.string.dashclock_widget_title_start_expanded, c.getString(c.getColumnIndex(Tasks.TITLE)), startTimeString);
		}
	}
+3 −2
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@ import java.util.TimeZone;

import org.dmfs.tasks.R;
import org.dmfs.tasks.model.TaskFieldAdapters;
import org.dmfs.tasks.utils.DueDateFormatter;
import org.dmfs.tasks.utils.DateFormatter;
import org.dmfs.tasks.utils.DateFormatter.DateFormatContext;
import org.dmfs.tasks.utils.ViewDescriptor;

import android.database.Cursor;
@@ -61,7 +62,7 @@ public abstract class BaseTaskViewDescriptor implements ViewDescriptor
		{
			dueDate.normalize(true);

			view.setText(new DueDateFormatter(view.getContext()).format(dueDate));
			view.setText(new DateFormatter(view.getContext()).format(dueDate, DateFormatContext.LIST_VIEW));
			if (dueIcon != null)
			{
				dueIcon.setVisibility(View.VISIBLE);
+2 −4
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@

package org.dmfs.tasks.groupings;

import java.text.DateFormat;

import org.dmfs.provider.tasks.TaskContract.Instances;
import org.dmfs.provider.tasks.TaskContract.Tasks;
import org.dmfs.tasks.R;
@@ -215,8 +213,8 @@ public class BySearch extends AbstractGroupingFactory
			TextView text1 = (TextView) view.findViewById(android.R.id.text1);
			if (text1 != null)
			{
				text1.setText(DateUtils.formatSameDayTime(cursor.getLong(cursor.getColumnIndex(SearchHistoryDatabaseHelper.SearchHistoryColumns.TIMESTAMP)),
					now, DateFormat.SHORT, DateFormat.SHORT));
				text1.setText(DateUtils.getRelativeTimeSpanString(
					cursor.getLong(cursor.getColumnIndex(SearchHistoryDatabaseHelper.SearchHistoryColumns.TIMESTAMP)), now, DateUtils.MINUTE_IN_MILLIS));
			}

			// set list elements
Loading