Compare commits

...

6 Commits

Author SHA1 Message Date
Konstantin Pastbin
20c9fc5f45 [fdroid] Release version 2025.07.23-4
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 21:00:52 +07:00
Konstantin Pastbin
be3e3d773b [android] Fix Panoramax links not working
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 20:59:37 +07:00
Konstantin Pastbin
0fd7f8d573 [fdroid] Release version 2025.07.23-2
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 10:50:00 +07:00
Konstantin Pastbin
b14bdd883e [planet] Update map data to 250713
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 05:39:30 +02:00
Konstantin Pastbin
67c0b3e6d2 [tools] Output only existing relnotes for GP console
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 00:36:41 +02:00
hb0nd
7e7e84ea64 [docs] Don't direct people to email as primary way to report
Responses will be much faster through the issue tracker

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-22 18:51:32 +01:00
6 changed files with 2327 additions and 2320 deletions

View File

@@ -1 +1 @@
version: 2025.03.02-7-FDroid+25030207 version: 2025.07.23-4-FDroid+25072304

View File

@@ -85,7 +85,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
case FMD_WEBSITE_MENU -> case FMD_WEBSITE_MENU ->
mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE_MENU); mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE_MENU);
case FMD_CONTACT_FACEBOOK, FMD_CONTACT_INSTAGRAM, FMD_CONTACT_TWITTER, case FMD_CONTACT_FACEBOOK, FMD_CONTACT_INSTAGRAM, FMD_CONTACT_TWITTER,
FMD_CONTACT_FEDIVERSE, FMD_CONTACT_BLUESKY, FMD_CONTACT_VK, FMD_CONTACT_LINE -> FMD_CONTACT_FEDIVERSE, FMD_CONTACT_BLUESKY, FMD_CONTACT_VK, FMD_CONTACT_LINE, FMD_PANORAMAX ->
{ {
if (TextUtils.isEmpty(mMapObject.getMetadata(type))) if (TextUtils.isEmpty(mMapObject.getMetadata(type)))
yield ""; yield "";
@@ -171,7 +171,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
mPanoramax = mFrame.findViewById(R.id.ll__place_panoramax); mPanoramax = mFrame.findViewById(R.id.ll__place_panoramax);
mTvPanoramax = mFrame.findViewById(R.id.tv__place_panoramax); mTvPanoramax = mFrame.findViewById(R.id.tv__place_panoramax);
mPanoramax.setOnClickListener((v) -> openUrl(Metadata.MetadataType.FMD_PANORAMAX)); mPanoramax.setOnClickListener((v) -> openUrl(Metadata.MetadataType.FMD_PANORAMAX));
mTvPanoramax.setOnLongClickListener((v) -> copyUrl(mPanoramax, Metadata.MetadataType.FMD_PANORAMAX)); mPanoramax.setOnLongClickListener((v) -> copyUrl(mPanoramax, Metadata.MetadataType.FMD_PANORAMAX));
} }
private void openUrl(Metadata.MetadataType type) private void openUrl(Metadata.MetadataType type)
@@ -192,6 +192,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
final String title = switch (type){ final String title = switch (type){
case FMD_WEBSITE -> mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE); case FMD_WEBSITE -> mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE);
case FMD_WEBSITE_MENU -> mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE_MENU); case FMD_WEBSITE_MENU -> mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE_MENU);
case FMD_PANORAMAX -> null; // Don't add raw ID to list, as it's useless for users.
default -> mMapObject.getMetadata(type); default -> mMapObject.getMetadata(type);
}; };
// Add user names for social media if available // Add user names for social media if available
@@ -237,7 +238,8 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
refreshMetadataOrHide(line, mLinePage, mTvLinePage); refreshMetadataOrHide(line, mLinePage, mTvLinePage);
final String panoramax = mMapObject.getMetadata(Metadata.MetadataType.FMD_PANORAMAX); final String panoramax = mMapObject.getMetadata(Metadata.MetadataType.FMD_PANORAMAX);
refreshMetadataOrHide(panoramax, mPanoramax, mTvPanoramax); final String panoramaxTitle = TextUtils.isEmpty(panoramax) ? "" : getResources().getString(R.string.panoramax);
refreshMetadataOrHide(panoramaxTitle, mPanoramax, mTvPanoramax);
} }
@Override @Override

