diff --git a/mastodon/build.gradle b/mastodon/build.gradle index a6841bdb4..0591cc919 100644 --- a/mastodon/build.gradle +++ b/mastodon/build.gradle @@ -118,8 +118,8 @@ dependencies { implementation 'me.grishka.litex:viewpager:1.0.0' implementation 'me.grishka.litex:viewpager2:1.0.0' implementation 'me.grishka.litex:palette:1.0.0' - implementation 'me.grishka.appkit:appkit:1.2.9' - implementation 'com.google.code.gson:gson:2.9.0' + implementation 'me.grishka.appkit:appkit:1.2.13' + implementation 'com.google.code.gson:gson:2.8.9' implementation 'org.jsoup:jsoup:1.14.3' implementation 'com.squareup:otto:1.3.8' implementation 'de.psdev:async-otto:1.0.3' diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java index 411dc0a4b..3c430f8b5 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -361,7 +361,6 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList pager.setUserInputEnabled(!GlobalUserPreferences.disableSwipe); pager.setAdapter(new ProfilePagerAdapter()); pager.getLayoutParams().height=getResources().getDisplayMetrics().heightPixels; - pager.setVisibility(View.GONE); // Prevents a strange NPE when search is opened on the search tab. Shown in onShown() scrollView.setScrollableChildSupplier(this::getScrollableRecyclerView); scrollView.getViewTreeObserver().addOnGlobalLayoutListener(this::updateMetadataHeight); @@ -756,7 +755,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList followingCount.setText(UiUtils.abbreviateNumber(account.followingCount)); followersLabel.setText(getResources().getQuantityString(R.plurals.followers, (int)Math.min(999, account.followersCount))); followingLabel.setText(getResources().getQuantityString(R.plurals.following, (int)Math.min(999, account.followingCount))); - + if (account.followersCount < 0) followersBtn.setVisibility(View.GONE); if (account.followingCount < 0) followingBtn.setVisibility(View.GONE); if (account.followersCount < 0 || account.followingCount < 0) @@ -1425,19 +1424,11 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList return actionButton.getVisibility()==View.VISIBLE && actionButtonWrap.getTop()+actionButtonWrap.getHeight()>scrollView.getScrollY(); } - @Override - protected void onShown(){ - super.onShown(); - pager.setVisibility(View.VISIBLE); - } - private class ProfilePagerAdapter extends RecyclerView.Adapter{ @NonNull @Override public SimpleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){ - FrameLayout view=tabViews[viewType]; - if (view.getParent() != null) ((ViewGroup)view.getParent()).removeView(view); - view.setVisibility(View.VISIBLE); + FrameLayout view=new FrameLayout(parent.getContext()); view.setLayoutParams(new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); return new SimpleViewHolder(view); } @@ -1445,8 +1436,13 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList @Override public void onBindViewHolder(@NonNull SimpleViewHolder holder, int position){ Fragment fragment=getFragmentForPage(position); + FrameLayout fragmentView=tabViews[position]; + fragmentView.setVisibility(View.VISIBLE); + if(fragmentView.getParent() instanceof ViewGroup parent) + parent.removeView(fragmentView); + ((FrameLayout)holder.itemView).addView(fragmentView); if(!fragment.isAdded()){ - getChildFragmentManager().beginTransaction().add(holder.itemView.getId(), fragment).commit(); + getChildFragmentManager().beginTransaction().add(fragmentView.getId(), fragment).commit(); holder.itemView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener(){ @Override public boolean onPreDraw(){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/ZoomPanView.java b/mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/ZoomPanView.java index 58a4dfe2e..ac9f5fbaa 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/ZoomPanView.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/photoviewer/ZoomPanView.java @@ -119,6 +119,9 @@ public class ZoomPanView extends FrameLayout implements ScaleGestureDetector.OnS int width=right-left; int height=bottom-top; + if(width==0 || height==0) + return; + float scale=Math.min(width/(float)child.getWidth(), height/(float)child.getHeight()); minScale=scale; maxScale=Math.max(3f, height/(float)child.getHeight()); @@ -306,8 +309,6 @@ public class ZoomPanView extends FrameLayout implements ScaleGestureDetector.OnS }, 1f).setMinimumVisibleChange(DynamicAnimation.MIN_VISIBLE_CHANGE_ALPHA)); } }else{ - if(animatingTransition) - Log.w(TAG, "updateViewTransform: ", new Throwable().fillInStackTrace()); child.setScaleX(matrixValues[Matrix.MSCALE_X]); child.setScaleY(matrixValues[Matrix.MSCALE_Y]); child.setTranslationX(matrixValues[Matrix.MTRANS_X]); diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/views/MediaGridLayout.java b/mastodon/src/main/java/org/joinmastodon/android/ui/views/MediaGridLayout.java index 4f9cbbed6..eacdb120c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/views/MediaGridLayout.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/views/MediaGridLayout.java @@ -15,7 +15,7 @@ public class MediaGridLayout extends ViewGroup{ private static final int GAP=2; // dp private PhotoLayoutHelper.TiledLayoutResult tiledLayout; - private int[] columnStarts=new int[10], columnEnds=new int[10], rowStarts=new int[10], rowEnds=new int[10]; + private int[] columnStarts, columnEnds, rowStarts, rowEnds; public MediaGridLayout(Context context){ this(context, null); @@ -41,6 +41,14 @@ public class MediaGridLayout extends ViewGroup{ width=Math.round(width*(tiledLayout.width/(float)PhotoLayoutHelper.MAX_WIDTH)); } + if(rowStarts==null || rowStarts.lengthSeguinte Obtendo info do servidor… Erro + %s non semella ser un servidor Mastodon. OK Preparándose para a autenticación… Rematando coa autenticación… %s promoveu Como resposta a %s Notificacións + %s comezou a seguirte Compartir Axustes Publicar diff --git a/mastodon/src/main/res/values-ru-rRU/strings.xml b/mastodon/src/main/res/values-ru-rRU/strings.xml index 871d43f04..2e5bb9bfd 100644 --- a/mastodon/src/main/res/values-ru-rRU/strings.xml +++ b/mastodon/src/main/res/values-ru-rRU/strings.xml @@ -643,7 +643,7 @@ Перевести %s - Переведено с %1$s с помощью %2$s + %1$s переведён с помощью %2$s Показать оригинал Перевод не удался. Возможно, администратор не включил переводы на этом сервере или на этом сервере установлена ​​более старая версия Mastodon, где переводы еще не поддерживаются. Приватность и доступ diff --git a/mastodon/src/main/res/values-uk-rUA/strings.xml b/mastodon/src/main/res/values-uk-rUA/strings.xml index ad861a707..d2080f40e 100644 --- a/mastodon/src/main/res/values-uk-rUA/strings.xml +++ b/mastodon/src/main/res/values-uk-rUA/strings.xml @@ -641,5 +641,24 @@ %dгод. тому %dд. тому + Перекласти з %s + Перекладено з %1$s за допомогою %2$s + Показати оригінал + Не вдалося виконати переклад. Можливо, адміністратор не активував переклади на цьому сервері або цей сервер використовує стару версію Mastodon, де переклади ще не підтримуються. + Приватність і досяжність + Враховувати профіль та дописи в алгоритмах пошуку + Включити загальнодоступні дописи в результати пошуку + + %,d учасник + %,d учасники + %,d учасників + %,d учасника + + + %,d допис сьогодні + %,d дописи сьогодні + %,d дописів сьогодні + %,d дописа сьогодні +