use of net.osmand.plus.plugins.mapillary.MapillaryFirstDialogFragment in project Osmand by osmandapp.
the class DashboardOnMap method setDashboardVisibility.
public void setDashboardVisibility(boolean visible, DashboardType type, DashboardType prevItem, boolean animation, int[] animationCoordinates) {
if (visible == this.visible && type == visibleType || !AndroidUtils.isActivityNotDestroyed(mapActivity)) {
return;
}
mapActivity.getRoutingHelper().removeListener(this);
nightMode = mapActivity.getMyApplication().getDaynightHelper().isNightModeForMapControls();
this.previousVisibleType = prevItem;
this.visible = visible;
ApplicationMode currentAppMode = getMyApplication().getSettings().APPLICATION_MODE.get();
boolean appModeChanged = currentAppMode != previousAppMode;
boolean refresh = this.visibleType == type && !appModeChanged;
previousAppMode = currentAppMode;
visibleType = type;
DashboardOnMap.staticVisible = visible;
DashboardOnMap.staticVisibleType = type;
mapActivity.enableDrawer();
removeFragment(MapillaryFiltersFragment.TAG);
removeFragment(TerrainFragment.TAG);
if (visible) {
mapActivity.dismissCardDialog();
mapActivity.dismissTrackMenu();
mapActivity.getContextMenu().hideMenues();
mapViewLocation = mapActivity.getMapLocation();
mapRotation = mapActivity.getMapRotate();
mapLinkedToLocation = mapActivity.getMapViewTrackingUtilities().isMapLinkedToLocation();
mapActivity.getMapViewTrackingUtilities().setDashboard(this);
mapActivity.disableDrawer();
dashboardView.setVisibility(View.VISIBLE);
if (isActionButtonVisible()) {
setActionButton(visibleType);
actionButton.setVisibility(View.VISIBLE);
} else {
hideActionButton();
if (visibleType == DashboardType.CONFIGURE_MAP) {
int btnSizePx = mapActivity.getResources().getDimensionPixelSize(R.dimen.map_small_button_size);
compassButton = mapActivity.getMapLayers().getMapControlsLayer().moveCompassButton(dashboardView, getActionButtonLayoutParams(btnSizePx), nightMode);
}
}
updateDownloadBtn();
View listViewLayout = dashboardView.findViewById(R.id.dash_list_view_layout);
ScrollView scrollView = dashboardView.findViewById(R.id.main_scroll);
if (visibleType == DashboardType.DASHBOARD || visibleType == DashboardType.MAPILLARY || visibleType == DashboardType.CYCLE_ROUTES || visibleType == DashboardType.HIKING_ROUTES || visibleType == DashboardType.TRAVEL_ROUTES || visibleType == DashboardType.TERRAIN) {
FragmentManager fragmentManager = mapActivity.getSupportFragmentManager();
if (visibleType == DashboardType.DASHBOARD) {
addOrUpdateDashboardFragments();
} else if (visibleType == DashboardType.MAPILLARY) {
MapillaryFiltersFragment.showInstance(fragmentManager);
} else if (visibleType == DashboardType.CYCLE_ROUTES) {
CycleRoutesFragment.showInstance(fragmentManager);
} else if (visibleType == DashboardType.HIKING_ROUTES) {
HikingRoutesFragment.showInstance(fragmentManager);
} else if (visibleType == DashboardType.TRAVEL_ROUTES) {
TravelRoutesFragment.showInstance(fragmentManager);
} else {
TerrainFragment.showInstance(fragmentManager);
}
scrollView.setVisibility(View.VISIBLE);
scrollView.scrollTo(0, 0);
listViewLayout.setVisibility(View.GONE);
onScrollChanged(scrollView.getScrollY(), false, false);
} else {
scrollView.setVisibility(View.GONE);
listViewLayout.setVisibility(View.VISIBLE);
if (refresh) {
refreshContent(false);
} else {
listView.scrollTo(0, 0);
listView.clearParams();
onScrollChanged(listView.getScrollY(), false, false);
updateListAdapter();
}
updateListBackgroundHeight();
applyDayNightMode();
}
mapActivity.findViewById(R.id.toolbar_back).setVisibility(isBackButtonVisible() ? View.VISIBLE : View.GONE);
mapActivity.getMapLayers().getMapControlsLayer().hideMapControls();
updateToolbarActions();
open(animation, animationCoordinates);
updateLocation(true, true, false);
mapActivity.getRoutingHelper().addListener(this);
} else {
mapActivity.getMapViewTrackingUtilities().setDashboard(null);
hide(animation);
mapActivity.getMapLayers().getMapControlsLayer().showMapControlsIfHidden();
hideActionButton();
for (WeakReference<DashBaseFragment> df : fragList) {
if (df.get() != null) {
df.get().onCloseDash();
}
}
MapillaryPlugin plugin = OsmandPlugin.getPlugin(MapillaryPlugin.class);
if (plugin != null && plugin.SHOW_MAPILLARY.get() && !plugin.MAPILLARY_FIRST_DIALOG_SHOWN.get()) {
MapillaryFirstDialogFragment fragment = new MapillaryFirstDialogFragment();
fragment.show(mapActivity.getSupportFragmentManager(), MapillaryFirstDialogFragment.TAG);
plugin.MAPILLARY_FIRST_DIALOG_SHOWN.set(true);
}
}
mapActivity.updateStatusBarColor();
}
Aggregations