File diff suppressed because it is too large Load Diff

View File

@@ -25,8 +25,7 @@ When reporting a bug please provide as much information as possible: OS and appl
list of actions leading to a bug, a log file produced by the app. list of actions leading to a bug, a log file produced by the app.
When using CoMaps app on a device, use the built-in "Report a bug" option: When using CoMaps app on a device, use the built-in "Report a bug" option:
on Android it creates a new e-mail with a log file attached. Your issue will be processed much on Android it creates a new e-mail with a log file attached. Enabling logs in CoMaps settings on Android
faster if you send it to <bugs@comaps.app>. Enabling logs in CoMaps settings on Android
before sending the bug report also helps us a lot with debugging. before sending the bug report also helps us a lot with debugging.
### Translations ### Translations

View File

@@ -26,6 +26,7 @@ constexpr string_view kVk{"contact:vk"};
constexpr string_view kLine{"contact:line"}; constexpr string_view kLine{"contact:line"};
constexpr string_view kFediverse{"contact:mastodon"}; constexpr string_view kFediverse{"contact:mastodon"};
constexpr string_view kBluesky{"contact:bluesky"}; constexpr string_view kBluesky{"contact:bluesky"};
constexpr string_view kPanoramax{"panoramax"};
constexpr string_view kProfilePhp{"profile.php"}; constexpr string_view kProfilePhp{"profile.php"};
@@ -608,7 +609,7 @@ bool ValidateBlueskyPage(string const & page)
bool isSocialContactTag(string_view tag) bool isSocialContactTag(string_view tag)
{ {
return tag == kInstagram || tag == kFacebook || tag == kTwitter || tag == kVk || tag == kLine || tag == kFediverse || tag == kBluesky; return tag == kInstagram || tag == kFacebook || tag == kTwitter || tag == kVk || tag == kLine || tag == kFediverse || tag == kBluesky || tag == kPanoramax;
} }
bool isSocialContactTag(MapObject::MetadataID const metaID) bool isSocialContactTag(MapObject::MetadataID const metaID)
@@ -619,7 +620,8 @@ bool isSocialContactTag(MapObject::MetadataID const metaID)
metaID == MapObject::MetadataID::FMD_CONTACT_VK || metaID == MapObject::MetadataID::FMD_CONTACT_VK ||
metaID == MapObject::MetadataID::FMD_CONTACT_LINE || metaID == MapObject::MetadataID::FMD_CONTACT_LINE ||
metaID == MapObject::MetadataID::FMD_CONTACT_FEDIVERSE || metaID == MapObject::MetadataID::FMD_CONTACT_FEDIVERSE ||
metaID == MapObject::MetadataID ::FMD_CONTACT_BLUESKY; metaID == MapObject::MetadataID::FMD_CONTACT_BLUESKY ||
metaID == MapObject::MetadataID::FMD_PANORAMAX;
} }
// Functions ValidateAndFormat_{facebook,instagram,twitter,vk}(...) by default strip domain name // Functions ValidateAndFormat_{facebook,instagram,twitter,vk}(...) by default strip domain name
@@ -647,6 +649,8 @@ string socialContactToURL(string_view tag, string_view value)
else // 'value' is an URL. else // 'value' is an URL.
return string{kHttps}.append(value); return string{kHttps}.append(value);
} }
if (tag == kPanoramax)
return string{kUrlPanoramax}.append(value);
return string{value}; return string{value};
} }

View File

@@ -1,9 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Concatenates Android release notes in all languages into a single output format # Concatenates Android release notes in all languages into a single output format
# suitable to upload to Google Play to update existing notes. # suitable to upload to Google Play to add or update existing notes.
GPLAY_NOTES=android/app/src/google/play/release-notes/*/default.txt # Original relnotes files:
GPLAY_NOTES=android/app/src/fdroid/play/listings/*/release-notes.txt
# also symlinked for Triple-T automation to android/app/src/google/play/release-notes/*/default.txt
for x in $(ls $GPLAY_NOTES); do for x in $(ls $GPLAY_NOTES); do
l=$(basename $(dirname $x)); l=$(basename $(dirname $x));