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 91c634a2d1..b0ec53178f 100644 --- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java @@ -33,7 +33,10 @@ public class AboutActivity extends NavigationBaseActivity { @BindView(R.id.about_license) HtmlTextView aboutLicenseText; @BindView(R.id.about_faq) TextView faqText; @BindView(R.id.about_improve) HtmlTextView improve; - + @BindView(R.id.about_rate_us) TextView rateUsText; + @BindView(R.id.about_privacy_policy) TextView privacyPolicyText; + @BindView(R.id.about_translate) TextView translateText; + @BindView(R.id.about_credits) TextView creditsText; /** * This method helps in the creation About screen * @@ -54,22 +57,13 @@ public void onCreate(Bundle savedInstanceState) { String improveText = String.format(getString(R.string.about_improve), Urls.NEW_ISSUE_URL); improve.setHtmlText(improveText); - SpannableString content = new SpannableString(getString(R.string.about_faq)); - content.setSpan(new UnderlineSpan(), 0, content.length(), 0); - faqText.setText(content); - versionText.setText(ConfigUtils.getVersionNameWithSha(getApplicationContext())); - TextView rate_us = findViewById(R.id.about_rate_us); - TextView privacy_policy = findViewById(R.id.about_privacy_policy); - TextView translate = findViewById(R.id.about_translate); - TextView credits = findViewById(R.id.about_credits); - TextView faq = findViewById(R.id.about_faq); - rate_us.setText(StringUtil.fromHtml(getString(R.string.about_rate_us))); - privacy_policy.setText(StringUtil.fromHtml(getString(R.string.about_privacy_policy))); - translate.setText(StringUtil.fromHtml(getString(R.string.about_translate))); - credits.setText(StringUtil.fromHtml(getString(R.string.about_credits))); - faq.setText(StringUtil.fromHtml(getString(R.string.about_faq))); + Utils.setUnderlinedText(faqText, R.string.about_faq, getApplicationContext()); + Utils.setUnderlinedText(rateUsText, R.string.about_rate_us, getApplicationContext()); + Utils.setUnderlinedText(privacyPolicyText, R.string.about_privacy_policy, getApplicationContext()); + Utils.setUnderlinedText(translateText, R.string.about_translate, getApplicationContext()); + Utils.setUnderlinedText(creditsText, R.string.about_credits, getApplicationContext()); initDrawer(); } diff --git a/app/src/main/java/fr/free/nrw/commons/Utils.java b/app/src/main/java/fr/free/nrw/commons/Utils.java index d47075932f..40d880cd3a 100644 --- a/app/src/main/java/fr/free/nrw/commons/Utils.java +++ b/app/src/main/java/fr/free/nrw/commons/Utils.java @@ -6,7 +6,10 @@ import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; +import android.text.SpannableString; +import android.text.style.UnderlineSpan; import android.view.View; +import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; @@ -185,4 +188,17 @@ public static void copy(String label,String text, Context context){ clipboard.setPrimaryClip(clip); } + /** + * This method sets underlined string text to a TextView + * + * @param textView TextView associated with string resource + * @param stringResourceName string resource name + * @param context + */ + public static void setUnderlinedText(TextView textView, int stringResourceName, Context context) { + SpannableString content = new SpannableString(context.getString(stringResourceName)); + content.setSpan(new UnderlineSpan(), 0, content.length(), 0); + textView.setText(content); + } + } diff --git a/app/src/main/java/fr/free/nrw/commons/WelcomePagerAdapter.java b/app/src/main/java/fr/free/nrw/commons/WelcomePagerAdapter.java index e1b266b375..7017c028b8 100644 --- a/app/src/main/java/fr/free/nrw/commons/WelcomePagerAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/WelcomePagerAdapter.java @@ -47,7 +47,7 @@ public Object instantiateItem(ViewGroup container, int position) { if (position == PAGE_LAYOUTS.length - 1) { // Add link to more information TextView moreInfo = layout.findViewById(R.id.welcomeInfo); - moreInfo.setText(Html.fromHtml(container.getContext().getString(R.string.welcome_help_button_text))); + Utils.setUnderlinedText(moreInfo, R.string.welcome_help_button_text, container.getContext()); moreInfo.setOnClickListener(view -> Utils.handleWebUrl( container.getContext(), Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents") diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 5ccf4c2aa8..d25d5f7a0d 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -186,7 +186,7 @@ && getParentFragment() instanceof MediaDetailPagerFragment) { final View view = inflater.inflate(R.layout.fragment_media_detail, container, false); ButterKnife.bind(this,view); - seeMore.setText(StringUtil.fromHtml(getString(R.string.nominated_see_more))); + Utils.setUnderlinedText(seeMore, R.string.nominated_see_more, container.getContext()); if (isCategoryImage){ authorLayout.setVisibility(VISIBLE); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 91da58346b..00364eaaf1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -93,8 +93,8 @@ The Wikimedia Commons app is an open-source app created and maintained by grantees and volunteers of the Wikimedia community. The Wikimedia Foundation is not involved in the creation, development, or maintenance of the app. Wikimedia Commons Create a new <a href=\"%1$s\">GitHub issue</a> for bug reports and suggestions. - Privacy policy]]> - Credits]]> + Privacy policy + Credits About Send Feedback (via Email) No email client installed @@ -155,7 +155,7 @@ Avoid copyrighted materials you found from the Internet as well as images of posters, book covers, etc. You think you got it? Yes! - More Information]]> + More Information Categories Loading… None selected @@ -264,7 +264,7 @@ Error! URL not found Nominate for Deletion This image has been nominated for deletion. - See webpage for details]]> + See webpage for details Nominating %1$s for deletion. Nominating file for deletion: %1$s View in Browser @@ -291,8 +291,8 @@ Wikidata Wikipedia Commons - Rate us]]> - FAQ]]> + Rate us + FAQ Skip Tutorial Internet unavailable Internet available @@ -300,7 +300,7 @@ Error fetching image for review. Press refresh to try again. Error fetching image categories for review. Press refresh to try again. No notifications found - Translate]]> + Translate Languages Select the language that you would like to submit translations for Proceed