From 63df32049ac2839c22db3be0b7bb47ffa57901d0 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 09:49:45 +0100 Subject: [PATCH 1/9] Fix error --- app/src/test/java/net/pokeranalytics/android/ExampleUnitTest.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/test/java/net/pokeranalytics/android/ExampleUnitTest.kt b/app/src/test/java/net/pokeranalytics/android/ExampleUnitTest.kt index 9ae7c2fa..39180592 100644 --- a/app/src/test/java/net/pokeranalytics/android/ExampleUnitTest.kt +++ b/app/src/test/java/net/pokeranalytics/android/ExampleUnitTest.kt @@ -15,6 +15,8 @@ class ExampleUnitTest : RealmUnitTest() { class Grade(someValue: Double) : SessionInterface { + override var bbPer100Hands: Double = 0.0 + override var ratedNet: Double = 0.0 override var value: Double = someValue override var sessionSet: SessionSet? = SessionSet() From 107f569c06f34446b0e5e5d137b80a1851fddfc8 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 09:49:50 +0100 Subject: [PATCH 2/9] Clean code --- app/src/main/java/net/pokeranalytics/android/util/FormatUtils.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/net/pokeranalytics/android/util/FormatUtils.kt b/app/src/main/java/net/pokeranalytics/android/util/FormatUtils.kt index 9c9b27ad..29fbb799 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/FormatUtils.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/FormatUtils.kt @@ -17,5 +17,4 @@ class FormatUtils { } - } \ No newline at end of file From 968454bc4e04e9923bf93abffc598de2f8504f74 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 09:49:58 +0100 Subject: [PATCH 3/9] Clean code --- .../pokeranalytics/android/ui/fragment/LocationDataFragment.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/LocationDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/LocationDataFragment.kt index 6f2254b0..93d56641 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/LocationDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/LocationDataFragment.kt @@ -14,7 +14,6 @@ import net.pokeranalytics.android.ui.view.rowrepresentable.CustomizableRowRepres import net.pokeranalytics.android.ui.view.rowrepresentable.LocationRow import net.pokeranalytics.android.ui.view.rowrepresentable.SimpleRow import net.pokeranalytics.android.util.NULL_TEXT -import timber.log.Timber /** * Custom EditableDataFragment to manage the LOCATE_ME case @@ -181,7 +180,6 @@ class LocationDataFragment : EditableDataFragment(), StaticRowRepresentableDataS // Try to get the location of the user parentActivity.findCurrentLocation {currentLocation -> currentLocation?.let { - Timber.d("Current location: ${it.latitude}, ${it.longitude}") location.latitude = currentLocation.latitude location.longitude = currentLocation.longitude } From 91a741fd0c64c833c9d91da10fc3d0c4f816b5a3 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 09:50:20 +0100 Subject: [PATCH 4/9] Add proguard for release --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index a8b438de..097c8efd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -34,7 +34,7 @@ android { buildTypes { release { - minifyEnabled false + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } From 81a1a9efe07de240a61a8c2deb411a0c12725b06 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 09:50:52 +0100 Subject: [PATCH 5/9] Fix findCurrentLocation --- .../components/PokerAnalyticsActivity.kt | 46 +++++++++++++------ 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt index e02ebd15..d3977e9f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt @@ -8,16 +8,20 @@ import android.view.MenuItem import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import com.google.android.gms.common.ConnectionResult +import com.google.android.gms.common.GoogleApiAvailability import com.google.android.libraries.places.api.model.PlaceLikelihood import io.realm.Realm import net.pokeranalytics.android.model.realm.Location import net.pokeranalytics.android.util.LocationManager +import timber.log.Timber open class PokerAnalyticsActivity : AppCompatActivity() { companion object { const val PERMISSION_REQUEST_ACCESS_FINE_LOCATION = 1000 + const val PLAY_SERVICES_RESOLUTION_REQUEST = 2000 } private val realm = Realm.getDefaultInstance() @@ -71,7 +75,7 @@ open class PokerAnalyticsActivity : AppCompatActivity() { /** * Return if the location permission has been granted by the user */ - fun hasLocationPermissionGranted() : Boolean { + fun hasLocationPermissionGranted(): Boolean { return ContextCompat.checkSelfPermission(this, ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED } @@ -127,22 +131,36 @@ open class PokerAnalyticsActivity : AppCompatActivity() { /** * Find the current location */ - fun findCurrentLocation(callback: ((location: Location?) -> Unit)?) { - if (LocationManager(this).databaseContainsLocationsWithCoordinates()) { - if (ContextCompat.checkSelfPermission(this, ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { - LocationManager(this).findNearestLocationFromUser(callback) - } else { - askForLocationPermission { granted -> - if (granted) { - LocationManager(this).findNearestLocationFromUser(callback) - } else { - callback?.invoke(null) - } + fun findCurrentLocation(callback: ((location: android.location.Location?) -> Unit)?) { + if (ContextCompat.checkSelfPermission(this, ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + LocationManager(this).findCurrentLocation(callback) + } else { + askForLocationPermission { granted -> + if (granted) { + LocationManager(this).findCurrentLocation(callback) + } else { + callback?.invoke(null) } } - } else { - callback?.invoke(null) } } + /** + * Check the Google Play Services + */ + fun checkPlayServices(): Boolean { + val googleAPI = GoogleApiAvailability.getInstance() + val result = googleAPI.isGooglePlayServicesAvailable(this) + Timber.d("checkPlayServices: $result") + if (result != ConnectionResult.SUCCESS) { + if (googleAPI.isUserResolvableError(result)) { + googleAPI.getErrorDialog(this, result, PLAY_SERVICES_RESOLUTION_REQUEST).show() + } + + return false + } + + return true + } + } \ No newline at end of file From 05be64f3960ece1da6607f6a1544020e0afafaec Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 10:28:31 +0100 Subject: [PATCH 6/9] Remove google play services check --- .../components/PokerAnalyticsActivity.kt | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt index d3977e9f..22febecc 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt @@ -8,13 +8,10 @@ import android.view.MenuItem import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat -import com.google.android.gms.common.ConnectionResult -import com.google.android.gms.common.GoogleApiAvailability import com.google.android.libraries.places.api.model.PlaceLikelihood import io.realm.Realm import net.pokeranalytics.android.model.realm.Location import net.pokeranalytics.android.util.LocationManager -import timber.log.Timber open class PokerAnalyticsActivity : AppCompatActivity() { @@ -145,22 +142,4 @@ open class PokerAnalyticsActivity : AppCompatActivity() { } } - /** - * Check the Google Play Services - */ - fun checkPlayServices(): Boolean { - val googleAPI = GoogleApiAvailability.getInstance() - val result = googleAPI.isGooglePlayServicesAvailable(this) - Timber.d("checkPlayServices: $result") - if (result != ConnectionResult.SUCCESS) { - if (googleAPI.isUserResolvableError(result)) { - googleAPI.getErrorDialog(this, result, PLAY_SERVICES_RESOLUTION_REQUEST).show() - } - - return false - } - - return true - } - } \ No newline at end of file From 2382d3f00535152f98d9355a43d46f82f0a82e09 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 11:26:02 +0100 Subject: [PATCH 7/9] Try to add instrumentation tests --- .gitlab-ci.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ee2983e0..242397a9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,7 +38,26 @@ assembleDebug: paths: - app/build/outputs/ -debugTests: +instrumentation_tests: stage: test script: - - ./gradlew -Pci --console=plain :app:testDebug \ No newline at end of file + - emulator -avd testAVD -no-audio -no-window & + - ./ci/android-wait-for-emulator.sh + - adb devices + - adb shell settings put global window_animation_scale 0 & + - adb shell settings put global transition_animation_scale 0 & + - adb shell settings put global animator_duration_scale 0 & + - adb shell input keyevent 82 & + - ./gradlew connectedAndroidTest + - ./ci/stop-emulators.sh + artifacts: + name: "reports_${CI_PROJECT_NAME}_${CI_BUILD_REF_NAME}" + when: on_failure + expire_in: 4 days + paths: + - app/build/reports/androidTests/connected/ + +#debugTests: +# stage: test +# script: +# - ./gradlew -Pci --console=plain :app:testDebug From c69cac075751f0d72c4790fed7781824f6065501 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 14:17:17 +0100 Subject: [PATCH 8/9] Update GitLab config --- .gitlab-ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 242397a9..d645e9bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,18 +38,18 @@ assembleDebug: paths: - app/build/outputs/ -instrumentation_tests: +instrumentationTests: stage: test script: - - emulator -avd testAVD -no-audio -no-window & - - ./ci/android-wait-for-emulator.sh - - adb devices - - adb shell settings put global window_animation_scale 0 & - - adb shell settings put global transition_animation_scale 0 & - - adb shell settings put global animator_duration_scale 0 & - - adb shell input keyevent 82 & - - ./gradlew connectedAndroidTest - - ./ci/stop-emulators.sh + - wget --quiet --output-document=android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator + - chmod +x android-wait-for-emulator + - echo y | ${ANDROID_HOME}/tools/bin/sdkmanager "system-images;android-${ANDROID_COMPILE_SDK};google_apis_playstore;x86" + - echo y | ${ANDROID_HOME}/tools/bin/sdkmanager --update + - echo no | ${ANDROID_HOME}/tools/bin/avdmanager create avd -k "system-images;android-${ANDROID_COMPILE_SDK};google_apis_playstore;x86" -n test + - ${ANDROID_HOME}/tools/emulator -avd test -no-window -no-audio + - ./android-wait-for-emulator + - adb shell input keyevent 82 + - ./gradlew cAT artifacts: name: "reports_${CI_PROJECT_NAME}_${CI_BUILD_REF_NAME}" when: on_failure From 05776dbd7da37ce67c834fffae6e08e321f4028b Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 13 Mar 2019 14:30:39 +0100 Subject: [PATCH 9/9] =?UTF-8?q?Remove=20instrumentation=20tests=20(doesn?= =?UTF-8?q?=E2=80=99t=20work=20for=20now)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d645e9bf..f84bd2f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,25 +38,6 @@ assembleDebug: paths: - app/build/outputs/ -instrumentationTests: - stage: test - script: - - wget --quiet --output-document=android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator - - chmod +x android-wait-for-emulator - - echo y | ${ANDROID_HOME}/tools/bin/sdkmanager "system-images;android-${ANDROID_COMPILE_SDK};google_apis_playstore;x86" - - echo y | ${ANDROID_HOME}/tools/bin/sdkmanager --update - - echo no | ${ANDROID_HOME}/tools/bin/avdmanager create avd -k "system-images;android-${ANDROID_COMPILE_SDK};google_apis_playstore;x86" -n test - - ${ANDROID_HOME}/tools/emulator -avd test -no-window -no-audio - - ./android-wait-for-emulator - - adb shell input keyevent 82 - - ./gradlew cAT - artifacts: - name: "reports_${CI_PROJECT_NAME}_${CI_BUILD_REF_NAME}" - when: on_failure - expire_in: 4 days - paths: - - app/build/reports/androidTests/connected/ - #debugTests: # stage: test # script: