diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 28878b8..f78daa0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,4 +1,6 @@ -apply plugin: 'com.android.application' +plugins { + id 'com.android.application' +} // // Creates version.xml @@ -35,64 +37,48 @@ preBuild.dependsOn createVersionXML // // Convert SVG images from art directory into PNG files. // -task generateDrawablesFromArt { - doLast { - def buildDir = (new File(project.buildDir,'art')).toString() - def p = ('make -C app/src/main/art RES=../res TMP='+buildDir).execute() - p.consumeProcessOutput() - p.waitFor() - if ( p.exitValue() ) - throw new GradleException("Generation of art failed.") - } -} -preBuild.dependsOn generateDrawablesFromArt +//task generateDrawablesFromArt { +// doLast { +// def buildDir = (new File(project.buildDir,'art')).toString() +// def p = ('make -C app/src/main/art RES=../res TMP='+buildDir).execute() +// p.consumeProcessOutput() +// p.waitFor() +// if ( p.exitValue() ) +// throw new GradleException("Generation of art failed.") +// } +//} +//preBuild.dependsOn generateDrawablesFromArt android { - compileSdkVersion 10 - buildToolsVersion "21.1.1" + compileSdk 31 defaultConfig { - applicationId "org.vostan.sokoban" - minSdkVersion 10 - targetSdkVersion 14 + applicationId "org.vostan.banvor" + minSdk 21 + targetSdk 31 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } - apply from: new File(getRootDir(),'/.secret.gradle') + buildTypes { release { - runProguard true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' - signingConfig signingConfigs.sokoban_release - } - - debug { - applicationIdSuffix ".debug" + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } - - sourceSets { - /* - main { - java.srcDirs = ['src'] - - resources.srcDirs = ['src'] - aidl.srcDirs = ['src'] - - renderscript.srcDirs = ['src'] - - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - - } - */ - debug { - main.manifest.srcFile "src/main/AndroidManifest-debug.xml" - } - androidTest.setRoot("src/tests") + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } -//repositories {} - dependencies { - compile 'com.android.support:support-v4:18.0.0' + + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.4.0' + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } diff --git a/app/proguard-project.txt b/app/proguard-project.txt deleted file mode 100644 index f2fe155..0000000 --- a/app/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/org/vostan/banvor/ExampleInstrumentedTest.java b/app/src/androidTest/java/org/vostan/banvor/ExampleInstrumentedTest.java new file mode 100644 index 0000000..b6301e5 --- /dev/null +++ b/app/src/androidTest/java/org/vostan/banvor/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package org.vostan.banvor; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("org.vostan.banvor", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e02136b..7c97d1d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,30 +1,31 @@ - - + - + android:screenOrientation="portrait" + android:exported="true"> - + android:value="org.vostan.banvor.MainMenu" /> diff --git a/app/src/main/java/org/vostan/sokoban/App.java b/app/src/main/java/org/vostan/banvor/App.java similarity index 98% rename from app/src/main/java/org/vostan/sokoban/App.java rename to app/src/main/java/org/vostan/banvor/App.java index 1021be3..bc7c3b8 100644 --- a/app/src/main/java/org/vostan/sokoban/App.java +++ b/app/src/main/java/org/vostan/banvor/App.java @@ -1,4 +1,4 @@ -package org.vostan.sokoban; +package org.vostan.banvor; import android.app.Application; import android.content.SharedPreferences; diff --git a/app/src/main/java/org/vostan/sokoban/Puzzle.java b/app/src/main/java/org/vostan/banvor/Puzzle.java similarity index 99% rename from app/src/main/java/org/vostan/sokoban/Puzzle.java rename to app/src/main/java/org/vostan/banvor/Puzzle.java index 23f97f2..1e6974a 100644 --- a/app/src/main/java/org/vostan/sokoban/Puzzle.java +++ b/app/src/main/java/org/vostan/banvor/Puzzle.java @@ -1,4 +1,4 @@ -package org.vostan.sokoban; +package org.vostan.banvor; //import java.lang.Exception; import java.io.*; @@ -7,7 +7,7 @@ import android.util.Log; import java.util.LinkedList; -import static org.vostan.sokoban.App.TAG; +import static org.vostan.banvor.App.TAG; public class Puzzle { diff --git a/app/src/main/java/org/vostan/sokoban/PuzzleContainer.java b/app/src/main/java/org/vostan/banvor/PuzzleContainer.java similarity index 92% rename from app/src/main/java/org/vostan/sokoban/PuzzleContainer.java rename to app/src/main/java/org/vostan/banvor/PuzzleContainer.java index 1b39836..3a5792a 100644 --- a/app/src/main/java/org/vostan/sokoban/PuzzleContainer.java +++ b/app/src/main/java/org/vostan/banvor/PuzzleContainer.java @@ -1,10 +1,10 @@ -package org.vostan.sokoban; +package org.vostan.banvor; import java.io.InputStream; import java.io.IOException; -import static org.vostan.sokoban.App.theApp; +import static org.vostan.banvor.App.theApp; -import org.vostan.sokoban.R; +import org.vostan.banvor.R; public class PuzzleContainer { diff --git a/app/src/main/java/org/vostan/sokoban/menu/MainActivity.java b/app/src/main/java/org/vostan/banvor/menu/MainActivity.java similarity index 87% rename from app/src/main/java/org/vostan/sokoban/menu/MainActivity.java rename to app/src/main/java/org/vostan/banvor/menu/MainActivity.java index 103790d..17e606c 100644 --- a/app/src/main/java/org/vostan/sokoban/menu/MainActivity.java +++ b/app/src/main/java/org/vostan/banvor/menu/MainActivity.java @@ -1,19 +1,22 @@ -package org.vostan.sokoban.menu; +package org.vostan.banvor.menu; -import org.vostan.sokoban.play.PlayActivity; +import org.vostan.banvor.play.PlayActivity; import android.content.Intent; import android.view.View; import android.os.Bundle; -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; +//import androidx.fragment.app.Fragment; +//support.v4.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; import android.view.Window; -import org.vostan.sokoban.R; -import static org.vostan.sokoban.App.theApp; +import androidx.appcompat.app.AppCompatActivity; -public class MainActivity extends FragmentActivity +import org.vostan.banvor.R; +import static org.vostan.banvor.App.theApp; + +public class MainActivity extends AppCompatActivity { protected final String TAG = "SokobanMenu"; protected final String LEVEL= "org.dyndns.vahagn.sokoban.LEVEL"; diff --git a/app/src/main/java/org/vostan/sokoban/menu/MainFragment.java b/app/src/main/java/org/vostan/banvor/menu/MainFragment.java similarity index 86% rename from app/src/main/java/org/vostan/sokoban/menu/MainFragment.java rename to app/src/main/java/org/vostan/banvor/menu/MainFragment.java index 9192cd5..ee821ce 100644 --- a/app/src/main/java/org/vostan/sokoban/menu/MainFragment.java +++ b/app/src/main/java/org/vostan/banvor/menu/MainFragment.java @@ -2,17 +2,17 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.vostan.sokoban.menu; +package org.vostan.banvor.menu; import android.os.Bundle; -import android.support.v4.app.Fragment; +import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; -import static org.vostan.sokoban.App.theApp; -import org.vostan.sokoban.R; +import static org.vostan.banvor.App.theApp; +import org.vostan.banvor.R; /** * diff --git a/app/src/main/java/org/vostan/sokoban/menu/PuzzleListFragment.java b/app/src/main/java/org/vostan/banvor/menu/PuzzleListFragment.java similarity index 97% rename from app/src/main/java/org/vostan/sokoban/menu/PuzzleListFragment.java rename to app/src/main/java/org/vostan/banvor/menu/PuzzleListFragment.java index 9f76918..fd776e0 100644 --- a/app/src/main/java/org/vostan/sokoban/menu/PuzzleListFragment.java +++ b/app/src/main/java/org/vostan/banvor/menu/PuzzleListFragment.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.vostan.sokoban.menu; +package org.vostan.banvor.menu; import android.content.Context; import android.graphics.Bitmap; @@ -12,7 +12,7 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.os.Bundle; -import android.support.v4.app.Fragment; +import androidx.fragment.app.Fragment; import android.util.TypedValue; import android.view.GestureDetector; import android.view.LayoutInflater; @@ -24,9 +24,9 @@ import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; -import org.vostan.sokoban.R; +import org.vostan.banvor.R; -import static org.vostan.sokoban.App.theApp; +import static org.vostan.banvor.App.theApp; /** * diff --git a/app/src/main/java/org/vostan/sokoban/play/Animator.java b/app/src/main/java/org/vostan/banvor/play/Animator.java similarity index 97% rename from app/src/main/java/org/vostan/sokoban/play/Animator.java rename to app/src/main/java/org/vostan/banvor/play/Animator.java index 4d5197a..ef6cc71 100644 --- a/app/src/main/java/org/vostan/sokoban/play/Animator.java +++ b/app/src/main/java/org/vostan/banvor/play/Animator.java @@ -2,9 +2,9 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.vostan.sokoban.play; +package org.vostan.banvor.play; -import android.support.v4.view.ViewCompat; +import androidx.core.view.ViewCompat; import java.util.LinkedList; /** diff --git a/app/src/main/java/org/vostan/sokoban/play/PlayActivity.java b/app/src/main/java/org/vostan/banvor/play/PlayActivity.java similarity index 94% rename from app/src/main/java/org/vostan/sokoban/play/PlayActivity.java rename to app/src/main/java/org/vostan/banvor/play/PlayActivity.java index 8a85e3e..4ae14ec 100644 --- a/app/src/main/java/org/vostan/sokoban/play/PlayActivity.java +++ b/app/src/main/java/org/vostan/banvor/play/PlayActivity.java @@ -1,11 +1,11 @@ -package org.vostan.sokoban.play; +package org.vostan.banvor.play; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentActivity; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.FragmentActivity; import android.view.View; import android.view.Window; import android.view.animation.Animation; @@ -13,11 +13,11 @@ import android.view.animation.AnimationUtils; import android.widget.FrameLayout; import android.widget.TextView; -import org.vostan.sokoban.App; +import org.vostan.banvor.App; -import static org.vostan.sokoban.App.theApp; -import org.vostan.sokoban.R; -import org.vostan.sokoban.Puzzle; +import static org.vostan.banvor.App.theApp; +import org.vostan.banvor.R; +import org.vostan.banvor.Puzzle; public class PlayActivity extends FragmentActivity implements PuzzleControl.PuzzleControlLister diff --git a/app/src/main/java/org/vostan/sokoban/play/PuzzleControl.java b/app/src/main/java/org/vostan/banvor/play/PuzzleControl.java similarity index 98% rename from app/src/main/java/org/vostan/sokoban/play/PuzzleControl.java rename to app/src/main/java/org/vostan/banvor/play/PuzzleControl.java index 2f98ea9..137499c 100644 --- a/app/src/main/java/org/vostan/sokoban/play/PuzzleControl.java +++ b/app/src/main/java/org/vostan/banvor/play/PuzzleControl.java @@ -2,14 +2,14 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.vostan.sokoban.play; +package org.vostan.banvor.play; import android.content.Context; import android.graphics.Point; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.ScaleGestureDetector; -import org.vostan.sokoban.Puzzle; +import org.vostan.banvor.Puzzle; //import android.support.v4.view.GestureDetectorCompat; diff --git a/app/src/main/java/org/vostan/sokoban/play/PuzzleLogic.java b/app/src/main/java/org/vostan/banvor/play/PuzzleLogic.java similarity index 99% rename from app/src/main/java/org/vostan/sokoban/play/PuzzleLogic.java rename to app/src/main/java/org/vostan/banvor/play/PuzzleLogic.java index 96916a0..29661d0 100644 --- a/app/src/main/java/org/vostan/sokoban/play/PuzzleLogic.java +++ b/app/src/main/java/org/vostan/banvor/play/PuzzleLogic.java @@ -2,11 +2,11 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.vostan.sokoban.play; +package org.vostan.banvor.play; import static java.lang.Math.*; import java.util.Arrays; -import org.vostan.sokoban.Puzzle; +import org.vostan.banvor.Puzzle; /** * diff --git a/app/src/main/java/org/vostan/sokoban/play/PuzzleView.java b/app/src/main/java/org/vostan/banvor/play/PuzzleView.java similarity index 98% rename from app/src/main/java/org/vostan/sokoban/play/PuzzleView.java rename to app/src/main/java/org/vostan/banvor/play/PuzzleView.java index f243664..6a96e51 100644 --- a/app/src/main/java/org/vostan/sokoban/play/PuzzleView.java +++ b/app/src/main/java/org/vostan/banvor/play/PuzzleView.java @@ -1,4 +1,4 @@ -package org.vostan.sokoban.play; +package org.vostan.banvor.play; import android.content.Context; import android.graphics.Bitmap; @@ -9,13 +9,13 @@ import android.graphics.Paint; import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; -import android.support.v4.view.ViewCompat; +import androidx.core.view.ViewCompat; import android.view.View; import static java.lang.Math.*; -import org.vostan.sokoban.Puzzle; -import static org.vostan.sokoban.Puzzle.*; -import org.vostan.sokoban.R; +import org.vostan.banvor.Puzzle; +import static org.vostan.banvor.Puzzle.*; +import org.vostan.banvor.R; /** */ diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..c209e78 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..b2dfe3d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..4f0f1d6 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..62b611d Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..948a307 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1b9a695 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..28d4b77 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9287f50 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..aa7d642 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9126ae3 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..bb48def --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ 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 be31172..41338bc 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -20,4 +20,11 @@ #80404040 #C0C0C0C0 + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..3606529 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/test/java/org/vostan/banvor/ExampleUnitTest.java b/app/src/test/java/org/vostan/banvor/ExampleUnitTest.java new file mode 100644 index 0000000..f79ad98 --- /dev/null +++ b/app/src/test/java/org/vostan/banvor/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package org.vostan.banvor; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle index e1e1653..2106b82 100644 --- a/build.gradle +++ b/build.gradle @@ -1,15 +1,17 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { - jcenter() + google() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:0.13.2' + classpath "com.android.tools.build:gradle:7.0.2" + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files } } -allprojects { - repositories { - jcenter() - } -} +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..52f5917 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,19 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# 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 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8c0fb64..e708b1c 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffaa281..5cca75b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Apr 10 15:27:10 PDT 2013 +#Mon Sep 20 22:54:36 BST 2021 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 91a7e26..4f906e0 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,20 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## ## @@ -6,47 +22,6 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" @@ -61,12 +36,53 @@ while [ -h "$PRG" ] ; do fi done SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -90,7 +106,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -110,11 +126,13 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" @@ -138,27 +156,30 @@ if $cygwin ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=`save "$@"` -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282..ac1b06f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,90 +1,89 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle index e7b4def..61cca2b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,10 @@ +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + jcenter() // Warning: this repository is going to shut down soon + } +} +rootProject.name = "banvor" include ':app'