diff --git a/.gitignore b/.gitignore
index 0ed1778..a53ff66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
*.iml
.gradle
-app/release
/local.properties
+/.idea/caches/build_file_checksums.ser
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
@@ -9,3 +9,9 @@ app/release
/build
/captures
.externalNativeBuild
+*.ser
+*.ser
+*.apk
+*.apk
+*.ser
+*.ser
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index b9e8265..d583ddb 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -13,46 +13,6 @@
-
-
-
-
-
-
@@ -120,7 +65,7 @@
@@ -130,10 +75,9 @@
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 843cc8e..29be743 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 30aa626..34dc27c 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -1,5 +1,8 @@
+
+
+
@@ -25,5 +28,8 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..79ee123
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
new file mode 100644
index 0000000..8b7f4af
--- /dev/null
+++ b/.idea/kotlinc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 99202cc..e0d5b93 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -5,22 +5,26 @@
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 35eb1dd..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index b68c17c..d883f0b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,9 +10,8 @@ android {
applicationId "adrienmalin.pingpoints"
minSdkVersion 15
targetSdkVersion 28
- versionCode 2
- versionName "1.1"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ versionCode 4
+ versionName "2.0"
vectorDrawables.useSupportLibrary true
}
buildTypes {
@@ -24,13 +23,13 @@ android {
}
dependencies {
- implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
- implementation 'com.android.support.constraint:constraint-layout:1.1.2'
- implementation 'com.android.support:support-v4:28.0.0-rc01'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
- implementation 'com.android.support:design:28.0.0-rc01'
+ implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'com.android.support.constraint:constraint-layout:1.1.3'
+ implementation 'com.android.support:design:28.0.0'
+ implementation 'com.android.support:support-v4:28.0.0'
+ implementation 'android.arch.lifecycle:extensions:1.1.1'
+ annotationProcessor 'android.arch.lifecycle:compiler:1.1.1'
+ implementation 'com.android.support:design:28.0.0'
}
diff --git a/app/release/app-release.apk b/app/release/app-release.apk
new file mode 100644
index 0000000..5b09048
Binary files /dev/null and b/app/release/app-release.apk differ
diff --git a/app/release/output.json b/app/release/output.json
index 8a74f32..0d530ea 100644
--- a/app/release/output.json
+++ b/app/release/output.json
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":2,"versionName":"1.1","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
\ No newline at end of file
diff --git a/app/src/androidTest/java/adrienmalin/pingpoints/ExampleInstrumentedTest.kt b/app/src/androidTest/java/adrienmalin/pingpoints/ExampleInstrumentedTest.kt
deleted file mode 100644
index a8d485b..0000000
--- a/app/src/androidTest/java/adrienmalin/pingpoints/ExampleInstrumentedTest.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package adrienmalin.pingpoints
-
-import android.support.test.InstrumentationRegistry
-import android.support.test.runner.AndroidJUnit4
-
-import org.junit.Test
-import org.junit.runner.RunWith
-
-import org.junit.Assert.*
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-@RunWith(AndroidJUnit4::class)
-class ExampleInstrumentedTest {
- @Test
- fun useAppContext() {
- // Context of the app under test.
- val appContext = InstrumentationRegistry.getTargetContext()
- assertEquals("adrienmalin.pingpoints", appContext.packageName)
- }
-}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 432ac20..36112d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,30 +1,31 @@
+ package="adrienmalin.pingpoints">
+
+
+
+ android:allowBackup="true"
+ android:icon="@mipmap/ic_launcher"
+ android:label="@string/app_name"
+ android:logo="@mipmap/ic_launcher"
+ android:roundIcon="@mipmap/ic_launcher_round"
+ android:supportsRtl="true"
+ android:theme="@style/PingPointsTheme">
+ android:name=".StarterNameActivity"
+ android:windowSoftInputMode="adjustResize">
-
-
+
+
+
-
+ android:name=".MatchActivity">
+
+
diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png
index f334783..fffaee7 100644
Binary files a/app/src/main/ic_launcher-web.png and b/app/src/main/ic_launcher-web.png differ
diff --git a/app/src/main/java/adrienmalin/pingpoints/CreditsActivity.kt b/app/src/main/java/adrienmalin/pingpoints/CreditsActivity.kt
deleted file mode 100644
index 4b0ab73..0000000
--- a/app/src/main/java/adrienmalin/pingpoints/CreditsActivity.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package adrienmalin.pingpoints
-
-import android.os.Bundle
-import android.support.v7.app.AppCompatActivity
-import android.text.method.LinkMovementMethod
-import android.view.MenuItem
-import android.widget.TextView
-
-
-class CreditsActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_credits)
- setSupportActionBar(findViewById(R.id.toolbar))
- supportActionBar?.setDisplayHomeAsUpEnabled(true)
- findViewById(R.id.iconsCredit)?.movementMethod = LinkMovementMethod.getInstance()
- }
-
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- finish()
- return true
- }
-}
diff --git a/app/src/main/java/adrienmalin/pingpoints/EndOfMatchDialog.kt b/app/src/main/java/adrienmalin/pingpoints/EndOfMatchDialog.kt
deleted file mode 100644
index 887470a..0000000
--- a/app/src/main/java/adrienmalin/pingpoints/EndOfMatchDialog.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-package adrienmalin.pingpoints
-
-import android.app.AlertDialog
-import android.content.DialogInterface
-import android.content.Intent
-import android.os.Bundle
-import android.support.v4.app.DialogFragment
-
-
-class EndOfMatchDialog: DialogFragment() {
- override fun onCreateDialog(savedInstanceState: Bundle?)=
- AlertDialog.Builder(activity).apply{
- val players = (activity as MainActivity).players
- val names = players.map { it.name }
- val winnerName = players.maxBy { it.score }?.name ?: ""
- val score = players.map { it.score }.sortedDescending()
-
- setTitle(getString(R.string.end_match_dialog_title, winnerName))
- setMessage(getString(R.string.score, score[0], score[1]))
- setPositiveButton(
- R.string.new_match,
- DialogInterface.OnClickListener { dialog, id ->
- startActivity(
- Intent(context, MainActivity::class.java).apply {
- putExtra("names", names.toTypedArray())
- }
- )
- }
- )
- setNeutralButton(
- R.string.share_button,
- DialogInterface.OnClickListener { dialog, id ->
- val newMatchIntent: Intent = Intent().apply {
- action = Intent.ACTION_SEND
- putExtra(
- Intent.EXTRA_SUBJECT,
- getString(
- R.string.share_subject,
- names[Side.LEFT.value],
- names[Side.RIGHT.value]
- )
- )
- putExtra(
- Intent.EXTRA_TEXT,
- getString(R.string.share_message,
- names[Side.LEFT.value],
- names[Side.RIGHT.value],
- winnerName,
- score[0],
- score[1]
- )
- )
- type = "text/plain"
- }
- startActivity(newMatchIntent)
- }
- )
- }.create()
- }
diff --git a/app/src/main/java/adrienmalin/pingpoints/Html.kt b/app/src/main/java/adrienmalin/pingpoints/Html.kt
new file mode 100644
index 0000000..b3f69ea
--- /dev/null
+++ b/app/src/main/java/adrienmalin/pingpoints/Html.kt
@@ -0,0 +1,12 @@
+package adrienmalin.pingpoints
+
+import android.os.Build
+import android.text.Html
+import android.text.Spanned
+
+
+@Suppress("DEPRECATION")
+fun fromHtml(source: String): Spanned = when {
+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.N -> Html.fromHtml(source, Html.FROM_HTML_MODE_COMPACT)
+ else -> Html.fromHtml(source)
+}
\ No newline at end of file
diff --git a/app/src/main/java/adrienmalin/pingpoints/MainActivity.kt b/app/src/main/java/adrienmalin/pingpoints/MainActivity.kt
deleted file mode 100644
index 42a4aa0..0000000
--- a/app/src/main/java/adrienmalin/pingpoints/MainActivity.kt
+++ /dev/null
@@ -1,181 +0,0 @@
-package adrienmalin.pingpoints
-
-import android.content.Intent
-import android.content.pm.ActivityInfo
-import android.os.Build
-import android.os.Bundle
-import android.support.v7.app.AppCompatActivity
-import android.support.v7.app.AppCompatDelegate
-import android.view.Menu
-import android.view.MenuItem
-import android.view.View
-import android.widget.Button
-import android.widget.ImageView
-import android.widget.Toast
-
-
-class MainActivity : AppCompatActivity() {
- var players: Array = emptyArray()
- var serviceSide: Side = Side.LEFT
- var relaunchSide: Side = Side.RIGHT
- var textScore: android.widget.TextView? = null
- var textService: android.widget.TextView? = null
- var buttons: Array