Skip to content

Commit 0d30ad1

Browse files
committed
#42 Right align numbers of days from today in a Single line layout
1 parent a94ac4b commit 0d30ad1

File tree

4 files changed

+35
-15
lines changed

4 files changed

+35
-15
lines changed

app/calendar-widget/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ repositories {
1717
dependencies {
1818
compile 'joda-time:joda-time:2.9.7'
1919
compile 'com.larswerkman:HoloColorPicker:1.5'
20-
compile 'com.android.support:appcompat-v7:25.3.0'
20+
compile 'com.android.support:appcompat-v7:25.3.1'
2121
}
2222

2323
android {

app/calendar-widget/src/main/java/com/plusonelabs/calendar/widget/EventEntryLayout.java

+20-2
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,27 @@ protected String getTitleString(Context context, CalendarEntry event) {
4545
protected void setEventDate(Context context, CalendarEntry entry, RemoteViews rv) {
4646
if (CalendarPreferences.getShowDayHeaders(context)) {
4747
rv.setViewVisibility(R.id.event_entry_date, View.GONE);
48+
rv.setViewVisibility(R.id.event_entry_date_right, View.GONE);
4849
} else {
49-
rv.setViewVisibility(R.id.event_entry_date, View.VISIBLE);
50-
rv.setTextViewText(R.id.event_entry_date, entry.getDateString(context));
50+
int days = entry.getDaysFromToday();
51+
int viewToShow = days < -1 || days > 1 ? R.id.event_entry_date_right : R.id.event_entry_date;
52+
int viewToHide = viewToShow == R.id.event_entry_date? R.id.event_entry_date_right : R.id.event_entry_date;
53+
rv.setViewVisibility(viewToHide, View.GONE);
54+
rv.setViewVisibility(viewToShow, View.VISIBLE);
55+
rv.setTextViewText(viewToShow, getDaysFromTodayString(context, days));
56+
}
57+
}
58+
59+
private CharSequence getDaysFromTodayString(Context context, int daysFromToday) {
60+
switch (daysFromToday) {
61+
case -1:
62+
return context.getText(R.string.yesterday);
63+
case 0:
64+
return context.getText(R.string.today);
65+
case 1:
66+
return context.getText(R.string.tomorrow);
67+
default:
68+
return Integer.toString(daysFromToday);
5169
}
5270
}
5371

app/calendar-widget/src/main/java/com/plusonelabs/calendar/widget/WidgetEntry.java

+2-12
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,8 @@ public String toString() {
2929
return this.getClass().getSimpleName() + " [startDate=" + startDate + "]";
3030
}
3131

32-
public CharSequence getDateString(Context context) {
33-
Days days = Days.daysBetween(DateUtil.now().withTimeAtStartOfDay(), startDate.withTimeAtStartOfDay());
34-
switch (days.getDays()) {
35-
case -1:
36-
return context.getText(R.string.yesterday);
37-
case 0:
38-
return context.getText(R.string.today);
39-
case 1:
40-
return context.getText(R.string.tomorrow);
41-
default:
42-
return Integer.toString(days.getDays());
43-
}
32+
public int getDaysFromToday() {
33+
return Days.daysBetween(DateUtil.now().withTimeAtStartOfDay(), startDate.withTimeAtStartOfDay()).getDays();
4434
}
4535

4636
@Override

app/calendar-widget/src/main/res/layout/event_entry_one_line.xml

+12
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@
4141
tools:ignore="SelectableText"
4242
tools:text="@string/today"/>
4343

44+
<TextView
45+
android:id="@+id/event_entry_date_right"
46+
style="@style/EventEntryTitle"
47+
android:layout_width="55dp"
48+
android:layout_height="wrap_content"
49+
android:layout_gravity="top"
50+
android:gravity="end"
51+
android:textAlignment="gravity"
52+
android:paddingRight="12dp"
53+
tools:ignore="SelectableText"
54+
tools:text="-325"/>
55+
4456
<TextView
4557
android:id="@+id/event_entry_time"
4658
style="@style/EventEntryDetails"

0 commit comments

Comments
 (0)