Fix - Display route calculation progress bar in Waypoints
This commit is contained in:
parent
e212cace9e
commit
0a72100730
5 changed files with 109 additions and 3 deletions
35
OsmAnd/res/layout-land/map_progress_top.xml
Normal file
35
OsmAnd/res/layout-land/map_progress_top.xml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="top|center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/map_route_land_left_margin_external"
|
||||||
|
android:layout_width="@dimen/dashboard_land_width"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_gravity="top|left"
|
||||||
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="top|center"
|
||||||
|
android:layout_marginTop="@dimen/map_button_margin"
|
||||||
|
android:background="@drawable/btn_round"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/map_horizontal_progress_external"
|
||||||
|
style="?android:attr/progressBarStyleHorizontal"
|
||||||
|
android:layout_width="@dimen/map_routing_progress_width"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="@dimen/map_button_margin"
|
||||||
|
android:layout_marginRight="@dimen/map_button_margin"
|
||||||
|
android:max="100"
|
||||||
|
android:progress="60"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -49,6 +49,16 @@
|
||||||
<include layout="@layout/map_hud_bottom"/>
|
<include layout="@layout/map_hud_bottom"/>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/progress_layout_external"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<include layout="@layout/map_progress_top"/>
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
36
OsmAnd/res/layout/map_progress_top.xml
Normal file
36
OsmAnd/res/layout/map_progress_top.xml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="50dp"
|
||||||
|
android:gravity="top|center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/map_route_land_left_margin_external"
|
||||||
|
android:layout_width="@dimen/map_route_planning_land_width_minus_shadow"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_gravity="top|left"
|
||||||
|
android:visibility="gone"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="top|center"
|
||||||
|
android:layout_marginTop="@dimen/map_button_margin"
|
||||||
|
android:background="@drawable/btn_round"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/map_horizontal_progress_external"
|
||||||
|
style="?android:attr/progressBarStyleHorizontal"
|
||||||
|
android:layout_width="@dimen/map_routing_progress_width"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="@dimen/map_button_margin"
|
||||||
|
android:layout_marginRight="@dimen/map_button_margin"
|
||||||
|
android:max="100"
|
||||||
|
android:progress="60"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -333,17 +333,29 @@ public class MapActivity extends AccessibleActivity implements DownloadEvents,
|
||||||
|
|
||||||
private void createProgressBarForRouting() {
|
private void createProgressBarForRouting() {
|
||||||
final ProgressBar pb = (ProgressBar) findViewById(R.id.map_horizontal_progress);
|
final ProgressBar pb = (ProgressBar) findViewById(R.id.map_horizontal_progress);
|
||||||
|
final View pbExtView = findViewById(R.id.progress_layout_external);
|
||||||
|
final ProgressBar pbExt = (ProgressBar) findViewById(R.id.map_horizontal_progress_external);
|
||||||
|
|
||||||
app.getRoutingHelper().setProgressBar(new RouteCalculationProgressCallback() {
|
app.getRoutingHelper().setProgressBar(new RouteCalculationProgressCallback() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateProgress(int progress) {
|
public void updateProgress(int progress) {
|
||||||
|
if (findViewById(R.id.MapHudButtonsOverlay).getVisibility() == View.VISIBLE) {
|
||||||
|
pbExtView.setVisibility(View.GONE);
|
||||||
pb.setVisibility(View.VISIBLE);
|
pb.setVisibility(View.VISIBLE);
|
||||||
pb.setProgress(progress);
|
pb.setProgress(progress);
|
||||||
pb.requestLayout();
|
pb.requestLayout();
|
||||||
|
} else {
|
||||||
|
pb.setVisibility(View.GONE);
|
||||||
|
pbExtView.setVisibility(View.VISIBLE);
|
||||||
|
pbExt.setProgress(progress);
|
||||||
|
pbExt.requestLayout();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void finish() {
|
public void finish() {
|
||||||
|
pbExtView.setVisibility(View.GONE);
|
||||||
pb.setVisibility(View.GONE);
|
pb.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -620,6 +620,12 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
||||||
}
|
}
|
||||||
mapActivity.findViewById(R.id.toolbar_back).setVisibility(isBackButtonVisible() ? View.VISIBLE : View.GONE);
|
mapActivity.findViewById(R.id.toolbar_back).setVisibility(isBackButtonVisible() ? View.VISIBLE : View.GONE);
|
||||||
mapActivity.findViewById(R.id.MapHudButtonsOverlay).setVisibility(View.INVISIBLE);
|
mapActivity.findViewById(R.id.MapHudButtonsOverlay).setVisibility(View.INVISIBLE);
|
||||||
|
boolean portrait = AndroidUiHelper.isOrientationPortrait(mapActivity);
|
||||||
|
if (!portrait) {
|
||||||
|
AndroidUiHelper.updateVisibility(mapActivity.findViewById(R.id.map_route_land_left_margin_external), true);
|
||||||
|
mapActivity.getMapView().setMapPositionX(1);
|
||||||
|
mapActivity.refreshMap();
|
||||||
|
}
|
||||||
|
|
||||||
updateToolbarActions();
|
updateToolbarActions();
|
||||||
//fabButton.showFloatingActionButton();
|
//fabButton.showFloatingActionButton();
|
||||||
|
@ -634,6 +640,13 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
||||||
mapActivity.getRoutingHelper().removeListener(this);
|
mapActivity.getRoutingHelper().removeListener(this);
|
||||||
mapActivity.getMapViewTrackingUtilities().setDashboard(null);
|
mapActivity.getMapViewTrackingUtilities().setDashboard(null);
|
||||||
hide(dashboardView.findViewById(R.id.animateContent), animation);
|
hide(dashboardView.findViewById(R.id.animateContent), animation);
|
||||||
|
|
||||||
|
if (!mapActivity.getMapLayers().getMapControlsLayer().getMapRouteInfoMenu().isVisible()) {
|
||||||
|
AndroidUiHelper.updateVisibility(mapActivity.findViewById(R.id.map_route_land_left_margin_external), false);
|
||||||
|
mapActivity.getMapView().setMapPositionX(0);
|
||||||
|
mapActivity.getMapView().refreshMap();
|
||||||
|
}
|
||||||
|
|
||||||
mapActivity.findViewById(R.id.MapHudButtonsOverlay).setVisibility(View.VISIBLE);
|
mapActivity.findViewById(R.id.MapHudButtonsOverlay).setVisibility(View.VISIBLE);
|
||||||
hideActionButton();
|
hideActionButton();
|
||||||
for (WeakReference<DashBaseFragment> df : fragList) {
|
for (WeakReference<DashBaseFragment> df : fragList) {
|
||||||
|
|
Loading…
Reference in a new issue