Merge branch 'master' into donations
# Conflicts: # mastodon/build.gradle
This commit is contained in:
commit
db84317f7f
|
@ -13,8 +13,8 @@ android {
|
||||||
applicationId "org.joinmastodon.android"
|
applicationId "org.joinmastodon.android"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 107
|
versionCode 108
|
||||||
versionName "2.5.4"
|
versionName "2.5.6"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -281,11 +281,11 @@ public class AccountSessionManager{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(loadedInstances){
|
if(loadedInstances){
|
||||||
maybeUpdateCustomEmojis(domains);
|
maybeUpdateInstanceInfo(domains);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void maybeUpdateCustomEmojis(Set<String> domains){
|
private void maybeUpdateInstanceInfo(Set<String> domains){
|
||||||
long now=System.currentTimeMillis();
|
long now=System.currentTimeMillis();
|
||||||
for(String domain:domains){
|
for(String domain:domains){
|
||||||
Long lastUpdated=instancesLastUpdated.get(domain);
|
Long lastUpdated=instancesLastUpdated.get(domain);
|
||||||
|
@ -399,7 +399,7 @@ public class AccountSessionManager{
|
||||||
}
|
}
|
||||||
if(!loadedInstances){
|
if(!loadedInstances){
|
||||||
loadedInstances=true;
|
loadedInstances=true;
|
||||||
MastodonAPIController.runInBackground(()->maybeUpdateCustomEmojis(domains));
|
MastodonAPIController.runInBackground(()->maybeUpdateInstanceInfo(domains));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -691,7 +691,7 @@ public class InstanceCatalogSignupFragment extends InstanceCatalogFragment{
|
||||||
boolean found=false;
|
boolean found=false;
|
||||||
for(int i=0;i<list.getChildCount();i++){
|
for(int i=0;i<list.getChildCount();i++){
|
||||||
RecyclerView.ViewHolder holder=list.getChildViewHolder(list.getChildAt(i));
|
RecyclerView.ViewHolder holder=list.getChildViewHolder(list.getChildAt(i));
|
||||||
if(holder.getAbsoluteAdapterPosition()==mergeAdapter.getPositionForAdapter(adapter)+idx && holder instanceof InstanceViewHolder ivh){
|
if(holder instanceof InstanceViewHolder ivh && holder.getAbsoluteAdapterPosition()==mergeAdapter.getPositionForAdapter(adapter)+idx){
|
||||||
ivh.radioButton.setChecked(false);
|
ivh.radioButton.setChecked(false);
|
||||||
found=true;
|
found=true;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -27,11 +27,7 @@ public class CardViewModel{
|
||||||
this.parentObject=parentObject;
|
this.parentObject=parentObject;
|
||||||
this.imageRequest=TextUtils.isEmpty(card.image) ? null : new UrlImageLoaderRequest(card.image, V.dp(width), V.dp(height));
|
this.imageRequest=TextUtils.isEmpty(card.image) ? null : new UrlImageLoaderRequest(card.image, V.dp(width), V.dp(height));
|
||||||
|
|
||||||
Account authorAccount;
|
Account authorAccount=getAuthorAccount();
|
||||||
if(card.authors!=null && !card.authors.isEmpty() && card.authors.get(0).account!=null)
|
|
||||||
authorAccount=card.authors.get(0).account;
|
|
||||||
else
|
|
||||||
authorAccount=card.authorAccount;
|
|
||||||
|
|
||||||
if(authorAccount!=null){
|
if(authorAccount!=null){
|
||||||
parsedAuthorName=new SpannableStringBuilder(authorAccount.displayName);
|
parsedAuthorName=new SpannableStringBuilder(authorAccount.displayName);
|
||||||
|
@ -46,7 +42,7 @@ public class CardViewModel{
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getImageCount(){
|
public int getImageCount(){
|
||||||
return 1+(card.authorAccount!=null ? (1+authorNameEmojiHelper.getImageCount()) : 0);
|
return 1+(getAuthorAccount()!=null ? (1+authorNameEmojiHelper.getImageCount()) : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ImageLoaderRequest getImageRequest(int index){
|
public ImageLoaderRequest getImageRequest(int index){
|
||||||
|
@ -56,4 +52,11 @@ public class CardViewModel{
|
||||||
default -> authorNameEmojiHelper.getImageRequest(index-2);
|
default -> authorNameEmojiHelper.getImageRequest(index-2);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Account getAuthorAccount(){
|
||||||
|
if(card.authors!=null && !card.authors.isEmpty() && card.authors.get(0).account!=null)
|
||||||
|
return card.authors.get(0).account;
|
||||||
|
else
|
||||||
|
return card.authorAccount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,7 +189,7 @@ public class LinkCardHolder<T extends LinkCardHolder.LinkCardProvider> extends S
|
||||||
private void onAuthorChipClick(View v){
|
private void onAuthorChipClick(View v){
|
||||||
Bundle args=new Bundle();
|
Bundle args=new Bundle();
|
||||||
args.putString("account", accountID);
|
args.putString("account", accountID);
|
||||||
args.putParcelable("profileAccount", Parcels.wrap(item.getCard().card.authorAccount));
|
args.putParcelable("profileAccount", Parcels.wrap(item.getCard().getAuthorAccount()));
|
||||||
Nav.go(activity, ProfileFragment.class, args);
|
Nav.go(activity, ProfileFragment.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -754,7 +754,7 @@ Kuo daugiau žmonių seki, tuo aktyvesnis ir įdomesnis jis bus.</string>
|
||||||
<string name="handle_server_explanation_own">Tavo skaitmeniniai namai, kuriuose saugomi visi tavo įrašai. Nepatinka šis? Bet kada perkelk serverius ir atsivesk bei savo sekėjus.</string>
|
<string name="handle_server_explanation_own">Tavo skaitmeniniai namai, kuriuose saugomi visi tavo įrašai. Nepatinka šis? Bet kada perkelk serverius ir atsivesk bei savo sekėjus.</string>
|
||||||
<string name="handle_explanation_own">Kadangi tavo socialinis medijos vardas pasako, kas ir kur esi, žmonės gali bendrauti su tavimi visame socialiniame internete, kurį sudaro <a>„ActivityPub“ veikiančios platformos</a>.</string>
|
<string name="handle_explanation_own">Kadangi tavo socialinis medijos vardas pasako, kas ir kur esi, žmonės gali bendrauti su tavimi visame socialiniame internete, kurį sudaro <a>„ActivityPub“ veikiančios platformos</a>.</string>
|
||||||
<string name="what_is_activitypub_title">Kas yra „ActivityPub“?</string>
|
<string name="what_is_activitypub_title">Kas yra „ActivityPub“?</string>
|
||||||
<string name="what_is_activitypub">„ActivityPub“ – tai tarsi kalba, kuria „Mastodon“ kalba su kitais socialiniais tinklais.\n\nTai leidžia tau bendrauti su žmonėmis ne tik „Mastodon“ tinkle, bet ir įvairiose socialinėse programėlėse.</string>
|
<string name="what_is_activitypub">„ActivityPub“ – tai tarsi kalba, kuria „Mastodon“ kalba su kitais socialiniais tinklais.\n\nTai leidžia tau bendrauti su žmonėmis ne tik „Mastodon“ platformoje, bet ir įvairiose socialinėse programėlėse.</string>
|
||||||
<string name="handle_copied">Socialinis medijos vardas nukopijuotas į iškarpinę.</string>
|
<string name="handle_copied">Socialinis medijos vardas nukopijuotas į iškarpinę.</string>
|
||||||
<string name="qr_code">QR kodas</string>
|
<string name="qr_code">QR kodas</string>
|
||||||
<string name="scan_qr_code">Nuskaityti QR kodą</string>
|
<string name="scan_qr_code">Nuskaityti QR kodą</string>
|
||||||
|
|
|
@ -352,7 +352,9 @@
|
||||||
<string name="login_subtitle">Увійдіть за допомогою сервера, де ви створили свій обліковий запис.</string>
|
<string name="login_subtitle">Увійдіть за допомогою сервера, де ви створили свій обліковий запис.</string>
|
||||||
<string name="server_url">URL-адреса сервера</string>
|
<string name="server_url">URL-адреса сервера</string>
|
||||||
<string name="server_filter_any_language">Будь-яка мова</string>
|
<string name="server_filter_any_language">Будь-яка мова</string>
|
||||||
|
<string name="server_filter_instant_signup">Миттєва реєстрація</string>
|
||||||
<string name="server_filter_manual_review">Ручна перевірка</string>
|
<string name="server_filter_manual_review">Ручна перевірка</string>
|
||||||
|
<string name="server_filter_any_signup_speed">Будь-яка швидкість реєстрації</string>
|
||||||
<string name="server_filter_region_europe">Європа</string>
|
<string name="server_filter_region_europe">Європа</string>
|
||||||
<string name="server_filter_region_north_america">Північна Америка</string>
|
<string name="server_filter_region_north_america">Північна Америка</string>
|
||||||
<string name="server_filter_region_south_america">Південна Америка</string>
|
<string name="server_filter_region_south_america">Південна Америка</string>
|
||||||
|
@ -781,4 +783,30 @@
|
||||||
<string name="notification_filter_following">Люди, на яких ви не підписані</string>
|
<string name="notification_filter_following">Люди, на яких ви не підписані</string>
|
||||||
<string name="notification_filter_following_explanation">Доки ви не схвалюєте їх вручну</string>
|
<string name="notification_filter_following_explanation">Доки ви не схвалюєте їх вручну</string>
|
||||||
<string name="notification_filter_followers">Люди, які не підписані на вас</string>
|
<string name="notification_filter_followers">Люди, які не підписані на вас</string>
|
||||||
|
<string name="notification_filter_followers_explanation">Включаючи людей, які підписані на вас менш ніж три дні</string>
|
||||||
|
<string name="notification_filter_new_accounts">Нові облікові записи</string>
|
||||||
|
<string name="notification_filter_new_accounts_explanation">Створені за останні 30 днів</string>
|
||||||
|
<string name="notification_filter_mentions">Небажані приватні згадки</string>
|
||||||
|
<string name="notification_filter_mentions_explanation">Відфільтровується, якщо це не відповідь на вашу власну згадку або якщо ви відстежуєте відправника</string>
|
||||||
|
<string name="allow_notifications">Дозволити сповіщення</string>
|
||||||
|
<string name="mute_notifications">Відхилити запит на сповіщення</string>
|
||||||
|
<string name="notifications_from_user">Сповіщення від %s</string>
|
||||||
|
<string name="notifications_muted">Сповіщення від %s було відхилено.</string>
|
||||||
|
<string name="notifications_allowed">%s тепер з\'явиться у вашому списку сповіщень.</string>
|
||||||
|
<string name="visibility_subtitle_public">Усі з Mastodon та поза Mastodon</string>
|
||||||
|
<string name="visibility_subtitle_unlisted">Менше алгоритмічних фанфар</string>
|
||||||
|
<string name="visibility_subtitle_followers">Лише ваші підписники</string>
|
||||||
|
<string name="visibility_subtitle_private">Усі згадані в дописі</string>
|
||||||
|
<string name="view_boosts">Переглянути поширення</string>
|
||||||
|
<string name="view_favorites">Подивитися обране</string>
|
||||||
|
<string name="undo_reblog">Скасувати поширення</string>
|
||||||
|
<string name="undo_favorite">Скасувати вибране</string>
|
||||||
|
<string name="could_not_reach_server">Не вдалося зв\'язатися з сервером. Перевірте підключення та повторіть спробу?</string>
|
||||||
|
<string name="connection_timed_out">Час очікування запиту минув. Перевірте підключення і повторіть спробу?</string>
|
||||||
|
<string name="server_error">Щось пішло не так при спілкуванні з вашим сервером. Це, скоріше за все, не ваша помилка. Спробувати ще раз?</string>
|
||||||
|
<string name="not_found">Можливо, його видалили, або його взагалі ніколи не існувало.</string>
|
||||||
|
<string name="no_servers_found">Не знайдено серверів для \"%s\"</string>
|
||||||
|
<string name="signup_username_taken">Це ім\'я вже зайнято. Спробуйте інше, або <a>оберіть інший сервер</a>.</string>
|
||||||
|
<string name="signup_email_invalid">Це не схоже на дійсну адресу електронної пошти.</string>
|
||||||
|
<string name="signup_email_taken">Адреса пошти вже використана. Ви <a>забули ваш пароль</a>?</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in New Issue