diff --git a/android/app/src/main/java/app/organicmaps/maplayer/ToggleMapLayerFragment.java b/android/app/src/main/java/app/organicmaps/maplayer/ToggleMapLayerFragment.java index d54fb634b..1d7ab4692 100644 --- a/android/app/src/main/java/app/organicmaps/maplayer/ToggleMapLayerFragment.java +++ b/android/app/src/main/java/app/organicmaps/maplayer/ToggleMapLayerFragment.java @@ -1,17 +1,21 @@ package app.organicmaps.maplayer; import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; +import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import app.organicmaps.MwmApplication; import app.organicmaps.R; +import app.organicmaps.sdk.Framework; import app.organicmaps.sdk.maplayer.Mode; import app.organicmaps.sdk.util.SharedPropertiesUtils; import app.organicmaps.util.ThemeSwitcher; @@ -19,6 +23,7 @@ import app.organicmaps.util.Utils; import app.organicmaps.util.bottomsheet.MenuBottomSheetFragment; import app.organicmaps.widget.recycler.SpanningLinearLayoutManager; import com.google.android.material.button.MaterialButton; +import com.google.android.material.materialswitch.MaterialSwitch; import java.util.ArrayList; import java.util.List; @@ -36,6 +41,22 @@ public class ToggleMapLayerFragment extends Fragment { View mRoot = inflater.inflate(R.layout.fragment_toggle_map_layer, container, false); + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()); + final boolean _3DEnabled = sharedPreferences.getBoolean(ContextCompat.getString(requireContext(), R.string.pref_3d_buildings),true); + MaterialSwitch m3DSwitch = mRoot.findViewById(R.id._3d_button); + m3DSwitch.setChecked(_3DEnabled); + m3DSwitch.setOnClickListener(v -> { + if (m3DSwitch.isChecked()) + { + Framework.nativeSet3dMode(true, false); + m3DSwitch.setChecked(false); + } + else + { + Framework.nativeSet3dMode(true, true); + m3DSwitch.setChecked(true); + } + }); mMapButtonsController = (MapButtonsController) requireActivity().getSupportFragmentManager().findFragmentById(R.id.map_buttons); MaterialButton mCloseButton = mRoot.findViewById(R.id.close_button); diff --git a/android/app/src/main/res/layout/fragment_toggle_map_layer.xml b/android/app/src/main/res/layout/fragment_toggle_map_layer.xml index 13a83e1ac..613a7ac19 100644 --- a/android/app/src/main/res/layout/fragment_toggle_map_layer.xml +++ b/android/app/src/main/res/layout/fragment_toggle_map_layer.xml @@ -19,6 +19,18 @@ android:textAppearance="@style/MwmTextAppearance.Headline6" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> + +