Skip to content

Commit e7864ac

Browse files
authored
Refactor usage of Html.fromHtml to handle deprecation (#6074)
1 parent a9058d1 commit e7864ac

File tree

5 files changed

+33
-9
lines changed

5 files changed

+33
-9
lines changed

app/src/main/java/fr/free/nrw/commons/explore/map/ExploreMapFragment.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import android.graphics.drawable.Drawable;
1818
import android.location.Location;
1919
import android.location.LocationManager;
20+
import android.os.Build;
2021
import android.os.Bundle;
2122
import android.preference.PreferenceManager;
2223
import android.text.Html;
@@ -167,7 +168,11 @@ public View onCreateView(
167168
public void onViewCreated(@NonNull final View view, @Nullable final Bundle savedInstanceState) {
168169
super.onViewCreated(view, savedInstanceState);
169170
setSearchThisAreaButtonVisibility(false);
170-
binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution)));
171+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
172+
binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution), Html.FROM_HTML_MODE_LEGACY));
173+
} else {
174+
binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution)));
175+
}
171176
initNetworkBroadCastReceiver();
172177
locationPermissionsHelper = new LocationPermissionsHelper(getActivity(),locationManager,this);
173178
if (presenter == null) {

app/src/main/java/fr/free/nrw/commons/feedback/FeedbackDialog.kt

+8-5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package fr.free.nrw.commons.feedback
22

33
import android.app.Dialog
44
import android.content.Context
5+
import android.os.Build
56
import android.os.Bundle
67
import android.text.Html
78
import android.text.Spanned
@@ -26,11 +27,13 @@ class FeedbackDialog(
2627
private val onFeedbackSubmitCallback: OnFeedbackSubmitCallback) : Dialog(context) {
2728
private var _binding: DialogFeedbackBinding? = null
2829
private val binding get() = _binding!!
29-
// TODO("Remove Deprecation") Issue : #6002
30-
// 'fromHtml(String!): Spanned!' is deprecated. Deprecated in Java
31-
@Suppress("DEPRECATION")
32-
private var feedbackDestinationHtml: Spanned = Html.fromHtml(
33-
context.getString(R.string.feedback_destination_note))
30+
// Refactored to handle deprecation for Html.fromHtml()
31+
private var feedbackDestinationHtml: Spanned = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
32+
Html.fromHtml(context.getString(R.string.feedback_destination_note), Html.FROM_HTML_MODE_LEGACY)
33+
} else {
34+
@Suppress("DEPRECATION")
35+
Html.fromHtml(context.getString(R.string.feedback_destination_note))
36+
}
3437

3538

3639
public override fun onCreate(savedInstanceState: Bundle?) {

app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import android.location.Location;
2424
import android.location.LocationManager;
2525
import android.net.Uri;
26+
import android.os.Build;
2627
import android.os.Bundle;
2728
import android.os.Environment;
2829
import android.os.Handler;
@@ -511,7 +512,12 @@ public boolean onZoom(ZoomEvent event) {
511512
moveCameraToPosition(lastMapFocus);
512513
initRvNearbyList();
513514
onResume();
514-
binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution)));
515+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
516+
binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution), Html.FROM_HTML_MODE_LEGACY));
517+
} else {
518+
//noinspection deprecation
519+
binding.tvAttribution.setText(Html.fromHtml(getString(R.string.map_attribution)));
520+
}
515521
binding.tvAttribution.setMovementMethod(LinkMovementMethod.getInstance());
516522
binding.nearbyFilterList.btnAdvancedOptions.setOnClickListener(v -> {
517523
binding.nearbyFilter.searchViewLayout.searchView.clearFocus();

app/src/main/java/fr/free/nrw/commons/review/ReviewImageFragment.kt

+6-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@ class ReviewImageFragment : CommonsDaggerSupportFragment() {
6161
R.string.review_category_explanation,
6262
formattedCatString
6363
)
64-
return Html.fromHtml(stringToConvertHtml).toString()
64+
val formattedString = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
65+
Html.fromHtml(stringToConvertHtml, Html.FROM_HTML_MODE_LEGACY).toString()
66+
} else {
67+
Html.fromHtml(stringToConvertHtml).toString()
68+
}
69+
return formattedString
6570
}
6671
}
6772
return getString(R.string.review_no_category)

app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseFragment.kt

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package fr.free.nrw.commons.upload.license
22

33
import android.app.Activity
44
import android.net.Uri
5+
import android.os.Build
56
import android.os.Bundle
67
import android.text.Html
78
import android.text.SpannableStringBuilder
@@ -151,7 +152,11 @@ class MediaLicenseFragment : UploadBaseFragment(), MediaLicenseContract.View {
151152
}
152153

153154
private fun setTextViewHTML(textView: TextView, text: String) {
154-
val sequence: CharSequence = Html.fromHtml(text)
155+
val sequence: CharSequence = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
156+
Html.fromHtml(text, Html.FROM_HTML_MODE_LEGACY)
157+
} else {
158+
Html.fromHtml(text)
159+
}
155160
val strBuilder = SpannableStringBuilder(sequence)
156161
val urls = strBuilder.getSpans(
157162
0, sequence.length,

0 commit comments

Comments
 (0)