Update dashboard/toolbar
This commit is contained in:
parent
78154fc70d
commit
53f0a7fba3
17 changed files with 313 additions and 338 deletions
|
@ -3,7 +3,6 @@
|
||||||
android:id="@+id/dashboard"
|
android:id="@+id/dashboard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="#70000000"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone" >
|
android:visibility="gone" >
|
||||||
|
|
||||||
|
@ -18,9 +17,16 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="horizontal" >
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="360dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical" >
|
||||||
|
|
||||||
|
<include layout="@layout/dashboard_toolbar" />
|
||||||
|
|
||||||
<net.osmand.plus.dashboard.NotifyingScrollView
|
<net.osmand.plus.dashboard.NotifyingScrollView
|
||||||
android:id="@+id/main_scroll"
|
android:id="@+id/main_scroll"
|
||||||
android:layout_width="360dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:fadeScrollbars="true" >
|
android:fadeScrollbars="true" >
|
||||||
|
@ -40,7 +46,7 @@
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/dash_list_view_layout"
|
android:id="@+id/dash_list_view_layout"
|
||||||
android:layout_width="360dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:visibility="gone" >
|
android:visibility="gone" >
|
||||||
|
@ -49,25 +55,16 @@
|
||||||
android:id="@+id/dash_list_view"
|
android:id="@+id/dash_list_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/card_bg"
|
android:background="?attr/card_bg_color"
|
||||||
android:fadeScrollbars="true" >
|
android:fadeScrollbars="true" >
|
||||||
</com.github.ksoichiro.android.observablescrollview.ObservableListView>
|
</com.github.ksoichiro.android.observablescrollview.ObservableListView>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
|
android:id="@+id/map_part_dashboard"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent" >
|
||||||
android:id="@+id/map_part_dashboard">
|
|
||||||
|
|
||||||
<ImageButton
|
|
||||||
android:id="@+id/map_menu_button"
|
|
||||||
android:layout_width="@dimen/map_button_size"
|
|
||||||
android:layout_height="@dimen/map_button_size"
|
|
||||||
android:layout_gravity="top|left"
|
|
||||||
android:layout_marginLeft="@dimen/map_button_margin"
|
|
||||||
android:layout_marginTop="@dimen/map_button_margin"
|
|
||||||
android:background="@drawable/btn_inset_circle"
|
|
||||||
android:src="@drawable/ic_action_remove_light" />
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/map_download_button"
|
android:id="@+id/map_download_button"
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
android:id="@+id/dashboard"
|
android:id="@+id/dashboard"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="#70000000"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone" >
|
android:visibility="gone" >
|
||||||
|
|
||||||
|
@ -60,7 +59,7 @@
|
||||||
android:id="@+id/dash_list_background"
|
android:id="@+id/dash_list_background"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/card_bg" />
|
android:background="?attr/card_bg_color" />
|
||||||
|
|
||||||
<com.github.ksoichiro.android.observablescrollview.ObservableListView
|
<com.github.ksoichiro.android.observablescrollview.ObservableListView
|
||||||
android:id="@+id/dash_list_view"
|
android:id="@+id/dash_list_view"
|
||||||
|
@ -70,21 +69,8 @@
|
||||||
</com.github.ksoichiro.android.observablescrollview.ObservableListView>
|
</com.github.ksoichiro.android.observablescrollview.ObservableListView>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<ImageButton
|
<include layout="@layout/dashboard_toolbar"/>
|
||||||
android:id="@+id/map_menu_button"
|
|
||||||
android:layout_width="@dimen/map_button_size"
|
|
||||||
android:layout_height="@dimen/map_button_size"
|
|
||||||
android:layout_gravity="top|left"
|
|
||||||
android:layout_marginLeft="@dimen/map_button_margin"
|
|
||||||
android:layout_marginTop="@dimen/map_button_margin"
|
|
||||||
android:background="@drawable/btn_inset_circle"
|
|
||||||
android:src="@drawable/ic_action_remove_light" />
|
|
||||||
|
|
||||||
<net.osmand.plus.activities.search.toolbar.SplitToolbar
|
|
||||||
android:id="@+id/toolbar"
|
|
||||||
android:background="@drawable/gradient_toolbar"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="65dp"/>
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
61
OsmAnd/res/layout/dashboard_toolbar.xml
Normal file
61
OsmAnd/res/layout/dashboard_toolbar.xml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="65dp"
|
||||||
|
app:contentInsetStart="4dp"
|
||||||
|
app:contentInsetLeft="4dp"
|
||||||
|
android:background="@drawable/gradient_toolbar" >
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/toolbar_back"
|
||||||
|
android:layout_width="@dimen/dashListItemHeight"
|
||||||
|
android:layout_height="@dimen/dashListItemHeight"
|
||||||
|
android:layout_gravity="left"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:background="@drawable/dashboard_button_light"
|
||||||
|
android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/toolbar_text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="left"
|
||||||
|
android:textSize="@dimen/abc_text_size_headline_material"
|
||||||
|
android:textColor="@color/abc_primary_text_material_dark"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:text="Toolbar" />
|
||||||
|
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/toolbar_list"
|
||||||
|
android:layout_width="@dimen/dashListItemHeight"
|
||||||
|
android:layout_height="@dimen/dashListItemHeight"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:background="@drawable/dashboard_button_light"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:src="@drawable/ic_navigation_drawer" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/toolbar_settings"
|
||||||
|
android:layout_width="@dimen/dashListItemHeight"
|
||||||
|
android:layout_height="@dimen/dashListItemHeight"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:background="@drawable/dashboard_button_light"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:src="@drawable/ic_action_settings_dark" />
|
||||||
|
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/toolbar_edit"
|
||||||
|
android:layout_width="@dimen/dashListItemHeight"
|
||||||
|
android:layout_height="@dimen/dashListItemHeight"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:background="@drawable/dashboard_button_light"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:src="@drawable/ic_action_edit_dark" />
|
||||||
|
|
||||||
|
|
||||||
|
</android.support.v7.widget.Toolbar>
|
|
@ -33,8 +33,8 @@
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/favourite_icon"
|
android:id="@+id/favourite_icon"
|
||||||
android:layout_width="@dimen/favorite_icon_size"
|
android:layout_width="@dimen/standard_icon_size"
|
||||||
android:layout_height="@dimen/favorite_icon_size"
|
android:layout_height="@dimen/standard_icon_size"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginRight="@dimen/favorites_icon_right_margin" />
|
android:layout_marginRight="@dimen/favorites_icon_right_margin" />
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/icon"
|
android:id="@+id/icon"
|
||||||
android:layout_width="@dimen/favorite_icon_size"
|
android:layout_width="@dimen/standard_icon_size"
|
||||||
android:layout_height="@dimen/favorite_icon_size"
|
android:layout_height="@dimen/standard_icon_size"
|
||||||
android:layout_gravity="center_vertical" />
|
android:layout_gravity="center_vertical" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<attr name="bottomToolBarColor" format="color" />
|
<attr name="bottomToolBarColor" format="color" />
|
||||||
<attr name="downloadButtonBackground" format="reference" />
|
<attr name="downloadButtonBackground" format="reference" />
|
||||||
<attr name="card_bg" format="reference" />
|
<attr name="card_bg" format="reference" />
|
||||||
|
<attr name="card_bg_color" format="reference" />
|
||||||
<attr name="ic_action_overflow" format="reference" />
|
<attr name="ic_action_overflow" format="reference" />
|
||||||
<attr name="dashboardGeneralButtonStyle" format="reference" />
|
<attr name="dashboardGeneralButtonStyle" format="reference" />
|
||||||
<attr name="options_button_background" format="reference"/>
|
<attr name="options_button_background" format="reference"/>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<dimen name="dialog_content_margin">24dp</dimen>
|
<dimen name="dialog_content_margin">24dp</dimen>
|
||||||
<dimen name="dialog_content_bottom_margin">16dp</dimen>
|
<dimen name="dialog_content_bottom_margin">16dp</dimen>
|
||||||
<dimen name="local_size_height">34dp</dimen>
|
<dimen name="local_size_height">34dp</dimen>
|
||||||
<dimen name="favorite_icon_size">24dp</dimen>
|
<dimen name="standard_icon_size">24dp</dimen>
|
||||||
<dimen name="gpx_small_icon_margin">3dp</dimen>
|
<dimen name="gpx_small_icon_margin">3dp</dimen>
|
||||||
<dimen name="gpx_small_text_margin">14dp</dimen>
|
<dimen name="gpx_small_text_margin">14dp</dimen>
|
||||||
<dimen name="gpx_text_top_margin">6dp</dimen>
|
<dimen name="gpx_text_top_margin">6dp</dimen>
|
||||||
|
@ -83,6 +83,7 @@
|
||||||
<dimen name="map_button_rect_rad">3dp</dimen>
|
<dimen name="map_button_rect_rad">3dp</dimen>
|
||||||
<dimen name="map_button_stroke">1px</dimen>
|
<dimen name="map_button_stroke">1px</dimen>
|
||||||
|
|
||||||
|
|
||||||
<!-- TextSizes -->
|
<!-- TextSizes -->
|
||||||
<dimen name="list_header_text_size">14sp</dimen>
|
<dimen name="list_header_text_size">14sp</dimen>
|
||||||
<dimen name="showAllButtonTextSize">12sp</dimen>
|
<dimen name="showAllButtonTextSize">12sp</dimen>
|
||||||
|
|
|
@ -133,6 +133,7 @@
|
||||||
<item name="actionModeBackground">@color/actionbar_light_color</item>
|
<item name="actionModeBackground">@color/actionbar_light_color</item>
|
||||||
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
||||||
<item name="actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
<item name="actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
||||||
|
<item name="card_bg_color">@color/card_bg_color_light</item>
|
||||||
<item name="card_bg">@drawable/bg_card_light</item>
|
<item name="card_bg">@drawable/bg_card_light</item>
|
||||||
<item name="dashboardGeneralButtonStyle">@style/DashboardGeneralButton.Light</item>
|
<item name="dashboardGeneralButtonStyle">@style/DashboardGeneralButton.Light</item>
|
||||||
<item name="dashboardSubHeaderStyle">@style/DashboardSubHeader.Light</item>
|
<item name="dashboardSubHeaderStyle">@style/DashboardSubHeader.Light</item>
|
||||||
|
@ -178,6 +179,7 @@
|
||||||
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
||||||
<item name="actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
<item name="actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
||||||
<item name="card_bg">@drawable/bg_card_dark</item>
|
<item name="card_bg">@drawable/bg_card_dark</item>
|
||||||
|
<item name="card_bg_color">@color/card_bg_color_dark</item>
|
||||||
<item name="dashboardGeneralButtonStyle">@style/DashboardGeneralButton.Dark</item>
|
<item name="dashboardGeneralButtonStyle">@style/DashboardGeneralButton.Dark</item>
|
||||||
<item name="dashboardSubHeaderStyle">@style/DashboardSubHeader.Dark</item>
|
<item name="dashboardSubHeaderStyle">@style/DashboardSubHeader.Dark</item>
|
||||||
<item name="dashboard_divider">@color/dashboard_divider_dark</item>
|
<item name="dashboard_divider">@color/dashboard_divider_dark</item>
|
||||||
|
|
|
@ -66,7 +66,6 @@ import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.support.v7.widget.Toolbar;
|
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -143,8 +142,6 @@ public class MapActivity extends AccessibleActivity {
|
||||||
mapViewTrackingUtilities = new MapViewTrackingUtilities(app);
|
mapViewTrackingUtilities = new MapViewTrackingUtilities(app);
|
||||||
}
|
}
|
||||||
dashboardOnMap.createDashboardView();
|
dashboardOnMap.createDashboardView();
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
|
||||||
toolbar.setVisibility(View.GONE);
|
|
||||||
checkAppInitialization();
|
checkAppInitialization();
|
||||||
parseLaunchIntentLocation();
|
parseLaunchIntentLocation();
|
||||||
mapView.setTrackBallDelegate(new OsmandMapTileView.OnTrackBallListener() {
|
mapView.setTrackBallDelegate(new OsmandMapTileView.OnTrackBallListener() {
|
||||||
|
@ -189,7 +186,6 @@ public class MapActivity extends AccessibleActivity {
|
||||||
addDialogProvider(mapActions);
|
addDialogProvider(mapActions);
|
||||||
OsmandPlugin.onMapActivityCreate(this);
|
OsmandPlugin.onMapActivityCreate(this);
|
||||||
gpxImportHelper = new GpxImportHelper(this, getMyApplication(), getMapView());
|
gpxImportHelper = new GpxImportHelper(this, getMyApplication(), getMapView());
|
||||||
mapActions.prepareStartOptionsMenu();
|
|
||||||
wakeLockHelper = new WakeLockHelper(getMyApplication());
|
wakeLockHelper = new WakeLockHelper(getMyApplication());
|
||||||
if(System.currentTimeMillis() - tm > 50) {
|
if(System.currentTimeMillis() - tm > 50) {
|
||||||
System.err.println("OnCreate for MapActivity took " + (System.currentTimeMillis() - tm) + " ms");
|
System.err.println("OnCreate for MapActivity took " + (System.currentTimeMillis() - tm) + " ms");
|
||||||
|
@ -199,7 +195,7 @@ public class MapActivity extends AccessibleActivity {
|
||||||
|
|
||||||
private void checkAppInitialization() {
|
private void checkAppInitialization() {
|
||||||
if (app.isApplicationInitializing() || DashboardOnMap.staticVisible) {
|
if (app.isApplicationInitializing() || DashboardOnMap.staticVisible) {
|
||||||
dashboardOnMap.setDashboardVisibility(true);
|
dashboardOnMap.setDashboardVisibility(true, DashboardOnMap.staticVisibleType);
|
||||||
}
|
}
|
||||||
if (app.isApplicationInitializing()) {
|
if (app.isApplicationInitializing()) {
|
||||||
findViewById(R.id.init_progress).setVisibility(View.VISIBLE);
|
findViewById(R.id.init_progress).setVisibility(View.VISIBLE);
|
||||||
|
@ -465,12 +461,12 @@ public class MapActivity extends AccessibleActivity {
|
||||||
loc.setLongitude(mapView.getLongitude());
|
loc.setLongitude(mapView.getLongitude());
|
||||||
getMapActions().enterRoutePlanningMode(null, null, status == OsmandSettings.NAVIGATE_CURRENT_GPX);
|
getMapActions().enterRoutePlanningMode(null, null, status == OsmandSettings.NAVIGATE_CURRENT_GPX);
|
||||||
if(dashboardOnMap.isVisible()) {
|
if(dashboardOnMap.isVisible()) {
|
||||||
dashboardOnMap.setDashboardVisibility(false);
|
dashboardOnMap.hideDashboard();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (latLonToShow != null) {
|
if (latLonToShow != null) {
|
||||||
if(dashboardOnMap.isVisible()) {
|
if(dashboardOnMap.isVisible()) {
|
||||||
dashboardOnMap.setDashboardVisibility(false);
|
dashboardOnMap.hideDashboard();
|
||||||
}
|
}
|
||||||
if (mapLabelToShow != null) {
|
if (mapLabelToShow != null) {
|
||||||
mapLayers.getContextMenuLayer().setSelectedObject(toShow);
|
mapLayers.getContextMenuLayer().setSelectedObject(toShow);
|
||||||
|
@ -606,21 +602,6 @@ public class MapActivity extends AccessibleActivity {
|
||||||
return super.onTrackballEvent(event);
|
return super.onTrackballEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onSaveInstanceState(Bundle outState) {
|
|
||||||
super.onSaveInstanceState(outState);
|
|
||||||
MapActivityActions.DrawerType drawerState = mapActions.getDrawerType();
|
|
||||||
outState.putSerializable("drawer_state", drawerState);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onRestoreInstanceState(Bundle savedInstanceState) {
|
|
||||||
super.onRestoreInstanceState(savedInstanceState);
|
|
||||||
if (savedInstanceState != null) {
|
|
||||||
mapActions
|
|
||||||
.setDrawerType((MapActivityActions.DrawerType) savedInstanceState.getSerializable("drawer_state"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
|
@ -875,8 +856,7 @@ public class MapActivity extends AccessibleActivity {
|
||||||
public static void launchMapActivityMoveToTop(Context activity) {
|
public static void launchMapActivityMoveToTop(Context activity) {
|
||||||
if (activity instanceof MapActivity) {
|
if (activity instanceof MapActivity) {
|
||||||
if (((MapActivity) activity).getDashboard().isVisible()) {
|
if (((MapActivity) activity).getDashboard().isVisible()) {
|
||||||
((MapActivity) activity).getDashboard().saveBackAction();
|
((MapActivity) activity).getDashboard().hideDashboard();
|
||||||
((MapActivity) activity).getDashboard().setDashboardVisibility(false);
|
|
||||||
}
|
}
|
||||||
((MapActivity) activity).readLocationToShow();
|
((MapActivity) activity).readLocationToShow();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -21,7 +21,6 @@ import net.osmand.plus.AppInitializer;
|
||||||
import net.osmand.plus.ApplicationMode;
|
import net.osmand.plus.ApplicationMode;
|
||||||
import net.osmand.plus.ContextMenuAdapter;
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
|
|
||||||
import net.osmand.plus.GPXUtilities;
|
import net.osmand.plus.GPXUtilities;
|
||||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||||
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
||||||
|
@ -34,6 +33,7 @@ import net.osmand.plus.TargetPointsHelper;
|
||||||
import net.osmand.plus.activities.actions.OsmAndDialogs;
|
import net.osmand.plus.activities.actions.OsmAndDialogs;
|
||||||
import net.osmand.plus.activities.actions.ShareLocation;
|
import net.osmand.plus.activities.actions.ShareLocation;
|
||||||
import net.osmand.plus.activities.search.SearchActivity;
|
import net.osmand.plus.activities.search.SearchActivity;
|
||||||
|
import net.osmand.plus.dashboard.DashboardOnMap.DashboardType;
|
||||||
import net.osmand.plus.dialogs.ConfigureMapMenu;
|
import net.osmand.plus.dialogs.ConfigureMapMenu;
|
||||||
import net.osmand.plus.dialogs.FavoriteDialogs;
|
import net.osmand.plus.dialogs.FavoriteDialogs;
|
||||||
import net.osmand.plus.helpers.WaypointDialogHelper;
|
import net.osmand.plus.helpers.WaypointDialogHelper;
|
||||||
|
@ -56,11 +56,9 @@ import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.AdapterView;
|
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.AdapterView.OnItemClickListener;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.CompoundButton;
|
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
@ -86,18 +84,8 @@ public class MapActivityActions implements DialogProvider {
|
||||||
private OsmandSettings settings;
|
private OsmandSettings settings;
|
||||||
private RoutingHelper routingHelper;
|
private RoutingHelper routingHelper;
|
||||||
|
|
||||||
private boolean refreshDrawer = false;
|
|
||||||
private WaypointDialogHelper waypointDialogHelper;
|
private WaypointDialogHelper waypointDialogHelper;
|
||||||
|
|
||||||
public enum DrawerType{
|
|
||||||
WAYPOINTS,
|
|
||||||
CONFIGURE_SCREEN,
|
|
||||||
CONFIGURE_MAP,
|
|
||||||
MAIN_MENU
|
|
||||||
}
|
|
||||||
|
|
||||||
private DrawerType currentDrawer = DrawerType.MAIN_MENU;
|
|
||||||
|
|
||||||
public MapActivityActions(MapActivity mapActivity){
|
public MapActivityActions(MapActivity mapActivity){
|
||||||
this.mapActivity = mapActivity;
|
this.mapActivity = mapActivity;
|
||||||
settings = mapActivity.getMyApplication().getSettings();
|
settings = mapActivity.getMyApplication().getSettings();
|
||||||
|
@ -170,15 +158,6 @@ public class MapActivityActions implements DialogProvider {
|
||||||
mapActivity.showDialog(DIALOG_RELOAD_TITLE);
|
mapActivity.showDialog(DIALOG_RELOAD_TITLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DrawerType getDrawerType(){
|
|
||||||
return currentDrawer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDrawerType(DrawerType type){
|
|
||||||
this.currentDrawer = type;
|
|
||||||
prepareStartOptionsMenu();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String getString(int res){
|
protected String getString(int res){
|
||||||
return mapActivity.getString(res);
|
return mapActivity.getString(res);
|
||||||
}
|
}
|
||||||
|
@ -566,85 +545,11 @@ public class MapActivityActions implements DialogProvider {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void prepareStartOptionsMenu(){
|
|
||||||
refreshDrawer();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void refreshDrawer(){
|
|
||||||
switch (currentDrawer){
|
|
||||||
case MAIN_MENU:
|
|
||||||
prepareOptionsMenu(createMainOptionsMenu());
|
|
||||||
break;
|
|
||||||
case CONFIGURE_MAP:
|
|
||||||
prepareConfigureMap();
|
|
||||||
break;
|
|
||||||
case CONFIGURE_SCREEN:
|
|
||||||
prepareConfigureScreen();
|
|
||||||
break;
|
|
||||||
case WAYPOINTS:
|
|
||||||
showWaypointsInDrawer(false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void prepareOptionsMenu(final ContextMenuAdapter cm) {
|
|
||||||
refreshDrawer = false;
|
|
||||||
final ArrayAdapter<?> listAdapter =
|
|
||||||
cm.createListAdapter(mapActivity, getMyApplication().getSettings().isLightContent());
|
|
||||||
OnItemClickListener listener = getOptionsMenuOnClickListener(cm, listAdapter);
|
|
||||||
mapActivity.getDashboard().setListAdapter(listAdapter, listener);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private OnItemClickListener getOptionsMenuOnClickListener(final ContextMenuAdapter cm,
|
|
||||||
final ArrayAdapter<?> listAdapter) {
|
|
||||||
return new AdapterView.OnItemClickListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemClick(AdapterView<?> parent, View view, int which, long id) {
|
|
||||||
OnContextMenuClick click = cm.getClickAdapter(which);
|
|
||||||
if(click instanceof OnRowItemClick) {
|
|
||||||
boolean cl = ((OnRowItemClick) click).onRowItemClick(listAdapter, view, cm.getElementId(which), which);
|
|
||||||
if(cl) {
|
|
||||||
closeDrawer();
|
|
||||||
}
|
|
||||||
} else if (click != null) {
|
|
||||||
CompoundButton btn = (CompoundButton) view.findViewById(R.id.check_item);
|
|
||||||
if (btn != null && btn.getVisibility() == View.VISIBLE) {
|
|
||||||
btn.setChecked(!btn.isChecked());
|
|
||||||
} else {
|
|
||||||
if (click.onContextMenuClick(listAdapter, cm.getElementId(which), which, false)) {
|
|
||||||
closeDrawer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
closeDrawer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public void closeDrawer() {
|
|
||||||
mapActivity.getDashboard().setDashboardVisibility(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void prepareConfigureMap() {
|
|
||||||
currentDrawer = DrawerType.CONFIGURE_MAP;
|
|
||||||
//mapActivity.getClearToolbar(true);
|
|
||||||
prepareOptionsMenu(new ConfigureMapMenu().createListAdapter(mapActivity, true));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onDrawerBack() {
|
|
||||||
currentDrawer = DrawerType.MAIN_MENU;
|
|
||||||
prepareStartOptionsMenu();
|
|
||||||
}
|
|
||||||
|
|
||||||
private ContextMenuAdapter createMainOptionsMenu() {
|
private ContextMenuAdapter createMainOptionsMenu() {
|
||||||
final OsmandMapTileView mapView = mapActivity.getMapView();
|
final OsmandMapTileView mapView = mapActivity.getMapView();
|
||||||
final OsmandApplication app = mapActivity.getMyApplication();
|
final OsmandApplication app = mapActivity.getMyApplication();
|
||||||
ContextMenuAdapter optionsMenuHelper = new ContextMenuAdapter(app);
|
ContextMenuAdapter optionsMenuHelper = new ContextMenuAdapter(app);
|
||||||
currentDrawer = DrawerType.MAIN_MENU;
|
|
||||||
|
|
||||||
// 2-4. Navigation related (directions, mute, cancel navigation)
|
// 2-4. Navigation related (directions, mute, cancel navigation)
|
||||||
boolean muteVisible = routingHelper.getFinalLocation() != null && routingHelper.isFollowingMode();
|
boolean muteVisible = routingHelper.getFinalLocation() != null && routingHelper.isFollowingMode();
|
||||||
|
@ -787,7 +692,8 @@ public class MapActivityActions implements DialogProvider {
|
||||||
.listen(new OnContextMenuClick() {
|
.listen(new OnContextMenuClick() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||||
prepareConfigureMap();
|
mapActivity.getDashboard().setListAdapter(new ConfigureMapMenu().createListAdapter(mapActivity),
|
||||||
|
DashboardType.CONFIGURE_MAP);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}).reg();
|
}).reg();
|
||||||
|
@ -796,7 +702,8 @@ public class MapActivityActions implements DialogProvider {
|
||||||
.listen(new OnContextMenuClick() {
|
.listen(new OnContextMenuClick() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||||
prepareConfigureScreen();
|
ContextMenuAdapter cm = mapActivity.getMapLayers().getMapInfoLayer().getViewConfigureMenuAdapter();
|
||||||
|
mapActivity.getDashboard().setListAdapter(cm, DashboardType.CONFIGURE_SCREEN);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}).reg();
|
}).reg();
|
||||||
|
@ -860,20 +767,12 @@ public class MapActivityActions implements DialogProvider {
|
||||||
return optionsMenuHelper;
|
return optionsMenuHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void prepareConfigureScreen() {
|
|
||||||
currentDrawer = DrawerType.CONFIGURE_SCREEN;
|
|
||||||
ContextMenuAdapter cm = mapActivity.getMapLayers().getMapInfoLayer().getViewConfigureMenuAdapter();
|
|
||||||
prepareOptionsMenu(cm);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void showWaypointsInDrawer(boolean flat) {
|
public void showWaypointsInDrawer(boolean flat) {
|
||||||
currentDrawer = DrawerType.WAYPOINTS;
|
|
||||||
final int[] running = new int[] { -1 };
|
final int[] running = new int[] { -1 };
|
||||||
ArrayAdapter<Object> listAdapter = waypointDialogHelper.getWaypointsDrawerAdapter(mapActivity, running, flat);
|
ArrayAdapter<Object> listAdapter = waypointDialogHelper.getWaypointsDrawerAdapter(mapActivity, running, flat);
|
||||||
OnItemClickListener listener = waypointDialogHelper.getDrawerItemClickListener(mapActivity, running,
|
OnItemClickListener listener = waypointDialogHelper.getDrawerItemClickListener(mapActivity, running,
|
||||||
listAdapter, null);
|
listAdapter, null);
|
||||||
refreshDrawer = false;
|
mapActivity.getDashboard().setListAdapter(listAdapter, listener, DashboardType.WAYPOINTS);
|
||||||
mapActivity.getDashboard().setListAdapter(listAdapter, listener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void showWaypointsDialog(boolean flat) {
|
public void showWaypointsDialog(boolean flat) {
|
||||||
|
|
|
@ -212,9 +212,6 @@ public class MapActivityLayers {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public AlertDialog showGPXFileLayer(List<String> files, final OsmandMapTileView mapView) {
|
public AlertDialog showGPXFileLayer(List<String> files, final OsmandMapTileView mapView) {
|
||||||
final OsmandSettings settings = getApplication().getSettings();
|
final OsmandSettings settings = getApplication().getSettings();
|
||||||
CallbackWithObject<GPXFile[]> callbackWithObject = new CallbackWithObject<GPXFile[]>() {
|
CallbackWithObject<GPXFile[]> callbackWithObject = new CallbackWithObject<GPXFile[]>() {
|
||||||
|
@ -241,7 +238,7 @@ public class MapActivityLayers {
|
||||||
mapView.getZoom(), true);
|
mapView.getZoom(), true);
|
||||||
}
|
}
|
||||||
mapView.refreshMap();
|
mapView.refreshMap();
|
||||||
activity.getMapActions().refreshDrawer();
|
activity.getDashboard().refreshContent();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,9 +6,12 @@ import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.osmand.data.LatLon;
|
import net.osmand.data.LatLon;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
|
||||||
|
import net.osmand.plus.IconsCache;
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
||||||
import net.osmand.plus.OsmandPlugin;
|
import net.osmand.plus.OsmandPlugin;
|
||||||
import net.osmand.plus.OsmandSettings.CommonPreference;
|
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
import net.osmand.plus.audionotes.DashAudioVideoNotesFragment;
|
import net.osmand.plus.audionotes.DashAudioVideoNotesFragment;
|
||||||
|
@ -24,13 +27,13 @@ import net.osmand.plus.routing.RoutingHelper;
|
||||||
import net.osmand.plus.views.DownloadedRegionsLayer;
|
import net.osmand.plus.views.DownloadedRegionsLayer;
|
||||||
import net.osmand.plus.views.OsmandMapTileView;
|
import net.osmand.plus.views.OsmandMapTileView;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
import android.support.v4.app.FragmentTransaction;
|
import android.support.v4.app.FragmentTransaction;
|
||||||
import android.support.v7.widget.Toolbar;
|
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -43,10 +46,12 @@ import android.widget.AdapterView;
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.AdapterView.OnItemClickListener;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.CompoundButton;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.ScrollView;
|
import android.widget.ScrollView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.github.ksoichiro.android.observablescrollview.ObservableListView;
|
import com.github.ksoichiro.android.observablescrollview.ObservableListView;
|
||||||
import com.github.ksoichiro.android.observablescrollview.ObservableScrollViewCallbacks;
|
import com.github.ksoichiro.android.observablescrollview.ObservableScrollViewCallbacks;
|
||||||
|
@ -60,14 +65,18 @@ import com.software.shell.fab.ActionButton;
|
||||||
public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
|
|
||||||
public static boolean staticVisible = false;
|
public static boolean staticVisible = false;
|
||||||
|
public static DashboardType staticVisibleType = DashboardType.DASHBOARD;
|
||||||
|
|
||||||
private MapActivity mapActivity;
|
private MapActivity mapActivity;
|
||||||
private ActionButton actionButton;
|
private ActionButton actionButton;
|
||||||
private FrameLayout dashboardView;
|
private FrameLayout dashboardView;
|
||||||
|
|
||||||
private ArrayAdapter<?> listAdapter;
|
private ArrayAdapter<?> listAdapter;
|
||||||
private OnItemClickListener listAdapterOnClickListener;
|
private OnItemClickListener listAdapterOnClickListener;
|
||||||
|
|
||||||
|
|
||||||
private boolean visible = false;
|
private boolean visible = false;
|
||||||
|
private DashboardType visibleType;
|
||||||
private boolean landscape;
|
private boolean landscape;
|
||||||
private List<WeakReference<DashBaseFragment>> fragList = new LinkedList<WeakReference<DashBaseFragment>>();
|
private List<WeakReference<DashBaseFragment>> fragList = new LinkedList<WeakReference<DashBaseFragment>>();
|
||||||
private net.osmand.Location myLocation;
|
private net.osmand.Location myLocation;
|
||||||
|
@ -76,43 +85,27 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
private boolean mapLinkedToLocation;
|
private boolean mapLinkedToLocation;
|
||||||
private float mapRotation;
|
private float mapRotation;
|
||||||
private boolean inLocationUpdate = false;
|
private boolean inLocationUpdate = false;
|
||||||
private boolean saveBackAction;
|
|
||||||
private ImageView switchButton;
|
|
||||||
private NotifyingScrollView scrollView;
|
private NotifyingScrollView scrollView;
|
||||||
private View listViewLayout;
|
|
||||||
private ListView listView;
|
private ListView listView;
|
||||||
private View listBackgroundView;
|
private View listBackgroundView;
|
||||||
|
private View paddingView;
|
||||||
private int mFlexibleSpaceImageHeight;
|
private int mFlexibleSpaceImageHeight;
|
||||||
|
|
||||||
|
public enum DashboardType {
|
||||||
|
WAYPOINTS,
|
||||||
|
WAYPOINTS_EDIT,
|
||||||
|
WAYPOINTS_SORT,
|
||||||
|
CONFIGURE_SCREEN,
|
||||||
|
CONFIGURE_MAP,
|
||||||
|
LIST_MENU,
|
||||||
|
DASHBOARD
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public DashboardOnMap(MapActivity ma) {
|
public DashboardOnMap(MapActivity ma) {
|
||||||
this.mapActivity = ma;
|
this.mapActivity = ma;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Toolbar getClearToolbar(boolean visible) {
|
|
||||||
final Toolbar tb = (Toolbar) dashboardView.findViewById(R.id.toolbar);
|
|
||||||
if (tb == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
tb.setTitle(null);
|
|
||||||
tb.getMenu().clear();
|
|
||||||
setToolbarVisibility(visible);
|
|
||||||
return tb;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setToolbarVisibility(boolean visible){
|
|
||||||
int visibility = visible? View.VISIBLE : View.GONE;
|
|
||||||
View toolbar = dashboardView.findViewById(R.id.toolbar);
|
|
||||||
if (toolbar != null) {
|
|
||||||
toolbar.setVisibility(visibility);
|
|
||||||
}
|
|
||||||
View buttons = dashboardView.findViewById(R.id.map_menu_button);
|
|
||||||
if (buttons != null) {
|
|
||||||
buttons.setVisibility(visibility);
|
|
||||||
}
|
|
||||||
|
|
||||||
actionButton.setVisibility(visibility);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void createDashboardView() {
|
public void createDashboardView() {
|
||||||
landscape = !ScreenOrientationHelper.isOrientationPortrait(mapActivity);
|
landscape = !ScreenOrientationHelper.isOrientationPortrait(mapActivity);
|
||||||
|
@ -120,11 +113,10 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
View.OnClickListener listener = new View.OnClickListener() {
|
View.OnClickListener listener = new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
setDashboardVisibility(false);
|
hideDashboard();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
scrollView = ((NotifyingScrollView) dashboardView.findViewById(R.id.main_scroll));
|
scrollView = ((NotifyingScrollView) dashboardView.findViewById(R.id.main_scroll));
|
||||||
listViewLayout = dashboardView.findViewById(R.id.dash_list_view_layout);
|
|
||||||
listView = (ListView) dashboardView.findViewById(R.id.dash_list_view);
|
listView = (ListView) dashboardView.findViewById(R.id.dash_list_view);
|
||||||
scrollView.setOnScrollChangedListener(new NotifyingScrollView.OnScrollChangedListener() {
|
scrollView.setOnScrollChangedListener(new NotifyingScrollView.OnScrollChangedListener() {
|
||||||
public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) {
|
public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) {
|
||||||
|
@ -137,7 +129,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
mFlexibleSpaceImageHeight = mapActivity.getResources().getDimensionPixelSize(
|
mFlexibleSpaceImageHeight = mapActivity.getResources().getDimensionPixelSize(
|
||||||
R.dimen.dashboard_map_top_padding);
|
R.dimen.dashboard_map_top_padding);
|
||||||
// Set padding view for ListView. This is the flexible space.
|
// Set padding view for ListView. This is the flexible space.
|
||||||
View paddingView = new View(mapActivity);
|
paddingView = new View(mapActivity);
|
||||||
AbsListView.LayoutParams lp = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT,
|
AbsListView.LayoutParams lp = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT,
|
||||||
mFlexibleSpaceImageHeight);
|
mFlexibleSpaceImageHeight);
|
||||||
paddingView.setLayoutParams(lp);
|
paddingView.setLayoutParams(lp);
|
||||||
|
@ -146,8 +138,6 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
paddingView.setOnClickListener(listener);
|
paddingView.setOnClickListener(listener);
|
||||||
listView.addHeaderView(paddingView);
|
listView.addHeaderView(paddingView);
|
||||||
|
|
||||||
// Toolbar tb = (Toolbar) mapActivity.findViewById(R.id.dash_toolbar);
|
|
||||||
// tb.setLogo(R.drawable.icon);
|
|
||||||
listBackgroundView = mapActivity.findViewById(R.id.dash_list_background);
|
listBackgroundView = mapActivity.findViewById(R.id.dash_list_background);
|
||||||
final View contentView = mapActivity.getWindow().getDecorView().findViewById(android.R.id.content);
|
final View contentView = mapActivity.getWindow().getDecorView().findViewById(android.R.id.content);
|
||||||
contentView.post(new Runnable() {
|
contentView.post(new Runnable() {
|
||||||
|
@ -165,6 +155,64 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
dashboardView.findViewById(R.id.animateContent).setOnClickListener(listener);
|
dashboardView.findViewById(R.id.animateContent).setOnClickListener(listener);
|
||||||
dashboardView.findViewById(R.id.map_part_dashboard).setOnClickListener(listener);
|
dashboardView.findViewById(R.id.map_part_dashboard).setOnClickListener(listener);
|
||||||
|
|
||||||
|
initActionButton();
|
||||||
|
dashboardView.addView(actionButton);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initToolbarActions() {
|
||||||
|
TextView tv = (TextView) dashboardView.findViewById(R.id.toolbar_text);
|
||||||
|
ImageView back = (ImageView) dashboardView.findViewById(R.id.toolbar_back);
|
||||||
|
back.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
hideDashboard();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ImageView edit = (ImageView) dashboardView.findViewById(R.id.toolbar_edit);
|
||||||
|
edit.setVisibility(View.GONE);
|
||||||
|
edit.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ImageView settings = (ImageView) dashboardView.findViewById(R.id.toolbar_settings);
|
||||||
|
settings.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
Class<? extends Activity> sta = mapActivity.getMyApplication().getAppCustomization().getSettingsActivity();
|
||||||
|
visible = false;
|
||||||
|
mapActivity.startActivity(new Intent(mapActivity, sta));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
IconsCache iconsCache = mapActivity.getMyApplication().getIconsCache();
|
||||||
|
|
||||||
|
ImageView lst = (ImageView) dashboardView.findViewById(R.id.toolbar_list);
|
||||||
|
lst.setVisibility(View.VISIBLE);
|
||||||
|
if(visibleType == DashboardType.DASHBOARD) {
|
||||||
|
lst.setImageDrawable(iconsCache.getActionBarIcon(R.drawable.ic_navigation_drawer));
|
||||||
|
} else if(visibleType == DashboardType.LIST_MENU) {
|
||||||
|
lst.setImageDrawable(iconsCache.getActionBarIcon(R.drawable.ic_dashboard_dark));
|
||||||
|
} else {
|
||||||
|
lst.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
lst.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if(visibleType == DashboardType.DASHBOARD) {
|
||||||
|
setDashboardVisibility(true, DashboardType.LIST_MENU);
|
||||||
|
} else {
|
||||||
|
setDashboardVisibility(true, DashboardType.DASHBOARD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initActionButton() {
|
||||||
actionButton = new ActionButton(mapActivity);
|
actionButton = new ActionButton(mapActivity);
|
||||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||||
int marginRight = convertPixelsToDp(16, mapActivity);
|
int marginRight = convertPixelsToDp(16, mapActivity);
|
||||||
|
@ -184,19 +232,11 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
} else {
|
} else {
|
||||||
mapActivity.getMapViewTrackingUtilities().backToLocationImpl();
|
mapActivity.getMapViewTrackingUtilities().backToLocationImpl();
|
||||||
}
|
}
|
||||||
setDashboardVisibility(false);
|
hideDashboard();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
dashboardView.addView(actionButton);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void switchBtnAction() {
|
|
||||||
setDashboardVisibility(false);
|
|
||||||
CommonPreference<Boolean> st = mapActivity.getMyApplication().getSettings().USE_DASHBOARD_INSTEAD_OF_DRAWER;
|
|
||||||
st.set(!st.get());
|
|
||||||
setDashboardVisibility(true);
|
|
||||||
// mapActivity.getMapActions().toggleDrawer();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int convertPixelsToDp(float dp, Context context){
|
public static int convertPixelsToDp(float dp, Context context){
|
||||||
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
|
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
|
||||||
|
@ -235,37 +275,18 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
return listAdapterOnClickListener;
|
return listAdapterOnClickListener;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setListAdapter(ArrayAdapter<?> listAdapter, final OnItemClickListener optionsMenuOnClickListener) {
|
public void hideDashboard() {
|
||||||
if(!isVisible()) {
|
setDashboardVisibility(false, DashboardType.DASHBOARD);
|
||||||
mapActivity.getMyApplication().getSettings().USE_DASHBOARD_INSTEAD_OF_DRAWER.set(false);
|
|
||||||
}
|
|
||||||
this.listAdapter = listAdapter;
|
|
||||||
this.listAdapterOnClickListener = optionsMenuOnClickListener;
|
|
||||||
if(this.listView != null) {
|
|
||||||
listView.setAdapter(listAdapter);
|
|
||||||
if(listBackgroundView == null) {
|
|
||||||
listView.setOnItemClickListener(optionsMenuOnClickListener);
|
|
||||||
} else if (optionsMenuOnClickListener != null) {
|
|
||||||
listView.setOnItemClickListener(new OnItemClickListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
|
||||||
optionsMenuOnClickListener.onItemClick(parent, view, position - 1, id);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
listView.setOnItemClickListener(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setDashboardVisibility(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDashboardVisibility(boolean visible) {
|
public void setDashboardVisibility(boolean visible, DashboardType type) {
|
||||||
if(visible == this.visible) {
|
if(visible == this.visible && type == visibleType) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.visible = visible;
|
this.visible = visible;
|
||||||
|
this.visibleType = type;
|
||||||
DashboardOnMap.staticVisible = visible;
|
DashboardOnMap.staticVisible = visible;
|
||||||
|
DashboardOnMap.staticVisibleType = type;
|
||||||
if (visible) {
|
if (visible) {
|
||||||
mapViewLocation = mapActivity.getMapLocation();
|
mapViewLocation = mapActivity.getMapLocation();
|
||||||
mapRotation = mapActivity.getMapRotate();
|
mapRotation = mapActivity.getMapRotate();
|
||||||
|
@ -275,28 +296,18 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
dashboardView.setVisibility(View.VISIBLE);
|
dashboardView.setVisibility(View.VISIBLE);
|
||||||
actionButton.show();
|
actionButton.show();
|
||||||
updateDownloadBtn();
|
updateDownloadBtn();
|
||||||
switchButton = (ImageView) dashboardView.findViewById(R.id.map_menu_button);
|
View listViewLayout = dashboardView.findViewById(R.id.dash_list_view_layout);
|
||||||
if(mapActivity.getMyApplication().getSettings().USE_DASHBOARD_INSTEAD_OF_DRAWER.get()) {
|
if(visibleType == DashboardType.DASHBOARD) {
|
||||||
addOrUpdateDashboardFragments();
|
addOrUpdateDashboardFragments();
|
||||||
scrollView.setVisibility(View.VISIBLE);
|
scrollView.setVisibility(View.VISIBLE);
|
||||||
listViewLayout.setVisibility(View.GONE);
|
listViewLayout.setVisibility(View.GONE);
|
||||||
|
|
||||||
switchButton.setImageDrawable(mapActivity.getMyApplication().getIconsCache().getIcon(R.drawable.ic_navigation_drawer,
|
|
||||||
R.color.icon_color_light));
|
|
||||||
} else {
|
} else {
|
||||||
scrollView.setVisibility(View.GONE);
|
scrollView.setVisibility(View.GONE);
|
||||||
listViewLayout.setVisibility(View.VISIBLE);
|
listViewLayout.setVisibility(View.VISIBLE);
|
||||||
switchButton.setImageDrawable(mapActivity.getMyApplication().getIconsCache().getIcon(R.drawable.ic_dashboard_dark,
|
|
||||||
R.color.icon_color_light));
|
|
||||||
}
|
}
|
||||||
mapActivity.findViewById(R.id.MapHudButtonsOverlay).setVisibility(View.INVISIBLE);
|
mapActivity.findViewById(R.id.MapHudButtonsOverlay).setVisibility(View.INVISIBLE);
|
||||||
switchButton.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
switchBtnAction();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
initToolbarActions();
|
||||||
//fabButton.showFloatingActionButton();
|
//fabButton.showFloatingActionButton();
|
||||||
open(dashboardView.findViewById(R.id.animateContent));
|
open(dashboardView.findViewById(R.id.animateContent));
|
||||||
updateLocation(true, true, false);
|
updateLocation(true, true, false);
|
||||||
|
@ -315,6 +326,34 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private OnItemClickListener getOptionsMenuOnClickListener(final ContextMenuAdapter cm,
|
||||||
|
final ArrayAdapter<?> listAdapter) {
|
||||||
|
return new AdapterView.OnItemClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int which, long id) {
|
||||||
|
OnContextMenuClick click = cm.getClickAdapter(which);
|
||||||
|
if(click instanceof OnRowItemClick) {
|
||||||
|
boolean cl = ((OnRowItemClick) click).onRowItemClick(listAdapter, view, cm.getElementId(which), which);
|
||||||
|
if(cl) {
|
||||||
|
hideDashboard();
|
||||||
|
}
|
||||||
|
} else if (click != null) {
|
||||||
|
CompoundButton btn = (CompoundButton) view.findViewById(R.id.check_item);
|
||||||
|
if (btn != null && btn.getVisibility() == View.VISIBLE) {
|
||||||
|
btn.setChecked(!btn.isChecked());
|
||||||
|
} else {
|
||||||
|
if (click.onContextMenuClick(listAdapter, cm.getElementId(which), which, false)) {
|
||||||
|
hideDashboard();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
hideDashboard();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private void updateDownloadBtn() {
|
private void updateDownloadBtn() {
|
||||||
Button btn = (Button) dashboardView.findViewById(R.id.map_download_button);
|
Button btn = (Button) dashboardView.findViewById(R.id.map_download_button);
|
||||||
String filter = null;
|
String filter = null;
|
||||||
|
@ -342,7 +381,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
setDashboardVisibility(false);
|
hideDashboard();
|
||||||
final Intent intent = new Intent(mapActivity, mapActivity.getMyApplication().getAppCustomization()
|
final Intent intent = new Intent(mapActivity, mapActivity.getMyApplication().getAppCustomization()
|
||||||
.getDownloadIndexActivity());
|
.getDownloadIndexActivity());
|
||||||
intent.putExtra(DownloadActivity.FILTER_KEY, f.toString());
|
intent.putExtra(DownloadActivity.FILTER_KEY, f.toString());
|
||||||
|
@ -468,11 +507,6 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean isVisible() {
|
public boolean isVisible() {
|
||||||
return visible;
|
return visible;
|
||||||
}
|
}
|
||||||
|
@ -526,31 +560,18 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void saveBackAction() {
|
|
||||||
saveBackAction = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean clearBackAction() {
|
|
||||||
if(saveBackAction) {
|
|
||||||
saveBackAction = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void onMenuPressed() {
|
public void onMenuPressed() {
|
||||||
if (!isVisible()) {
|
if (!isVisible()) {
|
||||||
setDashboardVisibility(true);
|
setDashboardVisibility(true, DashboardType.DASHBOARD);
|
||||||
} else {
|
} else {
|
||||||
setDashboardVisibility(false);
|
hideDashboard();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean onBackPressed() {
|
public boolean onBackPressed() {
|
||||||
if (isVisible()) {
|
if (isVisible()) {
|
||||||
setDashboardVisibility(false);
|
hideDashboard();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -570,10 +591,48 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
private void updateTopButton(int scrollY) {
|
private void updateTopButton(int scrollY) {
|
||||||
if (actionButton != null) {
|
if (actionButton != null) {
|
||||||
double scale = mapActivity.getResources().getDisplayMetrics().density;
|
double scale = mapActivity.getResources().getDisplayMetrics().density;
|
||||||
|
int originalPosition = (int) (160 * scale);
|
||||||
|
int minTop = (int) (65 * scale);
|
||||||
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) actionButton.getLayoutParams();
|
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) actionButton.getLayoutParams();
|
||||||
lp.topMargin = (int) Math.max(30 * scale, 160 * scale - scrollY);
|
if(minTop > originalPosition - scrollY) {
|
||||||
|
actionButton.hide();
|
||||||
|
} else {
|
||||||
|
actionButton.show();
|
||||||
|
lp.topMargin = originalPosition - scrollY;
|
||||||
((FrameLayout) actionButton.getParent()).updateViewLayout(actionButton, lp);
|
((FrameLayout) actionButton.getParent()).updateViewLayout(actionButton, lp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListAdapter(ArrayAdapter<?> listAdapter, OnItemClickListener listener, DashboardType type) {
|
||||||
|
this.listAdapter = listAdapter;
|
||||||
|
this.listAdapterOnClickListener = listener;
|
||||||
|
if(this.listView != null) {
|
||||||
|
listView.setAdapter(listAdapter);
|
||||||
|
if(listBackgroundView == null) {
|
||||||
|
listView.setOnItemClickListener(this.listAdapterOnClickListener);
|
||||||
|
} else if (this.listAdapterOnClickListener != null) {
|
||||||
|
listView.setOnItemClickListener(new OnItemClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
listAdapterOnClickListener.onItemClick(parent, view, position - 1, id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
listView.setOnItemClickListener(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setDashboardVisibility(true, type);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListAdapter(ContextMenuAdapter cm, DashboardType type) {
|
||||||
|
final ArrayAdapter<?> listAdapter = cm.createListAdapter(mapActivity, getMyApplication().getSettings()
|
||||||
|
.isLightContent());
|
||||||
|
OnItemClickListener listener = getOptionsMenuOnClickListener(cm, listAdapter);
|
||||||
|
setListAdapter(listAdapter, listener, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -610,5 +669,12 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void refreshContent() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
// ?? This method might not be needed
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class DashSimulateFragment extends DashBaseFragment {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (getActivity() instanceof MapActivity) {
|
if (getActivity() instanceof MapActivity) {
|
||||||
loc.getLocationSimulation().startStopRouteAnimation((MapActivity) getActivity());
|
loc.getLocationSimulation().startStopRouteAnimation((MapActivity) getActivity());
|
||||||
dashboard.setDashboardVisibility(false);
|
dashboard.hideDashboard();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,6 +19,7 @@ import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
import net.osmand.plus.activities.SettingsActivity;
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
import net.osmand.plus.activities.TransportRouteHelper;
|
import net.osmand.plus.activities.TransportRouteHelper;
|
||||||
|
import net.osmand.plus.dashboard.DashboardOnMap.DashboardType;
|
||||||
import net.osmand.plus.poi.PoiLegacyFilter;
|
import net.osmand.plus.poi.PoiLegacyFilter;
|
||||||
import net.osmand.plus.views.OsmandMapTileView;
|
import net.osmand.plus.views.OsmandMapTileView;
|
||||||
import net.osmand.render.RenderingRuleProperty;
|
import net.osmand.render.RenderingRuleProperty;
|
||||||
|
@ -41,7 +42,7 @@ public class ConfigureMapMenu {
|
||||||
|
|
||||||
private boolean allModes = false;
|
private boolean allModes = false;
|
||||||
|
|
||||||
public ContextMenuAdapter createListAdapter(final MapActivity ma, final boolean advanced) {
|
public ContextMenuAdapter createListAdapter(final MapActivity ma) {
|
||||||
ContextMenuAdapter adapter = new ContextMenuAdapter(ma, allModes);
|
ContextMenuAdapter adapter = new ContextMenuAdapter(ma, allModes);
|
||||||
adapter.setDefaultLayoutId(R.layout.drawer_list_item);
|
adapter.setDefaultLayoutId(R.layout.drawer_list_item);
|
||||||
adapter.item(R.string.configure_map).iconColor(R.drawable.ic_back_drawer_dark)
|
adapter.item(R.string.configure_map).iconColor(R.drawable.ic_back_drawer_dark)
|
||||||
|
@ -49,8 +50,7 @@ public class ConfigureMapMenu {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||||
ma.getMapActions().onDrawerBack();
|
return true;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}).reg();
|
}).reg();
|
||||||
adapter.item(R.string.app_modes_choose).layout(R.layout.mode_toggles).reg();
|
adapter.item(R.string.app_modes_choose).layout(R.layout.mode_toggles).reg();
|
||||||
|
@ -58,26 +58,11 @@ public class ConfigureMapMenu {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(boolean result) {
|
public void onClick(boolean result) {
|
||||||
allModes = true;
|
allModes = true;
|
||||||
ma.getMapActions().prepareOptionsMenu(createListAdapter(ma, advanced));
|
ma.getDashboard().setListAdapter(createListAdapter(ma), DashboardType.CONFIGURE_MAP);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
createLayersItems(adapter, ma);
|
createLayersItems(adapter, ma);
|
||||||
if (!advanced){
|
|
||||||
adapter.item(R.string.btn_advanced_mode).iconColor(R.drawable.ic_action_settings_enabled_dark)
|
|
||||||
.selected(advanced ? 1 : 0)
|
|
||||||
.listen(new OnContextMenuClick() {
|
|
||||||
@Override
|
|
||||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
|
||||||
ma.getMapActions().prepareOptionsMenu(createListAdapter(ma, isChecked));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}).reg();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (advanced) {
|
|
||||||
createRenderingAttributeItems(adapter, ma);
|
createRenderingAttributeItems(adapter, ma);
|
||||||
}
|
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +142,6 @@ public class ConfigureMapMenu {
|
||||||
if(selected[0] == null) {
|
if(selected[0] == null) {
|
||||||
settings.SHOW_POI_OVER_MAP.set(selected[0] != null);
|
settings.SHOW_POI_OVER_MAP.set(selected[0] != null);
|
||||||
}
|
}
|
||||||
ma.getMapActions().refreshDrawer();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -230,7 +214,6 @@ public class ConfigureMapMenu {
|
||||||
}
|
}
|
||||||
adapter.setItemDescription(pos, getRenderDescr(activity));
|
adapter.setItemDescription(pos, getRenderDescr(activity));
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
activity.getMapActions().prepareOptionsMenu(createListAdapter(activity, true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -243,8 +243,7 @@ public class WaypointDialogHelper {
|
||||||
if (dlg != null) {
|
if (dlg != null) {
|
||||||
dlg.dismiss();
|
dlg.dismiss();
|
||||||
} else if(a instanceof MapActivity){
|
} else if(a instanceof MapActivity){
|
||||||
((MapActivity) a).getMapActions().onDrawerBack();
|
((MapActivity) a).onBackPressed();
|
||||||
((MapActivity) a).getMapActions().closeDrawer();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -260,8 +259,8 @@ public class WaypointDialogHelper {
|
||||||
if (dlg != null) {
|
if (dlg != null) {
|
||||||
dlg.dismiss();
|
dlg.dismiss();
|
||||||
} else if(a instanceof MapActivity){
|
} else if(a instanceof MapActivity){
|
||||||
((MapActivity) a).getMapActions().onDrawerBack();
|
// to close drawer
|
||||||
((MapActivity) a).getMapActions().closeDrawer();
|
((MapActivity) a).onBackPressed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -429,7 +428,8 @@ public class WaypointDialogHelper {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClick(AdapterView<?> adapterView, View view, int item, long l) {
|
public void onItemClick(AdapterView<?> adapterView, View view, int item, long l) {
|
||||||
if (item == 0) {
|
if (item == 0) {
|
||||||
mapActivity.getMapActions().onDrawerBack();
|
// TODO
|
||||||
|
//mapActivity.getMapActions().onDrawerBack();
|
||||||
} else if (listAdapter.getItem(item) instanceof LocationPointWrapper) {
|
} else if (listAdapter.getItem(item) instanceof LocationPointWrapper) {
|
||||||
LocationPointWrapper ps = (LocationPointWrapper) listAdapter.getItem(item);
|
LocationPointWrapper ps = (LocationPointWrapper) listAdapter.getItem(item);
|
||||||
showOnMap(app, ctx, ps.getPoint(), dialog);
|
showOnMap(app, ctx, ps.getPoint(), dialog);
|
||||||
|
|
|
@ -16,6 +16,8 @@ import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.OsmandSettings.CommonPreference;
|
import net.osmand.plus.OsmandSettings.CommonPreference;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.dashboard.DashboardOnMap.DashboardType;
|
||||||
|
import net.osmand.plus.dialogs.ConfigureMapMenu;
|
||||||
import net.osmand.plus.routing.RoutingHelper;
|
import net.osmand.plus.routing.RoutingHelper;
|
||||||
import net.osmand.plus.views.controls.MapRouteInfoControl;
|
import net.osmand.plus.views.controls.MapRouteInfoControl;
|
||||||
import net.osmand.plus.views.controls.MapRoutePreferencesControl;
|
import net.osmand.plus.views.controls.MapRoutePreferencesControl;
|
||||||
|
@ -174,8 +176,8 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
notifyClicked();
|
notifyClicked();
|
||||||
mapActivity.getMapActions().prepareConfigureMap();
|
mapActivity.getDashboard().setListAdapter(new ConfigureMapMenu().createListAdapter(mapActivity),
|
||||||
mapActivity.getDashboard().setDashboardVisibility(true);
|
DashboardType.CONFIGURE_MAP);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -286,7 +288,7 @@ public class MapControlsLayer extends OsmandMapLayer {
|
||||||
// MainMenuActivity.backToMainMenuDialog(activity, new LatLon(lat, lon));
|
// MainMenuActivity.backToMainMenuDialog(activity, new LatLon(lat, lon));
|
||||||
notifyClicked();
|
notifyClicked();
|
||||||
// if (mapActivity.getMyApplication().getSettings().USE_DASHBOARD_INSTEAD_OF_DRAWER.get()) {
|
// if (mapActivity.getMyApplication().getSettings().USE_DASHBOARD_INSTEAD_OF_DRAWER.get()) {
|
||||||
mapActivity.getDashboard().setDashboardVisibility(true);
|
mapActivity.getDashboard().setDashboardVisibility(true, DashboardType.DASHBOARD);
|
||||||
// } else {
|
// } else {
|
||||||
// mapActivity.getMapActions().onDrawerBack();
|
// mapActivity.getMapActions().onDrawerBack();
|
||||||
// mapActivity.getMapActions().toggleDrawer();
|
// mapActivity.getMapActions().toggleDrawer();
|
||||||
|
|
|
@ -11,6 +11,7 @@ import net.osmand.plus.OsmandApplication;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.dashboard.DashboardOnMap.DashboardType;
|
||||||
import net.osmand.plus.dialogs.ConfigureMapMenu;
|
import net.osmand.plus.dialogs.ConfigureMapMenu;
|
||||||
import net.osmand.plus.helpers.ScreenOrientationHelper;
|
import net.osmand.plus.helpers.ScreenOrientationHelper;
|
||||||
import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory;
|
import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory;
|
||||||
|
@ -311,8 +312,7 @@ public class MapInfoLayer extends OsmandMapLayer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||||
map.getMapActions().onDrawerBack();
|
return true;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}).reg();
|
}).reg();
|
||||||
cm.item(R.string.app_modes_choose).layout(R.layout.mode_toggles).reg();
|
cm.item(R.string.app_modes_choose).layout(R.layout.mode_toggles).reg();
|
||||||
|
@ -320,7 +320,7 @@ public class MapInfoLayer extends OsmandMapLayer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(boolean allModes) {
|
public void onClick(boolean allModes) {
|
||||||
map.getMapActions().prepareOptionsMenu(getViewConfigureMenuAdapter());
|
map.getDashboard().setListAdapter(getViewConfigureMenuAdapter(), DashboardType.CONFIGURE_MAP);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
cm.item(R.string.map_widget_reset)
|
cm.item(R.string.map_widget_reset)
|
||||||
|
|
Loading…
Reference in a new issue