diff --git a/app/build.gradle b/app/build.gradle index 5de9a2b..30c64a5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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' diff --git a/app/src/main/java/org/matomocamp/companion/activities/PersonInfoActivity.kt b/app/src/main/java/org/matomocamp/companion/activities/PersonInfoActivity.kt index 98d86ac..bcb7fbf 100644 --- a/app/src/main/java/org/matomocamp/companion/activities/PersonInfoActivity.kt +++ b/app/src/main/java/org/matomocamp/companion/activities/PersonInfoActivity.kt @@ -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) { diff --git a/app/src/main/java/org/matomocamp/companion/fragments/EventDetailsFragment.kt b/app/src/main/java/org/matomocamp/companion/fragments/EventDetailsFragment.kt index b8eaa03..849e3e0 100644 --- a/app/src/main/java/org/matomocamp/companion/fragments/EventDetailsFragment.kt +++ b/app/src/main/java/org/matomocamp/companion/fragments/EventDetailsFragment.kt @@ -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) { diff --git a/app/src/main/java/org/matomocamp/companion/model/Day.kt b/app/src/main/java/org/matomocamp/companion/model/Day.kt index 6f6dcff..4ec6422 100644 --- a/app/src/main/java/org/matomocamp/companion/model/Day.kt +++ b/app/src/main/java/org/matomocamp/companion/model/Day.kt @@ -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, 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) diff --git a/app/src/main/res/menu/event.xml b/app/src/main/res/menu/event.xml index c3a9e3f..3bfeaf5 100644 --- a/app/src/main/res/menu/event.xml +++ b/app/src/main/res/menu/event.xml @@ -14,5 +14,11 @@ android:title="@string/add_to_agenda" app:iconTint="?colorControlNormal" app:showAsAction="ifRoom" /> + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml new file mode 100644 index 0000000..c476a03 --- /dev/null +++ b/app/src/main/res/values-de/strings.xml @@ -0,0 +1,100 @@ + + + MatomoCamp Companion + Hauptmenü + Menü schließen + DB zuletzt aktualisiert: %1$s + Noch nie + Eventdatenbank aktualisieren + Datenbank ist bereits aktuell + Keine neuen Events gefunden + + %1$d Event erfolgreich heruntergeladen + %1$d Events erfolgreich heruntergeladen + + Kategorien + Vormerkungen + Live + Vortragende + Filter + Nur zukünftige + Vormerkungen exportieren + MatomoCamp %1$d vorgemerkt.ics + Vormerkungen importieren + 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 + Keine Vormerkungen + Vormerkungen löschen + %1$s\n Andere Vormerkungen sind zur selben Zeit geplant. + + %1$d ausgewählt + %1$d ausgewählt + + Alle + Nächste + Während MatomoCamp werden hier die Events der nächsten 3 Stunden angezeigt. + Alle Events werden hier angezeigt + Jetzt + Während MatomoCamp werden hier laufende Events angezeigt. + Events durchsuchen + Events + Event, Kategorie, Person + Keine Ergebnisse. + Event konnte nicht gefunden werden.\nStellen Sie sicher, dass die Datenbank auf der neuersten Version ist. + Ein Fehler ist beim Aktualisieren aufgetreten. Bitte überprüfen Sie Ihre Internetverbindung. + Nochmal versuchen + Die Mindestlänge für Suchtexte ist 3 Zeichen. + Einstellungen + Aussehen + Themes + Zeitzonen + Uhrzeiten in der lokalen Zeitzone anzeigen + 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. + Dies beeinflusst nur die angezeigten Uhrzeiten. Donnerstag/Freitag werden weiterhin in der MatomoCamp Zeitzone angezeigt. + + System Theme + Helles Theme + Dunkles Theme + + Benachrichtigungen + Benachrichtigungen aktivieren + Wenn aktiviert, werden Sie über vorgemerkte Events benachrichtigt. + Anpassen + Vibrieren + Bei Benachrichtigungen vibrieren + LED blinken + Bei Benachrichtigungen LED blinken + Benachrichtigungszeitpunkt + + 5 Minuten vorher + 10 Minuten vorher + 15 Minuten vorher + 30 Minuten vorher + 1 Stunde vorher + + Informationen + Über + Version + Über bevorstehende Events benachrichtigen + %1$s (im Gange) + Eventdetails + Kategorie: %1$s + Zeit: %1$s + Raum: %1$s + Details: %1$s + Vorgemerkt: %1$s + Links + Vormerken + Von Vormerkungen entfernen + Teilen + Zum Kalender hinzufügen + Kein kompatibler Kalender gefunden. + + Vortragender + Vortragende + + Vorträge + Mehr Informationen + Keine Daten Verfügbar. + Webseite + Im Webbrowser öffnen + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index abdea54..adb3936 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -21,7 +21,6 @@ Bookmarks Live Speakers - Map Filter @@ -40,24 +39,24 @@ All - During MatomoCamp, the events to come in the next 3 hours will be shown here. + All events are shown here. Next During MatomoCamp, the events to come in the next 3 hours will be shown here. Now During MatomoCamp, the events in progress will be shown here. - Other - Keynote - Main track - Developer room - Lightning talk - Certification Exam + Other + Keynote + Main track + Developer room + Lightning talk + Certification Exam - Open - Full - Emergency evacuation + Open + Full + Emergency evacuation Search events @@ -66,10 +65,10 @@ No result. - External bookmarks - Add all - Confirmation - Add all events to your local bookmarks? + External bookmarks + Add all + Confirmation + Add all events to your local bookmarks? Unable to load the session details.\nMake sure the database has been updated to the latest version. @@ -82,7 +81,9 @@ Appearance Theme Time Zones - AAAAAAAA + Display times in local time zone + 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. + This only influences the times shown. Thursday/Friday are still shown in the MatomoCamp time zone. System theme Light theme @@ -127,7 +128,7 @@ Event details - %1$s (Building %2$s) + %1$s (Building %2$s) Track: %1$s Time: %1$s Room: %1$s @@ -138,24 +139,24 @@ Remove from bookmarks Share Add to agenda + Open in web browser No compatible calendar application found. Speaker Speakers - Talks More info - Room map - Directions to ULB - On-site navigation + Room map + Directions to ULB + On-site navigation No data available. Website - Programmed by Christophe Beyls. + Programmed by Christophe Beyls. \nBased on FOSDEM Companion and adapted to MatomoCamp by Lukas Winkler. \n diff --git a/app/src/main/res/xml-v26/settings.xml b/app/src/main/res/xml-v26/settings.xml index 04883dd..0666405 100644 --- a/app/src/main/res/xml-v26/settings.xml +++ b/app/src/main/res/xml-v26/settings.xml @@ -12,11 +12,16 @@ + + app:summary="@string/settings_timezone_summary" /> diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index 5e27379..f9525bd 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -12,11 +12,16 @@ + + app:summary="@string/settings_timezone_summary" />