diff --git a/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt b/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt index 0bf7878df..2ad430400 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt +++ b/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt @@ -34,6 +34,7 @@ import android.view.MotionEvent.ACTION_UP import android.view.View import android.widget.TextView import androidx.annotation.VisibleForTesting +import androidx.appcompat.content.res.AppCompatResources import androidx.browser.customtabs.CustomTabColorSchemeParams import androidx.browser.customtabs.CustomTabsIntent import androidx.core.net.toUri @@ -43,6 +44,7 @@ import com.keylesspalace.tusky.R import com.keylesspalace.tusky.entity.HashTag import com.keylesspalace.tusky.entity.Status.Mention import com.keylesspalace.tusky.interfaces.LinkListener +import java.lang.ref.WeakReference import java.net.URI import java.net.URISyntaxException @@ -65,7 +67,7 @@ fun getDomain(urlString: String?): String { * @param listener to notify about particular spans that are clicked */ fun setClickableText(view: TextView, content: CharSequence, mentions: List, tags: List?, listener: LinkListener) { - val spannableContent = markupHiddenUrls(view.context, content) + val spannableContent = markupHiddenUrls(view, content) view.text = spannableContent.apply { getSpans(0, spannableContent.length, URLSpan::class.java).forEach { @@ -76,7 +78,7 @@ fun setClickableText(view: TextView, content: CharSequence, mentions: List + + diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 4386af2cd..060ae814c 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -625,7 +625,6 @@ لغة المنشور هل تريد حذف هذا المنشور المُبَرمَج؟ أعد تسجيل الدخول إلى جميع الحسابات لتمكين دعم الإشعارات. - %s (🔗 %s) ضبط نقطة التركيز تعديل الصورة إضافة رد فعل diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index cf658d252..08cdacbf8 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -606,7 +606,6 @@ Схаваць колькасную статыстыку допісаў Схаваць колькасную статыстыку профіляў Парушэнне правіла - %s (🔗 %s) Правілы %s %s (%s) Выдаліць гэты запланаваны допіс\? diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 04e6e49d0..8c31a96c4 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -591,7 +591,6 @@ Deixar de seguir #%s\? Tens canvis no desats. Toqueu o arrossegueu el cercle per triar el punt focal que sempre serà visible a les miniatures. - %s (🔗 %s) Mostra el nom d\'usuari a les barres d\'eines Estableix el punt d\'enfocament Funciona en la majoria dels casos. No es filtra cap dada a altres aplicacions. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index b98f4fa9b..4730cb7ee 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -534,7 +534,6 @@ 14 dní 30 dní Příspěvek, na který jste připravili odpověď, byl odstraněn - %s (🔗 %s) Nastavit bod zaostření Znovu se přihlaste ke všem účtům, abyste povolili podporu push oznámení. Aby bylo možné používat push oznámení prostřednictvím UnifiedPush, Tusky potřebuje oprávnění k odběru oznámení na vašem serveru Mastodon. To vyžaduje opětovné přihlášení ke změně rozsahů OAuth udělených aplikaci Tusky. Použitím možnosti opětovného přihlášení zde nebo v předvolbách účtu zachováte všechny vaše místní koncepty a mezipaměť. diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml index 20cb03b2c..b72438e12 100644 --- a/app/src/main/res/values-cy/strings.xml +++ b/app/src/main/res/values-cy/strings.xml @@ -306,7 +306,6 @@ %s (%s) Ydych chi\'n siŵr eich bod chi am glirio\'ch holl hysbysiadau\'n barhaol\? Ni all ffeiliau fideo a sain fod yn fwy na %s MB. - %s (🔗 %s) Gwall wrth ddilyn #%s Gwall wrth ddad-ddilyn #%s Dad-dewi %s @@ -734,4 +733,4 @@ Dileu Dileu\'r hidlydd \'%1$s\'\? Hoffech gadw eich newidiadau proffil\? - \ No newline at end of file + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3f0594c22..b437bb31e 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -561,7 +561,6 @@ Niemals %s (%s) Sprache des Beitrags - %s (🔗 %s) Fokuspunkt setzen Reaktion hinzufügen Das Konto konnte nicht aus der Liste entfernt werden diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 79ddf5905..76399bcc9 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -561,5 +561,4 @@ Mesaĝolingvo Por ricevi sciigoj per UnifiedPush, Tusky bezonas taŭgan permeson el Mastodon-servilo. Tio postulas re-ensaluton por ŝanĝi OAuth-rajtoj donitaj al Tusky. Se vi uzas la opcion re-ensaluti ĉi tie aŭ en la agordoj de la konto, viaj malnetoj kaj kaŝmemoroj estos konservitaj. Vi re-ensalutis en tiu konto por doni sciigo-permeson al Tusky. Vi havas tamen aliajn kontojn, ĉe kiuj vi devas re-sensaluti. Iru al ili, kaj re-ensalutu por ebligi ricevon de sciigoj per UnifiedPush. - %s (🔗 %s) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 91f416e2e..f7850bdbb 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -560,7 +560,6 @@ Fallo al fijar Fallo al quitarlo Cuando hay varias cuentas ingresadas - %s (🔗 %s) Notificaciones de nuevos usuarios Ediciones de una publicación Notificaciones cuando se editan publicaciones con las que has interactuado diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 7c213a19d..8db1e6b1f 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -550,7 +550,6 @@ هنگام ورود چندین حساب هرگز نمایش نام کاربری در نوارابزارها - %s (🔗 %s) افزودن واکنش تنظیم نقطهٔ تمرکز (بدون تغییر) @@ -703,4 +702,4 @@ \n این سیاهه‌ها می‌توانند به عنوان زبانه‌ای در زبانه‌های ترجیحات حساب [iconics gmd_account_circle] [iconics gmd_navigate_next] استفاده شوند. شکست در خموش کردن %1$s: %2$s شکست در ناخموش کردن %1$s: %2$s - \ No newline at end of file + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 22eb4313c..4e4935587 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -563,7 +563,6 @@ Jamais Langue du message (Aucune modification) - %s (🔗 %s) ajouter une réaction %s règles Chargement du fil @@ -682,4 +681,4 @@ Ajouter un mot-clé Modifier mot-clé %s : %s - \ No newline at end of file + diff --git a/app/src/main/res/values-gd/strings.xml b/app/src/main/res/values-gd/strings.xml index b423bb570..a8c267964 100644 --- a/app/src/main/res/values-gd/strings.xml +++ b/app/src/main/res/values-gd/strings.xml @@ -565,7 +565,6 @@ Nuair a bhios iomadh cunntas air an clàradh a-steach Chan ann idir %s (%s) - %s (🔗 %s) Suidhich puing an fhòcais A bheil thu airson am post sgeidealaichte seo a sguabadh às\? Le clàradh a-steach, bidh tu ag aontachadh ri riaghailtean %s. diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 2d38105f1..01019231c 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -535,7 +535,6 @@ %s (%s) Os ficheiros de vídeo e audio non poden superar os %s MB. Idioma de publicación - %s (🔗 %s) Establece foco Erro ao seguir #%s Error ao retirar seguimento de #%s @@ -696,4 +695,4 @@ \nEstas listas pódense usar como lapelas configurando as Lapelas nas Preferencias da Conta [iconics gmd_account_circle] [iconics gmd_navigate_next]. Non se acalou a %1$s: %2$s Non se reactivou a %1$s: %2$s - \ No newline at end of file + diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index a15e30225..2c9702ab0 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -549,7 +549,6 @@ Ha több fiók is be van jelentkezve Soha (Nincs változás) - %s (🔗 %s) Fókuszpont beállítása Hiba a #%s követésekor Hiba a #%s követésének befejezésekor diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index ac0b181f4..9e503468b 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -250,7 +250,7 @@ Keyrir á Tusky Tusky er frjáls hugbúnaður með opinn grunnkóða. Hann er gefinn út með GNU General Public notkunarleyfi, útgáfu 3. Þú getur skoðað notkunarleyfið hér: https://www.gnu.org/licenses/gpl-3.0.en.html Vefsvæði verkefnisins: https://tusky.app - Villutilkynningar og beiðnir um nýja eiginleika: + Villutilkynningar og beiðnir um nýja eiginleika: \nhttps://github.com/tuskyapp/Tusky/issues Notandasnið Tusky Deila efni úr færslu @@ -546,7 +546,6 @@ Mistókst að losa Alltaf Þegar er skráð inn á mörgum aðgöngum - %s (🔗 %s) Setja virknistað Aldrei Birta notandanafn á verkfærastikum @@ -696,4 +695,4 @@ \n ATHUGAÐU: þú getur bara bætt notendaaðgöngum sem þú fylgist með á listana þína. \n \n Þessa lista má nota sem flipa í flipum [iconics gmd_account_circle] [iconics gmd_navigate_next] Kjörstillingar aðgangs. - \ No newline at end of file + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a1cdcb917..503ddd70c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -568,7 +568,6 @@ Quando connesso con più account (nessuna modifica) Mostra nome utente nelle barre strumenti - %s (🔗 %s) Aggiunti o rimuovi dalla lista Aggiunta dell\'account alla lista fallita Rimozione dell\'account dalla lista fallita @@ -702,4 +701,4 @@ Versione e informazioni dispositivo copiate Vuoi salvare le modifiche al tuo profilo\? Il caricamento è fallito: %s - \ No newline at end of file + diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 55ccd8ebf..accac6a3d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -500,7 +500,6 @@ ビデオと音声ファイルのサイズは %s MB を超えることはできません。 画像が編集できませんでした。 ログイン - %s (🔗 %s) 画像の編集 %s のルール このインスタンスはハッシュタグのフォローに対応していません。 diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index 4845f82bf..cf659086a 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -260,7 +260,6 @@ HTTP starpniekserveris Portam būtu jābūt starp %d un %d Konta iestatījumi - %s (🔗 %s) Vai tiešām vēlaties bloķēt visu %s\? Šī domēna saturs netiks rādīts ne publiskajās laika līnijās, ne paziņojumos. Jūsu sekotāji no šī domēna tiks noņemti. Ieraksta kopija tika saglabāta tavos melnrakstos Lai pielietotu šīs izmaiņas, ir jāpārstartē Tusky diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index e4e476aad..7539714d0 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -539,7 +539,6 @@ %s (%s) (Ingen endring) Innleggspråk - %s (🔗 %s) Sett fokuspunkt Trykk eller dra sirkelen for å velge fokuspunktet som alltid skal være synlig i miniatyrbilder. Alltid diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 09d75d026..53feb0373 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -543,7 +543,6 @@ Tik of sleep de cirkel naar een centraal focuspunt dat op elke thumbnail zichtbaar moet blijven. Om pushmeldingen via UnifiedPush te kunnen gebruiken, moet Tusky zich op meldingen van jouw Mastodon-server abonneren. Dit betekent dat je opnieuw moet inloggen om de OAuth-toestemmingen voor Tusky te wijzigen. Het hier of onder accountvoorkeuren opnieuw inloggen behoudt jouw lokale concepten en buffer. Je hebt opnieuw op jouw huidige account ingelogd om toestemming voor pushmeldingen aan Tusky te verlenen. Je hebt echter nog andere accounts die nog niet op deze manier zijn overgezet. Ga naar deze accounts en log één voor één opnieuw in om UnifiedPush-meldingen ook daar in te schakelen. - %s (🔗 %s) Altijd Wanneer meerdere accounts zijn ingelogd Nooit @@ -667,4 +666,4 @@ Cache onderhoud… Je apparaat Wil je de wijzigingen aan je profiel bewaren\? - \ No newline at end of file + diff --git a/app/src/main/res/values-oc/strings.xml b/app/src/main/res/values-oc/strings.xml index 135c3403b..e15dafff3 100644 --- a/app/src/main/res/values-oc/strings.xml +++ b/app/src/main/res/values-oc/strings.xml @@ -523,7 +523,6 @@ Compausar una publicacion Arribada del %1$s Enregistrament del borrolhon… - %s (🔗 %s) Se podiá pas modificar l’imatge. Benestar (Cap de modificacion) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 0db98aee8..161d1762f 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -570,7 +570,6 @@ Pliki wideo i audio nie mogą przekraczać rozmiarem %s MB. %s (%s) Język wpisu - %s (🔗 %s) (bez zmian) Wystąpił błąd podczas obserwowania #%s Wystąpił błąd podczas odobserwowywania #%s diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index bebe45ff9..ac3f4e725 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -566,7 +566,6 @@ Violação de regra Spam Outros - %s (🔗 %s) Quando várias contas estão conectadas A porta deve estar entre %d e %d 1+ @@ -633,4 +632,4 @@ Copiar a versão e as informações do dispositivo Carregar notificações mais recentes Excluir rascunho\? - \ No newline at end of file + diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 09e151eec..6272505a4 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -550,7 +550,6 @@ Toca ou arrasta o círculo para escolher o ponto de focagem que estará sempre visível nas pré-visualizações. %s(%s) (Sem alteração) - %s (🔗 %s) Sempre Quando autenticado em várias contas Nunca diff --git a/app/src/main/res/values-sa/strings.xml b/app/src/main/res/values-sa/strings.xml index 988c7dc8e..fff09fb14 100644 --- a/app/src/main/res/values-sa/strings.xml +++ b/app/src/main/res/values-sa/strings.xml @@ -479,7 +479,6 @@ ३६५ दिनानि (परिवर्तनं नास्ति) सूचनाः सम्दृश्यन्ताम् - %s (🔗 %s) न कदापि पूर्वनिविष्टा प्रकाशका भाषा आवेदनानि diff --git a/app/src/main/res/values-si/strings.xml b/app/src/main/res/values-si/strings.xml index 68a0c636f..4b3932ba3 100644 --- a/app/src/main/res/values-si/strings.xml +++ b/app/src/main/res/values-si/strings.xml @@ -266,5 +266,4 @@ සබැඳි අතිරික්සුව තත්. %d - %s (🔗 %s) diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 1e0af5cc2..04f28e661 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -511,7 +511,6 @@ Du har loggat in igen på ditt konto för att ge Tusky tillgång till push-prenumeration. Dock har du andra konton som inte har migrerats såhär ännu. Växla till dem och logga in igen för att aktivera stöd för UnifiedPush-notiser. Sluta prenumerera Inläggsspråk - %s (🔗 %s) När flera konton är inloggade Aldrig Registreringar @@ -707,4 +706,4 @@ \n \nTill exempel kan du starta på ett kontos profil och trycka på skapa-knappen [iconics gmd_edit], och ändra synligheten. Uppladdningen misslyckades: %s - \ No newline at end of file + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 202c01696..cfb225f74 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -214,7 +214,7 @@ * the url can be changed to link to the localized version of the license. --> Proje web sayfası: https://tusky.app - "Hata raporları ve özellik istekleri: + "Hata raporları ve özellik istekleri: \nhttps://github.com/tuskyapp/Tusky/issues" Tusky\'nin Profili Gönderinin içeriğini paylaş @@ -517,7 +517,6 @@ 180 gün 60 gün 90 gün - %s (🔗 %s) Varsayılan gönderme dili Raporlar Denetleme raporlarıyla ilgili bildirimler @@ -703,4 +702,4 @@ Şimdi etiketi takip edin #%s Artık etiketi takip etmiyorum #%s Sesi açılamadı %1$s: %2$s - \ No newline at end of file + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index aca9481d4..5aacf78ef 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -560,7 +560,6 @@ %s (%s) Мова допису (Не змінено) - %s (🔗 %s) Налаштувати точку фокусування Завжди Торкніться або перетягніть коло, щоб вибрати точку фокусування, яку завжди буде видно на мініатюрах. @@ -720,4 +719,4 @@ Хештег #%s більше не відстежується Не вдається ігнорувати %1$s: %2$s Не вдалося перестати ігнорувати %1$s: %2$s - \ No newline at end of file + diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 8fcbb47ff..b12da90e1 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -525,7 +525,6 @@ %s (%s) (Không đổi) Ngôn ngữ đăng - %s (🔗 %s) Chọn tâm điểm Nhấn hoặc kéo vòng tròn để chọn tiêu điểm sẽ hiển thị trong hình thu nhỏ. Hiện URL của tôi trên tab @@ -685,4 +684,4 @@ Đã bỏ theo dõi hashtag #%s Không thể ẩn %1$s: %2$s Không thể bỏ ẩn %1$s: %2$s - \ No newline at end of file + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index bc6c1dc7e..91352b18f 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -539,7 +539,6 @@ %s (%s) (无更改) 嘟文语言 - %s (🔗 %s) 设置焦点 轻按或拖动圆圈选择始终在缩略图中可见的焦点。 登录多个账户时 @@ -699,4 +698,4 @@ \n 这些列表可被用作“账户选项” [iconics gmd_account_circle] [iconics gmd_navigate_next] 选项卡中的标签页。 未能静音 %1$s: %2$s 未能取消对 %1$s: %2$s的静音 - \ No newline at end of file + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index f14221020..2beb4bbeb 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -524,7 +524,6 @@ %s (%s) 輕按或拖動圓圈來選擇總是在縮圖中可視的關注點。 嘟文語言 - %s (🔗 %s) 是否要儲存草稿?(當你重開草稿時附檔將會被再次上傳。) 編寫嘟文 釘選失敗 diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index b2acec4ee..ae18c7c21 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -252,4 +252,6 @@ NEWEST_FIRST + %s (🔗 %s) + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3f1165f4e..48a812989 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -757,7 +757,6 @@ Re-login all accounts to enable push notification support. In order to use push notifications via UnifiedPush, Tusky needs permission to subscribe to notifications on your Mastodon server. This requires a re-login to change the OAuth scopes granted to Tusky. Using the re-login option here or in "Account preferences" will preserve all of your local drafts and cache. You have re-logged into your current account to grant push subscription permission to Tusky. However, you still have other accounts that have not been migrated this way. Switch to them and re-login one by one in order to enable UnifiedPush notifications support. - %s (🔗 %s) Delete this scheduled post? diff --git a/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt b/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt index f0f879c38..99be370c5 100644 --- a/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt +++ b/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt @@ -1,8 +1,8 @@ package com.keylesspalace.tusky.util -import android.content.Context import android.text.SpannableStringBuilder import android.text.style.URLSpan +import android.widget.TextView import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry import com.keylesspalace.tusky.R @@ -33,8 +33,8 @@ class LinkHelperTest { HashTag("mastodev", "https://example.com/Tags/mastodev") ) - private val context: Context - get() = InstrumentationRegistry.getInstrumentation().targetContext + private val textView: TextView + get() = TextView(InstrumentationRegistry.getInstrumentation().targetContext) @Test fun whenSettingClickableText_mentionUrlsArePreserved() { @@ -168,8 +168,8 @@ class LinkHelperTest { content.append(displayedContent, URLSpan(maliciousUrl), 0) val oldContent = content.toString() Assert.assertEquals( - context.getString(R.string.url_domain_notifier, displayedContent, maliciousDomain), - markupHiddenUrls(context, content).toString() + textView.context.getString(R.string.url_domain_notifier, displayedContent, maliciousDomain), + markupHiddenUrls(textView, content).toString() ) Assert.assertEquals(oldContent, content.toString()) } @@ -182,8 +182,8 @@ class LinkHelperTest { val content = SpannableStringBuilder() content.append(displayedContent, URLSpan(maliciousUrl), 0) Assert.assertEquals( - context.getString(R.string.url_domain_notifier, displayedContent, maliciousDomain), - markupHiddenUrls(context, content).toString() + textView.context.getString(R.string.url_domain_notifier, displayedContent, maliciousDomain), + markupHiddenUrls(textView, content).toString() ) } @@ -196,9 +196,9 @@ class LinkHelperTest { content.append(displayedContent, URLSpan("https://$domain/foo/bar"), 0) } - val markedUpContent = markupHiddenUrls(context, content) + val markedUpContent = markupHiddenUrls(textView, content) for (domain in domains) { - Assert.assertTrue(markedUpContent.contains(context.getString(R.string.url_domain_notifier, displayedContent, domain))) + Assert.assertTrue(markedUpContent.contains(textView.context.getString(R.string.url_domain_notifier, displayedContent, domain))) } } @@ -215,7 +215,7 @@ class LinkHelperTest { .append("$domain/", URLSpan("https://$domain"), 0) .append("$domain/", URLSpan("https://www.$domain"), 0) - val markedUpContent = markupHiddenUrls(context, content) + val markedUpContent = markupHiddenUrls(textView, content) Assert.assertFalse(markedUpContent.contains("🔗")) } @@ -228,7 +228,7 @@ class LinkHelperTest { .append("Some Place | https://some.place/", URLSpan("https://some.place/"), 0) .append("Some Place https://some.place/path", URLSpan("https://some.place/path"), 0) - val markedUpContent = markupHiddenUrls(context, content) + val markedUpContent = markupHiddenUrls(textView, content) Assert.assertFalse(markedUpContent.contains("🔗")) } @@ -241,7 +241,7 @@ class LinkHelperTest { .append("Another Place | https://another.place/", URLSpan("https://some.place/"), 0) .append("Another Place https://another.place/path", URLSpan("https://some.place/path"), 0) - val markedUpContent = markupHiddenUrls(context, content) + val markedUpContent = markupHiddenUrls(textView, content) val asserts = listOf( "Another Place: another.place", "Another Place: another.place/", @@ -250,7 +250,7 @@ class LinkHelperTest { "Another Place https://another.place/path" ) asserts.forEach { - Assert.assertTrue(markedUpContent.contains(context.getString(R.string.url_domain_notifier, it, "some.place"))) + Assert.assertTrue(markedUpContent.contains(textView.context.getString(R.string.url_domain_notifier, it, "some.place"))) } } @@ -262,7 +262,7 @@ class LinkHelperTest { builder.append(" ") } - val markedUpContent = markupHiddenUrls(context, builder) + val markedUpContent = markupHiddenUrls(textView, builder) for (mention in mentions) { Assert.assertFalse(markedUpContent.contains("${getDomain(mention.url)})")) } @@ -276,7 +276,7 @@ class LinkHelperTest { builder.append(" ") } - val markedUpContent = markupHiddenUrls(context, builder) + val markedUpContent = markupHiddenUrls(textView, builder) for (mention in mentions) { Assert.assertFalse(markedUpContent.contains("${getDomain(mention.url)})")) } @@ -290,7 +290,7 @@ class LinkHelperTest { builder.append(" ") } - val markedUpContent = markupHiddenUrls(context, builder) + val markedUpContent = markupHiddenUrls(textView, builder) for (tag in tags) { Assert.assertFalse(markedUpContent.contains("${getDomain(tag.url)})")) } @@ -304,7 +304,7 @@ class LinkHelperTest { builder.append(" ") } - val markedUpContent = markupHiddenUrls(context, builder) + val markedUpContent = markupHiddenUrls(textView, builder) for (tag in tags) { Assert.assertFalse(markedUpContent.contains("${getDomain(tag.url)})")) }