Skip to content

Commit

Permalink
Material 3 implementiert
Browse files Browse the repository at this point in the history
Design Änderungen vorgenommen
Gradle Plugin aktualisiert
  • Loading branch information
DonMarv00 committed Aug 8, 2023
1 parent 061a51d commit f501885
Show file tree
Hide file tree
Showing 27 changed files with 789 additions and 337 deletions.
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 10 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}

Expand All @@ -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")
Expand Down
Original file line number Diff line number Diff line change
@@ -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";
}
17 changes: 12 additions & 5 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="de.msdevs.einschlafhilfe">
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<permission android:name="android.permission.QUERY_ALL_PACKAGES" />


<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
</intent>
</queries>

<supports-screens android:resizeable="true"
android:largeScreens="true"
android:xlargeScreens="true"/>
<application
android:allowBackup="false"
tools:replace="android:allowBackup"
Expand All @@ -38,6 +40,11 @@
android:label="@string/settings"/>
<activity android:name=".AboutActivity"
android:label="@string/about" />
</application>



</application>
<queries>
<package android:name="com.spotify.music" />
</queries>
</manifest>
24 changes: 24 additions & 0 deletions app/src/main/assets/offline_list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
]
}
26 changes: 25 additions & 1 deletion app/src/main/assets/offline_list_kids.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
]
}
56 changes: 41 additions & 15 deletions app/src/main/java/de/msdevs/einschlafhilfe/AboutActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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)
Expand All @@ -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 {
Expand All @@ -57,4 +83,4 @@ class AboutActivity : AppCompatActivity() {
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(browserIntent)
}
}
}
13 changes: 6 additions & 7 deletions app/src/main/java/de/msdevs/einschlafhilfe/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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) {
Expand All @@ -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()
Expand Down
Loading

0 comments on commit f501885

Please sign in to comment.