|
@@ -21,12 +21,16 @@ package com.owncloud.android.ui.adapter;
|
|
|
|
|
|
import android.content.Context;
|
|
|
import android.content.res.Resources;
|
|
|
+import android.graphics.Color;
|
|
|
import android.graphics.drawable.PictureDrawable;
|
|
|
import android.net.Uri;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.Spannable;
|
|
|
import android.text.SpannableStringBuilder;
|
|
|
+import android.text.TextPaint;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.text.format.DateFormat;
|
|
|
+import android.text.format.DateUtils;
|
|
|
import android.text.method.LinkMovementMethod;
|
|
|
import android.text.style.ClickableSpan;
|
|
|
import android.text.style.ForegroundColorSpan;
|
|
@@ -58,7 +62,6 @@ import com.owncloud.android.lib.resources.files.FileUtils;
|
|
|
import com.owncloud.android.ui.interfaces.ActivityListInterface;
|
|
|
import com.owncloud.android.utils.DisplayUtils;
|
|
|
import com.owncloud.android.utils.MimeTypeUtil;
|
|
|
-import com.owncloud.android.utils.ThemeUtils;
|
|
|
import com.owncloud.android.utils.glide.CustomGlideStreamLoader;
|
|
|
import com.owncloud.android.utils.svg.SvgDecoder;
|
|
|
import com.owncloud.android.utils.svg.SvgDrawableTranscoder;
|
|
@@ -66,7 +69,6 @@ import com.owncloud.android.utils.svg.SvgSoftwareLayerSetter;
|
|
|
|
|
|
import java.io.InputStream;
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -103,19 +105,16 @@ public class ActivityListAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|
|
Activity activity = (Activity) o;
|
|
|
String time;
|
|
|
if (activity.getDatetime() != null) {
|
|
|
- time = DisplayUtils.getRelativeTimestamp(context,
|
|
|
- activity.getDatetime().getTime()).toString();
|
|
|
+ time = getHeaderDateString(context, activity.getDatetime().getTime()).toString();
|
|
|
} else if (activity.getDate() != null) {
|
|
|
- time = DisplayUtils.getRelativeTimestamp(context,
|
|
|
- activity.getDate().getTime()).toString();
|
|
|
+ time = getHeaderDateString(context, activity.getDate().getTime()).toString();
|
|
|
} else {
|
|
|
- time = "Unknown";
|
|
|
+ time = context.getString(R.string.date_unknown);
|
|
|
}
|
|
|
|
|
|
if (sTime.equalsIgnoreCase(time)) {
|
|
|
mValues.add(activity);
|
|
|
} else {
|
|
|
-
|
|
|
sTime = time;
|
|
|
mValues.add(sTime);
|
|
|
mValues.add(activity);
|
|
@@ -144,11 +143,10 @@ public class ActivityListAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|
|
final ActivityViewHolder activityViewHolder = (ActivityViewHolder) holder;
|
|
|
Activity activity = (Activity) mValues.get(position);
|
|
|
if (activity.getDatetime() != null) {
|
|
|
- activityViewHolder.dateTime.setText(DisplayUtils.getRelativeTimestamp(context,
|
|
|
- activity.getDatetime().getTime()));
|
|
|
+ activityViewHolder.dateTime.setVisibility(View.VISIBLE);
|
|
|
+ activityViewHolder.dateTime.setText(DateFormat.format("HH:MM", activity.getDatetime().getTime()));
|
|
|
} else {
|
|
|
- activityViewHolder.dateTime.setText(DisplayUtils.getRelativeTimestamp(context,
|
|
|
- new Date().getTime()));
|
|
|
+ activityViewHolder.dateTime.setVisibility(View.GONE);
|
|
|
}
|
|
|
|
|
|
if (activity.getRichSubjectElement() != null &&
|
|
@@ -304,10 +302,14 @@ public class ActivityListAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|
|
public void onClick(View widget) {
|
|
|
activityListInterface.onActivityClicked(richObject);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateDrawState(TextPaint ds) {
|
|
|
+ ds.setUnderlineText(false);
|
|
|
+ }
|
|
|
}, idx1, idx2, 0);
|
|
|
ssb.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), idx1, idx2, 0);
|
|
|
- ssb.setSpan(new ForegroundColorSpan(ThemeUtils.primaryAccentColor()), idx1, idx2,
|
|
|
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ ssb.setSpan(new ForegroundColorSpan(Color.BLACK), idx1, idx2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
}
|
|
|
idx1 = text.indexOf("{", idx2);
|
|
|
}
|
|
@@ -349,6 +351,15 @@ public class ActivityListAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|
|
return d.intValue();
|
|
|
}
|
|
|
|
|
|
+ private CharSequence getHeaderDateString(Context context, long modificationTimestamp) {
|
|
|
+ if ((System.currentTimeMillis() - modificationTimestamp) < DateUtils.WEEK_IN_MILLIS) {
|
|
|
+ return DisplayUtils.getRelativeDateTimeString(context, modificationTimestamp, DateUtils.DAY_IN_MILLIS,
|
|
|
+ DateUtils.WEEK_IN_MILLIS, 0);
|
|
|
+ } else {
|
|
|
+ return DateFormat.format("EEEE, MMMM d", modificationTimestamp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private class ActivityViewHolder extends RecyclerView.ViewHolder {
|
|
|
|
|
|
private final ImageView activityIcon;
|