Extract "days since date" to Utils

This commit is contained in:
Peter Serwylo 2017-04-05 12:37:04 +10:00
parent 3b9f841117
commit c5051e8813
3 changed files with 15 additions and 10 deletions

View File

@ -66,12 +66,14 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Formatter;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.TimeUnit;
public final class Utils {
@ -508,6 +510,14 @@ public final class Utils {
return sb;
}
/**
* Calculate the number of days since the given date.
*/
public static int daysSince(@NonNull Date date) {
long msDiff = Calendar.getInstance().getTimeInMillis() - date.getTime();
return (int) TimeUnit.MILLISECONDS.toDays(msDiff);
}
// Need this to add the unimplemented support for ordered and unordered
// lists to Html.fromHtml().
public static class HtmlTagHandler implements Html.TagHandler {

View File

@ -48,10 +48,8 @@ import org.fdroid.fdroid.privileged.views.AppSecurityPermissions;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
public class AppDetailsRecyclerViewAdapter
extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@ -405,9 +403,8 @@ public class AppDetailsRecyclerViewAdapter
authorView.setVisibility(View.GONE);
}
if (app.lastUpdated != null) {
long msDiff = Calendar.getInstance().getTimeInMillis() - app.lastUpdated.getTime();
int daysDiff = (int) TimeUnit.MILLISECONDS.toDays(msDiff);
lastUpdateView.setText(lastUpdateView.getContext().getResources().getQuantityString(R.plurals.details_last_update_days, daysDiff, daysDiff));
int daysSince = Utils.daysSince(app.lastUpdated);
lastUpdateView.setText(lastUpdateView.getContext().getResources().getQuantityString(R.plurals.details_last_update_days, daysSince, daysSince));
lastUpdateView.setVisibility(View.VISIBLE);
} else {
lastUpdateView.setVisibility(View.GONE);

View File

@ -17,15 +17,14 @@ import android.widget.TextView;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.UpdateService;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.AppProvider;
import org.fdroid.fdroid.data.RepoProvider;
import org.fdroid.fdroid.data.Schema;
import org.fdroid.fdroid.views.apps.AppListActivity;
import org.fdroid.fdroid.views.whatsnew.WhatsNewAdapter;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;
/**
* Loads a list of newly added or recently updated apps and displays them to the user.
@ -123,9 +122,8 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
if (lastUpdate == null) {
emptyStateText.append(activity.getString(R.string.latest__empty_state__never_updated));
} else {
long msDiff = Calendar.getInstance().getTimeInMillis() - lastUpdate.getTime();
int daysDiff = (int) TimeUnit.MILLISECONDS.toDays(msDiff);
emptyStateText.append(activity.getResources().getQuantityString(R.plurals.details_last_update_days, daysDiff, daysDiff));
int daysSince = Utils.daysSince(lastUpdate);
emptyStateText.append(activity.getResources().getQuantityString(R.plurals.details_last_update_days, daysSince, daysSince));
}
}