diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java b/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java index 92ed28ad2..36454d1cb 100644 --- a/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java @@ -104,12 +104,12 @@ public class ShareLocationActivity extends LocationActivity implements LocationL if (snackBarCoordinator != null) { this.snackBar = Snackbar.make(snackBarCoordinator, R.string.location_sharing_disabled, Snackbar.LENGTH_INDEFINITE); snackBar.setAction(R.string.enable, view -> { + showLocation(null, ""); if (isLocationEnabled()) { if (hasLocationPermission(LocationActivity.REQUEST_LOCATION_PERMISSION)) { requestLocationUpdates(); } } else { - showLocation(null, null); setShareButtonEnabled(false); if (hasLocationPermission(LocationActivity.REQUEST_LOCATION_PERMISSION)) { requestLocationUpdates(); @@ -142,7 +142,7 @@ public class ShareLocationActivity extends LocationActivity implements LocationL super.onResume(); if (isLocationEnabled()) { this.snackBar.dismiss(); - showLocation(null, null); + showLocation(null, ""); } else { this.snackBar.show(); } @@ -208,7 +208,7 @@ public class ShareLocationActivity extends LocationActivity implements LocationL } } - private void showLocation(@Nullable Location location, @Nullable String address) { + private void showLocation(@Nullable Location location, String address) { if (location == null && TextUtils.isEmpty(address)) { // no location and no address available final WebView webView = findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); @@ -217,12 +217,12 @@ public class ShareLocationActivity extends LocationActivity implements LocationL String LocationName = "<b>" + mLocationName + "</b>"; final WebView webView = findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); - webView.loadUrl("file:///android_asset/map.html?lat=" + mLastLocation.getLatitude() + "&lon=" + mLastLocation.getLongitude() + "&name=" + LocationName); + webView.loadUrl("javascript:toCoordinates(" + mLastLocation.getLatitude() + "," + mLastLocation.getLongitude() + "," + "'" + LocationName + "'" +");"); } else if (location != null && !TextUtils.isEmpty(address)) { // location and address available String LocationName = "<b>" + mLocationName + "</b><br>" + address; final WebView webView = findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); - webView.loadUrl("file:///android_asset/map.html?lat=" + mLastLocation.getLatitude() + "&lon=" + mLastLocation.getLongitude() + "&name=" + LocationName); + webView.loadUrl("javascript:toCoordinates(" + mLastLocation.getLatitude() + "," + mLastLocation.getLongitude() + "," + "'" + LocationName + "'" +");"); } } @@ -238,12 +238,14 @@ public class ShareLocationActivity extends LocationActivity implements LocationL @Override protected void onPreExecute() { super.onPreExecute(); - showLocation(mLastLocation, null); + showLocation(mLastLocation, ""); } @Override protected Void doInBackground(Void... params) { - address = getAddress(ShareLocationActivity.this, mLastLocation); + if (mLastLocation != null) { + address = getAddress(ShareLocationActivity.this, mLastLocation); + } return null; } |