forked from organicmaps/organicmaps
[android] Fixed crash while Uber order on tablet
This commit is contained in:
parent
b26eaabd8a
commit
fef7a7c661
3 changed files with 43 additions and 28 deletions
|
@ -1,11 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Button xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/start"
|
||||
android:layout_width="@dimen/start_button_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/p2p_start"
|
||||
style="@style/MwmWidget.Button.Start"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"
|
||||
tools:showIn="@layout/menu_route_plan_line"/>
|
||||
<Button
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/start"
|
||||
android:layout_width="wrap_content"
|
||||
android:minWidth="@dimen/start_button_width"
|
||||
android:padding="@dimen/margin_half"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/p2p_start"
|
||||
style="@style/MwmWidget.Button.Start"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body1"
|
||||
tools:showIn="@layout/menu_route_plan_line"/>
|
||||
|
|
|
@ -18,12 +18,12 @@ import android.widget.TextView;
|
|||
import com.mapswithme.maps.Framework;
|
||||
import com.mapswithme.maps.MwmApplication;
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.uber.Uber;
|
||||
import com.mapswithme.maps.uber.UberInfo;
|
||||
import com.mapswithme.maps.uber.UberLinks;
|
||||
import com.mapswithme.maps.bookmarks.data.MapObject;
|
||||
import com.mapswithme.maps.downloader.MapManager;
|
||||
import com.mapswithme.maps.location.LocationHelper;
|
||||
import com.mapswithme.maps.uber.Uber;
|
||||
import com.mapswithme.maps.uber.UberInfo;
|
||||
import com.mapswithme.maps.uber.UberLinks;
|
||||
import com.mapswithme.util.Config;
|
||||
import com.mapswithme.util.ConnectionState;
|
||||
import com.mapswithme.util.StringUtils;
|
||||
|
@ -270,7 +270,7 @@ public class RoutingController
|
|||
mLastBuildProgress = 0;
|
||||
mInternetConnected = ConnectionState.isConnected();
|
||||
|
||||
if (mLastRouterType == Framework.ROUTER_TYPE_TAXI)
|
||||
if (isTaxiRouterType())
|
||||
{
|
||||
if (!mInternetConnected)
|
||||
{
|
||||
|
@ -509,7 +509,17 @@ public class RoutingController
|
|||
|
||||
boolean isUberPlanning()
|
||||
{
|
||||
return mLastRouterType == Framework.ROUTER_TYPE_TAXI && mUberPlanning;
|
||||
return isTaxiRouterType() && mUberPlanning;
|
||||
}
|
||||
|
||||
boolean isTaxiRouterType()
|
||||
{
|
||||
return mLastRouterType == Framework.ROUTER_TYPE_TAXI;
|
||||
}
|
||||
|
||||
boolean isVehicleRouterType()
|
||||
{
|
||||
return mLastRouterType == Framework.ROUTER_TYPE_VEHICLE;
|
||||
}
|
||||
|
||||
public boolean isNavigating()
|
||||
|
@ -724,7 +734,7 @@ public class RoutingController
|
|||
|
||||
// Repeating tap on Uber icon should trigger the route building always,
|
||||
// because it may be "No internet connection, try later" case
|
||||
if (router == mLastRouterType && router != Framework.ROUTER_TYPE_TAXI)
|
||||
if (router == mLastRouterType && !isTaxiRouterType())
|
||||
return;
|
||||
|
||||
mLastRouterType = router;
|
||||
|
@ -814,7 +824,8 @@ public class RoutingController
|
|||
private void requestUberInfo()
|
||||
{
|
||||
mUberPlanning = true;
|
||||
Uber.nativeRequestUberProducts(mStartPoint.getLat(), mStartPoint.getLon(), mEndPoint.getLat(), mEndPoint.getLon());
|
||||
Uber.nativeRequestUberProducts(mStartPoint.getLat(), mStartPoint.getLon(),
|
||||
mEndPoint.getLat(), mEndPoint.getLon());
|
||||
if (mContainer != null)
|
||||
mContainer.updateBuildProgress(0, mLastRouterType);
|
||||
}
|
||||
|
@ -822,7 +833,8 @@ public class RoutingController
|
|||
@NonNull
|
||||
UberLinks getUberLink(@NonNull String productId)
|
||||
{
|
||||
return Uber.nativeGetUberLinks(productId, mStartPoint.getLat(), mStartPoint.getLon(), mEndPoint.getLat(), mEndPoint.getLon());
|
||||
return Uber.nativeGetUberLinks(productId, mStartPoint.getLat(), mStartPoint.getLon(),
|
||||
mEndPoint.getLat(), mEndPoint.getLon());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -834,7 +846,7 @@ public class RoutingController
|
|||
{
|
||||
mUberPlanning = false;
|
||||
mLogger.d("onUberInfoReceived uberInfo = " + info);
|
||||
if (mLastRouterType == Framework.ROUTER_TYPE_TAXI && mContainer != null)
|
||||
if (isTaxiRouterType() && mContainer != null)
|
||||
{
|
||||
mContainer.onUberInfoReceived(info);
|
||||
completeUberRequest();
|
||||
|
@ -851,7 +863,7 @@ public class RoutingController
|
|||
mUberPlanning = false;
|
||||
Uber.ErrorCode code = Uber.ErrorCode.valueOf(errorCode);
|
||||
mLogger.e("onUberError error = " + code);
|
||||
if (mLastRouterType == Framework.ROUTER_TYPE_TAXI && mContainer != null)
|
||||
if (isTaxiRouterType() && mContainer != null)
|
||||
{
|
||||
mContainer.onUberError(code);
|
||||
completeUberRequest();
|
||||
|
|
|
@ -211,14 +211,14 @@ public class RoutingPlanController extends ToolbarController
|
|||
return;
|
||||
}
|
||||
|
||||
if (!isTaxiRouteChecked())
|
||||
if (!isTaxiRouterType())
|
||||
setStartButton();
|
||||
showAltitudeChartAndRoutingDetails();
|
||||
}
|
||||
|
||||
private void showAltitudeChartAndRoutingDetails()
|
||||
{
|
||||
if (isTaxiRouteChecked())
|
||||
if (isTaxiRouterType())
|
||||
return;
|
||||
|
||||
UiUtils.hide(getViewById(R.id.error));
|
||||
|
@ -365,14 +365,14 @@ public class RoutingPlanController extends ToolbarController
|
|||
}
|
||||
}
|
||||
|
||||
private boolean isVehicleRouteChecked()
|
||||
private boolean isVehicleRouterType()
|
||||
{
|
||||
return mRouterTypes.getCheckedRadioButtonId() == R.id.vehicle;
|
||||
return RoutingController.get().isVehicleRouterType();
|
||||
}
|
||||
|
||||
private boolean isTaxiRouteChecked()
|
||||
private boolean isTaxiRouterType()
|
||||
{
|
||||
return mRouterTypes.getCheckedRadioButtonId() == R.id.taxi;
|
||||
return RoutingController.get().isTaxiRouterType();
|
||||
}
|
||||
|
||||
void disableToggle()
|
||||
|
@ -394,7 +394,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
|
||||
void showRouteAltitudeChartInternal(@NonNull ImageView altitudeChart)
|
||||
{
|
||||
if (isVehicleRouteChecked())
|
||||
if (isVehicleRouterType())
|
||||
{
|
||||
UiUtils.hide(altitudeChart);
|
||||
return;
|
||||
|
@ -496,7 +496,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
{
|
||||
Button start = (Button) getViewById(R.id.start);
|
||||
|
||||
if (isTaxiRouteChecked())
|
||||
if (isTaxiRouterType())
|
||||
{
|
||||
final boolean isUberInstalled = Utils.isUberInstalled(mActivity);
|
||||
start.setText(isUberInstalled ? R.string.taxi_order : R.string.install_app);
|
||||
|
|
Loading…
Add table
Reference in a new issue