Merge branch 'master' of gitlab.com:stax-river/poker-analytics

# Conflicts:
#	app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt
#	app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt
feature/top10
Aurelien Hubert 7 years ago
commit e0f27a11c9
  1. 40
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/CustomFieldFilterInstrumentedUnitTest.kt
  2. 2
      app/src/main/AndroidManifest.xml
  3. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt
  4. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt
  5. 9
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt
  6. 7
      app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt
  7. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt

@ -22,12 +22,11 @@ class CustomFieldFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
val realm = this.mockRealm
realm.beginTransaction()
val cf1 = CustomField()
cf1.id = "1"
val cf1 = realm.createObject(CustomField::class.java, "1")
cf1.type = CustomField.Type.LIST.ordinal
val cfe1 = CustomFieldEntry()
val cfe2 = CustomFieldEntry()
val cfe1 = realm.createObject(CustomFieldEntry::class.java, "9")
val cfe2 = realm.createObject(CustomFieldEntry::class.java, "8")
cfe1.value = "super"
cfe2.value = "nul"
@ -51,35 +50,38 @@ class CustomFieldFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
@Test
fun testCustomFieldAmountFilter() {
val realm = this.mockRealm
realm.beginTransaction()
val cfId = "1234"
var s2Id = ""
val cf1 = CustomField()
cf1.id = "1234"
cf1.type = CustomField.Type.AMOUNT.ordinal
val realm = this.mockRealm
realm.executeTransaction {
val cf = realm.createObject(CustomField::class.java, cfId)
cf.type = CustomField.Type.AMOUNT.ordinal
val cfe1 = CustomFieldEntry()
cfe1.id = "999"
cf1.entries.add(cfe1)
val cfe1 = realm.createObject(CustomFieldEntry::class.java, "999")
cf.entries.add(cfe1)
cfe1.numericValue = 30.0
val cfe2 = CustomFieldEntry()
cfe2.id = "888"
cf1.entries.add(cfe2)
val cfe2 = realm.createObject(CustomFieldEntry::class.java, "888")
cf.entries.add(cfe2)
cfe2.numericValue = 100.0
val s1 = Session.testInstance(100.0, false, Date(), 1)
s1.customFieldEntries.add(cfe1)
val s2 = Session.testInstance(100.0, true, Date(), 1)
s2.customFieldEntries.add(cfe2)
realm.commitTransaction()
s2Id = s2.id
}
val sessions = Filter.queryOn<Session>(realm, Query(QueryCondition.CustomFieldNumberQuery(cf1.id, 100.0)))
val condition = QueryCondition.CustomFieldNumberQuery(cfId, 100.0)
val sessions = Filter.queryOn<Session>(realm, Query(condition))
Assert.assertEquals(1, sessions.size)
sessions[0]?.run {
Assert.assertEquals(s2.id, (this).id)
sessions.first()?.run {
Assert.assertEquals(s2Id, this.id)
}
}
}

@ -58,10 +58,10 @@
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing" />
<!-- No screenOrientation="portrait" to fix Oreo crash -->
<activity
android:name="net.pokeranalytics.android.ui.activity.NewDataMenuActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/PokerAnalyticsTheme.MenuDialog" />
<activity

@ -2,7 +2,6 @@ package net.pokeranalytics.android.model.filter
import android.content.Context
import io.realm.RealmQuery
import io.realm.kotlin.where
import net.pokeranalytics.android.R
import net.pokeranalytics.android.util.NULL_TEXT
@ -77,7 +76,7 @@ class Query {
}
}
//println("<<<<<< ${realmQuery}")
println("<<<<<< ${realmQuery.description}")
val queryLast = this.conditions.filter {
it is QueryCondition.Last
}.firstOrNull()

@ -645,7 +645,7 @@ sealed class QueryCondition : FilterElementRow {
constructor(customFieldEntry: CustomFieldEntry) : this() {
this.setObject(customFieldEntry)
this.customFieldId = customFieldEntry.customFields?.firstOrNull()?.id
this.customFieldId = customFieldEntry.customField?.id
?: throw PokerAnalyticsException.QueryValueMapUnexpectedValue
}
@ -668,6 +668,7 @@ sealed class QueryCondition : FilterElementRow {
realmQuery: RealmQuery<T>,
otherQueryCondition: QueryCondition? = null
): RealmQuery<T> {
val fieldName = FilterHelper.fieldNameForQueryType<T>(this::class.java)
if (BuildConfig.DEBUG) {
fieldName ?: throw PokerAnalyticsException.QueryValueMapUnknown

@ -48,12 +48,13 @@ open class Filter : RealmObject(), RowRepresentable, Editable, Deletable, Counta
}
inline fun <reified T : Filterable> queryOn(realm: Realm, query: Query, sortField: String? = null): RealmResults<T> {
val realmQuery = realm.where<T>()
val rootQuery = realm.where<T>()
var realmQuery = query.queryWith(rootQuery)
sortField?.let {
return query.queryWith(realmQuery).sort(it).findAll()
} ?: run {
return query.queryWith(realmQuery).findAll()
realmQuery = realmQuery.sort(it)
}
val desc = realmQuery.description
return realmQuery.findAll()
}
}

@ -4,6 +4,8 @@ import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.content.Context
import android.content.Intent
import android.content.pm.ActivityInfo
import android.os.Build
import android.os.Bundle
import android.view.View
import android.view.ViewAnimationUtils
@ -36,6 +38,11 @@ class NewDataMenuActivity : PokerAnalyticsActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { // used to fix Oreo crash
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
setContentView(R.layout.activity_new_data)
initUI()
}

@ -1,6 +1,7 @@
package net.pokeranalytics.android.ui.activity.components
import android.Manifest.permission.ACCESS_FINE_LOCATION
import android.content.pm.ActivityInfo
import android.content.pm.PackageManager
import android.os.Bundle
import android.os.PersistableBundle
@ -33,6 +34,7 @@ open class PokerAnalyticsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
super.onCreate(savedInstanceState, persistentState)
Crashlytics.log("$this.localClassName onCreate")
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT // fixes crash
}
override fun onResume() {

Loading…
Cancel
Save