mirror of
				https://codeberg.org/tom79/Fedilab.git
				synced 2025-10-20 11:20:16 +03:00 
			
		
		
		
	Order notification by date
This commit is contained in:
		
							parent
							
								
									a946ea49d1
								
							
						
					
					
						commit
						9dc4b46fdb
					
				
					 3 changed files with 8 additions and 8 deletions
				
			
		|  | @ -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 a new issue