Merge branch 'organicmaps:master' into etaswitchfeature
|
@ -624,7 +624,7 @@
|
|||
|
||||
<activity
|
||||
android:name="app.organicmaps.DownloadResourcesLegacyActivity"
|
||||
android:configChanges="screenLayout|screenSize"/>
|
||||
android:configChanges="orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity-alias
|
||||
android:name="app.organicmaps.DownloadResourcesActivity"
|
||||
|
|
|
@ -13,19 +13,18 @@ import androidx.annotation.Nullable;
|
|||
import androidx.annotation.OptIn;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.google.android.material.badge.BadgeDrawable;
|
||||
import com.google.android.material.badge.BadgeUtils;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.downloader.MapManager;
|
||||
import app.organicmaps.downloader.UpdateInfo;
|
||||
import app.organicmaps.routing.RoutingController;
|
||||
import app.organicmaps.util.Config;
|
||||
import app.organicmaps.util.ThemeUtils;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.widget.menu.MyPositionButton;
|
||||
import app.organicmaps.widget.placepage.PlacePageController;
|
||||
import app.organicmaps.util.Config;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import com.google.android.material.badge.BadgeDrawable;
|
||||
import com.google.android.material.badge.BadgeUtils;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -242,8 +241,10 @@ public class MapButtonsController extends Fragment
|
|||
|
||||
public void updateButtonsVisibility()
|
||||
{
|
||||
updateButtonsVisibility(mInnerLeftButtonsFrame.getTranslationY(), mInnerLeftButtonsFrame);
|
||||
updateButtonsVisibility(mInnerRightButtonsFrame.getTranslationY(), mInnerRightButtonsFrame);
|
||||
if (mInnerLeftButtonsFrame != null)
|
||||
updateButtonsVisibility(mInnerLeftButtonsFrame.getTranslationY(), mInnerLeftButtonsFrame);
|
||||
if (mInnerRightButtonsFrame != null)
|
||||
updateButtonsVisibility(mInnerRightButtonsFrame.getTranslationY(), mInnerRightButtonsFrame);
|
||||
}
|
||||
|
||||
private void updateButtonsVisibility(final float translation, @Nullable View parent)
|
||||
|
@ -254,7 +255,7 @@ public class MapButtonsController extends Fragment
|
|||
{
|
||||
final View button = entry.getValue();
|
||||
if (button.getParent() == parent)
|
||||
showButton(getViewTopOffset(translation, button) > 0, entry.getKey());
|
||||
showButton(getViewTopOffset(translation, button) >= 0, entry.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -269,7 +270,10 @@ public class MapButtonsController extends Fragment
|
|||
public void showMapButtons(boolean show)
|
||||
{
|
||||
if (show)
|
||||
{
|
||||
UiUtils.show(mFrame);
|
||||
updateButtonsVisibility();
|
||||
}
|
||||
else
|
||||
UiUtils.hide(mFrame);
|
||||
mOnBottomButtonsHeightChangedListener.OnBottomButtonsHeightChanged();
|
||||
|
|
|
@ -52,13 +52,12 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
private Preference mStoragePref;
|
||||
|
||||
@Nullable
|
||||
private TwoStatePreference mPrefEnabled;
|
||||
private TwoStatePreference mTtsPrefEnabled;
|
||||
@Nullable
|
||||
private ListPreference mPrefLanguages;
|
||||
private ListPreference mTtsPrefLanguages;
|
||||
@Nullable
|
||||
private Preference mLangInfo;
|
||||
@Nullable
|
||||
private Preference mLangInfoLink;
|
||||
private Preference mTtsLangInfo;
|
||||
|
||||
private PreferenceScreen mPreferenceScreen;
|
||||
|
||||
@NonNull
|
||||
|
@ -76,27 +75,23 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
if (!set)
|
||||
{
|
||||
TtsPlayer.setEnabled(false);
|
||||
if (mPrefLanguages != null)
|
||||
mPrefLanguages.setEnabled(false);
|
||||
if (mLangInfo != null)
|
||||
mLangInfo.setSummary(R.string.prefs_languages_information_off);
|
||||
if (mLangInfoLink != null && isOnTtsScreen())
|
||||
getPreferenceScreen().addPreference(mLangInfoLink);
|
||||
if (mTtsPrefLanguages != null)
|
||||
mTtsPrefLanguages.setEnabled(false);
|
||||
if (mTtsLangInfo != null)
|
||||
mTtsLangInfo.setSummary(R.string.prefs_languages_information_off);
|
||||
|
||||
root.setSummary(R.string.off);
|
||||
|
||||
if (mPrefEnabled != null)
|
||||
mPrefEnabled.setTitle(R.string.off);
|
||||
if (mTtsPrefEnabled != null)
|
||||
mTtsPrefEnabled.setTitle(R.string.off);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (mLangInfo != null)
|
||||
mLangInfo.setSummary(R.string.prefs_languages_information);
|
||||
if (mTtsLangInfo != null)
|
||||
mTtsLangInfo.setSummary(R.string.prefs_languages_information);
|
||||
root.setSummary(R.string.on);
|
||||
if (mPrefEnabled != null)
|
||||
mPrefEnabled.setTitle(R.string.on);
|
||||
if (mLangInfoLink != null)
|
||||
removePreference(getString(R.string.pref_navigation), mLangInfoLink);
|
||||
if (mTtsPrefEnabled != null)
|
||||
mTtsPrefEnabled.setTitle(R.string.on);
|
||||
|
||||
if (mCurrentLanguage != null && mCurrentLanguage.downloaded)
|
||||
{
|
||||
|
@ -133,27 +128,25 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
|
||||
private void enableListeners(boolean enable)
|
||||
{
|
||||
if (mPrefEnabled != null)
|
||||
mPrefEnabled.setOnPreferenceChangeListener(enable ? mEnabledListener : null);
|
||||
if (mPrefLanguages != null)
|
||||
mPrefLanguages.setOnPreferenceChangeListener(enable ? mLangListener : null);
|
||||
if (mTtsPrefEnabled != null)
|
||||
mTtsPrefEnabled.setOnPreferenceChangeListener(enable ? mEnabledListener : null);
|
||||
if (mTtsPrefLanguages != null)
|
||||
mTtsPrefLanguages.setOnPreferenceChangeListener(enable ? mLangListener : null);
|
||||
}
|
||||
|
||||
private void setLanguage(@NonNull LanguageData lang)
|
||||
{
|
||||
Config.setTtsEnabled(true);
|
||||
TtsPlayer.INSTANCE.setLanguage(lang);
|
||||
if (mPrefLanguages != null)
|
||||
mPrefLanguages.setSummary(lang.name);
|
||||
if (mTtsPrefLanguages != null)
|
||||
mTtsPrefLanguages.setSummary(lang.name);
|
||||
|
||||
updateTts();
|
||||
}
|
||||
|
||||
// Use this method only on TTS screen. Prerequisites: mTtsPrefEnabled, mTtsPrefLanguages and mTtsLangInfo are not null.
|
||||
private void updateTts()
|
||||
{
|
||||
if (mPrefEnabled == null || mPrefLanguages == null || mLangInfo == null || mLangInfoLink == null)
|
||||
return;
|
||||
|
||||
enableListeners(false);
|
||||
|
||||
List<LanguageData> languages = TtsPlayer.INSTANCE.refreshLanguages();
|
||||
|
@ -164,15 +157,13 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
|
||||
if (languages.isEmpty())
|
||||
{
|
||||
mPrefEnabled.setChecked(false);
|
||||
mPrefEnabled.setEnabled(false);
|
||||
mPrefEnabled.setSummary(R.string.pref_tts_unavailable);
|
||||
mPrefEnabled.setTitle(R.string.off);
|
||||
mPrefLanguages.setEnabled(false);
|
||||
mPrefLanguages.setSummary(null);
|
||||
mLangInfo.setSummary(R.string.prefs_languages_information_off);
|
||||
if (isOnTtsScreen())
|
||||
getPreferenceScreen().addPreference(mLangInfoLink);
|
||||
mTtsPrefEnabled.setChecked(false);
|
||||
mTtsPrefEnabled.setEnabled(false);
|
||||
mTtsPrefEnabled.setSummary(R.string.pref_tts_unavailable);
|
||||
mTtsPrefEnabled.setTitle(R.string.off);
|
||||
mTtsPrefLanguages.setEnabled(false);
|
||||
mTtsPrefLanguages.setSummary(null);
|
||||
mTtsLangInfo.setSummary(R.string.prefs_languages_information_off);
|
||||
root.setSummary(R.string.off);
|
||||
|
||||
enableListeners(true);
|
||||
|
@ -180,15 +171,11 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
}
|
||||
|
||||
boolean enabled = TtsPlayer.isEnabled();
|
||||
mPrefEnabled.setChecked(enabled);
|
||||
mPrefEnabled.setSummary(null);
|
||||
mPrefEnabled.setTitle(enabled ? R.string.on : R.string.off);
|
||||
mLangInfo.setSummary(enabled ? R.string.prefs_languages_information
|
||||
: R.string.prefs_languages_information_off);
|
||||
if (enabled)
|
||||
removePreference(getString(R.string.pref_navigation), mLangInfoLink);
|
||||
else if (isOnTtsScreen())
|
||||
getPreferenceScreen().addPreference(mLangInfoLink);
|
||||
mTtsPrefEnabled.setChecked(enabled);
|
||||
mTtsPrefEnabled.setSummary(null);
|
||||
mTtsPrefEnabled.setTitle(enabled ? R.string.on : R.string.off);
|
||||
mTtsLangInfo.setSummary(enabled ? R.string.prefs_languages_information
|
||||
: R.string.prefs_languages_information_off);
|
||||
|
||||
if (root != null)
|
||||
root.setSummary(enabled ? R.string.on : R.string.off);
|
||||
|
@ -204,19 +191,24 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
mLanguages.put(lang.internalCode, lang);
|
||||
}
|
||||
|
||||
mPrefLanguages.setEntries(entries);
|
||||
mPrefLanguages.setEntryValues(values);
|
||||
mTtsPrefLanguages.setEntries(entries);
|
||||
mTtsPrefLanguages.setEntryValues(values);
|
||||
|
||||
mCurrentLanguage = TtsPlayer.getSelectedLanguage(languages);
|
||||
boolean available = (mCurrentLanguage != null && mCurrentLanguage.downloaded);
|
||||
mPrefLanguages.setEnabled(available && TtsPlayer.isEnabled());
|
||||
mPrefLanguages.setSummary(available ? mCurrentLanguage.name : null);
|
||||
mPrefLanguages.setValue(available ? mCurrentLanguage.internalCode : null);
|
||||
mPrefEnabled.setChecked(available && TtsPlayer.isEnabled());
|
||||
mTtsPrefLanguages.setEnabled(available && TtsPlayer.isEnabled());
|
||||
mTtsPrefLanguages.setSummary(available ? mCurrentLanguage.name : null);
|
||||
mTtsPrefLanguages.setValue(available ? mCurrentLanguage.internalCode : null);
|
||||
mTtsPrefEnabled.setChecked(available && TtsPlayer.isEnabled());
|
||||
|
||||
enableListeners(true);
|
||||
}
|
||||
|
||||
private boolean isOnMainScreen()
|
||||
{
|
||||
return mPreferenceScreen.getKey() == null;
|
||||
}
|
||||
|
||||
private boolean isOnTtsScreen()
|
||||
{
|
||||
String ttsScreenKey = requireActivity().getString(R.string.pref_tts_screen);
|
||||
|
@ -241,38 +233,47 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
{
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mPreferenceScreen = getPreferenceScreen();
|
||||
mStoragePref = getPreference(getString(R.string.pref_storage));
|
||||
mPrefEnabled = getPreference(getString(R.string.pref_tts_enabled));
|
||||
mPrefLanguages = getPreference(getString(R.string.pref_tts_language));
|
||||
mLangInfo = getPreference(getString(R.string.pref_tts_info));
|
||||
mLangInfoLink = getPreference(getString(R.string.pref_tts_info_link));
|
||||
initLangInfoLink();
|
||||
initStoragePrefCallbacks();
|
||||
initMeasureUnitsPrefsCallbacks();
|
||||
initZoomPrefsCallbacks();
|
||||
initMapStylePrefsCallbacks();
|
||||
initSpeedCamerasPrefs();
|
||||
initAutoDownloadPrefsCallbacks();
|
||||
initLargeFontSizePrefsCallbacks();
|
||||
initTransliterationPrefsCallbacks();
|
||||
init3dModePrefsCallbacks();
|
||||
initPerspectivePrefsCallbacks();
|
||||
initAutoZoomPrefsCallbacks();
|
||||
initLoggingEnabledPrefsCallbacks();
|
||||
initEmulationBadStorage();
|
||||
initUseMobileDataPrefsCallbacks();
|
||||
initPowerManagementPrefsCallbacks();
|
||||
boolean playServices = initPlayServicesPrefsCallbacks();
|
||||
boolean crashReports = initCrashReports();
|
||||
if (!playServices && !crashReports)
|
||||
|
||||
if (isOnMainScreen())
|
||||
{
|
||||
// Remove "Tracking" section completely.
|
||||
final PreferenceCategory tracking = getPreference(getString(R.string.pref_subtittle_opt_out));
|
||||
mPreferenceScreen.removePreference(tracking);
|
||||
// Initialize main preferences screen.
|
||||
mStoragePref = getPreference(getString(R.string.pref_storage));
|
||||
initStoragePrefCallbacks();
|
||||
initMeasureUnitsPrefsCallbacks();
|
||||
initZoomPrefsCallbacks();
|
||||
initMapStylePrefsCallbacks();
|
||||
initSpeedCamerasPrefs();
|
||||
initAutoDownloadPrefsCallbacks();
|
||||
initLargeFontSizePrefsCallbacks();
|
||||
initTransliterationPrefsCallbacks();
|
||||
init3dModePrefsCallbacks();
|
||||
initPerspectivePrefsCallbacks();
|
||||
initAutoZoomPrefsCallbacks();
|
||||
initLoggingEnabledPrefsCallbacks();
|
||||
initEmulationBadStorage();
|
||||
initUseMobileDataPrefsCallbacks();
|
||||
initPowerManagementPrefsCallbacks();
|
||||
final boolean playServices = initPlayServicesPrefsCallbacks();
|
||||
final boolean crashReports = initCrashReports();
|
||||
if (!playServices && !crashReports)
|
||||
{
|
||||
// Remove "Tracking" section completely.
|
||||
final PreferenceCategory tracking = findPreference(getString(R.string.pref_subtittle_opt_out));
|
||||
if (tracking != null)
|
||||
mPreferenceScreen.removePreference(tracking);
|
||||
}
|
||||
initScreenSleepEnabledPrefsCallbacks();
|
||||
initShowOnLockScreenPrefsCallbacks();
|
||||
}
|
||||
else if (isOnTtsScreen())
|
||||
{
|
||||
// Initialize TTS preferences screen.
|
||||
mTtsPrefEnabled = getPreference(getString(R.string.pref_tts_enabled));
|
||||
mTtsPrefLanguages = getPreference(getString(R.string.pref_tts_language));
|
||||
mTtsLangInfo = getPreference(getString(R.string.pref_tts_info));
|
||||
initTtsLangInfoLink();
|
||||
updateTts();
|
||||
}
|
||||
initScreenSleepEnabledPrefsCallbacks();
|
||||
initShowOnLockScreenPrefsCallbacks();
|
||||
updateTts();
|
||||
}
|
||||
|
||||
private void initSpeedCamerasPrefs()
|
||||
|
@ -310,7 +311,8 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
{
|
||||
super.onResume();
|
||||
|
||||
updateTts();
|
||||
if (isOnTtsScreen())
|
||||
updateTts();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -322,7 +324,8 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
|
||||
if (requestCode == REQUEST_INSTALL_DATA)
|
||||
{
|
||||
updateTts();
|
||||
if (isOnTtsScreen())
|
||||
updateTts();
|
||||
|
||||
LanguageData lang = mLanguages.get(mSelectedLanguage);
|
||||
if (lang != null && lang.downloaded)
|
||||
|
@ -344,24 +347,25 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
|
||||
private void initLangInfoLink()
|
||||
// Use this method only on TTS screen.
|
||||
private void initTtsLangInfoLink()
|
||||
{
|
||||
if (mLangInfoLink != null)
|
||||
{
|
||||
Spannable link = new SpannableString(getString(R.string.prefs_languages_information_off_link));
|
||||
link.setSpan(new ForegroundColorSpan(ContextCompat.getColor(requireContext(),
|
||||
UiUtils.getStyledResourceId(requireContext(), R.attr.colorAccent))),
|
||||
0, link.length(), 0);
|
||||
mLangInfoLink.setSummary(link);
|
||||
String TTS_INFO_LINK = requireActivity().getString(R.string.tts_info_link);
|
||||
mLangInfoLink.setOnPreferenceClickListener(preference -> {
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(TTS_INFO_LINK));
|
||||
requireContext().startActivity(intent);
|
||||
return false;
|
||||
});
|
||||
removePreference(getString(R.string.pref_navigation), mLangInfoLink);
|
||||
}
|
||||
final Preference ttsLangInfoLink = getPreference(getString(R.string.pref_tts_info_link));
|
||||
final String ttsLinkText = getString(R.string.prefs_languages_information_off_link);
|
||||
final Spannable link = new SpannableString(ttsLinkText + "↗");
|
||||
// Set link color.
|
||||
link.setSpan(new ForegroundColorSpan(ContextCompat.getColor(requireContext(),
|
||||
UiUtils.getStyledResourceId(requireContext(), R.attr.colorAccent))),
|
||||
0, ttsLinkText.length(), 0);
|
||||
ttsLangInfoLink.setSummary(link);
|
||||
|
||||
final String ttsInfoUrl = requireActivity().getString(R.string.tts_info_link);
|
||||
ttsLangInfoLink.setOnPreferenceClickListener(preference -> {
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(ttsInfoUrl));
|
||||
requireContext().startActivity(intent);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
private void initLargeFontSizePrefsCallbacks()
|
||||
|
@ -464,7 +468,9 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
|
||||
private void initEmulationBadStorage()
|
||||
{
|
||||
final Preference pref = getPreference(getString(R.string.pref_emulate_bad_external_storage));
|
||||
final Preference pref = findPreference(getString(R.string.pref_emulate_bad_external_storage));
|
||||
if (pref == null)
|
||||
return;
|
||||
|
||||
if (!SharedPropertiesUtils.shouldShowEmulateBadStorageSetting(requireContext()))
|
||||
removePreference(getString(R.string.pref_settings_general), pref);
|
||||
|
@ -489,7 +495,9 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
|
||||
private boolean initPlayServicesPrefsCallbacks()
|
||||
{
|
||||
final Preference pref = getPreference(getString(R.string.pref_play_services));
|
||||
final Preference pref = findPreference(getString(R.string.pref_play_services));
|
||||
if (pref == null)
|
||||
return false;
|
||||
|
||||
if (!LocationProviderFactory.isGoogleLocationAvailable(requireActivity().getApplicationContext()))
|
||||
{
|
||||
|
@ -694,7 +702,9 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
|
||||
private boolean initCrashReports()
|
||||
{
|
||||
final Preference pref = getPreference(getString(R.string.pref_crash_reports));
|
||||
final Preference pref = findPreference(getString(R.string.pref_crash_reports));
|
||||
if (pref == null)
|
||||
return false;
|
||||
|
||||
if (!CrashlyticsUtils.INSTANCE.isAvailable())
|
||||
{
|
||||
|
|
|
@ -59,8 +59,6 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL
|
|||
mTvBookmarkNote.setOnLongClickListener(this);
|
||||
final View editBookmarkBtn = mFrame.findViewById(R.id.tv__bookmark_edit);
|
||||
editBookmarkBtn.setOnClickListener(this);
|
||||
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
private void initWebView()
|
||||
|
@ -75,9 +73,16 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
public void onResume()
|
||||
{
|
||||
super.onDestroyView();
|
||||
super.onResume();
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
super.onPause();
|
||||
mViewModel.getMapObject().removeObserver(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -134,8 +134,6 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
|
|||
mTvLinePage = mFrame.findViewById(R.id.tv__place_line_page);
|
||||
mLinePage.setOnClickListener((v) -> openUrl(Metadata.MetadataType.FMD_CONTACT_LINE));
|
||||
mLinePage.setOnLongClickListener((v) -> copyUrl(mLinePage, Metadata.MetadataType.FMD_CONTACT_LINE));
|
||||
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
private boolean isSocialUsername(Metadata.MetadataType type)
|
||||
|
@ -218,9 +216,16 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
public void onResume()
|
||||
{
|
||||
super.onDestroyView();
|
||||
super.onResume();
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
super.onPause();
|
||||
mViewModel.getMapObject().removeObserver(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -59,8 +59,6 @@ public class PlacePageOpeningHoursFragment extends Fragment implements Observer<
|
|||
mFullWeekOpeningHours = view.findViewById(R.id.rw__full_opening_hours);
|
||||
mOpeningHoursAdapter = new PlaceOpeningHoursAdapter();
|
||||
mFullWeekOpeningHours.setAdapter(mOpeningHoursAdapter);
|
||||
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
private void refreshTodayNonBusinessTime(Timespan[] closedTimespans)
|
||||
|
@ -180,9 +178,16 @@ public class PlacePageOpeningHoursFragment extends Fragment implements Observer<
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
public void onResume()
|
||||
{
|
||||
super.onDestroyView();
|
||||
super.onResume();
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
super.onPause();
|
||||
mViewModel.getMapObject().removeObserver(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -36,14 +36,19 @@ public class PlacePagePhoneFragment extends Fragment implements Observer<MapObje
|
|||
RecyclerView phoneRecycler = view.findViewById(R.id.rw__phone);
|
||||
mPhoneAdapter = new PlacePhoneAdapter();
|
||||
phoneRecycler.setAdapter(mPhoneAdapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
public void onPause()
|
||||
{
|
||||
super.onDestroyView();
|
||||
super.onPause();
|
||||
mViewModel.getMapObject().removeObserver(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -239,10 +239,7 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
|||
|
||||
mDownloaderInfo = mPreview.findViewById(R.id.tv__downloader_details);
|
||||
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
mMapObject = mViewModel.getMapObject().getValue();
|
||||
|
||||
LocationHelper.INSTANCE.addListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -253,14 +250,34 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
public void onResume()
|
||||
{
|
||||
super.onDestroyView();
|
||||
detachCountry();
|
||||
super.onResume();
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
LocationHelper.INSTANCE.addListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
super.onPause();
|
||||
// Unsubscribe from events as soon as the fragment becomes inactive
|
||||
// to prevent unwanted side effects
|
||||
mViewModel.getMapObject().removeObserver(this);
|
||||
LocationHelper.INSTANCE.removeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStop()
|
||||
{
|
||||
super.onStop();
|
||||
// Safely detach the country once the fragment is hidden from the user
|
||||
// It is safer to call this here than in onPause as the app could go from onPause to
|
||||
// onResume without killing the fragment.
|
||||
// In this case we would not want to detach the country.
|
||||
detachCountry();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlacePageButtonClick(PlacePageButtons.ButtonType item)
|
||||
{
|
||||
|
|
|
@ -52,8 +52,6 @@ public class PlacePageWikipediaFragment extends Fragment implements Observer<Map
|
|||
placeDescriptionMoreBtn.setOnClickListener(v -> showDescriptionScreen());
|
||||
mPlaceDescriptionView.setOnClickListener(v -> showDescriptionScreen());
|
||||
mWiki = view.findViewById(R.id.ll__place_wiki);
|
||||
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
private void showDescriptionScreen()
|
||||
|
@ -97,9 +95,16 @@ public class PlacePageWikipediaFragment extends Fragment implements Observer<Map
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
public void onResume()
|
||||
{
|
||||
super.onDestroyView();
|
||||
super.onResume();
|
||||
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
super.onPause();
|
||||
mViewModel.getMapObject().removeObserver(this);
|
||||
}
|
||||
|
||||
|
|
|
@ -13034,10 +13034,17 @@ cont {
|
|||
}
|
||||
cont {
|
||||
name: "craft-metal_construction"
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "metal_construction-m"
|
||||
priority: 16000
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "hand-m"
|
||||
name: "metal_construction-m"
|
||||
priority: 16586
|
||||
}
|
||||
caption {
|
||||
|
@ -13053,7 +13060,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "hand-m"
|
||||
name: "metal_construction-m"
|
||||
priority: 16586
|
||||
}
|
||||
caption {
|
||||
|
@ -37397,14 +37404,14 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 13029267
|
||||
color: 13620648
|
||||
priority: -15875
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 13029267
|
||||
color: 13620648
|
||||
priority: -15875
|
||||
}
|
||||
}
|
||||
|
@ -39955,35 +39962,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40005,7 +40012,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40013,7 +40020,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40035,7 +40042,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40043,7 +40050,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40072,7 +40079,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40080,7 +40087,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40109,7 +40116,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40125,7 +40132,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40154,7 +40161,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40166,7 +40173,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40195,7 +40202,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40210,35 +40217,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40260,7 +40267,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40268,7 +40275,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40290,7 +40297,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40298,7 +40305,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40327,7 +40334,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40335,7 +40342,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40364,7 +40371,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40380,7 +40387,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40409,7 +40416,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40421,7 +40428,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40450,7 +40457,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40465,35 +40472,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40515,7 +40522,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40523,7 +40530,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40545,7 +40552,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40553,7 +40560,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40582,7 +40589,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40590,7 +40597,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40619,7 +40626,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40635,7 +40642,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40664,7 +40671,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40676,7 +40683,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40705,7 +40712,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40720,35 +40727,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40770,7 +40777,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40778,7 +40785,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40800,7 +40807,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40808,7 +40815,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40837,7 +40844,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40845,7 +40852,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40874,7 +40881,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40890,7 +40897,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40919,7 +40926,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40931,7 +40938,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40960,7 +40967,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -45074,42 +45081,42 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 12372094
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 12372094
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12803,10 +12803,17 @@ cont {
|
|||
}
|
||||
cont {
|
||||
name: "craft-metal_construction"
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "metal_construction-m"
|
||||
priority: 16000
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "hand-m"
|
||||
name: "metal_construction-m"
|
||||
priority: 16586
|
||||
}
|
||||
caption {
|
||||
|
@ -12822,7 +12829,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "hand-m"
|
||||
name: "metal_construction-m"
|
||||
priority: 16586
|
||||
}
|
||||
caption {
|
||||
|
@ -37035,14 +37042,14 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 13029267
|
||||
color: 13620648
|
||||
priority: -15875
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 13029267
|
||||
color: 13620648
|
||||
priority: -15875
|
||||
}
|
||||
}
|
||||
|
@ -39593,35 +39600,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39643,7 +39650,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39651,7 +39658,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39673,7 +39680,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39681,7 +39688,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39710,7 +39717,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39718,7 +39725,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39747,7 +39754,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -39763,7 +39770,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39792,7 +39799,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39804,7 +39811,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39833,7 +39840,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39848,35 +39855,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39898,7 +39905,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39906,7 +39913,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39928,7 +39935,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39936,7 +39943,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39965,7 +39972,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39973,7 +39980,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40002,7 +40009,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40018,7 +40025,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40047,7 +40054,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40059,7 +40066,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40088,7 +40095,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40103,35 +40110,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40153,7 +40160,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40161,7 +40168,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40183,7 +40190,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40191,7 +40198,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40220,7 +40227,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40228,7 +40235,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40257,7 +40264,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40273,7 +40280,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40302,7 +40309,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40314,7 +40321,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40343,7 +40350,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40358,35 +40365,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 12372094
|
||||
color: 13620648
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 11781233
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40408,7 +40415,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40416,7 +40423,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40438,7 +40445,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 13029267
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40446,7 +40453,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40475,7 +40482,7 @@ cont {
|
|||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40483,7 +40490,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40512,7 +40519,7 @@ cont {
|
|||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
caption {
|
||||
|
@ -40528,7 +40535,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40557,7 +40564,7 @@ cont {
|
|||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40569,7 +40576,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40598,7 +40605,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 12372094
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -44712,42 +44719,42 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 11453035
|
||||
color: 12372094
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 11584112
|
||||
color: 12372094
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
area {
|
||||
color: 11190117
|
||||
color: 11781233
|
||||
priority: -15866
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12803,10 +12803,17 @@ cont {
|
|||
}
|
||||
cont {
|
||||
name: "craft-metal_construction"
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "metal_construction-m"
|
||||
priority: 16000
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "hand-m"
|
||||
name: "metal_construction-m"
|
||||
priority: 16586
|
||||
}
|
||||
caption {
|
||||
|
@ -12822,7 +12829,7 @@ cont {
|
|||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "hand-m"
|
||||
name: "metal_construction-m"
|
||||
priority: 16586
|
||||
}
|
||||
caption {
|
||||
|
@ -37178,14 +37185,14 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1251584
|
||||
color: 988160
|
||||
priority: -15875
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1251584
|
||||
color: 988160
|
||||
priority: -15875
|
||||
}
|
||||
}
|
||||
|
@ -39736,35 +39743,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39786,7 +39793,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39794,7 +39801,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -39816,7 +39823,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -39991,35 +39998,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40041,7 +40048,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40049,7 +40056,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40071,7 +40078,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40246,35 +40253,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40296,7 +40303,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40304,7 +40311,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40326,7 +40333,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40501,35 +40508,35 @@ cont {
|
|||
element {
|
||||
scale: 10
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 11
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 12
|
||||
area {
|
||||
color: 1317888
|
||||
color: 988160
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40551,7 +40558,7 @@ cont {
|
|||
element {
|
||||
scale: 14
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
@ -40559,7 +40566,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
symbol {
|
||||
|
@ -40581,7 +40588,7 @@ cont {
|
|||
element {
|
||||
scale: 15
|
||||
area {
|
||||
color: 1317888
|
||||
color: 1251584
|
||||
priority: -15933
|
||||
}
|
||||
apply_if: "!name"
|
||||
|
|
Before Width: | Height: | Size: 761 KiB After Width: | Height: | Size: 761 KiB |
Before Width: | Height: | Size: 765 KiB After Width: | Height: | Size: 768 KiB |
Before Width: | Height: | Size: 350 KiB After Width: | Height: | Size: 351 KiB |
Before Width: | Height: | Size: 354 KiB After Width: | Height: | Size: 355 KiB |
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 211 KiB |
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 213 KiB |
Before Width: | Height: | Size: 492 KiB After Width: | Height: | Size: 491 KiB |
Before Width: | Height: | Size: 498 KiB After Width: | Height: | Size: 499 KiB |
Before Width: | Height: | Size: 798 KiB After Width: | Height: | Size: 797 KiB |
Before Width: | Height: | Size: 805 KiB After Width: | Height: | Size: 808 KiB |
Before Width: | Height: | Size: 963 KiB After Width: | Height: | Size: 963 KiB |
Before Width: | Height: | Size: 975 KiB After Width: | Height: | Size: 978 KiB |
|
@ -24713,7 +24713,7 @@
|
|||
fa = گردشگری
|
||||
fi = Taideteos
|
||||
fr = Œuvre
|
||||
hu = Szobor
|
||||
hu = Műalkotás
|
||||
id = Pariwisata
|
||||
it = Opera d'arte
|
||||
ja = 建築
|
||||
|
@ -24748,7 +24748,7 @@
|
|||
fa = گردشگری
|
||||
fi = Taideteos
|
||||
fr = Œuvre
|
||||
hu = Szobor
|
||||
hu = Műalkotás
|
||||
id = Pariwisata
|
||||
it = Dipinto
|
||||
ja = 絵画
|
||||
|
|
|
@ -273,7 +273,7 @@ area|z12-[natural=grassland],
|
|||
area|z12-[leisure=golf_course],
|
||||
area|z12-[natural=heath],
|
||||
area|z12-[landuse=allotments],
|
||||
area|z12-[natural=scrub],
|
||||
area|z14-[natural=scrub],
|
||||
area|z12-[natural=bare_rock],
|
||||
area|z12-[landuse=orchard],
|
||||
area|z12-[landuse=vineyard],
|
||||
|
@ -283,8 +283,21 @@ area|z12-[landuse=village_green],
|
|||
area|z12-[landuse=field],
|
||||
{fill-position: background; fill-opacity: 1;}
|
||||
|
||||
|
||||
area|z10-12[leisure=park],
|
||||
{fill-color: @green0;}
|
||||
area|z13-15[leisure=park],
|
||||
{fill-color: @green1;}
|
||||
area|z16-[leisure=park],
|
||||
area|z14-15[natural=scrub],
|
||||
{fill-color: @green2;}
|
||||
area|z16-[natural=scrub],
|
||||
{fill-color: @green3;}
|
||||
|
||||
area|z14-15[landuse=grass],
|
||||
{fill-color: @green0;}
|
||||
area|z10[landuse=forest],
|
||||
area|z14-[landuse=grass],
|
||||
area|z16-[landuse=grass],
|
||||
area|z14-[natural=grassland],
|
||||
area|z14-[leisure=golf_course],
|
||||
area|z14-[natural=heath],
|
||||
|
@ -296,16 +309,21 @@ area|z14-[landuse=recreation_ground],
|
|||
area|z14-[landuse=village_green],
|
||||
area|z14-[landuse=field],
|
||||
{fill-color: @green1;}
|
||||
|
||||
area|z11-12[landuse=forest],
|
||||
area|z10-12[leisure=park],
|
||||
area|z12[leisure=garden],
|
||||
{fill-color: @green2;}
|
||||
|
||||
area|z13[landuse=forest],
|
||||
area|z13[leisure=park],
|
||||
area|z13[leisure=garden]
|
||||
{fill-color: @green3;}
|
||||
area|z14[landuse=forest],
|
||||
area|z14[leisure=garden],
|
||||
{fill-color: @green4;}
|
||||
area|z15[landuse=forest],
|
||||
area|z15[leisure=garden],
|
||||
{fill-color: @green5;}
|
||||
area|z16-[landuse=forest],
|
||||
area|z16-[leisure=garden],
|
||||
{fill-color: @forest;}
|
||||
|
||||
area|z12-13[landuse=grass],
|
||||
area|z12-13[natural=grassland],
|
||||
|
@ -332,24 +350,6 @@ area|z12-[landuse=military]
|
|||
{fill-opacity: 0.5; fill-color: @military;}
|
||||
/* End of hardcoded */
|
||||
|
||||
area|z14[landuse=forest],
|
||||
area|z14[leisure=park],
|
||||
area|z14[leisure=garden],
|
||||
area|z14[natural=scrub]
|
||||
{fill-color: @green4;}
|
||||
|
||||
area|z15[landuse=forest],
|
||||
area|z15[leisure=park],
|
||||
area|z15[leisure=garden],
|
||||
area|z15[natural=scrub]
|
||||
{fill-color: @green5;}
|
||||
|
||||
area|z16-[landuse=forest],
|
||||
area|z16-[leisure=park],
|
||||
area|z16-[leisure=garden],
|
||||
area|z16-[natural=scrub]
|
||||
{fill-color: @forest;}
|
||||
|
||||
area|z12-[natural=bare_rock],
|
||||
{fill-color: @barerock;}
|
||||
|
||||
|
|
|
@ -2722,6 +2722,9 @@ area|z17-[craft=shoemaker]
|
|||
node|z17-[craft=tailor],
|
||||
area|z17-[craft=tailor]
|
||||
{icon-image:clothes-m.svg;}
|
||||
node|z17-[craft=metal_construction],
|
||||
area|z17-[craft=metal_construction]
|
||||
{icon-image:metal_construction-m.svg;}
|
||||
|
||||
/* 7. CAR */
|
||||
|
||||
|
|
|
@ -47,13 +47,13 @@
|
|||
|
||||
/*3.2 Vegetation*/
|
||||
|
||||
@forest: #AABF65;
|
||||
@green0: #CFD5A8;
|
||||
@green1: #C6CF93;
|
||||
@green2: #BCC87E;
|
||||
@green3: #B3C471;
|
||||
@green4: #AEC26B;
|
||||
@green5: #B0C270;
|
||||
@forest: #AABF65;
|
||||
@green6: #888C38;
|
||||
|
||||
/* 4.LANDUSE */
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>metal_construction-m</title>
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<g id="metal_construction-m" fill-rule="nonzero">
|
||||
<circle id="Oval" cx="12" cy="12" r="12" fill="#fff" opacity=".6"/>
|
||||
<circle id="Oval" cx="12" cy="12" r="11" fill="#8C5F93"/>
|
||||
<path
|
||||
id="path1575"
|
||||
style="fill:#ffffff;stroke-width:1.08707"
|
||||
d="m 4.8393016,8.1229641 0.018198,2.1276649 2.6206275,-0.03546 0.018198,6.400728 H 4.8575004 l 0.036398,2.021282 7.2977196,-0.01772 -0.01819,-2.056744 -2.6752241,-0.03546 0.0182,-6.418459 2.5842311,0.01773 -0.01819,-1.9503594 z m 0.8086105,7.9060379 h 1.2096387 v -0.764781 z m 4.5554489,-5.253167 2.406409,0.05015 3.899154,-2.469866 0.0386,4.03704 1.132428,0.02508 -5.263215,3.610768 h -2.264852 z m 8.30018,1.868071 0.05148,1.25374 -5.623533,4.3254 -0.09008,-1.855535 z m -5.700745,-4.6639088 0.09008,1.9056827 5.662139,-3.422707 -0.02574,-1.3289634 z M 6.0768201,7.5201255 12.646588,7.5733171 17.560265,4.949196 12.664788,4.8960044 Z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,13 @@
|
|||
<svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>metal_construction_night-m</title>
|
||||
<g id="Page-2:-Night" fill="none" fill-rule="evenodd" opacity="1">
|
||||
<g id="metal_construction_night-m" fill-rule="nonzero">
|
||||
<circle id="Oval" cx="12" cy="12" r="12" fill="#000" opacity=".6"/>
|
||||
<circle id="Oval" cx="12" cy="12" r="11" fill="#8C5F93"/>
|
||||
<path
|
||||
id="path1575"
|
||||
style="fill:#000000;stroke-width:1.08707"
|
||||
d="m 4.839,8.1229597 0.018198,2.1276653 2.6206275,-0.03546 0.018198,6.400728 H 4.8571988 l 0.036398,2.021282 7.2977192,-0.01772 -0.01819,-2.056744 -2.6752237,-0.03546 0.0182,-6.418459 2.5842307,0.01773 -0.01819,-1.9503598 z m 0.8086105,7.9060383 h 1.2096387 v -0.764781 z m 4.5554485,-5.253167 2.406409,0.05015 3.899154,-2.4698664 0.0386,4.0370404 1.132428,0.02508 -5.263215,3.610768 h -2.264852 z m 8.30018,1.868071 0.05148,1.25374 -5.623533,4.3254 -0.09008,-1.855535 z m -5.700745,-4.6639092 0.09008,1.9056827 5.662139,-3.422707 -0.02574,-1.3289634 z M 6.0765185,7.5201211 12.646286,7.5733131 17.559963,4.949192 12.664486,4.896 Z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -874,3 +874,46 @@ UNIT_TEST(Kml_Ver_2_3)
|
|||
TEST_EQUAL(lines[0].size(), 7, ());
|
||||
TEST_EQUAL(lines[1].size(), 6, ());
|
||||
}
|
||||
|
||||
UNIT_TEST(Kml_Placemark_contains_both_Bookmark_and_Track_data)
|
||||
{
|
||||
char const * input = R"(<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kml xmlns="http://www.opengis.net/kml/2.2">
|
||||
<Placemark>
|
||||
<MultiGeometry>
|
||||
<Point>
|
||||
<coordinates>28.968447783842,41.009030507129,0</coordinates>
|
||||
</Point>
|
||||
<LineString>
|
||||
<coordinates>28.968447783842,41.009030507129,0 28.965858,41.018449,0</coordinates>
|
||||
</LineString>
|
||||
</MultiGeometry>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<MultiGeometry>
|
||||
<LineString>
|
||||
<coordinates>28.968447783842,41.009030507129,0 28.965858,41.018449,0</coordinates>
|
||||
</LineString>
|
||||
<Point>
|
||||
<coordinates>28.968447783842,41.009030507129,0</coordinates>
|
||||
</Point>
|
||||
</MultiGeometry>
|
||||
</Placemark>
|
||||
</kml>
|
||||
)";
|
||||
|
||||
kml::FileData fData;
|
||||
try
|
||||
{
|
||||
MemReader reader(input, strlen(input));
|
||||
kml::DeserializerKml des(fData);
|
||||
des.Deserialize(reader);
|
||||
}
|
||||
catch (kml::DeserializerKml::DeserializeException const & ex)
|
||||
{
|
||||
TEST(false, ("Exception raised", ex.Msg()));
|
||||
}
|
||||
|
||||
TEST_EQUAL(fData.m_bookmarksData.size(), 2, ());
|
||||
TEST_EQUAL(fData.m_tracksData.size(), 2, ());
|
||||
}
|
||||
|
|
|
@ -734,7 +734,7 @@ void KmlParser::ParseAndAddPoints(MultiGeometry::LineT & line, std::string_view
|
|||
geometry::PointWithAltitude point;
|
||||
if (ParsePointWithAltitude(v, coordSeparator, point))
|
||||
{
|
||||
// We dont't expect vertical surfaces, so do not compare heights here.
|
||||
// We don't expect vertical surfaces, so do not compare heights here.
|
||||
// Will get a lot of duplicating points otherwise after import some user KMLs.
|
||||
// https://github.com/organicmaps/organicmaps/issues/3895
|
||||
if (line.empty() || !AlmostEqualAbs(line.back().GetPoint(), point.GetPoint(), kMwmPointAccuracy))
|
||||
|
@ -745,7 +745,9 @@ void KmlParser::ParseAndAddPoints(MultiGeometry::LineT & line, std::string_view
|
|||
|
||||
void KmlParser::ParseLineString(std::string const & s)
|
||||
{
|
||||
m_geometryType = GEOMETRY_TYPE_LINE;
|
||||
// If m_org is not empty, then it's still a Bookmark but with track data
|
||||
if (m_org == m2::PointD::Zero())
|
||||
m_geometryType = GEOMETRY_TYPE_LINE;
|
||||
|
||||
MultiGeometry::LineT line;
|
||||
ParseAndAddPoints(line, s, " \n\r\t", ",");
|
||||
|
@ -934,6 +936,23 @@ void KmlParser::Pop(std::string const & tag)
|
|||
}
|
||||
|
||||
m_data.m_bookmarksData.push_back(std::move(data));
|
||||
|
||||
// There is a track stored inside a bookmark
|
||||
if (m_geometry.IsValid())
|
||||
{
|
||||
BookmarkData const & bookmarkData = m_data.m_bookmarksData.back();
|
||||
TrackData trackData;
|
||||
trackData.m_localId = m_localId;
|
||||
trackData.m_name = bookmarkData.m_name;
|
||||
trackData.m_description = bookmarkData.m_description;
|
||||
trackData.m_layers = std::move(m_trackLayers);
|
||||
trackData.m_timestamp = m_timestamp;
|
||||
trackData.m_geometry = std::move(m_geometry);
|
||||
trackData.m_visible = m_visible;
|
||||
trackData.m_nearestToponyms = std::move(m_nearestToponyms);
|
||||
trackData.m_properties = bookmarkData.m_properties;
|
||||
m_data.m_tracksData.push_back(std::move(trackData));
|
||||
}
|
||||
}
|
||||
else if (GEOMETRY_TYPE_LINE == m_geometryType)
|
||||
{
|
||||
|
|