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 @@ + + + + \ 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