diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..c6c3855
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+Einschlafhilfe
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index fb7f4a8..b589d56 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..0c0c338
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index a2d7c21..0897082 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,15 +4,15 @@
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..cd7dba1
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 70f9ce0..209b8ad 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,3 @@
-
@@ -14,7 +13,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 33ae07a..8b9928d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,14 +2,15 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
- compileSdkVersion 32
+
+ compileSdkVersion 33
defaultConfig {
applicationId "de.msdevs.einschlafhilfe"
minSdkVersion 26
- targetSdkVersion 32
- versionCode 44
- versionName "4.0"
+ targetSdkVersion 33
+ versionCode 46
+ versionName "4.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -27,11 +28,12 @@ android {
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
- implementation 'androidx.appcompat:appcompat:1.4.2'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'com.google.android.material:material:1.6.1'
- implementation 'com.github.bumptech.glide:glide:4.13.0'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
+ implementation 'com.google.android.material:material:1.9.0'
+ implementation 'com.github.bumptech.glide:glide:4.15.1'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.14.2'
+ implementation 'com.github.cachapa:ExpandableLayout:2.9.2'
implementation "androidx.core:core-ktx:1.8.0"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.1"
implementation("ru.gildor.coroutines:kotlin-coroutines-okhttp:1.0")
diff --git a/app/build/generated/source/buildConfig/debug/de/msdevs/einschlafhilfe/BuildConfig.java b/app/build/generated/source/buildConfig/debug/de/msdevs/einschlafhilfe/BuildConfig.java
new file mode 100644
index 0000000..ee0cd00
--- /dev/null
+++ b/app/build/generated/source/buildConfig/debug/de/msdevs/einschlafhilfe/BuildConfig.java
@@ -0,0 +1,12 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package de.msdevs.einschlafhilfe;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
+ public static final String APPLICATION_ID = "de.msdevs.einschlafhilfe";
+ public static final String BUILD_TYPE = "debug";
+ public static final int VERSION_CODE = 46;
+ public static final String VERSION_NAME = "4.2";
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c25dff9..9bbc2d7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,18 +1,20 @@
+ xmlns:tools="http://schemas.android.com/tools">
-
+
+
-
+
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/offline_list.txt b/app/src/main/assets/offline_list.txt
index 9682804..4aea125 100644
--- a/app/src/main/assets/offline_list.txt
+++ b/app/src/main/assets/offline_list.txt
@@ -1307,6 +1307,30 @@
"beschreibung": "Ein Einbrecher, der nichts stiehlt, sondern Gegenstände hinterlässt? In Rocky Beach gehen seltsame Dinge vor, wenn das kein Fall für die drei ??? ist! Was zunächst harmlos erscheint, folgt einem Muster und genau dieses versuchen Just, Peter und Bob zu entschlüsseln. Doch jemand will mit aller Kraft verhindern, dass die Detektive Licht ins Dunkel bringen. Werden die drei Freunde den Fall lösen, bevor es zu einer Katastrophe kommt, oder verstricken sie sich im Netz der Lügen?",
"nummer": "218",
"spotify": "https://open.spotify.com/album/2WwOKZLpFWrvw3O9CISod1"
+ },
+ {
+ "name": "Die drei Fragezeichen - Die Teufelsklippe",
+ "beschreibung": "Peter Shaw - ein Mörder? Ganz bestimmt nicht! Da sind sich Justus und Bob sicher. Können die beiden die Unschuld des Zweiten Detektivs beweisen? Peter sieht ihn fallen, doch die Teufelsklippe gibt ihn nicht wieder her. Verschluckt von den tosenden Wellen bleibt der Mann verschwunden … Was ist passiert? Ausgerechnet der Zweite Detektiv wird beschuldigt, Paul Forsters ins Meer gestoßen zu haben. Im Verhör wird Peter bis ins kleinste Detail befragt. Justus und Bob versuchen derweil mehr über den seltsamen Fall herauszufinden. Können die beiden ihrem Freund helfen?",
+ "nummer": "219",
+ "spotify": "https://open.spotify.com/album/6ewdyVIW2LurJhYGU0UBAa"
+ },
+ {
+ "name": "Die drei Fragezeichen - Im Wald der Gefahren",
+ "beschreibung": "Von Rocky Beach in die Rocky Mountains – die drei ??? freuen sich auf ein Wander-Wochenende. Was harmlos beginnt, wird zum Kampf ums nackte Überleben! Noch bevor die Wandergruppe aufbricht, wittern die drei Detektive einen neuen Fall: Ein toter Briefkasten und eine Stolperfalle – will jemand die Tour verhindern? Schon auf der ersten Etappe wird es brenzlig. Ein Bach wird zum reißenden Fluss, und Pilze sollte man mit Vorsicht genießen. Als Peter verschwindet, wird klar: Die Wildnis hat etwas zu verbergen. Die drei ??? finden sich im Wald der Gefahren wieder ...",
+ "nummer": "220",
+ "spotify": "https://open.spotify.com/album/01i4iyB40EU7Qgd6EgKoZt"
+ },
+ {
+ "name": "Die drei Fragezeichen - Manuskript des Satans",
+ "beschreibung": "Ein Manuskript des leibhaftigen Satans und teuflische Lärmattacken – dieser Fall hat es in sich! Begeben die drei ??? sich in höllische Gefahr? Wer steckt hinter dem entsetzlichen Lärmangriff auf das Haus von Professor Bancroft? Während der Wissenschaftler versucht, eine geheimnisvolle alte Handschrift zu übersetzen, machen sich Justus, Peter und Bob auf die Suche nach der Lärmquelle. Haben die Attacken etwas mit dem Manuskript des Satans zu tun, an dem der Professor gerade arbeitet? Die drei Detektive werden es herausfinden. ",
+ "nummer": "221",
+ "spotify": "https://open.spotify.com/album/1KpVSqapKAUAtAepWWxPWs"
+ },
+ {
+ "name": "Die drei Fragezeichen - Die Gesetzlosen",
+ "beschreibung": "Schneller als Peter Shaw gucken kann, wird er in einen heiklen Fall verwickelt: Zufällig hört er, wie seine Mathe-Lehrerin Ms Blunt ein dubiöses Telefonat führt. Als gewissenhafter Detektiv heftet er sich an die Fersen der Lehrerin und findet heraus, dass die unauffällige Frau ein dunkles Geheimnis hat. Die drei ??? begeben sich auf einen Roadtrip durch die kalifornische Prärie und auf die Spur skrupelloser Kopfgeldjäger!",
+ "nummer": "222",
+ "spotify": "https://open.spotify.com/album/3o2Gwvg8lqLNRnlV1v1s5K"
}
]
}
\ No newline at end of file
diff --git a/app/src/main/assets/offline_list_kids.txt b/app/src/main/assets/offline_list_kids.txt
index 3c97dda..93b8ffd 100644
--- a/app/src/main/assets/offline_list_kids.txt
+++ b/app/src/main/assets/offline_list_kids.txt
@@ -523,6 +523,30 @@
"beschreibung": "Peters Lieblings-Basketball Mannschaft spielt in Rocky Beach. Während des Turniers passieren unerklärliche Dinge. Ist etwa ein Geist im Stadion? Die drei ??? Kids sind sich sicher, dass jemand anderes dahintersteckt ... ",
"nummer": "87",
"spotify": "3M7f1Ta7DdY49Cj0bsHchW"
- }
+ },
+ {
+ "name": "Schatz aus dem All",
+ "beschreibung": "Alle in Rocky Beach wollen den fantastischen Schatz aus dem All finden. Auch Justus, Peter und Bob sind mit von der Partie. Doch schon bald ahnen die drei Freunde, dass an der ganzen Sache etwas faul ist ...",
+ "nummer": "88",
+ "spotify": "1wzirotAAliqPA1p0GPl08"
+ },
+ {
+ "name": "Im Geistergarten",
+ "beschreibung": "Unheimliche Touristen streifen durch Rocky Beach und lassen ihre Drohnen am Himmel aufsteigen. Als im Rathaus auch noch alte Stadtpläne gestohlen werden, fragen sich die drei ??? Kids: Was geht hier vor?",
+ "nummer": "89",
+ "spotify": "7HIZJWnLo11Fsv68HPhjgj"
+ },
+ {
+ "name": "Flug ins Nichts",
+ "beschreibung": "Justus, Peter und Bob freuen sich über eine spektakuläre Attraktion: Mitten auf dem Marktplatz steht ein Windkanal für Bodyflying. Aber schon beim ersten Testflug geht einiges schief. Ein neuer Fall für die drei Detektive. ",
+ "nummer": "90",
+ "spotify": "41Wrbk3iySSFbBnbixychu"
+ },
+ {
+ "name": "Gefahr im Spiegelkabinett",
+ "beschreibung": "Onkel Titus kauft ein altes Spiegelkabinett. Bei genauerer Inspektion hören die drei ??? Kids plötzlich rätselhafte Reime.Vielleicht kann der berühmte Rätselerfinder Mr Think helfen? Doch als Justus, Peter und Bob in seiner Villa ankommen, fehlt von ihm jede Spur... ",
+ "nummer": "91",
+ "spotify": "3cbOXb1xkJF65KRjBBqlmL"
+ }
]
}
\ No newline at end of file
diff --git a/app/src/main/java/de/msdevs/einschlafhilfe/AboutActivity.kt b/app/src/main/java/de/msdevs/einschlafhilfe/AboutActivity.kt
index ab26db7..0eac48c 100644
--- a/app/src/main/java/de/msdevs/einschlafhilfe/AboutActivity.kt
+++ b/app/src/main/java/de/msdevs/einschlafhilfe/AboutActivity.kt
@@ -7,6 +7,7 @@ import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import de.msdevs.einschlafhilfe.databinding.ActivityAboutBinding
+import net.cachapa.expandablelayout.ExpandableLayout
class AboutActivity : AppCompatActivity() {
@@ -15,6 +16,15 @@ class AboutActivity : AppCompatActivity() {
private lateinit var btnPrivacy : Button
private lateinit var btnSource : Button
private lateinit var btnLicenses : Button
+ private lateinit var expandableLayout : ExpandableLayout
+
+ //TODO: RecyclerView für die Libraries nutzen -> Neue Libraries können besser hinzugefügt werden
+ private lateinit var btnOkHttp : Button
+ private lateinit var btnGlide : Button
+ private lateinit var btnCoOkHttp : Button
+ private lateinit var btnExpandableLayout : Button
+ private lateinit var btnAppIntro : Button
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -26,27 +36,43 @@ class AboutActivity : AppCompatActivity() {
btnPrivacy = binding.btnPrivacy
btnSource = binding.btnQuellcode
btnLicenses = binding.btnLicense
+ expandableLayout = binding.expandableLayout
+
+ //TODO: RecyclerView für die Libraries nutzen -> Neue Libraries können besser hinzugefügt werden
+ btnCoOkHttp = binding.included.btnCoroutinesOkhttp
+ btnExpandableLayout = binding.included.btnExLayout
+ btnGlide = binding.included.btnGlide
+ btnAppIntro = binding.included.btnAppIntro
+ btnOkHttp = binding.included.btnOkhttp
btnPrivacy.setOnClickListener{
opennUrl("https://ddf-einschlafhilfe.de/files/app_privacy.php")
}
btnSource.setOnClickListener{
- opennUrl("https://github.com/MarvinStelter/DieDreiFragezeichenEinschlafhilfe")
+ opennUrl("https://github.com/MarvinStelter/DieDreiFragezeichenEinschlafhilfe")
}
btnLicenses.setOnClickListener{
- val builder = MaterialAlertDialogBuilder(this)
- builder.setTitle(getString(R.string.third_party_libraries))
- val animals = arrayOf("AppIntro", "Glide", "OkHttp", "kotlin-coroutines-okhttp")
- builder.setItems(animals) { dialog, which ->
- when (which) {
- 0 -> { opennUrl("https://github.com/AppIntro/AppIntro") }
- 1 -> { opennUrl("https://github.com/bumptech/glide") }
- 2 -> { opennUrl("https://github.com/square/okhttp") }
- 3 -> { opennUrl("https://github.com/gildor/kotlin-coroutines-okhttp") }
- }
- }
- val dialog = builder.create()
- dialog.show()
+ if(expandableLayout.isExpanded){
+ expandableLayout.collapse()
+ }else{
+ expandableLayout.expand()
+ }
+ }
+ //TODO: RecyclerView für die Libraries nutzen -> Neue Libraries können besser hinzugefügt werden
+ btnOkHttp.setOnClickListener{
+ opennUrl("https://github.com/square/okhttp")
+ }
+ btnCoOkHttp.setOnClickListener{
+ opennUrl("https://github.com/gildor/kotlin-coroutines-okhttp")
+ }
+ btnGlide.setOnClickListener{
+ opennUrl("https://github.com/bumptech/glide")
+ }
+ btnExpandableLayout.setOnClickListener{
+ opennUrl("https://github.com/cachapa/ExpandableLayout")
+ }
+ btnAppIntro.setOnClickListener{
+ opennUrl("https://github.com/AppIntro/AppIntro")
}
}
override fun onSupportNavigateUp(): Boolean {
@@ -57,4 +83,4 @@ class AboutActivity : AppCompatActivity() {
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(browserIntent)
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/de/msdevs/einschlafhilfe/MainActivity.kt b/app/src/main/java/de/msdevs/einschlafhilfe/MainActivity.kt
index 4cd3e7c..3167b80 100644
--- a/app/src/main/java/de/msdevs/einschlafhilfe/MainActivity.kt
+++ b/app/src/main/java/de/msdevs/einschlafhilfe/MainActivity.kt
@@ -42,7 +42,7 @@ class MainActivity : AppCompatActivity() {
private lateinit var folgenListe : String
var random : Int = 0
/*
- Copyright 2022 by Marvin Stelter
+ Copyright 2017 - 2023 by Marvin Stelter
*/
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -120,12 +120,12 @@ class MainActivity : AppCompatActivity() {
refresh()
}
binding.fabDescription.setOnClickListener {
- val alert = AlertDialog.Builder(this)
+ val alert = MaterialAlertDialogBuilder(this, R.style.DialogTheme)
alert.setTitle(getString(R.string.output, (episodeNumber + 1).toString(), episodeList[episodeNumber].name)
)
alert.setMessage(episodeList[episodeNumber].beschreibung)
- alert.setNeutralButton(getString(R.string.close)) { dlg: DialogInterface, _: Int -> dlg.dismiss() }
+ alert.setNegativeButton(getString(R.string.close)) { dlg: DialogInterface, _: Int -> dlg.dismiss() }
alert.show()
}
binding.fabLinks.setOnClickListener {
@@ -155,7 +155,7 @@ class MainActivity : AppCompatActivity() {
}
- val builder = MaterialAlertDialogBuilder(this)
+ val builder = MaterialAlertDialogBuilder(this, R.style.DialogTheme)
builder.setTitle("Links:")
builder.setItems(liste) { _: DialogInterface?, which: Int ->
var i = Intent(Intent.ACTION_VIEW)
@@ -350,8 +350,7 @@ class MainActivity : AppCompatActivity() {
val spotify: String
)
- @SuppressLint("QueryPermissionsNeeded")
- fun isSpotifyInstalled() : Boolean{
+ private fun isSpotifyInstalled() : Boolean{
val packageManager: PackageManager = packageManager
val intent = Intent(Intent.ACTION_VIEW)
if (intent.resolveActivity(packageManager) != null) {
@@ -374,7 +373,7 @@ class MainActivity : AppCompatActivity() {
0 -> episodeNumber = (1..50).random()
1 -> episodeNumber = (1..100).random()
2 -> episodeNumber = (1..150).random()
- 3 -> episodeNumber = (1..216).random()
+ 3 -> episodeNumber = (1..222).random()
4 -> episodeNumber = (1..7).random()
5 -> episodeNumber = 0
6 -> episodeNumber = (1..87).random()
diff --git a/app/src/main/java/de/msdevs/einschlafhilfe/fragments/SettingsFragment.kt b/app/src/main/java/de/msdevs/einschlafhilfe/fragments/SettingsFragment.kt
index 8242c12..7da4244 100644
--- a/app/src/main/java/de/msdevs/einschlafhilfe/fragments/SettingsFragment.kt
+++ b/app/src/main/java/de/msdevs/einschlafhilfe/fragments/SettingsFragment.kt
@@ -3,26 +3,21 @@ package de.msdevs.einschlafhilfe.fragments
import android.annotation.SuppressLint
import android.content.SharedPreferences
-import android.os.Build
import android.os.Bundle
-import android.text.Html
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.CheckBox
import androidx.annotation.Nullable
-import androidx.appcompat.widget.SwitchCompat
import androidx.fragment.app.Fragment
import com.github.appintro.SlidePolicy
-import com.google.android.material.slider.RangeSlider
-import de.msdevs.einschlafhilfe.R
+import com.google.android.material.materialswitch.MaterialSwitch
import de.msdevs.einschlafhilfe.databinding.FragmentSettingsBinding
class SettingsFragment(override val isPolicyRespected: Boolean) : Fragment(), SlidePolicy {
- lateinit var switchSpotify : SwitchCompat
- lateinit var switchUpdatelist : SwitchCompat
+ lateinit var switchSpotify : MaterialSwitch
+ lateinit var switchUpdatelist : MaterialSwitch
lateinit var sharedPreferences: SharedPreferences
lateinit var sharedPreferencesEditor: SharedPreferences.Editor
lateinit var binding : FragmentSettingsBinding
@@ -53,8 +48,6 @@ class SettingsFragment(override val isPolicyRespected: Boolean) : Fragment(), Sl
sharedPreferencesEditor.putBoolean("update_list",isChecked)
sharedPreferencesEditor.apply()
}
-
-
}
companion object {
fun newInstance() : SettingsFragment {
diff --git a/app/src/main/res/drawable/placeholder_black.png b/app/src/main/res/drawable/placeholder_black.png
new file mode 100644
index 0000000..2f293bd
Binary files /dev/null and b/app/src/main/res/drawable/placeholder_black.png differ
diff --git a/app/src/main/res/drawable/thumb_style.xml b/app/src/main/res/drawable/thumb_style.xml
new file mode 100644
index 0000000..f84531d
--- /dev/null
+++ b/app/src/main/res/drawable/thumb_style.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index 3a808fa..69c4ebe 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -1,5 +1,6 @@
@@ -69,6 +70,24 @@
android:id="@+id/btn_license"
android:backgroundTint="@color/white"
android:layout_height="wrap_content"/>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 62e0377..6687daf 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,254 +1,255 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 8a3b341..695d472 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -35,13 +35,15 @@
android:textColor="@color/white"
android:textSize="17sp"
android:textStyle="bold" />
-
+ android:layout_centerInParent="true"
+ app:thumbTint="@drawable/thumb_style"
+ android:checked="true" />
-
+ android:layout_centerInParent="true"
+ app:thumbTint="@drawable/thumb_style" />
-
+ app:thumbTint="@drawable/thumb_style"
+ android:layout_centerInParent="true"
+ android:checked="true" />
-
+ android:layout_centerInParent="true" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index c866cc1..7e7a55e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -8,4 +8,5 @@
#99FFFFFF#232323#0048FF
+ #938F99
\ 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 c8f5bc4..762bb59 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -51,4 +51,16 @@
Drittanbieter BibliothekenKidsIch habe die Datenschutzerklärung gelesen und akzeptiere diese.
+ Cover
+ ExpandableLayout
+ von Cachapa
+ Kontaktiere uns
+ Mehr Informationen
+ von Bump Technologies
+ AppIntro
+ vom AppIntro Team
+ von Square
+ OkHttp
+ Coroutines OkHttp
+ von Andrey Mischenko
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index d93a727..f3f3749 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,18 +1,55 @@
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/build.gradle b/build.gradle
index a7b0a76..5bd85ee 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,14 +1,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
- ext.kotlin_version = '1.6.20'
+ ext.kotlin_version = '1.6.21'
repositories {
google()
- jcenter()
maven { url "https://jitpack.io" }
maven { url "https://plugins.gradle.org/m2/"}
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.2.2'
+ classpath 'com.android.tools.build:gradle:8.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -16,7 +15,6 @@ buildscript {
allprojects {
repositories {
google()
- jcenter()
maven { url "https://jitpack.io" }
maven { url "https://plugins.gradle.org/m2/"}
}
diff --git a/gradle.properties b/gradle.properties
index d30de8a..4be757e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,4 +16,7 @@ org.gradle.jvmargs=-Xmx2048m
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
-android.enableJetifier=true
\ No newline at end of file
+android.enableJetifier=true
+android.defaults.buildfeatures.buildconfig=true
+android.nonTransitiveRClass=false
+android.nonFinalResIds=false
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 04f9c5d..d1b6be7 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-all.zip