Search in sources :

Example 1 with MapillaryFirstDialogFragment

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();
}
Also used : FragmentManager(androidx.fragment.app.FragmentManager) ObservableScrollView(com.github.ksoichiro.android.observablescrollview.ObservableScrollView) ScrollView(android.widget.ScrollView) MapillaryFirstDialogFragment(net.osmand.plus.plugins.mapillary.MapillaryFirstDialogFragment) ApplicationMode(net.osmand.plus.settings.backend.ApplicationMode) ImageView(android.widget.ImageView) ObservableScrollView(com.github.ksoichiro.android.observablescrollview.ObservableScrollView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ObservableListView(com.github.ksoichiro.android.observablescrollview.ObservableListView) OsmandMapTileView(net.osmand.plus.views.OsmandMapTileView) AbsListView(android.widget.AbsListView) ScrollView(android.widget.ScrollView) SuppressLint(android.annotation.SuppressLint) MapillaryPlugin(net.osmand.plus.plugins.mapillary.MapillaryPlugin)

Aggregations

SuppressLint (android.annotation.SuppressLint)1 View (android.view.View)1 AbsListView (android.widget.AbsListView)1 AdapterView (android.widget.AdapterView)1 ImageView (android.widget.ImageView)1 ScrollView (android.widget.ScrollView)1 TextView (android.widget.TextView)1 FragmentManager (androidx.fragment.app.FragmentManager)1 ObservableListView (com.github.ksoichiro.android.observablescrollview.ObservableListView)1 ObservableScrollView (com.github.ksoichiro.android.observablescrollview.ObservableScrollView)1 MapillaryFirstDialogFragment (net.osmand.plus.plugins.mapillary.MapillaryFirstDialogFragment)1 MapillaryPlugin (net.osmand.plus.plugins.mapillary.MapillaryPlugin)1 ApplicationMode (net.osmand.plus.settings.backend.ApplicationMode)1 OsmandMapTileView (net.osmand.plus.views.OsmandMapTileView)1