forked from organicmaps/organicmaps-tmp
[android] Fixed disabling traffic mode
This commit is contained in:
parent
fbfaceb74a
commit
a6c7bcc83f
13 changed files with 85 additions and 52 deletions
|
@ -1,4 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:placePage="http://schemas.android.com/apk/res-auto"
|
||||
|
@ -83,3 +88,4 @@
|
|||
placePage:docked="true"
|
||||
tools:ignore="UnknownIdInLayout"/>
|
||||
</RelativeLayout>
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:placePage="http://schemas.android.com/apk/res-auto"
|
||||
|
@ -96,3 +101,4 @@
|
|||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
</RelativeLayout>
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:placePage="http://schemas.android.com/apk/res-auto"
|
||||
|
@ -76,3 +81,4 @@
|
|||
android:layout_alignParentBottom="true"
|
||||
placePage:animationType="bottom"/>
|
||||
</RelativeLayout>
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
|
|
@ -62,6 +62,7 @@ import com.mapswithme.maps.editor.ReportFragment;
|
|||
import com.mapswithme.maps.gallery.Items;
|
||||
import com.mapswithme.maps.location.CompassData;
|
||||
import com.mapswithme.maps.location.LocationHelper;
|
||||
import com.mapswithme.maps.maplayer.subway.SubwayManager;
|
||||
import com.mapswithme.maps.routing.NavigationController;
|
||||
import com.mapswithme.maps.routing.RoutePointInfo;
|
||||
import com.mapswithme.maps.routing.RoutingBottomMenuListener;
|
||||
|
@ -83,11 +84,11 @@ import com.mapswithme.maps.settings.StoragePathManager;
|
|||
import com.mapswithme.maps.settings.UnitLocale;
|
||||
import com.mapswithme.maps.sound.TtsPlayer;
|
||||
import com.mapswithme.maps.maplayer.Mode;
|
||||
import com.mapswithme.maps.maplayer.subway.OnSubwayModeSelectListener;
|
||||
import com.mapswithme.maps.maplayer.subway.OnSubwayLayerToggleListener;
|
||||
import com.mapswithme.maps.taxi.TaxiInfo;
|
||||
import com.mapswithme.maps.taxi.TaxiManager;
|
||||
import com.mapswithme.maps.maplayer.traffic.TrafficManager;
|
||||
import com.mapswithme.maps.maplayer.traffic.widget.OnTrafficModeSelectListener;
|
||||
import com.mapswithme.maps.maplayer.traffic.OnTrafficLayerToggleListener;
|
||||
import com.mapswithme.maps.maplayer.traffic.widget.TrafficButton;
|
||||
import com.mapswithme.maps.widget.FadeView;
|
||||
import com.mapswithme.maps.widget.menu.BaseMenu;
|
||||
|
@ -137,8 +138,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
BookmarkManager.BookmarksLoadingListener,
|
||||
DiscoveryFragment.DiscoveryListener,
|
||||
FloatingSearchToolbarController.SearchToolbarListener,
|
||||
OnTrafficModeSelectListener,
|
||||
OnSubwayModeSelectListener
|
||||
OnTrafficLayerToggleListener,
|
||||
OnSubwayLayerToggleListener
|
||||
{
|
||||
private static final Logger LOGGER = LoggerFactory.INSTANCE.getLogger(LoggerFactory.Type.MISC);
|
||||
private static final String TAG = MwmActivity.class.getSimpleName();
|
||||
|
@ -226,18 +227,19 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
private final OnClickListener mOnMyPositionClickListener = new CurrentPositionClickListener();
|
||||
|
||||
@Override
|
||||
public void onSubwayModeSelected()
|
||||
public void onSubwayLayerSelected()
|
||||
{
|
||||
mToggleMapLayerController.toggleMode(Mode.SUBWAY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTrafficModeSelected()
|
||||
public void onTrafficLayerSelected()
|
||||
{
|
||||
mToggleMapLayerController.toggleMode(Mode.TRAFFIC);
|
||||
}
|
||||
|
||||
public void resetSubwayLayer()
|
||||
@Override
|
||||
public void onSubwayLayerDeleted()
|
||||
{
|
||||
mToggleMapLayerController.turnOff(Mode.SUBWAY);
|
||||
}
|
||||
|
@ -2241,6 +2243,12 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
mNavigationController.resetSearchWheel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSubwayEnabled()
|
||||
{
|
||||
return SubwayManager.from(this).isEnabled();
|
||||
}
|
||||
|
||||
private void updateSearchBar()
|
||||
{
|
||||
if (!TextUtils.isEmpty(SearchEngine.INSTANCE.getQuery()))
|
||||
|
|
|
@ -192,17 +192,17 @@ public class MapLayerCompositeController implements MapLayerController
|
|||
public void turnOn(@NonNull Mode mode)
|
||||
{
|
||||
ControllerAndMode entry = findModeMapLayerController(mode);
|
||||
entry.mMode.setEnabled(mActivity, true);
|
||||
entry.mController.turnOn();
|
||||
entry.mController.showImmediately();
|
||||
entry.mMode.setEnabled(mActivity, true);
|
||||
}
|
||||
|
||||
public void turnOff(@NonNull Mode mode)
|
||||
{
|
||||
ControllerAndMode entry = findModeMapLayerController(mode);
|
||||
entry.mMode.setEnabled(mActivity, false);
|
||||
entry.mController.turnOff();
|
||||
entry.mController.hideImmediately();
|
||||
entry.mMode.setEnabled(mActivity, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
|
@ -2,9 +2,11 @@ package com.mapswithme.maps.maplayer;
|
|||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.BottomSheetBehavior;
|
||||
import android.support.design.widget.BottomSheetDialog;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
@ -20,10 +22,10 @@ import android.widget.ImageButton;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.maplayer.subway.OnSubwayModeSelectListener;
|
||||
import com.mapswithme.maps.maplayer.subway.OnSubwayLayerToggleListener;
|
||||
import com.mapswithme.maps.widget.recycler.SpanningLinearLayoutManager;
|
||||
import com.mapswithme.maps.bookmarks.OnItemClickListener;
|
||||
import com.mapswithme.maps.maplayer.traffic.widget.OnTrafficModeSelectListener;
|
||||
import com.mapswithme.maps.maplayer.traffic.OnTrafficLayerToggleListener;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
@ -42,11 +44,20 @@ public class ToggleMapLayerDialog extends DialogFragment
|
|||
BottomSheetDialog dialog = new BottomSheetDialog(getActivity());
|
||||
LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||
View root = inflater.inflate(R.layout.fragment_toggle_map_layer, null, false);
|
||||
dialog.setOnShowListener(this::onShow);
|
||||
dialog.setContentView(root);
|
||||
initChildren(root);
|
||||
return dialog;
|
||||
}
|
||||
|
||||
private void onShow(@NonNull DialogInterface dialogInterface)
|
||||
{
|
||||
BottomSheetDialog dialog = (BottomSheetDialog) dialogInterface;
|
||||
View bottomSheet = dialog.findViewById(android.support.design.R.id.design_bottom_sheet);
|
||||
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
|
||||
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||
}
|
||||
|
||||
private void initChildren(@NonNull View root)
|
||||
{
|
||||
initCloseBtn(root);
|
||||
|
@ -95,7 +106,6 @@ public class ToggleMapLayerDialog extends DialogFragment
|
|||
fm.beginTransaction().remove(oldInstance).commit();
|
||||
|
||||
frag.show(fm, tag);
|
||||
fm.executePendingTransactions();
|
||||
}
|
||||
|
||||
private static class ModeAdapter extends RecyclerView.Adapter<ModeHolder>
|
||||
|
@ -194,8 +204,8 @@ public class ToggleMapLayerDialog extends DialogFragment
|
|||
@Override
|
||||
void onItemClickInternal(@NonNull View v, @NonNull BottomSheetItem item)
|
||||
{
|
||||
OnSubwayModeSelectListener listener = (OnSubwayModeSelectListener) getActivity();
|
||||
listener.onSubwayModeSelected();
|
||||
OnSubwayLayerToggleListener listener = (OnSubwayLayerToggleListener) getActivity();
|
||||
listener.onSubwayLayerSelected();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -204,8 +214,8 @@ public class ToggleMapLayerDialog extends DialogFragment
|
|||
@Override
|
||||
void onItemClickInternal(@NonNull View v, @NonNull BottomSheetItem item)
|
||||
{
|
||||
OnTrafficModeSelectListener listener = (OnTrafficModeSelectListener) getActivity();
|
||||
listener.onTrafficModeSelected();
|
||||
OnTrafficLayerToggleListener listener = (OnTrafficLayerToggleListener) getActivity();
|
||||
listener.onTrafficLayerSelected();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package com.mapswithme.maps.maplayer.subway;
|
||||
|
||||
public interface OnSubwayLayerToggleListener
|
||||
{
|
||||
void onSubwayLayerSelected();
|
||||
|
||||
void onSubwayLayerDeleted();
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
package com.mapswithme.maps.maplayer.subway;
|
||||
|
||||
public interface OnSubwayModeSelectListener
|
||||
{
|
||||
void onSubwayModeSelected();
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
package com.mapswithme.maps.maplayer.traffic;
|
||||
|
||||
public interface OnTrafficLayerToggleListener
|
||||
{
|
||||
void onTrafficLayerSelected();
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
package com.mapswithme.maps.maplayer.traffic.widget;
|
||||
|
||||
public interface OnTrafficModeSelectListener
|
||||
{
|
||||
void onTrafficModeSelected();
|
||||
}
|
|
@ -79,6 +79,7 @@ public class RoutingController implements TaxiManager.TaxiListener
|
|||
void onAddedStop();
|
||||
void onRemovedStop();
|
||||
void onBuiltRoute();
|
||||
boolean isSubwayEnabled();
|
||||
|
||||
/**
|
||||
* @param progress progress to be displayed.
|
||||
|
@ -428,16 +429,14 @@ public class RoutingController implements TaxiManager.TaxiListener
|
|||
}
|
||||
|
||||
if (startPoint != null && endPoint != null)
|
||||
mLastRouterType = Framework.nativeGetBestRouter(startPoint.getLat(),
|
||||
startPoint.getLon(),
|
||||
endPoint.getLat(),
|
||||
endPoint.getLon());
|
||||
mLastRouterType = Framework.nativeGetBestRouter(startPoint.getLat(), startPoint.getLon(),
|
||||
endPoint.getLat(), endPoint.getLon());
|
||||
}
|
||||
|
||||
private boolean isSubwayEnabled()
|
||||
{
|
||||
FragmentActivity activity = mContainer == null ? null : mContainer.getActivity();
|
||||
return activity != null && SubwayManager.from(activity).isEnabled();
|
||||
return activity != null && mContainer.isSubwayEnabled();
|
||||
}
|
||||
|
||||
public void prepare(final @Nullable MapObject startPoint, final @Nullable MapObject endPoint,
|
||||
|
|
|
@ -13,9 +13,9 @@ import android.widget.RadioButton;
|
|||
import android.widget.RadioGroup;
|
||||
|
||||
import com.mapswithme.maps.Framework;
|
||||
import com.mapswithme.maps.MwmActivity;
|
||||
import com.mapswithme.maps.MwmApplication;
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.maplayer.subway.OnSubwayLayerToggleListener;
|
||||
import com.mapswithme.maps.taxi.TaxiInfo;
|
||||
import com.mapswithme.maps.taxi.TaxiManager;
|
||||
import com.mapswithme.maps.widget.RoutingToolbarButton;
|
||||
|
@ -47,6 +47,9 @@ public class RoutingPlanController extends ToolbarController
|
|||
|
||||
int mFrameHeight;
|
||||
|
||||
@NonNull
|
||||
private final OnSubwayLayerToggleListener mSubwayLayerToggleListener;
|
||||
|
||||
private RadioButton setupRouterButton(@IdRes int buttonId, final @DrawableRes int iconRes, View.OnClickListener clickListener)
|
||||
{
|
||||
CompoundButton.OnCheckedChangeListener listener = new CompoundButton.OnCheckedChangeListener()
|
||||
|
@ -88,13 +91,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
mProgressTaxi = (WheelProgressView) progressFrame.findViewById(R.id.progress_taxi);
|
||||
|
||||
mRoutingBottomMenuController = RoutingBottomMenuController.newInstance(mActivity, mFrame, listener);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected MwmActivity getActivity()
|
||||
{
|
||||
return (MwmActivity) super.getActivity();
|
||||
mSubwayLayerToggleListener = (OnSubwayLayerToggleListener) activity;
|
||||
}
|
||||
|
||||
private void setupRouterButtons()
|
||||
|
@ -118,7 +115,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
AlohaHelper.logClick(AlohaHelper.ROUTING_TAXI_SET);
|
||||
Statistics.INSTANCE.trackEvent(Statistics.EventName.ROUTING_TAXI_SET);
|
||||
RoutingController.get().setRouterType(Framework.ROUTER_TYPE_TAXI);
|
||||
getActivity().resetSubwayLayer();
|
||||
getSubwayListener().onSubwayLayerDeleted();
|
||||
}
|
||||
|
||||
private void onBicycleModeSelected(@NonNull View v)
|
||||
|
@ -126,7 +123,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
AlohaHelper.logClick(AlohaHelper.ROUTING_BICYCLE_SET);
|
||||
Statistics.INSTANCE.trackEvent(Statistics.EventName.ROUTING_BICYCLE_SET);
|
||||
RoutingController.get().setRouterType(Framework.ROUTER_TYPE_BICYCLE);
|
||||
getActivity().resetSubwayLayer();
|
||||
getSubwayListener().onSubwayLayerDeleted();
|
||||
}
|
||||
|
||||
private void onPedestrianModeSelected(@NonNull View v)
|
||||
|
@ -134,7 +131,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
AlohaHelper.logClick(AlohaHelper.ROUTING_PEDESTRIAN_SET);
|
||||
Statistics.INSTANCE.trackEvent(Statistics.EventName.ROUTING_PEDESTRIAN_SET);
|
||||
RoutingController.get().setRouterType(Framework.ROUTER_TYPE_PEDESTRIAN);
|
||||
getActivity().resetSubwayLayer();
|
||||
getSubwayListener().onSubwayLayerDeleted();
|
||||
}
|
||||
|
||||
private void onVehicleModeSelected(@NonNull View v)
|
||||
|
@ -142,7 +139,7 @@ public class RoutingPlanController extends ToolbarController
|
|||
AlohaHelper.logClick(AlohaHelper.ROUTING_VEHICLE_SET);
|
||||
Statistics.INSTANCE.trackEvent(Statistics.EventName.ROUTING_VEHICLE_SET);
|
||||
RoutingController.get().setRouterType(Framework.ROUTER_TYPE_VEHICLE);
|
||||
getActivity().resetSubwayLayer();
|
||||
getSubwayListener().onSubwayLayerDeleted();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -153,6 +150,12 @@ public class RoutingPlanController extends ToolbarController
|
|||
RoutingController.get().cancel();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private OnSubwayLayerToggleListener getSubwayListener()
|
||||
{
|
||||
return mSubwayLayerToggleListener;
|
||||
}
|
||||
|
||||
boolean checkFrameHeight()
|
||||
{
|
||||
if (mFrameHeight > 0)
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.mapswithme.maps.widget;
|
|||
|
||||
import android.app.Activity;
|
||||
import android.support.annotation.IdRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.View;
|
||||
|
@ -76,12 +75,6 @@ public class ToolbarController
|
|||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
protected Activity getActivity()
|
||||
{
|
||||
return mActivity;
|
||||
}
|
||||
|
||||
public Toolbar getToolbar()
|
||||
{
|
||||
return mToolbar;
|
||||
|
|
Loading…
Add table
Reference in a new issue