Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.

Commit 5aef7ff

Browse files
author
Evgenii Kanivets
authored
Merge pull request #149 from evgenii-kanivets/dev
[2h]. All time. Cast periods.
2 parents 7b4fabf + ee589da commit 5aef7ff

File tree

9 files changed

+91
-3
lines changed

9 files changed

+91
-3
lines changed

app/src/main/java/com/blogspot/e_kanivets/moneytracker/controller/PeriodController.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public Period readLastUsedPeriod() {
3939
case Period.TYPE_YEAR:
4040
return yearPeriod();
4141

42+
case Period.TYPE_ALL_TIME:
43+
return allTimePeriod();
44+
4245
case Period.TYPE_CUSTOM:
4346
return weekPeriod();
4447

@@ -127,6 +130,28 @@ public Period yearPeriod() {
127130
return new Period(first, last, Period.TYPE_YEAR);
128131
}
129132

133+
public Period allTimePeriod() {
134+
Calendar cal = Calendar.getInstance();
135+
136+
// set start of time by Jesus
137+
cal.set(Calendar.YEAR, 2000);
138+
cal.set(Calendar.MONTH, Calendar.JANUARY);
139+
cal.set(Calendar.DAY_OF_MONTH, 1);
140+
setDayStart(cal);
141+
142+
Date first = cal.getTime();
143+
144+
// set possible end of time
145+
cal.set(Calendar.YEAR, 3000);
146+
cal.set(Calendar.MONTH, Calendar.DECEMBER);
147+
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
148+
setDayEnd(cal);
149+
150+
Date last = cal.getTime();
151+
152+
return new Period(first, last, Period.TYPE_ALL_TIME);
153+
}
154+
130155
private void setDayStart(Calendar cal) {
131156
cal.set(Calendar.HOUR_OF_DAY, 0);
132157
cal.set(Calendar.MINUTE, 0);

app/src/main/java/com/blogspot/e_kanivets/moneytracker/entity/Period.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class Period implements Parcelable {
1919
public static final String TYPE_WEEK = "week";
2020
public static final String TYPE_MONTH = "month";
2121
public static final String TYPE_YEAR = "year";
22+
public static final String TYPE_ALL_TIME = "all_time";
2223
public static final String TYPE_CUSTOM = "custom";
2324

2425
@SuppressLint("SimpleDateFormat")

app/src/main/java/com/blogspot/e_kanivets/moneytracker/ui/PeriodSpinner.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ public void setPeriod(Period period) {
7070
case Period.TYPE_YEAR:
7171
setSelection(3);
7272
break;
73+
74+
case Period.TYPE_ALL_TIME:
75+
setSelection(4);
76+
break;
7377
}
7478
}
7579

@@ -119,6 +123,10 @@ public void onItemSelected(AdapterView<?> parent, View view, int position, long
119123
break;
120124

121125
case 4:
126+
setPeriod(periodController.allTimePeriod());
127+
break;
128+
129+
case 5:
122130
// Custom period selection
123131
showFromDateDialog();
124132
break;

app/src/main/java/com/blogspot/e_kanivets/moneytracker/ui/presenter/ShortSummaryPresenter.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
import com.blogspot.e_kanivets.moneytracker.MtApp;
99
import com.blogspot.e_kanivets.moneytracker.R;
1010
import com.blogspot.e_kanivets.moneytracker.controller.FormatController;
11+
import com.blogspot.e_kanivets.moneytracker.entity.Period;
1112
import com.blogspot.e_kanivets.moneytracker.report.record.IRecordReport;
1213
import com.blogspot.e_kanivets.moneytracker.ui.presenter.base.BaseSummaryPresenter;
1314

15+
import java.text.SimpleDateFormat;
1416
import java.util.List;
1517

1618
import javax.inject.Inject;
@@ -63,8 +65,7 @@ public void update(IRecordReport report, String currency, List<String> ratesNeed
6365
viewHolder.tvTotal.setTextColor(red);
6466
viewHolder.tvTotal.setText(createRatesNeededList(currency, ratesNeeded));
6567
} else {
66-
viewHolder.tvPeriod.setText(context.getString(R.string.period_from_to,
67-
report.getPeriod().getFirstDay(), report.getPeriod().getLastDay()));
68+
viewHolder.tvPeriod.setText(formatPeriod(report.getPeriod()));
6869

6970
viewHolder.tvTotalIncome.setTextColor(report.getTotalIncome() >= 0 ? green : red);
7071
viewHolder.tvTotalIncome.setText(formatController.formatIncome(report.getTotalIncome(),
@@ -80,6 +81,26 @@ public void update(IRecordReport report, String currency, List<String> ratesNeed
8081
}
8182
}
8283

84+
private String formatPeriod(Period period) {
85+
switch (period.getType()) {
86+
case Period.TYPE_DAY:
87+
return period.getFirstDay();
88+
89+
case Period.TYPE_MONTH:
90+
return new SimpleDateFormat("MMMM, yyyy").format(period.getFirst());
91+
92+
case Period.TYPE_YEAR:
93+
return new SimpleDateFormat("yyyy").format(period.getFirst());
94+
95+
case Period.TYPE_ALL_TIME:
96+
return context.getString(R.string.all_time);
97+
98+
default:
99+
return context.getString(R.string.period_from_to, period.getFirstDay(),
100+
period.getLastDay());
101+
}
102+
}
103+
83104
public static class ViewHolder {
84105
@BindView(R.id.tv_period)
85106
TextView tvPeriod;

app/src/main/res/values-ru/strings.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="week">Неделя</string>
2222
<string name="month">Месяц</string>
2323
<string name="year">Год</string>
24+
<string name="all_time">За все время</string>
2425

2526
<string name="like_money_tracker">Вам нравится MoneyTracker?</string>
2627
<string name="rate_it_on_gp">Оцените его на Google Play!</string>
@@ -113,4 +114,13 @@
113114
<string name="same_currencies">Нельзя конвертировать валюту в саму себя.</string>
114115
<string name="record_in_future">Нельзя создать запись в будущем.</string>
115116
<string name="one_account_needed">Необходим, по крайней мере, один счет.</string>
117+
118+
<string name="title_activity_edit_account">Редактировать счет</string>
119+
<string name="color">Цвет</string>
120+
<string name="goal">Цель</string>
121+
<string name="restore">Восстановить</string>
122+
<string name="archive">Архивировать</string>
123+
<string name="cant_archive_default_account">Нельзя архивировать счет по умолчанию.</string>
124+
<string name="delete_account_title">Удалить счет</string>
125+
<string name="delete_account_message">Вы уверены, что хотите удалить этот счет ? Вы не сможете восстановить его после удаления.</string>
116126
</resources>

app/src/main/res/values-uk/strings.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="week">Тиждень</string>
2222
<string name="month">Місяць</string>
2323
<string name="year">Рік</string>
24+
<string name="all_time">За увесь час</string>
2425

2526
<string name="like_money_tracker">Вам подобається MoneyTracker?</string>
2627
<string name="rate_it_on_gp">Оцініть його на Google Play!</string>
@@ -113,4 +114,13 @@
113114
<string name="same_currencies">Не можна конвертувати валюту у саму себе.</string>
114115
<string name="record_in_future">Не можна створити запис у майбутньому.</string>
115116
<string name="one_account_needed">Необхідний, принаймні, один рахунок.</string>
117+
118+
<string name="title_activity_edit_account">Редагувати рахунок</string>
119+
<string name="color">Колір</string>
120+
<string name="goal">Ціль</string>
121+
<string name="restore">Відновити</string>
122+
<string name="archive">Архівувати</string>
123+
<string name="cant_archive_default_account">Неможливо архівувати рахунок за замовчанням.</string>
124+
<string name="delete_account_title">Видалити рахунок</string>
125+
<string name="delete_account_message">Ви впевнені, що хочете видалити цей рахунок? Ви не зможете відновити його після видалення.</string>
116126
</resources>

app/src/main/res/values-zh/strings.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<string name="week">周</string>
1919
<string name="month">月</string>
2020
<string name="year">年</string>
21+
<string name="all_time">整天</string>
2122
<string name="like_money_tracker">你喜欢我们这个软件吗?</string>
2223
<string name="rate_it_on_gp">在Google Play上评价吧!</string>
2324
<string name="maybe_later">稍后</string>
@@ -102,4 +103,13 @@
102103
<string name="same_currencies">无法在同种货币之间转换。</string>
103104
<string name="record_in_future">以后无法创建记录。</string>
104105
<string name="one_account_needed">至少需要一个账目。</string>
106+
107+
<string name="title_activity_edit_account">编辑帐户</string>
108+
<string name="color">颜色</string>
109+
<string name="goal">目标</string>
110+
<string name="restore">恢复</string>
111+
<string name="archive">档案</string>
112+
<string name="cant_archive_default_account">您无法获得默认帐户。</string>
113+
<string name="delete_account_title">删除帐户</string>
114+
<string name="delete_account_message">你确定要删除这个帐户吗? 以后不能恢复。</string>
105115
</resources>

app/src/main/res/values/arrays.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<item>@string/week</item>
66
<item>@string/month</item>
77
<item>@string/year</item>
8+
<item>@string/all_time</item>
89
<item>@string/custom</item>
910
</string-array>
1011
</resources>

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<string name="week">Week</string>
1919
<string name="month">Month</string>
2020
<string name="year">Year</string>
21+
<string name="all_time">All time</string>
2122
<string name="like_money_tracker">Do you like MoneyTracker?</string>
2223
<string name="rate_it_on_gp">Rate it on Google Play!</string>
2324
<string name="maybe_later">Maybe Later</string>
@@ -123,7 +124,6 @@
123124
<string name="record_in_future">Can\'t create a record in future.</string>
124125
<string name="one_account_needed">At least one account is needed.</string>
125126

126-
<!-- Not translated strings -->
127127
<string name="title_activity_edit_account">Edit Account</string>
128128
<string name="color">Color</string>
129129
<string name="goal">Goal</string>
@@ -132,4 +132,6 @@
132132
<string name="cant_archive_default_account">You can\'t archive a default account.</string>
133133
<string name="delete_account_title">Delete account</string>
134134
<string name="delete_account_message">Are you sure about deleting this account? It can\'t be restored after.</string>
135+
136+
<!-- Not translated strings -->
135137
</resources>

0 commit comments

Comments
 (0)