mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Convert handleWebUrl to kotlin
This commit is contained in:
parent
7c06871649
commit
ac47ff3ce8
19 changed files with 80 additions and 84 deletions
1
.idea/codeStyles/Project.xml
generated
1
.idea/codeStyles/Project.xml
generated
|
|
@ -16,7 +16,6 @@
|
||||||
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
|
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
|
||||||
<option name="IMPORT_LAYOUT_TABLE">
|
<option name="IMPORT_LAYOUT_TABLE">
|
||||||
<value>
|
<value>
|
||||||
<package name="" withSubpackages="true" static="false" module="true" />
|
|
||||||
<package name="" withSubpackages="true" static="true" />
|
<package name="" withSubpackages="true" static="true" />
|
||||||
<emptyLine />
|
<emptyLine />
|
||||||
<package name="" withSubpackages="true" static="false" />
|
<package name="" withSubpackages="true" static="false" />
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import android.content.ActivityNotFoundException
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.Intent.ACTION_VIEW
|
import android.content.Intent.ACTION_VIEW
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.net.Uri.parse
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
|
|
@ -18,10 +17,9 @@ import fr.free.nrw.commons.databinding.ActivityAboutBinding
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.utils.ConfigUtils.getVersionNameWithSha
|
import fr.free.nrw.commons.utils.ConfigUtils.getVersionNameWithSha
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
import fr.free.nrw.commons.utils.UnderlineUtils
|
|
||||||
import fr.free.nrw.commons.utils.UrlUtils.handleWebUrl
|
|
||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.utils.setUnderlinedText
|
import fr.free.nrw.commons.utils.setUnderlinedText
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -95,27 +93,27 @@ class AboutActivity : BaseActivity() {
|
||||||
fun launchFacebook(view: View?) {
|
fun launchFacebook(view: View?) {
|
||||||
val intent: Intent
|
val intent: Intent
|
||||||
try {
|
try {
|
||||||
intent = Intent(Intent.ACTION_VIEW, Uri.parse(Urls.FACEBOOK_APP_URL))
|
intent = Intent(ACTION_VIEW, Urls.FACEBOOK_APP_URL.toUri())
|
||||||
intent.setPackage(Urls.FACEBOOK_PACKAGE_NAME)
|
intent.setPackage(Urls.FACEBOOK_PACKAGE_NAME)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
handleWebUrl(this, parse(Urls.FACEBOOK_WEB_URL))
|
handleWebUrl(this, Urls.FACEBOOK_WEB_URL.toUri())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchGithub(view: View?) {
|
fun launchGithub(view: View?) {
|
||||||
val intent: Intent
|
val intent: Intent
|
||||||
try {
|
try {
|
||||||
intent = Intent(Intent.ACTION_VIEW, Uri.parse(Urls.GITHUB_REPO_URL))
|
intent = Intent(ACTION_VIEW, Urls.GITHUB_REPO_URL.toUri())
|
||||||
intent.setPackage(Urls.GITHUB_PACKAGE_NAME)
|
intent.setPackage(Urls.GITHUB_PACKAGE_NAME)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
handleWebUrl(this, parse(Urls.GITHUB_REPO_URL))
|
handleWebUrl(this, Urls.GITHUB_REPO_URL.toUri())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchWebsite(view: View?) {
|
fun launchWebsite(view: View?) {
|
||||||
handleWebUrl(this, parse(Urls.WEBSITE_URL))
|
handleWebUrl(this, Urls.WEBSITE_URL.toUri())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchRatings(view: View?) {
|
fun launchRatings(view: View?) {
|
||||||
|
|
@ -132,19 +130,19 @@ class AboutActivity : BaseActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchCredits(view: View?) {
|
fun launchCredits(view: View?) {
|
||||||
handleWebUrl(this, parse(Urls.CREDITS_URL))
|
handleWebUrl(this, Urls.CREDITS_URL.toUri())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchUserGuide(view: View?) {
|
fun launchUserGuide(view: View?) {
|
||||||
handleWebUrl(this, parse(Urls.USER_GUIDE_URL))
|
handleWebUrl(this, Urls.USER_GUIDE_URL.toUri())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchPrivacyPolicy(view: View?) {
|
fun launchPrivacyPolicy(view: View?) {
|
||||||
handleWebUrl(this, parse(BuildConfig.PRIVACY_POLICY_URL))
|
handleWebUrl(this, BuildConfig.PRIVACY_POLICY_URL.toUri())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun launchFrequentlyAskedQuesions(view: View?) {
|
fun launchFrequentlyAskedQuesions(view: View?) {
|
||||||
handleWebUrl(this, parse(Urls.FAQ_URL))
|
handleWebUrl(this, Urls.FAQ_URL.toUri())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
|
|
@ -191,7 +189,7 @@ class AboutActivity : BaseActivity() {
|
||||||
|
|
||||||
val positiveButtonRunnable = Runnable {
|
val positiveButtonRunnable = Runnable {
|
||||||
val langCode = instance.languageLookUpTable!!.getCodes()[spinner.selectedItemPosition]
|
val langCode = instance.languageLookUpTable!!.getCodes()[spinner.selectedItemPosition]
|
||||||
handleWebUrl(this@AboutActivity, parse(Urls.TRANSLATE_WIKI_URL + langCode))
|
handleWebUrl(this@AboutActivity, (Urls.TRANSLATE_WIKI_URL + langCode).toUri())
|
||||||
}
|
}
|
||||||
showAlertDialog(
|
showAlertDialog(
|
||||||
this,
|
this,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package fr.free.nrw.commons;
|
package fr.free.nrw.commons;
|
||||||
|
|
||||||
|
import static fr.free.nrw.commons.utils.UrlUtilsKt.handleWebUrl;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
@ -7,7 +9,6 @@ import android.view.ViewGroup;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.viewpager.widget.PagerAdapter;
|
import androidx.viewpager.widget.PagerAdapter;
|
||||||
import fr.free.nrw.commons.utils.UrlUtils;
|
|
||||||
import fr.free.nrw.commons.utils.UnderlineUtils;
|
import fr.free.nrw.commons.utils.UnderlineUtils;
|
||||||
|
|
||||||
public class WelcomePagerAdapter extends PagerAdapter {
|
public class WelcomePagerAdapter extends PagerAdapter {
|
||||||
|
|
@ -49,7 +50,7 @@ public class WelcomePagerAdapter extends PagerAdapter {
|
||||||
// Add link to more information
|
// Add link to more information
|
||||||
TextView moreInfo = layout.findViewById(R.id.welcomeInfo);
|
TextView moreInfo = layout.findViewById(R.id.welcomeInfo);
|
||||||
UnderlineUtils.setUnderlinedText(moreInfo, R.string.welcome_help_button_text);
|
UnderlineUtils.setUnderlinedText(moreInfo, R.string.welcome_help_button_text);
|
||||||
moreInfo.setOnClickListener(view -> UrlUtils.handleWebUrl(
|
moreInfo.setOnClickListener(view -> handleWebUrl(
|
||||||
container.getContext(),
|
container.getContext(),
|
||||||
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")
|
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,8 @@ import fr.free.nrw.commons.utils.AbstractTextWatcher
|
||||||
import fr.free.nrw.commons.utils.ActivityUtils.startActivityWithFlags
|
import fr.free.nrw.commons.utils.ActivityUtils.startActivityWithFlags
|
||||||
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
||||||
import fr.free.nrw.commons.utils.SystemThemeUtils
|
import fr.free.nrw.commons.utils.SystemThemeUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.hideKeyboard
|
import fr.free.nrw.commons.utils.ViewUtil.hideKeyboard
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import io.reactivex.disposables.CompositeDisposable
|
import io.reactivex.disposables.CompositeDisposable
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
@ -254,10 +254,10 @@ class LoginActivity : AccountAuthenticatorActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun forgotPassword() =
|
private fun forgotPassword() =
|
||||||
UrlUtils.handleWebUrl(this, Uri.parse(BuildConfig.FORGOT_PASSWORD_URL))
|
handleWebUrl(this, Uri.parse(BuildConfig.FORGOT_PASSWORD_URL))
|
||||||
|
|
||||||
private fun onPrivacyPolicyClicked() =
|
private fun onPrivacyPolicyClicked() =
|
||||||
UrlUtils.handleWebUrl(this, Uri.parse(BuildConfig.PRIVACY_POLICY_URL))
|
handleWebUrl(this, Uri.parse(BuildConfig.PRIVACY_POLICY_URL))
|
||||||
|
|
||||||
private fun signUp() =
|
private fun signUp() =
|
||||||
startActivity(Intent(this, SignupActivity::class.java))
|
startActivity(Intent(this, SignupActivity::class.java))
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.utils.CommonsDateUtil.getIso8601DateFormatShort
|
import fr.free.nrw.commons.utils.CommonsDateUtil.getIso8601DateFormatShort
|
||||||
import fr.free.nrw.commons.utils.DateUtil.getExtraShortDateString
|
import fr.free.nrw.commons.utils.DateUtil.getExtraShortDateString
|
||||||
import fr.free.nrw.commons.utils.SwipableCardView
|
import fr.free.nrw.commons.utils.SwipableCardView
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.text.ParseException
|
import java.text.ParseException
|
||||||
|
|
||||||
|
|
@ -74,7 +74,7 @@ class CampaignView : SwipableCardView {
|
||||||
if (it.isWLMCampaign) {
|
if (it.isWLMCampaign) {
|
||||||
((context) as MainActivity).showNearby()
|
((context) as MainActivity).showNearby()
|
||||||
} else {
|
} else {
|
||||||
UrlUtils.handleWebUrl(context, Uri.parse(it.link))
|
handleWebUrl(context, Uri.parse(it.link))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import fr.free.nrw.commons.explore.categories.parent.ParentCategoriesFragment
|
||||||
import fr.free.nrw.commons.explore.categories.sub.SubCategoriesFragment
|
import fr.free.nrw.commons.explore.categories.sub.SubCategoriesFragment
|
||||||
import fr.free.nrw.commons.media.MediaDetailPagerFragment
|
import fr.free.nrw.commons.media.MediaDetailPagerFragment
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.wikidata.model.WikiSite
|
import fr.free.nrw.commons.wikidata.model.WikiSite
|
||||||
import fr.free.nrw.commons.wikidata.model.page.PageTitle
|
import fr.free.nrw.commons.wikidata.model.page.PageTitle
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
@ -204,7 +204,7 @@ class CategoryDetailsActivity : BaseActivity(),
|
||||||
R.id.menu_browser_current_category -> {
|
R.id.menu_browser_current_category -> {
|
||||||
val title = PageTitle(CATEGORY_PREFIX + categoryName, WikiSite(COMMONS_URL))
|
val title = PageTitle(CATEGORY_PREFIX + categoryName, WikiSite(COMMONS_URL))
|
||||||
|
|
||||||
UrlUtils.handleWebUrl(this, Uri.parse(title.canonicalUri))
|
handleWebUrl(this, Uri.parse(title.canonicalUri))
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,9 @@ import fr.free.nrw.commons.media.MediaClient
|
||||||
import fr.free.nrw.commons.profile.ProfileActivity
|
import fr.free.nrw.commons.profile.ProfileActivity
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
import fr.free.nrw.commons.utils.SystemThemeUtils
|
import fr.free.nrw.commons.utils.SystemThemeUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
||||||
import fr.free.nrw.commons.utils.copyToClipboard
|
import fr.free.nrw.commons.utils.copyToClipboard
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.wikidata.model.WikiSite
|
import fr.free.nrw.commons.wikidata.model.WikiSite
|
||||||
import org.apache.commons.lang3.StringUtils
|
import org.apache.commons.lang3.StringUtils
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
@ -534,7 +534,7 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
|
||||||
val url =
|
val url =
|
||||||
languageWikipediaSite!!.mobileUrl() + "/wiki/" + (contribution!!.wikidataPlace
|
languageWikipediaSite!!.mobileUrl() + "/wiki/" + (contribution!!.wikidataPlace
|
||||||
?.getWikipediaPageTitle())
|
?.getWikipediaPageTitle())
|
||||||
UrlUtils.handleWebUrl(requireContext(), Uri.parse(url))
|
handleWebUrl(requireContext(), Uri.parse(url))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getContributionStateAt(position: Int): Int {
|
fun getContributionStateAt(position: Int): Int {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package fr.free.nrw.commons.explore.depictions;
|
package fr.free.nrw.commons.explore.depictions;
|
||||||
|
|
||||||
|
import static fr.free.nrw.commons.utils.UrlUtilsKt.handleWebUrl;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
@ -13,7 +15,6 @@ import androidx.fragment.app.FragmentManager;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import fr.free.nrw.commons.Media;
|
import fr.free.nrw.commons.Media;
|
||||||
import fr.free.nrw.commons.R;
|
import fr.free.nrw.commons.R;
|
||||||
import fr.free.nrw.commons.utils.UrlUtils;
|
|
||||||
import fr.free.nrw.commons.ViewPagerAdapter;
|
import fr.free.nrw.commons.ViewPagerAdapter;
|
||||||
import fr.free.nrw.commons.bookmarks.items.BookmarkItemsDao;
|
import fr.free.nrw.commons.bookmarks.items.BookmarkItemsDao;
|
||||||
import fr.free.nrw.commons.category.CategoryImagesCallback;
|
import fr.free.nrw.commons.category.CategoryImagesCallback;
|
||||||
|
|
@ -245,7 +246,7 @@ public class WikidataItemDetailsActivity extends BaseActivity implements MediaDe
|
||||||
case R.id.browser_actions_menu_items:
|
case R.id.browser_actions_menu_items:
|
||||||
String entityId=getIntent().getStringExtra("entityId");
|
String entityId=getIntent().getStringExtra("entityId");
|
||||||
Uri uri = Uri.parse("https://www.wikidata.org/wiki/" + entityId);
|
Uri uri = Uri.parse("https://www.wikidata.org/wiki/" + entityId);
|
||||||
UrlUtils.handleWebUrl(this, uri);
|
handleWebUrl(this, uri);
|
||||||
return true;
|
return true;
|
||||||
case R.id.menu_bookmark_current_item:
|
case R.id.menu_bookmark_current_item:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import static fr.free.nrw.commons.location.LocationServiceManager.LocationChange
|
||||||
import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.LOCATION_SLIGHTLY_CHANGED;
|
import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.LOCATION_SLIGHTLY_CHANGED;
|
||||||
import static fr.free.nrw.commons.utils.GeoCoordinatesKt.handleGeoCoordinates;
|
import static fr.free.nrw.commons.utils.GeoCoordinatesKt.handleGeoCoordinates;
|
||||||
import static fr.free.nrw.commons.utils.MapUtils.ZOOM_LEVEL;
|
import static fr.free.nrw.commons.utils.MapUtils.ZOOM_LEVEL;
|
||||||
|
import static fr.free.nrw.commons.utils.UrlUtilsKt.handleWebUrl;
|
||||||
|
|
||||||
import android.Manifest.permission;
|
import android.Manifest.permission;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
|
@ -37,7 +38,6 @@ import fr.free.nrw.commons.BaseMarker;
|
||||||
import fr.free.nrw.commons.MapController;
|
import fr.free.nrw.commons.MapController;
|
||||||
import fr.free.nrw.commons.Media;
|
import fr.free.nrw.commons.Media;
|
||||||
import fr.free.nrw.commons.R;
|
import fr.free.nrw.commons.R;
|
||||||
import fr.free.nrw.commons.utils.UrlUtils;
|
|
||||||
import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsDao;
|
import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsDao;
|
||||||
import fr.free.nrw.commons.contributions.MainActivity;
|
import fr.free.nrw.commons.contributions.MainActivity;
|
||||||
import fr.free.nrw.commons.databinding.FragmentExploreMapBinding;
|
import fr.free.nrw.commons.databinding.FragmentExploreMapBinding;
|
||||||
|
|
@ -646,7 +646,7 @@ public class ExploreMapFragment extends CommonsDaggerSupportFragment
|
||||||
binding.bottomSheetDetailsBinding.commonsButton.setVisibility(
|
binding.bottomSheetDetailsBinding.commonsButton.setVisibility(
|
||||||
place.hasCommonsLink() ? View.VISIBLE : View.GONE);
|
place.hasCommonsLink() ? View.VISIBLE : View.GONE);
|
||||||
binding.bottomSheetDetailsBinding.commonsButton.setOnClickListener(
|
binding.bottomSheetDetailsBinding.commonsButton.setOnClickListener(
|
||||||
view -> UrlUtils.handleWebUrl(getContext(), place.siteLinks.getCommonsLink()));
|
view -> handleWebUrl(getContext(), place.siteLinks.getCommonsLink()));
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
for (Media media : mediaList) {
|
for (Media media : mediaList) {
|
||||||
|
|
|
||||||
|
|
@ -116,12 +116,12 @@ import fr.free.nrw.commons.utils.LangCodeUtils.getLocalizedResources
|
||||||
import fr.free.nrw.commons.utils.PermissionUtils.PERMISSIONS_STORAGE
|
import fr.free.nrw.commons.utils.PermissionUtils.PERMISSIONS_STORAGE
|
||||||
import fr.free.nrw.commons.utils.PermissionUtils.checkPermissionsAndPerformAction
|
import fr.free.nrw.commons.utils.PermissionUtils.checkPermissionsAndPerformAction
|
||||||
import fr.free.nrw.commons.utils.PermissionUtils.hasPermission
|
import fr.free.nrw.commons.utils.PermissionUtils.hasPermission
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil
|
import fr.free.nrw.commons.utils.ViewUtil
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
||||||
import fr.free.nrw.commons.utils.ViewUtilWrapper
|
import fr.free.nrw.commons.utils.ViewUtilWrapper
|
||||||
import fr.free.nrw.commons.utils.copyToClipboard
|
import fr.free.nrw.commons.utils.copyToClipboard
|
||||||
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.utils.setUnderlinedText
|
import fr.free.nrw.commons.utils.setUnderlinedText
|
||||||
import fr.free.nrw.commons.wikidata.mwapi.MwQueryPage.Revision
|
import fr.free.nrw.commons.wikidata.mwapi.MwQueryPage.Revision
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
|
|
@ -912,7 +912,7 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C
|
||||||
private fun onMediaDetailLicenceClicked() {
|
private fun onMediaDetailLicenceClicked() {
|
||||||
val url: String? = media!!.licenseUrl
|
val url: String? = media!!.licenseUrl
|
||||||
if (!StringUtils.isBlank(url) && activity != null) {
|
if (!StringUtils.isBlank(url) && activity != null) {
|
||||||
UrlUtils.handleWebUrl(activity, Uri.parse(url))
|
handleWebUrl(requireContext(), Uri.parse(url))
|
||||||
} else {
|
} else {
|
||||||
viewUtil.showShortToast(requireActivity(), getString(R.string.null_url))
|
viewUtil.showShortToast(requireActivity(), getString(R.string.null_url))
|
||||||
}
|
}
|
||||||
|
|
@ -1768,7 +1768,7 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C
|
||||||
|
|
||||||
private fun onSeeMoreClicked() {
|
private fun onSeeMoreClicked() {
|
||||||
if (binding.nominatedDeletionBanner.visibility == View.VISIBLE && activity != null) {
|
if (binding.nominatedDeletionBanner.visibility == View.VISIBLE && activity != null) {
|
||||||
UrlUtils.handleWebUrl(activity, Uri.parse(media!!.pageTitle.mobileUri))
|
handleWebUrl(requireContext(), Uri.parse(media!!.pageTitle.mobileUri))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package fr.free.nrw.commons.media;
|
package fr.free.nrw.commons.media;
|
||||||
|
|
||||||
import static fr.free.nrw.commons.utils.UrlUtils.handleWebUrl;
|
import static fr.free.nrw.commons.utils.UrlUtilsKt.handleWebUrl;
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@ import fr.free.nrw.commons.contributions.ContributionController
|
||||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
import fr.free.nrw.commons.kvstore.JsonKvStore
|
||||||
import fr.free.nrw.commons.nearby.Place
|
import fr.free.nrw.commons.nearby.Place
|
||||||
import fr.free.nrw.commons.utils.ActivityUtils
|
import fr.free.nrw.commons.utils.ActivityUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.wikidata.WikidataConstants
|
import fr.free.nrw.commons.wikidata.WikidataConstants
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
@ -114,7 +114,7 @@ class CommonPlaceClickActions
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun openWebView(link: Uri): Boolean {
|
private fun openWebView(link: Uri): Boolean {
|
||||||
UrlUtils.handleWebUrl(activity, link)
|
handleWebUrl(activity, link)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -101,10 +101,10 @@ import fr.free.nrw.commons.utils.NearbyFABUtils.addAnchorToSmallFABs
|
||||||
import fr.free.nrw.commons.utils.NearbyFABUtils.removeAnchorFromFAB
|
import fr.free.nrw.commons.utils.NearbyFABUtils.removeAnchorFromFAB
|
||||||
import fr.free.nrw.commons.utils.NetworkUtils.isInternetConnectionEstablished
|
import fr.free.nrw.commons.utils.NetworkUtils.isInternetConnectionEstablished
|
||||||
import fr.free.nrw.commons.utils.SystemThemeUtils
|
import fr.free.nrw.commons.utils.SystemThemeUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
||||||
import fr.free.nrw.commons.utils.copyToClipboard
|
import fr.free.nrw.commons.utils.copyToClipboard
|
||||||
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
import fr.free.nrw.commons.utils.handleGeoCoordinates
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.utils.isMonumentsEnabled
|
import fr.free.nrw.commons.utils.isMonumentsEnabled
|
||||||
import fr.free.nrw.commons.wikidata.WikidataConstants
|
import fr.free.nrw.commons.wikidata.WikidataConstants
|
||||||
import fr.free.nrw.commons.wikidata.WikidataEditListener
|
import fr.free.nrw.commons.wikidata.WikidataEditListener
|
||||||
|
|
@ -2860,7 +2860,7 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
|
||||||
|
|
||||||
R.drawable.ic_wikidata_logo_24dp -> {
|
R.drawable.ic_wikidata_logo_24dp -> {
|
||||||
selectedPlace?.siteLinks?.wikidataLink?.let {
|
selectedPlace?.siteLinks?.wikidataLink?.let {
|
||||||
UrlUtils.handleWebUrl(this.context, it)
|
handleWebUrl(requireContext(), it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2878,13 +2878,13 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
|
||||||
|
|
||||||
R.drawable.ic_wikipedia_logo_24dp -> {
|
R.drawable.ic_wikipedia_logo_24dp -> {
|
||||||
selectedPlace?.siteLinks?.wikipediaLink?.let {
|
selectedPlace?.siteLinks?.wikipediaLink?.let {
|
||||||
UrlUtils.handleWebUrl(this.context, it)
|
handleWebUrl(requireContext(), it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
R.drawable.ic_commons_icon_vector -> {
|
R.drawable.ic_commons_icon_vector -> {
|
||||||
selectedPlace?.siteLinks?.commonsLink?.let {
|
selectedPlace?.siteLinks?.commonsLink?.let {
|
||||||
UrlUtils.handleWebUrl(this.context, it)
|
handleWebUrl(requireContext(), it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ import fr.free.nrw.commons.notification.models.Notification
|
||||||
import fr.free.nrw.commons.notification.models.NotificationType
|
import fr.free.nrw.commons.notification.models.NotificationType
|
||||||
import fr.free.nrw.commons.theme.BaseActivity
|
import fr.free.nrw.commons.theme.BaseActivity
|
||||||
import fr.free.nrw.commons.utils.NetworkUtils
|
import fr.free.nrw.commons.utils.NetworkUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil
|
import fr.free.nrw.commons.utils.ViewUtil
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
|
|
@ -197,7 +197,7 @@ class NotificationActivity : BaseActivity() {
|
||||||
|
|
||||||
private fun handleUrl(url: String?) {
|
private fun handleUrl(url: String?) {
|
||||||
if (url.isNullOrEmpty()) return
|
if (url.isNullOrEmpty()) return
|
||||||
UrlUtils.handleWebUrl(this, Uri.parse(url))
|
handleWebUrl(this, Uri.parse(url))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setItems(notificationList: List<Notification>?) {
|
private fun setItems(notificationList: List<Notification>?) {
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,9 @@ import fr.free.nrw.commons.profile.ProfileActivity
|
||||||
import fr.free.nrw.commons.profile.achievements.LevelController.LevelInfo.Companion.from
|
import fr.free.nrw.commons.profile.achievements.LevelController.LevelInfo.Companion.from
|
||||||
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
import fr.free.nrw.commons.utils.ConfigUtils.isBetaFlavour
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showDismissibleSnackBar
|
import fr.free.nrw.commons.utils.ViewUtil.showDismissibleSnackBar
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
import org.apache.commons.lang3.StringUtils
|
import org.apache.commons.lang3.StringUtils
|
||||||
|
|
@ -524,7 +524,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){
|
||||||
getString(R.string.ok),
|
getString(R.string.ok),
|
||||||
getString(R.string.read_help_link),
|
getString(R.string.read_help_link),
|
||||||
{},
|
{},
|
||||||
{ UrlUtils.handleWebUrl(requireContext(), Uri.parse(helpLinkUrl)) },
|
{ handleWebUrl(requireContext(), Uri.parse(helpLinkUrl)) },
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,8 @@ import fr.free.nrw.commons.upload.LanguagesAdapter
|
||||||
import fr.free.nrw.commons.utils.DialogUtil
|
import fr.free.nrw.commons.utils.DialogUtil
|
||||||
import fr.free.nrw.commons.utils.PermissionUtils
|
import fr.free.nrw.commons.utils.PermissionUtils
|
||||||
import fr.free.nrw.commons.utils.StringUtil
|
import fr.free.nrw.commons.utils.StringUtil
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
|
||||||
import fr.free.nrw.commons.utils.ViewUtil
|
import fr.free.nrw.commons.utils.ViewUtil
|
||||||
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Named
|
import javax.inject.Named
|
||||||
|
|
@ -238,7 +238,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
|
|
||||||
val betaTesterPreference: Preference? = findPreference("becomeBetaTester")
|
val betaTesterPreference: Preference? = findPreference("becomeBetaTester")
|
||||||
betaTesterPreference?.setOnPreferenceClickListener {
|
betaTesterPreference?.setOnPreferenceClickListener {
|
||||||
UrlUtils.handleWebUrl(
|
handleWebUrl(
|
||||||
requireActivity(),
|
requireActivity(),
|
||||||
Uri.parse(getString(R.string.beta_opt_in_link))
|
Uri.parse(getString(R.string.beta_opt_in_link))
|
||||||
)
|
)
|
||||||
|
|
@ -298,7 +298,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
getString(R.string.ok),
|
getString(R.string.ok),
|
||||||
getString(R.string.read_help_link),
|
getString(R.string.read_help_link),
|
||||||
{ },
|
{ },
|
||||||
{ UrlUtils.handleWebUrl(requireContext(), Uri.parse(GET_CONTENT_PICKER_HELP_URL)) },
|
{ handleWebUrl(requireContext(), Uri.parse(GET_CONTENT_PICKER_HELP_URL)) },
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import fr.free.nrw.commons.databinding.FragmentMediaLicenseBinding
|
||||||
import fr.free.nrw.commons.upload.UploadActivity
|
import fr.free.nrw.commons.upload.UploadActivity
|
||||||
import fr.free.nrw.commons.upload.UploadBaseFragment
|
import fr.free.nrw.commons.upload.UploadBaseFragment
|
||||||
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
import fr.free.nrw.commons.utils.handleWebUrl
|
||||||
import fr.free.nrw.commons.utils.toLicenseName
|
import fr.free.nrw.commons.utils.toLicenseName
|
||||||
import fr.free.nrw.commons.utils.toLicenseUrl
|
import fr.free.nrw.commons.utils.toLicenseUrl
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
@ -186,7 +186,7 @@ class MediaLicenseFragment : UploadBaseFragment(), MediaLicenseContract.View {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun launchBrowser(hyperLink: String) =
|
private fun launchBrowser(hyperLink: String) =
|
||||||
UrlUtils.handleWebUrl(context, Uri.parse(hyperLink))
|
handleWebUrl(requireContext(), Uri.parse(hyperLink))
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
presenter.onDetachView()
|
presenter.onDetachView()
|
||||||
|
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
package fr.free.nrw.commons.utils;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.net.Uri;
|
|
||||||
import androidx.browser.customtabs.CustomTabColorSchemeParams;
|
|
||||||
import androidx.browser.customtabs.CustomTabsIntent;
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
import fr.free.nrw.commons.R;
|
|
||||||
import timber.log.Timber;
|
|
||||||
|
|
||||||
public final class UrlUtils {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Opens Custom Tab Activity with in-app browser for the specified URL.
|
|
||||||
* Launches intent for web URL
|
|
||||||
* @param context
|
|
||||||
* @param url
|
|
||||||
*/
|
|
||||||
public static void handleWebUrl(Context context, Uri url) {
|
|
||||||
Timber.d("Launching web url %s", url.toString());
|
|
||||||
|
|
||||||
final CustomTabColorSchemeParams color = new CustomTabColorSchemeParams.Builder()
|
|
||||||
.setToolbarColor(ContextCompat.getColor(context, R.color.primaryColor))
|
|
||||||
.setSecondaryToolbarColor(ContextCompat.getColor(context, R.color.primaryDarkColor))
|
|
||||||
.build();
|
|
||||||
|
|
||||||
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
|
|
||||||
builder.setDefaultColorSchemeParams(color);
|
|
||||||
builder.setExitAnimations(context, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
|
|
||||||
CustomTabsIntent customTabsIntent = builder.build();
|
|
||||||
// Clear previous browser tasks, so that back/exit buttons work as intended.
|
|
||||||
customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
|
||||||
customTabsIntent.launchUrl(context, url);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
33
app/src/main/java/fr/free/nrw/commons/utils/UrlUtils.kt
Normal file
33
app/src/main/java/fr/free/nrw/commons/utils/UrlUtils.kt
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
package fr.free.nrw.commons.utils
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import androidx.browser.customtabs.CustomTabColorSchemeParams
|
||||||
|
import androidx.browser.customtabs.CustomTabsIntent
|
||||||
|
import androidx.core.content.ContextCompat
|
||||||
|
import fr.free.nrw.commons.R
|
||||||
|
import timber.log.Timber
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Opens Custom Tab Activity with in-app browser for the specified URL.
|
||||||
|
* Launches intent for web URL
|
||||||
|
*/
|
||||||
|
fun handleWebUrl(context: Context, url: Uri) {
|
||||||
|
Timber.d("Launching web url %s", url.toString())
|
||||||
|
|
||||||
|
val color = CustomTabColorSchemeParams.Builder()
|
||||||
|
.setToolbarColor(ContextCompat.getColor(context, R.color.primaryColor))
|
||||||
|
.setSecondaryToolbarColor(ContextCompat.getColor(context, R.color.primaryDarkColor))
|
||||||
|
.build()
|
||||||
|
|
||||||
|
val customTabsIntent = CustomTabsIntent.Builder()
|
||||||
|
.setDefaultColorSchemeParams(color)
|
||||||
|
.setExitAnimations(
|
||||||
|
context, android.R.anim.slide_in_left, android.R.anim.slide_out_right
|
||||||
|
).build()
|
||||||
|
|
||||||
|
// Clear previous browser tasks, so that back/exit buttons work as intended.
|
||||||
|
customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||||
|
customTabsIntent.launchUrl(context, url)
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue