nextgis / android_gisapp

:dart: GIS application for Android
http://nextgis.com/nextgis-mobile
GNU General Public License v3.0
133 stars 107 forks source link

Корректный URL не проходит проверку в maplib #604

Closed NikitaFeodonit closed 6 years ago

NikitaFeodonit commented 6 years ago

Проблема возникает с некоторыми URL в этой точке:

https://github.com/nextgis/android_maplib/blob/57b650aa903e9b6cdf4da73f99d29a877f9de804/src/main/java/com/nextgis/maplib/util/NetworkUtil.java#L145

Валидатор android.util.Patterns.WEB_URL.matcher() не пропускает, например, такой URL, который открывается в браузере:

http://kedr.primorsky.ru/ngw/api/resource/57/feature/?bbox=14837293.000000,5535483.500000,14980318.000000,5692577.000000&status=%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9&date={%22gt%22:%222017-06-18T00:00:00Z%22}

На этот валидатор уже были нарекания: https://stackoverflow.com/a/29771086 Рекомендуют его вовсе не использовать, заменив на альтернативный.

jekhor commented 6 years ago

Аналогично, из-за этого же валидатора не проходит валидация URL в диалоге подключения к NextGIS Web для URL http://gis.minsk.bike/ — как минимум, старые версии этого валидатора не знают о домене .bike. Место в коде: https://github.com/nextgis/android_maplibui/blob/master/src/main/java/com/nextgis/maplibui/fragment/NGWLoginFragment.java#L200

BishopGIS commented 6 years ago

Хотел учтонить - URL вводится в поле которое открывается после перехода на Нажмите сюда!?

http://docs.nextgis.ru/docs_ngmobile/source/load_geodata.html#ngmobile-conversation-connection-webgis-pic

jekhor commented 6 years ago

Да, естественно. Если что, у меня Android 4.4.2, на нём же успешно воспроизводил в эмуляторе.

jekhor commented 6 years ago

Да, на 7 андроиде работает.