1
0
Fork 0
mirror of https://github.com/MatomoCamp/matomocamp-companion-android.git synced 2024-09-19 16:13:46 +02:00

German translation and "open in webbrowser" button

This commit is contained in:
Lukas Winkler 2021-09-22 18:12:50 +02:00
parent 668e0978c3
commit 06ff228253
Signed by: lukas
GPG key ID: 54DE4D798D244853
9 changed files with 173 additions and 34 deletions

View file

@ -14,10 +14,10 @@ android {
applicationId "org.matomocamp.fosdem"
minSdkVersion 17
targetSdkVersion 31
versionCode 1700205
versionName "2.0.5"
versionCode 1800000
versionName "3.0.0"
// Supported languages
resConfigs "en"
resConfigs "en", "de", "fr"
vectorDrawables.useSupportLibrary = true
javaCompileOptions {
@ -93,8 +93,8 @@ dependencies {
implementation 'androidx.paging:paging-runtime-ktx:2.1.2'
implementation "androidx.room:room-ktx:$room_version"
kapt "androidx.room:room-compiler:$room_version"
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
implementation ("com.squareup.okhttp3:okhttp-tls:$okhttp_version") {
implementation "com.squareup.okhttp3:okhttp:3.12.13"
implementation ("com.squareup.okhttp3:okhttp-tls:3.12.13") {
exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
}
implementation 'com.squareup.okio:okio:2.10.0'

View file

@ -40,8 +40,6 @@ class PersonInfoActivity : AppCompatActivity(R.layout.person_info) {
try {
CustomTabsIntent.Builder()
.configureToolbarColors(this, R.color.light_color_primary)
.setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left)
.setExitAnimations(this, R.anim.slide_in_left, R.anim.slide_out_right)
.build()
.launchUrl(this, Uri.parse(url))
} catch (ignore: ActivityNotFoundException) {

View file

@ -3,12 +3,14 @@ package org.matomocamp.companion.fragments
import android.annotation.SuppressLint
import android.content.ActivityNotFoundException
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.CalendarContract
import android.text.SpannableString
import android.text.TextPaint
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.util.Log
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
@ -45,6 +47,7 @@ import org.matomocamp.companion.utils.stripHtml
import org.matomocamp.companion.viewmodels.EventDetailsViewModel
import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint
import org.matomocamp.companion.api.MatomoCampUrls
import javax.inject.Inject
@AndroidEntryPoint
@ -197,14 +200,34 @@ class EventDetailsFragment : Fragment(R.layout.fragment_event_details) {
.createChooserIntent()
}
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
R.id.add_to_agenda -> {
addToAgenda()
true
}
R.id.open_in_webbrowser -> {
openInWebbrowser()
true
}
else -> false
}
private fun openInWebbrowser(){
Log.i("Bla","open in web browser")
try {
val context=activity
if (context != null) {
CustomTabsIntent.Builder()
.configureToolbarColors(context, R.color.light_color_primary)
.build()
.launchUrl(context, Uri.parse(event.url))
}
} catch (ignore: ActivityNotFoundException) {
}
}
private fun addToAgenda() {
val intent = Intent(Intent.ACTION_EDIT).apply {
type = "vnd.android.cursor.item/event"
@ -304,8 +327,6 @@ class EventDetailsFragment : Fragment(R.layout.fragment_event_details) {
CustomTabsIntent.Builder()
.configureToolbarColors(context, event.track.appBarColorResId)
.setShowTitle(true)
.setStartAnimations(context, R.anim.slide_in_right, R.anim.slide_out_left)
.setExitAnimations(context, R.anim.slide_in_left, R.anim.slide_out_right)
.build()
.launchUrl(context, link.url.toUri())
} catch (ignore: ActivityNotFoundException) {

View file

@ -1,6 +1,7 @@
package org.matomocamp.companion.model
import android.os.Parcelable
import androidx.core.os.ConfigurationCompat
import androidx.room.Entity
import androidx.room.PrimaryKey
import androidx.room.TypeConverters
@ -23,7 +24,9 @@ data class Day(
) : Comparable<Day>, Parcelable {
val name: String
get() = "Day $index (${DAY_DATE_FORMAT.format(date)})"
get() {
return "Day $index (${DAY_DATE_FORMAT.format(date)})"
}
val shortName: String
get() = DAY_DATE_FORMAT.format(date)

View file

@ -14,5 +14,11 @@
android:title="@string/add_to_agenda"
app:iconTint="?colorControlNormal"
app:showAsAction="ifRoom" />
<item
android:id="@+id/open_in_webbrowser"
android:icon="@drawable/ic_baseline_open_in_browser_24"
android:title="@string/open_in_webbrowser"
app:iconTint="?colorControlNormal"
app:showAsAction="ifRoom" />
</menu>

View file

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MatomoCamp Companion</string>
<string name="main_menu">Hauptmenü</string>
<string name="close_menu">Menü schließen</string>
<string name="last_update">DB zuletzt aktualisiert: %1$s</string>
<string name="never">Noch nie</string>
<string name="update_events_db">Eventdatenbank aktualisieren</string>
<string name="events_download_up_to_date">Datenbank ist bereits aktuell</string>
<string name="events_download_empty">Keine neuen Events gefunden</string>
<plurals name="events_download_completed">
<item quantity="one">%1$d Event erfolgreich heruntergeladen</item>
<item quantity="other">%1$d Events erfolgreich heruntergeladen</item>
</plurals>
<string name="menu_tracks">Kategorien</string>
<string name="menu_bookmarks">Vormerkungen</string>
<string name="menu_live">Live</string>
<string name="menu_speakers">Vortragende</string>
<string name="filter">Filter</string>
<string name="upcoming_only">Nur zukünftige</string>
<string name="export_bookmarks">Vormerkungen exportieren</string>
<string name="export_bookmarks_file_name">MatomoCamp %1$d vorgemerkt.ics</string>
<string name="import_bookmarks">Vormerkungen importieren</string>
<string name="import_bookmarks_error">Vormerkungen können von der ausgewählten Datei nicht importiert werden\n\nStellen Sie sicher, dass die Datei mit dieser App erstellt wurde und das Jahr stimmt</string>
<string name="no_bookmark">Keine Vormerkungen</string>
<string name="remove_bookmarks">Vormerkungen löschen</string>
<string name="bookmark_conflict_content_description">%1$s\n Andere Vormerkungen sind zur selben Zeit geplant.</string>
<plurals name="selected">
<item quantity="one">%1$d ausgewählt</item>
<item quantity="other">%1$d ausgewählt</item>
</plurals>
<string name="all">Alle</string>
<string name="next">Nächste</string>
<string name="next_empty">Während MatomoCamp werden hier die Events der nächsten 3 Stunden angezeigt.</string>
<string name="all_empty">Alle Events werden hier angezeigt</string>
<string name="now">Jetzt</string>
<string name="now_empty">Während MatomoCamp werden hier laufende Events angezeigt.</string>
<string name="search_events">Events durchsuchen</string>
<string name="search_settings_description">Events</string>
<string name="search_hint">Event, Kategorie, Person</string>
<string name="no_search_result">Keine Ergebnisse.</string>
<string name="event_not_found_error">Event konnte nicht gefunden werden.\nStellen Sie sicher, dass die Datenbank auf der neuersten Version ist.</string>
<string name="schedule_loading_error">Ein Fehler ist beim Aktualisieren aufgetreten. Bitte überprüfen Sie Ihre Internetverbindung.</string>
<string name="schedule_loading_retry_action">Nochmal versuchen</string>
<string name="search_length_error">Die Mindestlänge für Suchtexte ist 3 Zeichen.</string>
<string name="settings">Einstellungen</string>
<string name="settings_appearance">Aussehen</string>
<string name="settings_appearance_theme_title">Themes</string>
<string name="settings_timezone">Zeitzonen</string>
<string name="settings_timezone_title">Uhrzeiten in der lokalen Zeitzone anzeigen</string>
<string name="settings_timezone_text">MatomoCamp wird in der Mitteleuropäische Zeit organisiert (Europe/Berlin) Wenn Sie in einer anderen Zeitzone sind, achten Sie darauf, wann events für Sie beginnen. Sie können die nächste Option aktivieren um die Uhrzeiten in der App in der lokalen Zeit anzuzueigen. Beachten Sie aber, dass dieses Feature experimentell ist und möglicherweise falsche Daten anzeigt.</string>
<string name="settings_timezone_summary">Dies beeinflusst nur die angezeigten Uhrzeiten. Donnerstag/Freitag werden weiterhin in der MatomoCamp Zeitzone angezeigt.</string>
<string-array name="settings_appearance_theme_entries">
<item>System Theme</item>
<item>Helles Theme</item>
<item>Dunkles Theme</item>
</string-array>
<string name="settings_notifications">Benachrichtigungen</string>
<string name="settings_notifications_enabled_title">Benachrichtigungen aktivieren</string>
<string name="settings_notifications_enabled_summary">Wenn aktiviert, werden Sie über vorgemerkte Events benachrichtigt.</string>
<string name="settings_notifications_channel_title">Anpassen</string>
<string name="settings_notifications_vibrate_title">Vibrieren</string>
<string name="settings_notifications_vibrate_summary">Bei Benachrichtigungen vibrieren</string>
<string name="settings_notifications_led_title">LED blinken</string>
<string name="settings_notifications_led_summary">Bei Benachrichtigungen LED blinken</string>
<string name="settings_notifications_delay_title">Benachrichtigungszeitpunkt</string>
<string-array name="settings_notifications_delay_entries">
<item>5 Minuten vorher</item>
<item>10 Minuten vorher</item>
<item>15 Minuten vorher</item>
<item>30 Minuten vorher</item>
<item>1 Stunde vorher</item>
</string-array>
<string name="settings_info">Informationen</string>
<string name="settings_info_about_title">Über</string>
<string name="settings_info_version_title">Version</string>
<string name="notification_events_channel_name">Über bevorstehende Events benachrichtigen</string>
<string name="in_progress_content_description">%1$s (im Gange)</string>
<string name="event_details">Eventdetails</string>
<string name="track_content_description">Kategorie: %1$s</string>
<string name="time_content_description">Zeit: %1$s</string>
<string name="room_content_description">Raum: %1$s</string>
<string name="details_content_description">Details: %1$s</string>
<string name="in_bookmarks_content_description">Vorgemerkt: %1$s</string>
<string name="related_links_header">Links</string>
<string name="add_bookmark">Vormerken</string>
<string name="remove_bookmark">Von Vormerkungen entfernen</string>
<string name="share">Teilen</string>
<string name="add_to_agenda">Zum Kalender hinzufügen</string>
<string name="calendar_not_found">Kein kompatibler Kalender gefunden.</string>
<plurals name="speakers">
<item quantity="one">Vortragender</item>
<item quantity="other">Vortragende</item>
</plurals>
<string name="talks_header">Vorträge</string>
<string name="more_info">Mehr Informationen</string>
<string name="no_data">Keine Daten Verfügbar.</string>
<string name="website">Webseite</string>
<string name="open_in_webbrowser">Im Webbrowser öffnen</string>
</resources>

View file

@ -21,7 +21,6 @@
<string name="menu_bookmarks">Bookmarks</string>
<string name="menu_live">Live</string>
<string name="menu_speakers">Speakers</string>
<string name="menu_map">Map</string>
<!-- Bookmarks -->
<string name="filter">Filter</string>
@ -40,24 +39,24 @@
<!-- Live -->
<string name="all">All</string>
<string name="all_empty">During MatomoCamp, the events to come in the next 3 hours will be shown here.</string>
<string name="all_empty">All events are shown here.</string>
<string name="next">Next</string>
<string name="next_empty">During MatomoCamp, the events to come in the next 3 hours will be shown here.</string>
<string name="now">Now</string>
<string name="now_empty">During MatomoCamp, the events in progress will be shown here.</string>
<!-- Track types -->
<string name="other">Other</string>
<string name="keynote">Keynote</string>
<string name="main_track">Main track</string>
<string name="developer_room">Developer room</string>
<string name="lightning_talk">Lightning talk</string>
<string name="certification_exam">Certification Exam</string>
<string translatable="false" name="other">Other</string>
<string translatable="false" name="keynote">Keynote</string>
<string translatable="false" name="main_track">Main track</string>
<string translatable="false" name="developer_room">Developer room</string>
<string translatable="false" name="lightning_talk">Lightning talk</string>
<string translatable="false" name="certification_exam">Certification Exam</string>
<!-- Room statuses -->
<string name="room_status_open">Open</string>
<string name="room_status_full">Full</string>
<string name="room_status_emergency_evacuation">Emergency evacuation</string>
<string translatable="false" name="room_status_open">Open</string>
<string translatable="false" name="room_status_full">Full</string>
<string translatable="false" name="room_status_emergency_evacuation">Emergency evacuation</string>
<!-- Search -->
<string name="search_events">Search events</string>
@ -66,10 +65,10 @@
<string name="no_search_result">No result.</string>
<!-- External bookmarks -->
<string name="external_bookmarks_title">External bookmarks</string>
<string name="external_bookmarks_add_all">Add all</string>
<string name="external_bookmarks_add_all_confirmation_title">Confirmation</string>
<string name="external_bookmarks_add_all_confirmation_text">Add all events to your local bookmarks?</string>
<string translatable="false" name="external_bookmarks_title">External bookmarks</string>
<string translatable="false" name="external_bookmarks_add_all">Add all</string>
<string translatable="false" name="external_bookmarks_add_all_confirmation_title">Confirmation</string>
<string translatable="false" name="external_bookmarks_add_all_confirmation_text">Add all events to your local bookmarks?</string>
<!-- Errors -->
<string name="event_not_found_error">Unable to load the session details.\nMake sure the database has been updated to the latest version.</string>
@ -82,7 +81,9 @@
<string name="settings_appearance">Appearance</string>
<string name="settings_appearance_theme_title">Theme</string>
<string name="settings_timezone">Time Zones</string>
<string name="settings_timezone_title">AAAAAAAA</string>
<string name="settings_timezone_title">Display times in local time zone</string>
<string name="settings_timezone_text">MatomoCamp is organized in Central European Time ("Europe/Berlin"). If you are in another time zone, please pay attention to when events start for you. You can enable the below setting to display times in this app in your local time zone. But keep in mind that this feature is experimental and might show incorrect results.</string>
<string name="settings_timezone_summary">This only influences the times shown. Thursday/Friday are still shown in the MatomoCamp time zone.</string>
<string-array name="settings_appearance_theme_entries">
<item>System theme</item>
<item>Light theme</item>
@ -127,7 +128,7 @@
<!-- Event details -->
<string name="event_details">Event details</string>
<string name="room_building">%1$s (Building %2$s)</string>
<string translatable="false" name="room_building">%1$s (Building %2$s)</string>
<string name="track_content_description">Track: %1$s</string>
<string name="time_content_description">Time: %1$s</string>
<string name="room_content_description">Room: %1$s</string>
@ -138,24 +139,24 @@
<string name="remove_bookmark">Remove from bookmarks</string>
<string name="share">Share</string>
<string name="add_to_agenda">Add to agenda</string>
<string name="open_in_webbrowser">Open in web browser</string>
<string name="calendar_not_found">No compatible calendar application found.</string>
<plurals name="speakers">
<item quantity="one">Speaker</item>
<item quantity="other">Speakers</item>
</plurals>
<!-- Speaker info -->
<string name="talks_header">Talks</string>
<string name="more_info">More info</string>
<!-- Others -->
<string name="room_map">Room map</string>
<string name="directions">Directions to ULB</string>
<string name="navigation">On-site navigation</string>
<string translatable="false" name="room_map">Room map</string>
<string translatable="false" name="directions">Directions to ULB</string>
<string translatable="false" name="navigation">On-site navigation</string>
<string name="no_data">No data available.</string>
<string name="website">Website</string>
<string name="about_text">Programmed by <a href="https://www.digitalia.be/">Christophe Beyls</a>.
<string translatable="false" name="about_text">Programmed by <a href="https://www.digitalia.be/">Christophe Beyls</a>.
\nBased on <a href="https://github.com/cbeyls/fosdem-companion-android">FOSDEM Companion</a>
and adapted to MatomoCamp by <a href="https://lw1.at/">Lukas Winkler</a>.
\n

View file

@ -12,11 +12,16 @@
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_timezone">
<Preference
app:key="pref_static_field_key"
app:selectable="false"
app:persistent="false"
app:summary="@string/settings_timezone_text"/>
<SwitchPreferenceCompat
app:defaultValue="false"
app:key="use_local_timezone"
app:title="@string/settings_timezone_title"
app:summary="This only influences the times shown. Thursday/Friday are still shown in the MatomoCamp time zone." />
app:summary="@string/settings_timezone_summary" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_notifications">

View file

@ -12,11 +12,16 @@
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_timezone">
<Preference
app:key="pref_static_field_key"
app:selectable="false"
app:persistent="false"
app:summary="@string/settings_timezone_text"/>
<SwitchPreferenceCompat
app:defaultValue="false"
app:key="use_local_timezone"
app:title="@string/settings_timezone_title"
app:summary="TEST" />
app:summary="@string/settings_timezone_summary" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_notifications">