forked from organicmaps/organicmaps
[android] Process floats and doubles extras.
This commit is contained in:
parent
1b68590c77
commit
0dcd18a2fe
2 changed files with 31 additions and 21 deletions
|
@ -8,6 +8,7 @@ import android.location.Location;
|
|||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.CallSuper;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.text.TextUtils;
|
||||
|
@ -804,8 +805,8 @@ public class DownloadResourcesActivity extends BaseMwmFragmentActivity
|
|||
if (!intent.hasExtra(EXTRA_LAT) || !intent.hasExtra(EXTRA_LON))
|
||||
return false;
|
||||
|
||||
float lat = intent.getFloatExtra(EXTRA_LAT, 0.0f);
|
||||
float lon = intent.getFloatExtra(EXTRA_LON, 0.0f);
|
||||
double lat = getFloatValueFromIntent(intent, EXTRA_LAT);
|
||||
double lon = getFloatValueFromIntent(intent, EXTRA_LON);
|
||||
mMapTaskToForward = new MwmActivity.ShowPointTask(lat, lon);
|
||||
|
||||
return true;
|
||||
|
@ -833,23 +834,23 @@ public class DownloadResourcesActivity extends BaseMwmFragmentActivity
|
|||
if (!intent.hasExtra(EXTRA_LAT_TO) || !intent.hasExtra(EXTRA_LON_TO))
|
||||
return false;
|
||||
|
||||
float latTo = intent.getFloatExtra(EXTRA_LAT_TO, 0.0f);
|
||||
float lonTo = intent.getFloatExtra(EXTRA_LON_TO, 0.0f);
|
||||
double latTo = getFloatValueFromIntent(intent, EXTRA_LAT_TO);
|
||||
double lonTo = getFloatValueFromIntent(intent, EXTRA_LON_TO);
|
||||
boolean hasFrom = intent.hasExtra(EXTRA_LAT_FROM) && intent.hasExtra(EXTRA_LON_FROM);
|
||||
boolean hasRouter = intent.hasExtra(EXTRA_ROUTER);
|
||||
|
||||
if (hasFrom && hasRouter)
|
||||
{
|
||||
mMapTaskToForward = new MwmActivity.BuildRouteTask(latTo, lonTo,
|
||||
intent.getFloatExtra(EXTRA_LAT_FROM, 0.0f),
|
||||
intent.getFloatExtra(EXTRA_LON_FROM, 0.0f),
|
||||
double latFrom = getFloatValueFromIntent(intent, EXTRA_LAT_FROM);
|
||||
double lonFrom = getFloatValueFromIntent(intent, EXTRA_LON_FROM);
|
||||
mMapTaskToForward = new MwmActivity.BuildRouteTask(latTo, lonTo, latFrom,lonFrom,
|
||||
intent.getStringExtra(EXTRA_ROUTER));
|
||||
}
|
||||
else if (hasFrom)
|
||||
{
|
||||
mMapTaskToForward = new MwmActivity.BuildRouteTask(latTo, lonTo,
|
||||
intent.getFloatExtra(EXTRA_LAT_FROM, 0.0f),
|
||||
intent.getFloatExtra(EXTRA_LON_FROM, 0.0f));
|
||||
double latFrom = getFloatValueFromIntent(intent, EXTRA_LAT_FROM);
|
||||
double lonFrom = getFloatValueFromIntent(intent, EXTRA_LON_FROM);
|
||||
mMapTaskToForward = new MwmActivity.BuildRouteTask(latTo, lonTo, latFrom,lonFrom);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -860,6 +861,15 @@ public class DownloadResourcesActivity extends BaseMwmFragmentActivity
|
|||
}
|
||||
}
|
||||
|
||||
private static double getFloatValueFromIntent(@NonNull Intent intent, @NonNull String key)
|
||||
{
|
||||
double value = intent.getDoubleExtra(key, 0.0);
|
||||
if (Double.compare(value, 0.0) == 0)
|
||||
value = intent.getFloatExtra(key, 0.0f);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
private static native int nativeGetBytesToDownload();
|
||||
private static native int nativeStartNextFileDownload(Listener listener);
|
||||
private static native void nativeCancelCurrentFile();
|
||||
|
|
|
@ -2035,10 +2035,10 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
|
||||
static class ShowPointTask implements MapTask
|
||||
{
|
||||
private final float mLat;
|
||||
private final float mLon;
|
||||
private final double mLat;
|
||||
private final double mLon;
|
||||
|
||||
ShowPointTask(float lat, float lon)
|
||||
ShowPointTask(double lat, double lon)
|
||||
{
|
||||
mLat = lat;
|
||||
mLon = lon;
|
||||
|
@ -2055,26 +2055,26 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
|
||||
static class BuildRouteTask implements MapTask
|
||||
{
|
||||
private final float mLatTo;
|
||||
private final float mLonTo;
|
||||
private final double mLatTo;
|
||||
private final double mLonTo;
|
||||
@Nullable
|
||||
private final Float mLatFrom;
|
||||
private final Double mLatFrom;
|
||||
@Nullable
|
||||
private final Float mLonFrom;
|
||||
private final Double mLonFrom;
|
||||
@Nullable
|
||||
private final String mRouter;
|
||||
|
||||
BuildRouteTask(float latTo, float lonTo)
|
||||
BuildRouteTask(double latTo, double lonTo)
|
||||
{
|
||||
this(latTo, lonTo, null, null, null);
|
||||
}
|
||||
|
||||
BuildRouteTask(float latTo, float lonTo, @Nullable Float latFrom, @Nullable Float lonFrom)
|
||||
BuildRouteTask(double latTo, double lonTo, @Nullable Double latFrom, @Nullable Double lonFrom)
|
||||
{
|
||||
this(latTo, lonTo, latFrom, lonFrom, null);
|
||||
}
|
||||
|
||||
BuildRouteTask(float latTo, float lonTo, @Nullable Float latFrom, @Nullable Float lonFrom,
|
||||
BuildRouteTask(double latTo, double lonTo, @Nullable Double latFrom, @Nullable Double lonFrom,
|
||||
@Nullable String router)
|
||||
{
|
||||
mLatTo = latTo;
|
||||
|
@ -2126,7 +2126,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
}
|
||||
|
||||
@NonNull
|
||||
private MapObject fromLatLon(float lat, float lon)
|
||||
private MapObject fromLatLon(double lat, double lon)
|
||||
{
|
||||
return new MapObject("", 0L, 0, MapObject.API_POINT, "",
|
||||
"", "", "", lat, lon, "", null,
|
||||
|
|
Loading…
Add table
Reference in a new issue