diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/InstanceInfoFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/InstanceInfoFragment.java index 002be60b7..f8e6e23aa 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/InstanceInfoFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/InstanceInfoFragment.java @@ -178,7 +178,7 @@ public class InstanceInfoFragment extends LoaderFragment { if (getActivity() == null || result == null || TextUtils.isEmpty(result.content)) return; extendedDescription = result.content; updateDescription(); - + collapseDescription(); } }) .execNoAuth(targetDomain); @@ -196,7 +196,6 @@ public class InstanceInfoFragment extends LoaderFragment { description.measure( View.MeasureSpec.makeMeasureSpec(textWrap.getWidth(), View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); - } @Override @@ -249,21 +248,8 @@ public class InstanceInfoFragment extends LoaderFragment { uri.setText(instance.title); setTitle(instance.title); - //set description text and collapse updateDescription(); - - textScrollView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); - - description.measure( - View.MeasureSpec.makeMeasureSpec(textWrap.getWidth(), View.MeasureSpec.EXACTLY), - View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); - - readMore.setText(isExpanded ? R.string.sk_collapse : R.string.sk_expand); - description.post(() -> { - boolean tooBig = description.getMeasuredHeight() > textMaxHeight; - readMore.setVisibility(tooBig ? View.VISIBLE : View.GONE); - textScrollView.setLayoutParams(tooBig && !isExpanded ? collapseParams : wrapParams); - }); + collapseDescription(); fields.clear(); @@ -307,6 +293,21 @@ public class InstanceInfoFragment extends LoaderFragment { return HtmlParser.parse(value, account.emojis, Collections.emptyList(), Collections.emptyList(), accountID); } + private void collapseDescription() { + textScrollView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); + + description.measure( + View.MeasureSpec.makeMeasureSpec(textWrap.getWidth(), View.MeasureSpec.EXACTLY), + View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); + + readMore.setText(isExpanded ? R.string.sk_collapse : R.string.sk_expand); + description.post(() -> { + boolean tooBig = description.getMeasuredHeight() > textMaxHeight; + readMore.setVisibility(tooBig ? View.VISIBLE : View.GONE); + textScrollView.setLayoutParams(tooBig && !isExpanded ? collapseParams : wrapParams); + }); + } + private void updateToolbar(){ getToolbar().setBackgroundColor(0); if(toolbarTitleView!=null){