diff --git a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java
index 8b1ac2a1e..c2cc6564f 100644
--- a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java
+++ b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java
@@ -628,7 +628,11 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
});
holder.poll_container.setVisibility(View.VISIBLE);
holder.number_votes.setText(context.getResources().getQuantityString(R.plurals.number_of_voters, status.getPoll().getVoters_count(), status.getPoll().getVoters_count()));
- holder.remaining_time.setText(context.getString(R.string.poll_finish_at, Helper.dateToStringPoll(poll.getExpires_at())));
+ if( poll.isExpired()){
+ holder.remaining_time.setText(context.getString(R.string.poll_finish_at, Helper.dateToStringPoll(poll.getExpires_at())));
+ }else{
+ holder.remaining_time.setText(context.getString(R.string.poll_finish_in, Helper.dateDiffPoll(context, poll.getExpires_at())));
+ }
} else {
holder.poll_container.setVisibility(View.GONE);
}
diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
index 0b27df753..de6c4bd90 100644
--- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
+++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
@@ -895,7 +895,11 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
});
holder.poll_container.setVisibility(View.VISIBLE);
holder.number_votes.setText(context.getResources().getQuantityString(R.plurals.number_of_voters, poll.getVoters_count(), poll.getVoters_count()));
- holder.remaining_time.setText(context.getString(R.string.poll_finish_at, Helper.dateToStringPoll(poll.getExpires_at())));
+ if( poll.isExpired()){
+ holder.remaining_time.setText(context.getString(R.string.poll_finish_at, Helper.dateToStringPoll(poll.getExpires_at())));
+ }else{
+ holder.remaining_time.setText(context.getString(R.string.poll_finish_in, Helper.dateDiffPoll(context, poll.getExpires_at())));
+ }
} else {
holder.poll_container.setVisibility(View.GONE);
}
diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java
index 27d15e021..c0ff6cb37 100644
--- a/app/src/main/java/app/fedilab/android/helper/Helper.java
+++ b/app/src/main/java/app/fedilab/android/helper/Helper.java
@@ -1001,6 +1001,33 @@ public class Helper {
}
}
+ /***
+ * Returns a String depending of the date
+ * @param context Context
+ * @param dateEndPoll Date
+ * @return String
+ */
+ public static String dateDiffPoll(Context context, Date dateEndPoll) {
+ Date now = new Date();
+ long diff = dateEndPoll.getTime() - now.getTime();
+ long seconds = diff / 1000;
+ long minutes = seconds / 60;
+ long hours = minutes / 60;
+ long days = hours / 24;
+
+ if (days > 0)
+ return context.getResources().getQuantityString(R.plurals.date_day_polls, (int) days, (int) days);
+ else if (hours > 0)
+ return context.getResources().getQuantityString(R.plurals.date_hours_polls, (int) hours, (int) hours);
+ else if (minutes > 0)
+ return context.getResources().getQuantityString(R.plurals.date_minutes_polls, (int) minutes, (int) minutes);
+ else {
+ if (seconds < 0)
+ seconds = 0;
+ return context.getResources().getQuantityString(R.plurals.date_seconds_polls, (int) seconds, (int) seconds);
+ }
+ }
+
/***
* Toast message depending of the status code and the initial action
* @param context Context
diff --git a/app/src/main/res/layout/layout_poll.xml b/app/src/main/res/layout/layout_poll.xml
index 07747e304..0f3edbc6b 100644
--- a/app/src/main/res/layout/layout_poll.xml
+++ b/app/src/main/res/layout/layout_poll.xml
@@ -45,14 +45,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:visibility="gone">
+ android:visibility="gone"/>
+ android:visibility="gone"/>
%d h
%d d
+
+ - %d second
+ - %d seconds
+
+
+ - %d minute
+ - %d minutes
+
+
+ - %d hour
+ - %d hours
+
+
+
+ - %d day
+ - %d days
+
+
Warning
What is on your mind?
@@ -1154,4 +1172,5 @@
Status count
Instance count
Blocked
+ End in %s
\ No newline at end of file