diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt
index 32e0b65ca..339c6b8ee 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt
@@ -45,9 +45,6 @@ class IncomingLocationMessageViewHolder(incomingView: View) : MessageHolders
private val TAG = "LocationMessageViewHolder"
- var mapProviderUrl: String = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
- var mapProviderAttribution: String = "OpenStreetMap contributors"
-
var locationLon: String? = ""
var locationLat: String? = ""
var locationName: String? = ""
@@ -285,8 +282,9 @@ class IncomingLocationMessageViewHolder(incomingView: View) : MessageHolders
}
val urlStringBuffer = StringBuffer("file:///android_asset/leafletMapMessagePreview.html")
- urlStringBuffer.append("?mapProviderUrl=" + URLEncoder.encode(mapProviderUrl))
- urlStringBuffer.append("&mapProviderAttribution=" + URLEncoder.encode(mapProviderAttribution))
+ urlStringBuffer.append("?mapProviderUrl=" + URLEncoder.encode(context!!.getString(R.string.osm_tile_server_url)))
+ urlStringBuffer.append("&mapProviderAttribution=" + URLEncoder.encode(context!!.getString(R.string
+ .osm_tile_server_attributation)))
urlStringBuffer.append("&locationLat=" + URLEncoder.encode(locationLat))
urlStringBuffer.append("&locationLon=" + URLEncoder.encode(locationLon))
urlStringBuffer.append("&locationName=" + URLEncoder.encode(locationName))
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt
index 988f7d819..60b8cc2f6 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt
@@ -43,9 +43,6 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
private val TAG = "LocationMessageViewHolder"
- var mapProviderUrl: String = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
- var mapProviderAttribution: String = "OpenStreetMap contributors"
-
var locationLon: String? = ""
var locationLat: String? = ""
var locationName: String? = ""
@@ -243,8 +240,9 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
}
val urlStringBuffer = StringBuffer("file:///android_asset/leafletMapMessagePreview.html")
- urlStringBuffer.append("?mapProviderUrl=" + URLEncoder.encode(mapProviderUrl))
- urlStringBuffer.append("&mapProviderAttribution=" + URLEncoder.encode(mapProviderAttribution))
+ urlStringBuffer.append("?mapProviderUrl=" + URLEncoder.encode(context!!.getString(R.string.osm_tile_server_url)))
+ urlStringBuffer.append("&mapProviderAttribution=" + URLEncoder.encode(context!!.getString(R.string
+ .osm_tile_server_attributation)))
urlStringBuffer.append("&locationLat=" + URLEncoder.encode(locationLat))
urlStringBuffer.append("&locationLon=" + URLEncoder.encode(locationLon))
urlStringBuffer.append("&locationName=" + URLEncoder.encode(locationName))
diff --git a/app/src/main/java/com/nextcloud/talk/controllers/GeocodingController.kt b/app/src/main/java/com/nextcloud/talk/controllers/GeocodingController.kt
index 825ca4e4e..5f7cc6789 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/GeocodingController.kt
+++ b/app/src/main/java/com/nextcloud/talk/controllers/GeocodingController.kt
@@ -16,6 +16,7 @@ import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
import android.widget.AdapterView
import android.widget.ListView
+import android.widget.Toast
import androidx.appcompat.widget.SearchView
import androidx.core.view.MenuItemCompat
import androidx.preference.PreferenceManager
@@ -111,7 +112,6 @@ class GeocodingController(args: Bundle) : BaseController(args), SearchView.OnQue
geocodingResultListView?.onItemClickListener = AdapterView.OnItemClickListener { parent, view, position, id ->
val address: Address = adapter.getItem(position) as Address
-
val listener: GeocodingResultListener? = targetController as GeocodingResultListener?
listener?.receiveChosenGeocodingResult(address.latitude, address.longitude, address.displayName)
router.popCurrentController()
@@ -133,7 +133,6 @@ class GeocodingController(args: Bundle) : BaseController(args), SearchView.OnQue
super.onPrepareOptionsMenu(menu)
hideSearchBar()
actionBar.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent)))
- actionBar.title = "Share location"
}
override fun onQueryTextSubmit(query: String?): Boolean {
@@ -152,18 +151,17 @@ class GeocodingController(args: Bundle) : BaseController(args), SearchView.OnQue
val searchManager = activity!!.getSystemService(Context.SEARCH_SERVICE) as SearchManager
if (searchItem != null) {
searchView = MenuItemCompat.getActionView(searchItem) as SearchView
- searchView?.setMaxWidth(Int.MAX_VALUE)
- searchView?.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER)
+ searchView?.maxWidth = Int.MAX_VALUE
+ searchView?.inputType = InputType.TYPE_TEXT_VARIATION_FILTER
var imeOptions = EditorInfo.IME_ACTION_DONE or EditorInfo.IME_FLAG_NO_FULLSCREEN
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && appPreferences!!.isKeyboardIncognito) {
imeOptions = imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING
}
- searchView?.setImeOptions(imeOptions)
- searchView?.setQueryHint(resources!!.getString(R.string.nc_search))
+ searchView?.imeOptions = imeOptions
+ searchView?.queryHint = resources!!.getString(R.string.nc_search)
searchView?.setSearchableInfo(searchManager.getSearchableInfo(activity!!.componentName))
searchView?.setOnQueryTextListener(this)
-
searchItem?.setOnActionExpandListener(object : MenuItem.OnActionExpandListener {
override fun onMenuItemActionExpand(menuItem: MenuItem): Boolean {
return true
@@ -183,8 +181,8 @@ class GeocodingController(args: Bundle) : BaseController(args), SearchView.OnQue
registry.register(Scheme("https", SSLSocketFactory.getSocketFactory(), 443))
val connexionManager: ClientConnectionManager = SingleClientConnManager(null, registry)
val httpClient: HttpClient = DefaultHttpClient(connexionManager, null)
- val baseUrl = "https://nominatim.openstreetmap.org/"
- val email = "android@nextcloud.com"
+ val baseUrl = context!!.getString(R.string.osm_geocoder_url)
+ val email = context!!.getString(R.string.osm_geocoder_contact)
nominatimClient = JsonNominatimClient(baseUrl, httpClient, email)
}
@@ -206,6 +204,7 @@ class GeocodingController(args: Bundle) : BaseController(args), SearchView.OnQue
}
} catch (e: Exception) {
Log.e(TAG, "Failed to get geocoded addresses", e)
+ Toast.makeText(context, R.string.nc_common_error_sorry, Toast.LENGTH_LONG).show()
}
updateResultsOnMainThread(results)
}
diff --git a/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt b/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt
index da2f660f7..06103a333 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt
+++ b/app/src/main/java/com/nextcloud/talk/controllers/LocationPickerController.kt
@@ -146,10 +146,9 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
override fun onPrepareOptionsMenu(menu: Menu) {
super.onPrepareOptionsMenu(menu)
- Log.d(TAG, "onPrepareOptionsMenu")
hideSearchBar()
actionBar.setIcon(ColorDrawable(resources!!.getColor(android.R.color.transparent)))
- actionBar.title = "Share location"
+ actionBar.title = context!!.getString(R.string.nc_share_location)
}
override fun onViewBound(view: View) {
@@ -163,7 +162,7 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
placeName?.text.toString()
)
} else {
- Log.d(TAG, "readyToShareLocation was false while user tried to share location.")
+ Log.w(TAG, "readyToShareLocation was false while user tried to share location.")
}
}
}
@@ -181,9 +180,7 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
}
searchView?.setImeOptions(imeOptions)
searchView?.setQueryHint(resources!!.getString(R.string.nc_search))
- if (searchManager != null) {
- searchView?.setSearchableInfo(searchManager.getSearchableInfo(activity!!.componentName))
- }
+ searchView?.setSearchableInfo(searchManager.getSearchableInfo(activity!!.componentName))
searchView?.setOnQueryTextListener(this)
}
}
@@ -286,15 +283,15 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
private fun setLocationDescription(isGpsLocation: Boolean, isGeocodedResult: Boolean) {
when {
isGpsLocation -> {
- shareLocationDescription?.text = "Share current location"
+ shareLocationDescription?.text = context!!.getText(R.string.nc_share_current_location)
placeName?.text = ""
}
isGeocodedResult -> {
- shareLocationDescription?.text = "Share this location"
+ shareLocationDescription?.text = context!!.getText(R.string.nc_share_this_location)
placeName?.text = geocodedName
}
else -> {
- shareLocationDescription?.text = "Share this location"
+ shareLocationDescription?.text = context!!.getText(R.string.nc_share_this_location)
placeName?.text = ""
}
}
@@ -379,7 +376,7 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
if (requestCode == REQUEST_PERMISSIONS_REQUEST_CODE && grantResults.size > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
initMap()
} else {
- Toast.makeText(context, "location permission required!", Toast.LENGTH_LONG).show()
+ Toast.makeText(context, context!!.getString(R.string.nc_location_permission_required), Toast.LENGTH_LONG).show()
}
}
@@ -395,8 +392,8 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
registry.register(Scheme("https", SSLSocketFactory.getSocketFactory(), 443))
val connexionManager: ClientConnectionManager = SingleClientConnManager(null, registry)
val httpClient: HttpClient = DefaultHttpClient(connexionManager, null)
- val baseUrl = "https://nominatim.openstreetmap.org/"
- val email = "android@nextcloud.com"
+ val baseUrl = context!!.getString(R.string.osm_geocoder_url)
+ val email = context!!.getString(R.string.osm_geocoder_contact)
nominatimClient = JsonNominatimClient(baseUrl, httpClient, email)
}
@@ -413,6 +410,7 @@ class LocationPickerController(args: Bundle) : BaseController(args), SearchView.
address = nominatimClient!!.getAddress(lon, lat)
} catch (e: Exception) {
Log.e(TAG, "Failed to get geocoded addresses", e)
+ Toast.makeText(context, R.string.nc_common_error_sorry, Toast.LENGTH_LONG).show()
}
updateResultOnMainThread(lat, lon, address?.displayName)
}
diff --git a/app/src/main/res/values/setup.xml b/app/src/main/res/values/setup.xml
index 137ae3611..2435ca1bf 100644
--- a/app/src/main/res/values/setup.xml
+++ b/app/src/main/res/values/setup.xml
@@ -54,4 +54,11 @@
1:829118773643:android:54b65087c544d819
AIzaSyAWIyOcLafaFp8PFL61h64cy1NNZW2cU_s
nextcloud-a7dea.appspot.com
+
+
+ https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
+ OpenStreetMap contributors
+ https://nominatim.openstreetmap.org/
+ android@nextcloud.com
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2b68b65f1..b8ec27e81 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -375,6 +375,9 @@
Share location
+ location permission is required
+ Share current location
+ Share this location
phone_book_integration