Skip to content

Commit 4038519

Browse files
authored
code-quality: remove CDATA and <u> tags from string.xml (commons-app#3310)
Remove CDATA and <u> tags from string resources. Instead use setUnderlinedText() method added in Utils to create underlined string resources.
1 parent 75d4891 commit 4038519

File tree

5 files changed

+34
-24
lines changed

5 files changed

+34
-24
lines changed

app/src/main/java/fr/free/nrw/commons/AboutActivity.java

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ public class AboutActivity extends NavigationBaseActivity {
3333
@BindView(R.id.about_license) HtmlTextView aboutLicenseText;
3434
@BindView(R.id.about_faq) TextView faqText;
3535
@BindView(R.id.about_improve) HtmlTextView improve;
36-
36+
@BindView(R.id.about_rate_us) TextView rateUsText;
37+
@BindView(R.id.about_privacy_policy) TextView privacyPolicyText;
38+
@BindView(R.id.about_translate) TextView translateText;
39+
@BindView(R.id.about_credits) TextView creditsText;
3740
/**
3841
* This method helps in the creation About screen
3942
*
@@ -54,22 +57,13 @@ public void onCreate(Bundle savedInstanceState) {
5457
String improveText = String.format(getString(R.string.about_improve), Urls.NEW_ISSUE_URL);
5558
improve.setHtmlText(improveText);
5659

57-
SpannableString content = new SpannableString(getString(R.string.about_faq));
58-
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
59-
faqText.setText(content);
60-
6160
versionText.setText(ConfigUtils.getVersionNameWithSha(getApplicationContext()));
6261

63-
TextView rate_us = findViewById(R.id.about_rate_us);
64-
TextView privacy_policy = findViewById(R.id.about_privacy_policy);
65-
TextView translate = findViewById(R.id.about_translate);
66-
TextView credits = findViewById(R.id.about_credits);
67-
TextView faq = findViewById(R.id.about_faq);
68-
rate_us.setText(StringUtil.fromHtml(getString(R.string.about_rate_us)));
69-
privacy_policy.setText(StringUtil.fromHtml(getString(R.string.about_privacy_policy)));
70-
translate.setText(StringUtil.fromHtml(getString(R.string.about_translate)));
71-
credits.setText(StringUtil.fromHtml(getString(R.string.about_credits)));
72-
faq.setText(StringUtil.fromHtml(getString(R.string.about_faq)));
62+
Utils.setUnderlinedText(faqText, R.string.about_faq, getApplicationContext());
63+
Utils.setUnderlinedText(rateUsText, R.string.about_rate_us, getApplicationContext());
64+
Utils.setUnderlinedText(privacyPolicyText, R.string.about_privacy_policy, getApplicationContext());
65+
Utils.setUnderlinedText(translateText, R.string.about_translate, getApplicationContext());
66+
Utils.setUnderlinedText(creditsText, R.string.about_credits, getApplicationContext());
7367

7468
initDrawer();
7569
}

app/src/main/java/fr/free/nrw/commons/Utils.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
import android.content.Intent;
77
import android.graphics.Bitmap;
88
import android.net.Uri;
9+
import android.text.SpannableString;
10+
import android.text.style.UnderlineSpan;
911
import android.view.View;
12+
import android.widget.TextView;
1013
import android.widget.Toast;
1114

1215
import androidx.annotation.NonNull;
@@ -185,4 +188,17 @@ public static void copy(String label,String text, Context context){
185188
clipboard.setPrimaryClip(clip);
186189
}
187190

191+
/**
192+
* This method sets underlined string text to a TextView
193+
*
194+
* @param textView TextView associated with string resource
195+
* @param stringResourceName string resource name
196+
* @param context
197+
*/
198+
public static void setUnderlinedText(TextView textView, int stringResourceName, Context context) {
199+
SpannableString content = new SpannableString(context.getString(stringResourceName));
200+
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
201+
textView.setText(content);
202+
}
203+
188204
}

app/src/main/java/fr/free/nrw/commons/WelcomePagerAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public Object instantiateItem(ViewGroup container, int position) {
4747
if (position == PAGE_LAYOUTS.length - 1) {
4848
// Add link to more information
4949
TextView moreInfo = layout.findViewById(R.id.welcomeInfo);
50-
moreInfo.setText(Html.fromHtml(container.getContext().getString(R.string.welcome_help_button_text)));
50+
Utils.setUnderlinedText(moreInfo, R.string.welcome_help_button_text, container.getContext());
5151
moreInfo.setOnClickListener(view -> Utils.handleWebUrl(
5252
container.getContext(),
5353
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")

app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ && getParentFragment() instanceof MediaDetailPagerFragment) {
186186
final View view = inflater.inflate(R.layout.fragment_media_detail, container, false);
187187

188188
ButterKnife.bind(this,view);
189-
seeMore.setText(StringUtil.fromHtml(getString(R.string.nominated_see_more)));
189+
Utils.setUnderlinedText(seeMore, R.string.nominated_see_more, container.getContext());
190190

191191
if (isCategoryImage){
192192
authorLayout.setVisibility(VISIBLE);

app/src/main/res/values/strings.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@
9393
<string name="about_license">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. </string>
9494
<string name="trademarked_name" translatable="false">Wikimedia Commons</string>
9595
<string name="about_improve">Create a new &lt;a href=\"%1$s\"&gt;GitHub issue&lt;/a&gt; for bug reports and suggestions.</string>
96-
<string name="about_privacy_policy"><![CDATA[<u>Privacy policy</u>]]></string>
97-
<string name="about_credits"><![CDATA[<u>Credits</u>]]></string>
96+
<string name="about_privacy_policy">Privacy policy</string>
97+
<string name="about_credits">Credits</string>
9898
<string name="title_activity_about">About</string>
9999
<string name="menu_feedback">Send Feedback (via Email)</string>
100100
<string name="no_email_client">No email client installed</string>
@@ -155,7 +155,7 @@
155155
<string name="welcome_copyright_subtext">Avoid copyrighted materials you found from the Internet as well as images of posters, book covers, etc.</string>
156156
<string name="welcome_final_text">You think you got it?</string>
157157
<string name="welcome_final_button_text">Yes!</string>
158-
<string name="welcome_help_button_text"><![CDATA[<u>More Information</u>]]></string>
158+
<string name="welcome_help_button_text">More Information</string>
159159
<string name="detail_panel_cats_label">Categories</string>
160160
<string name="detail_panel_cats_loading">Loading…</string>
161161
<string name="detail_panel_cats_none">None selected</string>
@@ -264,7 +264,7 @@
264264
<string name="null_url">Error! URL not found</string>
265265
<string name="nominate_deletion">Nominate for Deletion</string>
266266
<string name="nominated_for_deletion">This image has been nominated for deletion.</string>
267-
<string name="nominated_see_more"><![CDATA[<u>See webpage for details</u>]]></string>
267+
<string name="nominated_see_more">See webpage for details</string>
268268
<string name="nominating_file_for_deletion">Nominating %1$s for deletion.</string>
269269
<string name="nominating_for_deletion_status">Nominating file for deletion: %1$s</string>
270270
<string name="view_browser">View in Browser</string>
@@ -291,16 +291,16 @@
291291
<string name="nearby_wikidata">Wikidata</string>
292292
<string name="nearby_wikipedia">Wikipedia</string>
293293
<string name="nearby_commons">Commons</string>
294-
<string name="about_rate_us"><![CDATA[<u>Rate us</u>]]></string>
295-
<string name="about_faq"><![CDATA[<u>FAQ</u>]]></string>
294+
<string name="about_rate_us">Rate us</string>
295+
<string name="about_faq">FAQ</string>
296296
<string name="welcome_skip_button">Skip Tutorial</string>
297297
<string name="no_internet">Internet unavailable</string>
298298
<string name="internet_established">Internet available</string>
299299
<string name="error_notifications">Error fetching notifications</string>
300300
<string name="error_review">Error fetching image for review. Press refresh to try again.</string>
301301
<string name="error_review_categories">Error fetching image categories for review. Press refresh to try again.</string>
302302
<string name="no_notifications">No notifications found</string>
303-
<string name="about_translate"><![CDATA[<u>Translate</u>]]></string>
303+
<string name="about_translate">Translate</string>
304304
<string name="about_translate_title">Languages</string>
305305
<string name="about_translate_message">Select the language that you would like to submit translations for</string>
306306
<string name="about_translate_proceed">Proceed</string>

0 commit comments

Comments
 (0)