mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Merge pull request #745 from veyndan/string-sanitation
Simplify string sanitation logic
This commit is contained in:
commit
f8bb106b83
2 changed files with 8 additions and 20 deletions
|
|
@ -64,7 +64,7 @@ public class NearbyInfoDialog extends OverlayDialog {
|
|||
private void getArticleLink(Bundle bundle) {
|
||||
this.sitelinks = bundle.getParcelable(ARG_SITE_LINK);
|
||||
|
||||
if (sitelinks.getWikipediaLink() == null) {
|
||||
if (sitelinks.getWikipediaLink().equals(Uri.EMPTY)) {
|
||||
goToButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
|
@ -87,16 +87,16 @@ public class NearbyInfoDialog extends OverlayDialog {
|
|||
MenuItem wikiDataArticle = popupMenu.getMenu()
|
||||
.findItem(R.id.nearby_info_menu_wikidata_article);
|
||||
|
||||
commonsArticle.setEnabled(sitelinks.getCommonsLink() != null);
|
||||
wikiDataArticle.setEnabled(sitelinks.getWikidataLink() != null);
|
||||
commonsArticle.setEnabled(!sitelinks.getCommonsLink().equals(Uri.EMPTY));
|
||||
wikiDataArticle.setEnabled(!sitelinks.getWikidataLink().equals(Uri.EMPTY));
|
||||
|
||||
popupMenu.setOnMenuItemClickListener(menuListener);
|
||||
popupMenu.show();
|
||||
}
|
||||
|
||||
private boolean showMenu() {
|
||||
return sitelinks.getCommonsLink() != null
|
||||
|| sitelinks.getWikidataLink() != null;
|
||||
return !sitelinks.getCommonsLink().equals(Uri.EMPTY)
|
||||
|| !sitelinks.getWikidataLink().equals(Uri.EMPTY);
|
||||
}
|
||||
|
||||
private PopupMenu.OnMenuItemClickListener menuListener = new PopupMenu
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ import android.os.Parcel;
|
|||
import android.os.Parcelable;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import fr.free.nrw.commons.Utils;
|
||||
|
||||
public class Sitelinks implements Parcelable {
|
||||
private final String wikipediaLink;
|
||||
private final String commonsLink;
|
||||
|
|
@ -43,31 +41,21 @@ public class Sitelinks implements Parcelable {
|
|||
}
|
||||
};
|
||||
|
||||
@Nullable
|
||||
public Uri getWikipediaLink() {
|
||||
return sanitiseString(wikipediaLink);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Uri getCommonsLink() {
|
||||
return sanitiseString(commonsLink);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Uri getWikidataLink() {
|
||||
return sanitiseString(wikidataLink);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Uri sanitiseString(String stringUrl) {
|
||||
stringUrl = stringUrl
|
||||
.replaceAll("<", "")
|
||||
.replaceAll(">", "")
|
||||
.replaceAll("[\n\r]", "");
|
||||
if (!Utils.isNullOrWhiteSpace(stringUrl) && stringUrl != null) {
|
||||
return Uri.parse(stringUrl);
|
||||
}
|
||||
return null;
|
||||
private static Uri sanitiseString(String stringUrl) {
|
||||
String sanitisedStringUrl = stringUrl.replaceAll("[<>\n\r]", "").trim();
|
||||
return Uri.parse(sanitisedStringUrl);
|
||||
}
|
||||
|
||||
private Sitelinks(Sitelinks.Builder builder) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue