Order notification by date
This commit is contained in:
parent
a946ea49d1
commit
9dc4b46fdb
|
@ -340,7 +340,7 @@ public class Helper {
|
||||||
public static final Pattern codePattern = Pattern.compile("code=([\\w-]+)");
|
public static final Pattern codePattern = Pattern.compile("code=([\\w-]+)");
|
||||||
public static final Pattern nitterIDPattern = Pattern.compile("/status/(\\d+)");
|
public static final Pattern nitterIDPattern = Pattern.compile("/status/(\\d+)");
|
||||||
public static final Pattern emailPattern = Pattern.compile("(\\s+[\\w_.-]+@[a-zA-Z0-9][a-zA-Z0-9.-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+)");
|
public static final Pattern emailPattern = Pattern.compile("(\\s+[\\w_.-]+@[a-zA-Z0-9][a-zA-Z0-9.-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+)");
|
||||||
public static final Pattern urlPattern = Pattern.compile(
|
/*public static final Pattern urlPattern = Pattern.compile(
|
||||||
"(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,10}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))",
|
"(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,10}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))",
|
||||||
|
|
||||||
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
|
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
|
||||||
|
@ -348,7 +348,7 @@ public class Helper {
|
||||||
public static final Pattern urlPatternSimple = Pattern.compile(
|
public static final Pattern urlPatternSimple = Pattern.compile(
|
||||||
"https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)",
|
"https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)",
|
||||||
|
|
||||||
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
|
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);*/
|
||||||
|
|
||||||
public static final Pattern aLink = Pattern.compile("<a((?!href).)*href=\"([^\"]*)\"[^>]*(((?!</a).)*)</a>");
|
public static final Pattern aLink = Pattern.compile("<a((?!href).)*href=\"([^\"]*)\"[^>]*(((?!</a).)*)</a>");
|
||||||
public static final Pattern imgPattern = Pattern.compile("<img [^>]*src=\"([^\"]+)\"[^>]*>");
|
public static final Pattern imgPattern = Pattern.compile("<img [^>]*src=\"([^\"]+)\"[^>]*>");
|
||||||
|
|
|
@ -17,8 +17,6 @@ package app.fedilab.android.helper;
|
||||||
|
|
||||||
import static app.fedilab.android.BaseMainActivity.currentAccount;
|
import static app.fedilab.android.BaseMainActivity.currentAccount;
|
||||||
import static app.fedilab.android.helper.Helper.USER_AGENT;
|
import static app.fedilab.android.helper.Helper.USER_AGENT;
|
||||||
import static app.fedilab.android.helper.Helper.urlPattern;
|
|
||||||
import static app.fedilab.android.helper.Helper.urlPatternSimple;
|
|
||||||
import static app.fedilab.android.helper.ThemeHelper.linkColor;
|
import static app.fedilab.android.helper.ThemeHelper.linkColor;
|
||||||
|
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
|
@ -39,6 +37,7 @@ import android.text.TextPaint;
|
||||||
import android.text.style.ClickableSpan;
|
import android.text.style.ClickableSpan;
|
||||||
import android.text.style.QuoteSpan;
|
import android.text.style.QuoteSpan;
|
||||||
import android.text.style.URLSpan;
|
import android.text.style.URLSpan;
|
||||||
|
import android.util.Patterns;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.webkit.URLUtil;
|
import android.webkit.URLUtil;
|
||||||
|
@ -191,7 +190,7 @@ public class SpannableHelper {
|
||||||
|
|
||||||
private static void linkify(Context context, SpannableStringBuilder content, HashMap<String, String> urlDetails) {
|
private static void linkify(Context context, SpannableStringBuilder content, HashMap<String, String> urlDetails) {
|
||||||
//--- URLs ----
|
//--- URLs ----
|
||||||
Matcher matcherLink = urlPatternSimple.matcher(content);
|
Matcher matcherLink = Patterns.WEB_URL.matcher(content);
|
||||||
|
|
||||||
int offSetTruncate = 0;
|
int offSetTruncate = 0;
|
||||||
|
|
||||||
|
@ -315,7 +314,7 @@ public class SpannableHelper {
|
||||||
Map<String, List<String>> map = httpsURLConnection.getHeaderFields();
|
Map<String, List<String>> map = httpsURLConnection.getHeaderFields();
|
||||||
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
|
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
|
||||||
if (entry.toString().toLowerCase().startsWith("location")) {
|
if (entry.toString().toLowerCase().startsWith("location")) {
|
||||||
Matcher matcher = urlPattern.matcher(entry.toString());
|
Matcher matcher = Patterns.WEB_URL.matcher(entry.toString());
|
||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
redirect = matcher.group(1);
|
redirect = matcher.group(1);
|
||||||
}
|
}
|
||||||
|
@ -544,7 +543,7 @@ public class SpannableHelper {
|
||||||
Map<String, List<String>> map = httpsURLConnection.getHeaderFields();
|
Map<String, List<String>> map = httpsURLConnection.getHeaderFields();
|
||||||
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
|
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
|
||||||
if (entry.toString().toLowerCase().startsWith("location")) {
|
if (entry.toString().toLowerCase().startsWith("location")) {
|
||||||
Matcher matcher = urlPattern.matcher(entry.toString());
|
Matcher matcher = Patterns.WEB_URL.matcher(entry.toString());
|
||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
redirect = matcher.group(1);
|
redirect = matcher.group(1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -616,7 +616,8 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
for (Notification notificationsAlreadyPresent : notificationList) {
|
for (Notification notificationsAlreadyPresent : notificationList) {
|
||||||
//We compare the date of each status and we only add status having a date greater than the another, it is inserted at this position
|
//We compare the date of each status and we only add status having a date greater than the another, it is inserted at this position
|
||||||
//Pinned messages are ignored because their date can be older
|
//Pinned messages are ignored because their date can be older
|
||||||
if (Helper.compareTo(notificationReceived.id, notificationsAlreadyPresent.id) > 0) {
|
//if (Helper.compareTo(notificationReceived.id, notificationsAlreadyPresent.id) > 0) {
|
||||||
|
if (notificationReceived.created_at.after(notificationsAlreadyPresent.created_at)) {
|
||||||
if (!notificationList.contains(notificationReceived)) {
|
if (!notificationList.contains(notificationReceived)) {
|
||||||
notificationList.add(position, notificationReceived);
|
notificationList.add(position, notificationReceived);
|
||||||
notificationAdapter.notifyItemInserted(position);
|
notificationAdapter.notifyItemInserted(position);
|
||||||
|
|
Loading…
Reference in New Issue