diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java index c5156069b..dce387e1a 100644 --- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java @@ -1,10 +1,6 @@ package fr.free.nrw.commons; -import android.content.Intent; -import android.net.Uri; import android.os.Bundle; -import android.text.Html; -import android.text.method.LinkMovementMethod; import android.widget.TextView; import fr.free.nrw.commons.theme.BaseActivity; @@ -14,11 +10,7 @@ import butterknife.ButterKnife; public class AboutActivity extends BaseActivity { @BindView(R.id.about_version) TextView versionText; - @BindView(R.id.about_license) TextView licenseText; - @BindView(R.id.about_improve) TextView improveText; - @BindView(R.id.about_privacy_policy) TextView privacyPolicyText; @BindView(R.id.about_uploads_to) TextView uploadsToText; - @BindView(R.id.about_credits) TextView creditsText; @Override public void onCreate(Bundle savedInstanceState) { @@ -29,22 +21,5 @@ public class AboutActivity extends BaseActivity { uploadsToText.setText(CommonsApplication.EVENTLOG_WIKI); versionText.setText(BuildConfig.VERSION_NAME); - - // We can't use formatted strings directly because it breaks with - // our localization tools. Grab an HTML string and turn it into - // a formatted string. - fixFormatting(licenseText, R.string.about_license); - fixFormatting(improveText, R.string.about_improve); - fixFormatting(privacyPolicyText, R.string.about_privacy_policy); - fixFormatting(creditsText, R.string.about_credits); - - licenseText.setMovementMethod(LinkMovementMethod.getInstance()); - improveText.setMovementMethod(LinkMovementMethod.getInstance()); - privacyPolicyText.setMovementMethod(LinkMovementMethod.getInstance()); - creditsText.setMovementMethod(LinkMovementMethod.getInstance()); - } - - private void fixFormatting(TextView textView, int resource) { - textView.setText(Html.fromHtml(getResources().getString(resource))); } } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/ui/widget/HtmlTextView.java b/app/src/main/java/fr/free/nrw/commons/ui/widget/HtmlTextView.java new file mode 100644 index 000000000..bc5fd71cd --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/ui/widget/HtmlTextView.java @@ -0,0 +1,21 @@ +package fr.free.nrw.commons.ui.widget; + +import android.content.Context; +import android.support.v7.widget.AppCompatTextView; +import android.text.Html; +import android.text.method.LinkMovementMethod; +import android.util.AttributeSet; + +/** + * An {@link AppCompatTextView} which formats the text to HTML displayable text and makes any + * links clickable. + */ +public class HtmlTextView extends AppCompatTextView { + + public HtmlTextView(Context context, AttributeSet attrs) { + super(context, attrs); + + setMovementMethod(LinkMovementMethod.getInstance()); + setText(Html.fromHtml(getText().toString())); + } +} diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 03534619e..397806016 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -27,7 +27,7 @@ android:layout_height="wrap_content" /> - - - -