From 932d41cc0b1a24e44475b3a852199ee55a8ed20b Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 14:14:23 +0100 Subject: [PATCH 01/21] Working on filters UI --- .../ui/fragment/FilterDetailsFragment.kt | 12 +++++++++-- .../android/ui/fragment/SessionFragment.kt | 7 +------ .../ui/view/rowrepresentable/FilterRow.kt | 20 ++++++++++++++++++- .../rowrepresentable/FilterSubcategoryRow.kt | 3 +-- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt index c3e52fff..41a06aa0 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt @@ -16,12 +16,14 @@ import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetFragment +import net.pokeranalytics.android.ui.helpers.DateTimePickerManager import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterRow import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSubcategoryRow import timber.log.Timber +import java.util.* open class FilterDetailsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource, RowRepresentableDelegate { @@ -104,8 +106,14 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), RowRepresentableDat } rowRepresentableAdapter.refreshRow(row) - when(row) { - FilterRow.FROM -> BottomSheetFragment.create(fragmentManager, row, this, null) + Timber.d("Row: $row") + when (row) { + FilterRow.FROM -> DateTimePickerManager.create(requireContext(), row, this, Date()) + FilterRow.TO -> DateTimePickerManager.create(requireContext(), row, this, Date()) + FilterRow.PAST_DAYS -> { + val data = row.editingDescriptors(mapOf("defaultValue" to "")) + BottomSheetFragment.create(fragmentManager, row, this, data, null) + } } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt index fad5f61b..e7ab1a01 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt @@ -86,12 +86,7 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate { val data = currentSession.editDescriptors(row) when (row) { - SessionRow.START_DATE -> DateTimePickerManager.create( - requireContext(), - row, - this, - currentSession.startDate - ) + SessionRow.START_DATE -> DateTimePickerManager.create(requireContext(),row,this,currentSession.startDate) SessionRow.END_DATE -> DateTimePickerManager.create( requireContext(), row, diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt index 6f20e8e3..598455db 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterRow.kt @@ -1,7 +1,9 @@ package net.pokeranalytics.android.ui.view.rowrepresentable +import android.text.InputType import net.pokeranalytics.android.R import net.pokeranalytics.android.ui.view.RowRepresentable +import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor import net.pokeranalytics.android.ui.view.RowViewType enum class FilterRow : RowRepresentable { @@ -73,7 +75,6 @@ enum class FilterRow : RowRepresentable { } } - override fun subcategoryRow(): FilterSubcategoryRow? { return when (this) { CASH_GAME, TOURNAMENT -> FilterSubcategoryRow.TOURNAMENT_TYPE @@ -86,4 +87,21 @@ enum class FilterRow : RowRepresentable { } } + override fun editingDescriptors(map: Map): ArrayList? { + when (this) { + PAST_DAYS -> { + val defaultValue: String? by map + val data = arrayListOf() + data.add( + RowRepresentableEditDescriptor( + defaultValue, + inputType = InputType.TYPE_CLASS_NUMBER + ) + ) + } + } + + return super.editingDescriptors(map) + } + } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt index 88e29e7d..579a5988 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSubcategoryRow.kt @@ -165,8 +165,7 @@ enum class FilterSubcategoryRow : RowRepresentable { ) ) FIXED_DATE -> { - rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_VALUE_CHECK, resId = FilterRow.FROM.resId, isSelectable = true, value = "20/03/2019")) - rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_VALUE_CHECK, resId = FilterRow.TO.resId, isSelectable = true, value = "20/03/2019")) + rows.addAll(arrayListOf(FilterRow.FROM, FilterRow.TO)) } DURATION -> rows.addAll(arrayListOf(FilterRow.PAST_DAYS)) YEAR -> { From fd286c4b69cdeafe08129d7b4418714dce36dd6f Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 14:59:28 +0100 Subject: [PATCH 02/21] Update filters row management --- .../ui/fragment/FilterDetailsFragment.kt | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt index 41a06aa0..95cb10c4 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt @@ -102,19 +102,21 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), RowRepresentableDat } } - selectedRows.add(row) - } - rowRepresentableAdapter.refreshRow(row) - - Timber.d("Row: $row") - when (row) { - FilterRow.FROM -> DateTimePickerManager.create(requireContext(), row, this, Date()) - FilterRow.TO -> DateTimePickerManager.create(requireContext(), row, this, Date()) - FilterRow.PAST_DAYS -> { - val data = row.editingDescriptors(mapOf("defaultValue" to "")) - BottomSheetFragment.create(fragmentManager, row, this, data, null) + Timber.d("Row: $row") + when (row) { + FilterRow.FROM -> DateTimePickerManager.create(requireContext(), row, this, Date(), onlyDate = true) + FilterRow.TO -> DateTimePickerManager.create(requireContext(), row, this, Date(), onlyDate = true) + FilterRow.PAST_DAYS -> { + val data = row.editingDescriptors(mapOf("defaultValue" to "")) + BottomSheetFragment.create(fragmentManager, row, this, data, null) + } + else -> { + selectedRows.add(row) + } } + } + rowRepresentableAdapter.refreshRow(row) } @@ -124,6 +126,8 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), RowRepresentableDat override fun onRowValueChanged(value: Any?, row: RowRepresentable) { super.onRowValueChanged(value, row) + selectedRows.add(row) + rowRepresentableAdapter.refreshRow(row) } override fun adapterRows(): List? { From efa3823e0f5185e0414797552c15123c64ee0375 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 20 Mar 2019 15:38:23 +0100 Subject: [PATCH 03/21] Reverse the direction of Session -> ComputableResult relationship for better performance --- .../android/RealmInstrumentedUnitTest.kt | 3 ++- .../android/calculus/Calculator.kt | 3 +++ .../android/model/realm/ComputableResult.kt | 11 ++++------ .../android/model/realm/Currency.kt | 2 +- .../android/model/realm/Session.kt | 20 +++++++++++++++---- .../android/model/realm/SessionSet.kt | 2 +- .../android/ui/fragment/StatsFragment.kt | 15 +++----------- .../components/SessionObserverFragment.kt | 2 +- 8 files changed, 31 insertions(+), 27 deletions(-) diff --git a/app/src/androidTest/java/net/pokeranalytics/android/RealmInstrumentedUnitTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/RealmInstrumentedUnitTest.kt index d19327fd..45faaaef 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/RealmInstrumentedUnitTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/RealmInstrumentedUnitTest.kt @@ -18,7 +18,8 @@ open class RealmInstrumentedUnitTest { fun newSessionInstance(realm: Realm) : Session { val session = realm.createObject(Session::class.java, UUID.randomUUID().toString()) - session.computableResult = realm.createObject(ComputableResult::class.java) + val computableResult = realm.createObject(ComputableResult::class.java) + computableResult.session = session session.result = realm.createObject(Result::class.java) return session } diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt index 7458503e..ff68b8b4 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt @@ -219,6 +219,9 @@ class Calculator { } } } + else -> { + // nothing + } } var average = 0.0 diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt index a9d2092f..276f3a47 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt @@ -1,9 +1,6 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject -import io.realm.RealmResults -import io.realm.annotations.Ignore -import io.realm.annotations.LinkingObjects import net.pokeranalytics.android.calculus.interfaces.Computable open class ComputableResult : RealmObject(), Computable { @@ -24,11 +21,11 @@ open class ComputableResult : RealmObject(), Computable { override var sessionSet: SessionSet? = null - @LinkingObjects("computableResult") - private val sessions: RealmResults? = null +// @LinkingObjects("computableResult") +// private val sessions: RealmResults? = null - @Ignore - val session: Session? = this.sessions?.firstOrNull() +// @Ignore + var session: Session? = null fun updateWith(session: Session) { diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt index 9f4d8b65..5f18c933 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt @@ -27,7 +27,7 @@ open class Currency : RealmObject() { // could be async val query = this.realm.where(ComputableResult::class.java) - query.`in`("sessions.bankroll.currency.id", arrayOf(this.id)) + query.`in`("session.bankroll.currency.id", arrayOf(this.id)) val cResults = query.findAll() cResults.forEach { computable -> diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index ebe070ed..77d784ff 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -4,8 +4,10 @@ import android.content.Context import io.realm.Realm import io.realm.RealmList import io.realm.RealmObject +import io.realm.RealmResults import io.realm.annotations.Ignore import io.realm.annotations.Index +import io.realm.annotations.LinkingObjects import io.realm.annotations.PrimaryKey import io.realm.kotlin.where import net.pokeranalytics.android.R @@ -61,7 +63,10 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource fun newInstance(realm: Realm, isTournament: Boolean, bankroll: Bankroll? = null): Session { val session = Session() session.result = Result() - session.computableResult = ComputableResult() + + val computableResult = ComputableResult() + computableResult.session = session + if (bankroll != null) { session.bankroll = bankroll } else { @@ -86,7 +91,13 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource /** * Optimized result for faster stats */ - var computableResult: ComputableResult? = null +// var computableResult: ComputableResult? = null + + @LinkingObjects("session") + private val computableResults: RealmResults? = null + + @Ignore + val computableResult: ComputableResult? = this.computableResults?.firstOrNull() // Timed interface @@ -293,10 +304,11 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource } fun updateComputableResult() { - this.computableResult?.let { + + this.computableResults?.forEach { it.updateWith(this) } ?: run { - throw IllegalStateException("Session should always have a Light Result") + throw IllegalStateException("Session should always have a computable results") } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt index 3acab070..f569614c 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt @@ -57,7 +57,7 @@ open class SessionSet : RealmObject(), Timed { } fun computeStats() { - this.ratedNet = this.sessions?.sumByDouble { it.computableResult!!.ratedNet } ?: 0.0 + this.ratedNet = this.sessions?.sumByDouble { it.computableResult?.ratedNet ?: 0.0 } ?: 0.0 this.estimatedHands = this.sessions?.sumByDouble { it.estimatedHands } ?: 0.0 this.bbNetResult = this.sessions?.sumByDouble { it.bbNetResult } ?: 0.0 } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt index 8f6a5f86..e8faee6c 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt @@ -166,25 +166,16 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc val s = Date() - val allSessions = realm.where(ComputableResult::class.java).isNotNull("sessions.endDate").findAll() + val allSessions = realm.where(ComputableResult::class.java).isNotNull("session.endDate").findAll() val allSessionSets = realm.where(SessionSet::class.java).findAll() Timber.d(">>>>> number of computables to compute = ${allSessions.size}") - val cgSessions = allSessions.where().equalTo("sessions.type", Session.Type.CASH_GAME.ordinal).findAll() + val cgSessions = allSessions.where().equalTo("session.type", Session.Type.CASH_GAME.ordinal).findAll() val cgSessionSets = realm.where(SessionSet::class.java).equalTo("sessions.type", Session.Type.CASH_GAME.ordinal).findAll() - val tSessions = allSessions.where().equalTo("sessions.type", Session.Type.TOURNAMENT.ordinal).findAll() + val tSessions = allSessions.where().equalTo("session.type", Session.Type.TOURNAMENT.ordinal).findAll() val tSessionSets = realm.where(SessionSet::class.java).equalTo("sessions.type", Session.Type.TOURNAMENT.ordinal).findAll() -// val computableList = realm.copyFromRealm(allSessions) - -// computableList.forEach { session -> -// if (true) { // @todo -// cgSessions.add(session) -// } else { -// tSessions.add(session) -// } -// } val e = Date() val duration = (e.time - s.time) / 1000.0 Timber.d(">>> filtering in ${duration} seconds") diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt index 2f5b288d..ffa166be 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt @@ -10,7 +10,7 @@ open class SessionObserverFragment : PokerAnalyticsFragment() { init { val realm = Realm.getDefaultInstance() - this.endedSessions = realm.where(ComputableResult::class.java).isNotNull("sessions.endDate").findAll() + this.endedSessions = realm.where(ComputableResult::class.java).isNotNull("session.endDate").findAll() this.endedSessions.addChangeListener { _, _ -> this.sessionsChanged() } From f522dd13e4503a19907e97d410452307210b7e0f Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 20 Mar 2019 15:48:24 +0100 Subject: [PATCH 04/21] Added @Index on Session.type --- .../main/java/net/pokeranalytics/android/model/realm/Session.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 77d784ff..14a9fb51 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -83,6 +83,7 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource /** * Indicates the type of session, cash game or tournament */ + @Index var type: Int = Type.CASH_GAME.ordinal // The result of the main user From c268cca12456c482da44e92a5c7d333041d9aaf2 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 20 Mar 2019 15:52:23 +0100 Subject: [PATCH 05/21] Added the cleanup of ComputableResult when deleting a Session --- .../main/java/net/pokeranalytics/android/model/realm/Session.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 14a9fb51..ae91e05c 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -510,6 +510,7 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource // cleanup unnecessary related objects set.deleteFromRealm() this.result?.deleteFromRealm() + this.computableResults?.deleteAllFromRealm() // Updates the timeline SessionSetManager.removeFromTimeline(this) From 4e478afa75f15ad1502474e05eca09de6b9a1501 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 20 Mar 2019 16:01:49 +0100 Subject: [PATCH 06/21] warning cleanup --- .../pokeranalytics/android/calculus/Calculator.kt | 15 +++++++++------ .../calculus/bankroll/BankrollCalculator.kt | 4 ++-- .../android/model/utils/SessionSetManager.kt | 6 +++--- .../android/ui/activity/HomeActivity.kt | 2 +- .../android/ui/fragment/BankrollDataFragment.kt | 4 ++-- .../BottomSheetDoubleEditTextFragment.kt | 2 +- .../bottomsheet/BottomSheetEditTextFragment.kt | 2 +- .../bottomsheet/BottomSheetSumFragment.kt | 2 +- 8 files changed, 20 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt index ff68b8b4..638c7cb5 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt @@ -58,10 +58,10 @@ class Calculator { companion object { - fun computePreAggregation(sets: List, options: Options): List { - Timber.d("sets = ${sets.size}") - return listOf() - } +// fun computePreAggregation(sets: List, options: Options): List { +// Timber.d("sets = ${sets.size}") +// return listOf() +// } /** * Computes all stats for list of Session sessionGroup @@ -168,6 +168,9 @@ class Calculator { } } + else -> { + // nothing + } } val sessionSets = computableGroup.sets @@ -190,8 +193,8 @@ class Calculator { var tSum = 0.0 var tTotalHands = 0.0 var tBBSum = 0.0 - var tHourlyRate = 0.0 - var tHourlyRateBB = 0.0 + var tHourlyRate: Double = 0.0 + var tHourlyRateBB: Double = 0.0 sessionSets.forEach { sessionSet -> tIndex++ diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt index 2f333f23..3a126a68 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt @@ -18,14 +18,14 @@ class BankrollCalculator { if (setup.bankroll != null) { sessionQuery.equalTo("bankroll.id", setup.bankroll.id) } - val sessions = sessionQuery.findAll() +// val sessions = sessionQuery.findAll() val transactionQuery = realm.where(Transaction::class.java) if (setup.bankroll != null) { transactionQuery.equalTo("bankroll.id", setup.bankroll.id).findAll() } val transactions = transactionQuery.findAll() - val sessionsNet = sessions.sum("result.net") +// val sessionsNet = sessions.sum("result.net") val transactionsNet = transactions.sum("value") transactions.forEach { diff --git a/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt b/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt index 6f59a315..66b4b000 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt @@ -125,9 +125,9 @@ class SessionSetManager { session.sessionSet = set // Add all orphan endedSessions - sessions.forEach { session -> - session.sessionSet = set - set.breakDuration = max(set.breakDuration, session.breakDuration) + sessions.forEach { s -> + s.sessionSet = set + set.breakDuration = max(set.breakDuration, s.breakDuration) } set.computeStats() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt index 56084034..934317e7 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt @@ -152,7 +152,7 @@ class HomeActivity : PokerAnalyticsActivity() { } } - .setNegativeButton(R.string.cancel) {dialog, which -> + .setNegativeButton(R.string.cancel) { _, which -> Timber.d("Click on cancel") } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollDataFragment.kt index 446039ed..6b108640 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollDataFragment.kt @@ -111,7 +111,7 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { when (row) { - BankrollRow.CURRENCY -> CurrenciesActivity.newInstanceForResult(this@BankrollDataFragment, BankrollDataFragment.REQUEST_CODE_CURRENCY) + BankrollRow.CURRENCY -> CurrenciesActivity.newInstanceForResult(this@BankrollDataFragment, REQUEST_CODE_CURRENCY) BankrollRow.REFRESH_RATE -> refreshRate() else -> super.onRowSelected(position, row, fromAction) } @@ -197,7 +197,7 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS override fun onResponse(call: Call>, response: Response>) { response.body()?.let { - it[currenciesConverterValue]?.value?.let {rate -> + it[currenciesConverterValue]?.value?.let { rate -> onRowValueChanged(rate.toString(), BankrollRow.RATE) } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt index 257c5166..38014ea2 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt @@ -88,7 +88,7 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() { } - editText2.setOnEditorActionListener { v, actionId, _ -> + editText2.setOnEditorActionListener { _, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_DONE) { this.delegate.onRowValueChanged(values, row) dismiss() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt index 4e8933d0..66986615 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt @@ -53,7 +53,7 @@ class BottomSheetEditTextFragment : BottomSheetFragment() { editText1.addTextChangedListener { value = it?.toString() ?: "" } editText1.setText((data[0].defaultValue ?: "").toString()) - editText1.setOnEditorActionListener { v, actionId, _ -> + editText1.setOnEditorActionListener { _, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_DONE) { delegate.onRowValueChanged(getValue(), row) dismiss() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetSumFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetSumFragment.kt index 58f1ff3e..81684a46 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetSumFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetSumFragment.kt @@ -117,7 +117,7 @@ class BottomSheetSumFragment : BottomSheetFragment() { } } - editText2.setOnEditorActionListener { v, actionId, _ -> + editText2.setOnEditorActionListener { _, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_DONE) { this.delegate.onRowValueChanged(value, row) dismiss() From adc9125a6900d82c8f0168a81382899d6692dce5 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 16:39:33 +0100 Subject: [PATCH 07/21] Update gitlab ci config --- .gitlab-ci.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 49429c08..a7f927fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,12 +4,14 @@ variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" ANDROID_SDK_TOOLS: "4333796" + EMULATOR_VERSION: "22" # Unable to install with newer emulator versions. Don`t know why. before_script: - apt-get --quiet update --yes - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip - unzip -d android-sdk-linux android-sdk.zip + - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null @@ -25,12 +27,12 @@ stages: - build - test -lintDebug: +#lintDebug: stage: build script: - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint -assembleDebug: +#assembleDebug: stage: build script: - ./gradlew assembleDebug @@ -38,7 +40,20 @@ assembleDebug: paths: - app/build/outputs/ -unitTests: +#unitTests: + stage: test + script: + - ./gradlew -Pci --console=plain :app:testDebug + +instrumentedTests: stage: test script: - - ./gradlew -Pci --console=plain :app:testDebug \ No newline at end of file + - 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 + - android-sdk-linux/tools/bin/sdkmanager --update > update.log + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" + - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & + - ./android-wait-for-emulator + - adb shell input keyevent 82 + - ./gradlew connectedCheck \ No newline at end of file From 010da369558dc3b250546888d07742097b673a25 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 16:40:50 +0100 Subject: [PATCH 08/21] Update gitlab-ci config --- .gitlab-ci.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a7f927fc..d810f770 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,25 +24,25 @@ before_script: - set -o pipefail stages: - - build +# - build - test #lintDebug: - stage: build - script: - - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint +# stage: build +# script: +# - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint #assembleDebug: - stage: build - script: - - ./gradlew assembleDebug - artifacts: - paths: - - app/build/outputs/ +# stage: build +# script: +# - ./gradlew assembleDebug +# artifacts: +# paths: +# - app/build/outputs/ #unitTests: - stage: test - script: +# stage: test +# script: - ./gradlew -Pci --console=plain :app:testDebug instrumentedTests: From cf1791a4716d7322125f0fcceca2c683e34913fe Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 16:41:38 +0100 Subject: [PATCH 09/21] Update CI --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d810f770..54aadf00 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,8 +24,8 @@ before_script: - set -o pipefail stages: -# - build - test +# - build #lintDebug: # stage: build From 8f66da6e27938604405fbe076ad1a251bacbac33 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 16:42:27 +0100 Subject: [PATCH 10/21] Update CI --- .gitlab-ci.yml | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 54aadf00..cbd8b7df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,26 +24,13 @@ before_script: - set -o pipefail stages: + - build - test -# - build -#lintDebug: -# stage: build -# script: -# - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint - -#assembleDebug: -# stage: build -# script: -# - ./gradlew assembleDebug -# artifacts: -# paths: -# - app/build/outputs/ - -#unitTests: -# stage: test -# script: - - ./gradlew -Pci --console=plain :app:testDebug +lintDebug: + stage: build + script: + - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint instrumentedTests: stage: test From 04ef1135b58e69940ad2dbb4ecab3702aea15f64 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:06:36 +0100 Subject: [PATCH 11/21] Update ci config --- .gitlab-ci.yml | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbd8b7df..b97a3eb8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,35 +3,26 @@ image: openjdk:8-jdk variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" - ANDROID_SDK_TOOLS: "4333796" - EMULATOR_VERSION: "22" # Unable to install with newer emulator versions. Don`t know why. - + SDK_TOOLS: "4333796" # from https://developer.android.com/studio/#command-tools + EMULATOR_VERSION: "24" + before_script: - - apt-get --quiet update --yes - - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 - - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip - - unzip -d android-sdk-linux android-sdk.zip + - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS}.zip + - unzip -q android-sdk.zip -d android-sdk-linux + + - mkdir android-sdk-linux/licenses + - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license + - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license + - android-sdk-linux/tools/bin/sdkmanager --update > update.log + - android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log - - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null - - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null - - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null - export ANDROID_HOME=$PWD/android-sdk-linux - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ - chmod +x ./gradlew - # temporarily disable checking for EPIPE error and use yes to accept all licenses - - set +o pipefail - - yes | android-sdk-linux/tools/bin/sdkmanager --licenses - - set -o pipefail stages: - - build - test -lintDebug: - stage: build - script: - - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint - instrumentedTests: stage: test script: @@ -43,4 +34,4 @@ instrumentedTests: - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 - - ./gradlew connectedCheck \ No newline at end of file + - ./gradlew connectedCheck From 0191bcf9274195cefc6783d4b154bd989599ab84 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:15:36 +0100 Subject: [PATCH 12/21] Update CI config --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b97a3eb8..f1318fdc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" SDK_TOOLS: "4333796" # from https://developer.android.com/studio/#command-tools - EMULATOR_VERSION: "24" + EMULATOR_VERSION: "23" before_script: - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS}.zip @@ -35,3 +35,4 @@ instrumentedTests: - ./android-wait-for-emulator - adb shell input keyevent 82 - ./gradlew connectedCheck + From 8f68e659b43e04ace9849f66aa40d8050a7c2239 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:25:09 +0100 Subject: [PATCH 13/21] Update ci --- .gitlab-ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f1318fdc..a3c14f72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" SDK_TOOLS: "4333796" # from https://developer.android.com/studio/#command-tools - EMULATOR_VERSION: "23" + EMULATOR_VERSION: "22" before_script: - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS}.zip @@ -14,6 +14,7 @@ before_script: - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license - android-sdk-linux/tools/bin/sdkmanager --update > update.log + - android-sdk-linux/tools/bin/sdkmanager "system-images;android-25;google_apis;x86" - android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log - export ANDROID_HOME=$PWD/android-sdk-linux @@ -29,8 +30,8 @@ instrumentedTests: - 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 - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-24;default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a" - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 From 9736879c78253d79f95acf76875764ebf924e494 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:26:59 +0100 Subject: [PATCH 14/21] Update ci --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a3c14f72..b7f8be5a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,8 +30,8 @@ instrumentedTests: - 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 - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-24;default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a" + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-25;default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-25;default;armeabi-v7a" - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 From 5b1598bbaafb1a63be7a0eae4326b052e34127ab Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:28:46 +0100 Subject: [PATCH 15/21] Update ci config --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b7f8be5a..8d894ed3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,7 +14,7 @@ before_script: - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "system-images;android-25;google_apis;x86" + - android-sdk-linux/tools/bin/sdkmanager "system-images;android-24;default;armeabi-v7a" - android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log - export ANDROID_HOME=$PWD/android-sdk-linux @@ -30,8 +30,8 @@ instrumentedTests: - 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 - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-25;default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-25;default;armeabi-v7a" + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-24;default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a" - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 From eb970912f1901c9a42c74c4adeb84f53983fc802 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:41:25 +0100 Subject: [PATCH 16/21] Update ci --- .gitlab-ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d894ed3..19617246 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" SDK_TOOLS: "4333796" # from https://developer.android.com/studio/#command-tools - EMULATOR_VERSION: "22" + EMULATOR_VERSION: "24" before_script: - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS}.zip @@ -14,7 +14,6 @@ before_script: - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "system-images;android-24;default;armeabi-v7a" - android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log - export ANDROID_HOME=$PWD/android-sdk-linux @@ -30,8 +29,8 @@ instrumentedTests: - 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 - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-24;default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a" + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 From a6e248ce1dfb778197ce8fd0df322a028d11b66b Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:43:29 +0100 Subject: [PATCH 17/21] Update ci --- .gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 19617246..0059be81 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,10 +29,9 @@ instrumentedTests: - 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 - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-24;default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a" - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 - ./gradlew connectedCheck - From 6191214f34d942e0ccd6160b9471e026ef279522 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:45:28 +0100 Subject: [PATCH 18/21] Update ci --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0059be81..936ad47f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" SDK_TOOLS: "4333796" # from https://developer.android.com/studio/#command-tools - EMULATOR_VERSION: "24" + EMULATOR_VERSION: "22" before_script: - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS}.zip @@ -29,8 +29,8 @@ instrumentedTests: - 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 - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-24;default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a" + - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" > installEmulator.log + - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - ./android-wait-for-emulator - adb shell input keyevent 82 From d070921bf4857e6726c429206b567e5b38ef460c Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:48:22 +0100 Subject: [PATCH 19/21] Update ci config --- .gitlab-ci.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 936ad47f..a52104e2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,26 +3,29 @@ image: openjdk:8-jdk variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" - SDK_TOOLS: "4333796" # from https://developer.android.com/studio/#command-tools - EMULATOR_VERSION: "22" - -before_script: - - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS}.zip - - unzip -q android-sdk.zip -d android-sdk-linux + ANDROID_SDK_TOOLS: "4333796" + EMULATOR_VERSION: "22" # Unable to install with newer emulator versions. Don`t know why. - - mkdir android-sdk-linux/licenses - - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license - - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license - - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log +before_script: + - apt-get --quiet update --yes + - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 + - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip + - unzip -d android-sdk-linux android-sdk.zip + - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null + - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null + - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null - export ANDROID_HOME=$PWD/android-sdk-linux - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ - chmod +x ./gradlew + # temporarily disable checking for EPIPE error and use yes to accept all licenses + - set +o pipefail + - yes | android-sdk-linux/tools/bin/sdkmanager --licenses + - set -o pipefail stages: - test - + instrumentedTests: stage: test script: From 2aece6f6b1335e1640d7b5433e30e08c4cc37a7d Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 17:50:44 +0100 Subject: [PATCH 20/21] Test emulator 24 --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a52104e2..9256564b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ variables: ANDROID_COMPILE_SDK: "28" ANDROID_BUILD_TOOLS: "28.0.3" ANDROID_SDK_TOOLS: "4333796" - EMULATOR_VERSION: "22" # Unable to install with newer emulator versions. Don`t know why. + EMULATOR_VERSION: "24" # Unable to install with newer emulator versions. Don`t know why. before_script: - apt-get --quiet update --yes @@ -25,7 +25,7 @@ before_script: stages: - test - + instrumentedTests: stage: test script: From 96077d413de6d7c0c0195c24987b9e7ae1f0787c Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 20 Mar 2019 19:21:01 +0100 Subject: [PATCH 21/21] Test new config --- .gitlab-ci.yml | 49 +++++++++++++++---------------------------------- 1 file changed, 15 insertions(+), 34 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9256564b..ee929b68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,40 +1,21 @@ -image: openjdk:8-jdk +image: jangrewe/gitlab-ci-android -variables: - ANDROID_COMPILE_SDK: "28" - ANDROID_BUILD_TOOLS: "28.0.3" - ANDROID_SDK_TOOLS: "4333796" - EMULATOR_VERSION: "24" # Unable to install with newer emulator versions. Don`t know why. +stages: +- build before_script: - - apt-get --quiet update --yes - - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 - - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip - - unzip -d android-sdk-linux android-sdk.zip - - - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null - - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null - - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null - - export ANDROID_HOME=$PWD/android-sdk-linux - - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ - - chmod +x ./gradlew - # temporarily disable checking for EPIPE error and use yes to accept all licenses - - set +o pipefail - - yes | android-sdk-linux/tools/bin/sdkmanager --licenses - - set -o pipefail +- export GRADLE_USER_HOME=$(pwd)/.gradle +- chmod +x ./gradlew -stages: - - test +cache: + key: ${CI_PROJECT_ID} + paths: + - .gradle/ -instrumentedTests: - stage: test +build: + stage: build 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 - - android-sdk-linux/tools/bin/sdkmanager --update > update.log - - android-sdk-linux/tools/bin/sdkmanager "platform-tools" "emulator" "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" > installEmulator.log - - echo no | android-sdk-linux/tools/bin/avdmanager create avd -n test -k "system-images;android-${EMULATOR_VERSION};default;armeabi-v7a" - - android-sdk-linux/emulator/emulator -avd test -no-window -no-audio & - - ./android-wait-for-emulator - - adb shell input keyevent 82 - - ./gradlew connectedCheck + - ./gradlew assembleDebug + artifacts: + paths: + - app/build/outputs/apk/app-debug.apk \ No newline at end of file