Skip to content

Commit 7370dd0

Browse files
Upgrade auf Android Studio Ladybug
1 parent 2abd3e4 commit 7370dd0

19 files changed

Lines changed: 89 additions & 78 deletions

File tree

.github/workflows/gradle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Setup JDK
1616
uses: actions/setup-java@v4
1717
with:
18-
java-version: '17'
18+
java-version: '21'
1919
distribution: 'temurin'
2020
- name: Gradle aufrufen
2121
run: bash ./gradlew clean assembleDebug --stacktrace

app/build.gradle

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
plugins {
2-
id 'com.android.application'
2+
alias(libs.plugins.android.application)
33
}
44

55
android {
66
namespace 'de.mide.pegsolitaire'
7-
compileSdk 33
7+
compileSdk 35
88

99
defaultConfig {
1010
applicationId "de.mide.pegsolitaire"
1111
minSdk 24
12-
targetSdk 33
12+
targetSdk 35
1313
versionCode 1
1414
versionName "1.0"
1515

@@ -23,17 +23,18 @@ android {
2323
}
2424
}
2525
compileOptions {
26-
sourceCompatibility JavaVersion.VERSION_1_8
27-
targetCompatibility JavaVersion.VERSION_1_8
26+
sourceCompatibility JavaVersion.VERSION_11
27+
targetCompatibility JavaVersion.VERSION_11
2828
}
2929
}
3030

3131
dependencies {
3232

33-
implementation 'androidx.appcompat:appcompat:1.6.1'
34-
implementation 'com.google.android.material:material:1.8.0'
35-
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
36-
testImplementation 'junit:junit:4.13.2'
37-
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
38-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
33+
implementation libs.appcompat
34+
implementation libs.material
35+
implementation libs.activity
36+
implementation libs.constraintlayout
37+
testImplementation libs.junit
38+
androidTestImplementation libs.ext.junit
39+
androidTestImplementation libs.espresso.core
3940
}

app/src/main/AndroidManifest.xml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
<manifest
3+
xmlns:android="http://schemas.android.com/apk/res/android"
34
xmlns:tools="http://schemas.android.com/tools"
45
android:installLocation="auto">
56

6-
77
<application
88
android:allowBackup="true"
99
android:dataExtractionRules="@xml/data_extraction_rules"
1010
android:fullBackupContent="@xml/backup_rules"
1111
android:icon="@mipmap/ic_launcher"
1212
android:label="@string/app_name"
13+
android:roundIcon="@mipmap/ic_launcher_round"
1314
android:supportsRtl="true"
1415
android:theme="@style/Theme.PegSolitaire"
1516
tools:targetApi="31">
1617

1718
<activity
1819
android:name=".MainActivity"
19-
android:exported="true"
20-
android:screenOrientation="portrait">
20+
android:exported="true">
21+
2122
<intent-filter>
23+
2224
<action android:name="android.intent.action.MAIN" />
2325
<category android:name="android.intent.category.LAUNCHER" />
26+
2427
</intent-filter>
28+
2529
</activity>
2630

2731
</application>

app/src/main/java/de/mide/pegsolitaire/MainActivity.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import de.mide.pegsolitaire.model.SpielfeldStatusEnum;
2929
import de.mide.pegsolitaire.model.SpielfeldPosition;
3030

31+
3132
/**
3233
* Activity für Spiel "Peg Solitaire" mit einem GridLayout als Spielfeld.
3334
* <br><br>>
@@ -53,15 +54,15 @@ public class MainActivity extends AppCompatActivity implements OnClickListener {
5354
* Variante: „Englisches Solitär“ (üblichste Variante?)
5455
*/
5556
private static final SpielfeldStatusEnum[][] SPIELFELD_VORLAGE_ARRAY =
56-
{
57-
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD },
58-
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD },
59-
{ BESETZT , BESETZT , BESETZT, BESETZT, BESETZT, BESETZT , BESETZT },
60-
{ BESETZT , BESETZT , BESETZT, LEER , BESETZT, BESETZT , BESETZT },
61-
{ BESETZT , BESETZT , BESETZT, BESETZT, BESETZT, BESETZT , BESETZT },
62-
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD },
63-
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD }
64-
};
57+
{
58+
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD },
59+
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD },
60+
{ BESETZT , BESETZT , BESETZT, BESETZT, BESETZT, BESETZT , BESETZT },
61+
{ BESETZT , BESETZT , BESETZT, LEER , BESETZT, BESETZT , BESETZT },
62+
{ BESETZT , BESETZT , BESETZT, BESETZT, BESETZT, BESETZT , BESETZT },
63+
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD },
64+
{ KEIN_FELD, KEIN_FELD, BESETZT, BESETZT, BESETZT, KEIN_FELD, KEIN_FELD }
65+
};
6566

6667
/*
6768
// für Testzwecke: Spielfeld enthält nur zwei nebeneinanderliege Steine
@@ -148,7 +149,7 @@ private void displayAufloesungAuswerten() {
148149
_seitenlaengeSpielstein = displayBreite / _anzahlSpalten;
149150

150151
_layoutFuerSpielfeld = new ViewGroup.LayoutParams( _seitenlaengeSpielstein,
151-
_seitenlaengeSpielstein );
152+
_seitenlaengeSpielstein );
152153
}
153154

154155

@@ -366,7 +367,7 @@ public void onClick(View view) {
366367
if (_startButton != null) {
367368

368369
Toast.makeText(this, "Ungültiger Zug!",
369-
Toast.LENGTH_LONG).show();
370+
Toast.LENGTH_LONG).show();
370371
_startButton.setTextColor(TEXTFARBE_ROT);
371372
_startButton = null;
372373

@@ -384,7 +385,7 @@ public void onClick(View view) {
384385
if (_startButton == null) {
385386

386387
Toast.makeText(this, "Ungültiger Zug: Zuerst einen Spielstein wählen!",
387-
Toast.LENGTH_LONG).show();
388+
Toast.LENGTH_LONG).show();
388389
} else {
389390

390391
SpielfeldPosition startPosition = (SpielfeldPosition) _startButton.getTag();
@@ -407,7 +408,7 @@ public void onClick(View view) {
407408

408409
default:
409410
Log.e(TAG4LOGGING, "Interner Fehler: Unerwarteter Status von angeklicktem Spielfeld: " +
410-
spielfeldStatus);
411+
spielfeldStatus);
411412
}
412413
}
413414

@@ -447,7 +448,7 @@ private void sprungDurchfuehren(Button startButton, Button zielButton, Button ue
447448
_spielfeldArray[startZeile][startSpalte] = LEER;
448449
_spielfeldArray[uebersprungZeile][uebersprungSpalte] = LEER;
449450
_spielfeldArray[zielZeile][zielSpalte] = BESETZT;
450-
451+
451452
_startButton = null;
452453

453454
_anzahlSpielsteineAktuell--;
@@ -491,14 +492,14 @@ private void zeigeGewonnenDialog() {
491492

492493

493494
/**
494-
* Überprüft, ob ein Zug von {@code startPos} zu {@code zielPos} gültig ist,
495+
* Überprüft, ob ein Zug von {@code startPos} zu {@code zielPos} gültig ist,
495496
* also ob genau ein Stein übersprungen wird.
496497
*
497498
* @param startPos Position eines besetzten Felds
498499
*
499500
* @param zielPos Position eines leeres Felds
500501
*
501-
* @return {@code null} wenn ungültiger Zug; bei gültigem Zug Position
502+
* @return {@code null} wenn ungültiger Zug; bei gültigem Zug Position
502503
* des übersprungen Spielsteins (der jetzt entfernt werden muss)
503504
*/
504505
private SpielfeldPosition getUebersprungenerStein(SpielfeldPosition startPos, SpielfeldPosition zielPos) {

app/src/main/java/de/mide/pegsolitaire/model/SpielfeldPosition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class SpielfeldPosition {
88

99
/** 0-basierter Index der Zeile */
1010
private int _indexZeile = -1;
11-
11+
1212
/** 0-basierter Index der Spalte */
1313
private int _indexSpalte = -1;
1414

app/src/main/java/de/mide/pegsolitaire/model/SpielfeldStatusEnum.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package de.mide.pegsolitaire.model;
22

3+
34
/**
45
* Aufzählungstyp für den Status der einzelnen Position im GridLayout.
56
*/

app/src/main/res/drawable-v24/ic_launcher_foreground.xml renamed to app/src/main/res/drawable/ic_launcher_foreground.xml

File renamed without changes.

app/src/main/res/layout/activity_main.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
1+
<LinearLayout
2+
xmlns:android="http://schemas.android.com/apk/res/android"
23
xmlns:tools="http://schemas.android.com/tools"
34
android:id="@+id/HauptLayoutMainActivity"
45
android:layout_width="match_parent"

app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
33
<background android:drawable="@drawable/ic_launcher_background" />
44
<foreground android:drawable="@drawable/ic_launcher_foreground" />
5+
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
56
</adaptive-icon>

app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
33
<background android:drawable="@drawable/ic_launcher_background" />
44
<foreground android:drawable="@drawable/ic_launcher_foreground" />
5+
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
56
</adaptive-icon>

0 commit comments

Comments
 (0)