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

# 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 6c40825aa4
  1. 52
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/CustomFieldFilterInstrumentedUnitTest.kt
  2. 10
      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. 20
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt
  6. 5
      app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt
  7. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/NewDataMenuActivity.kt
  8. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt
  9. 34
      app/src/main/res/menu/navigation_home.xml

@ -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)
cfe1.numericValue = 30.0
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)
cfe2.numericValue = 100.0
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()
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)
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
@ -154,10 +154,10 @@
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="net.pokeranalytics.android.ui.activity.TableReportActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="net.pokeranalytics.android.ui.activity.TableReportActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<meta-data
android:name="preloaded_fonts"

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

@ -47,16 +47,16 @@ open class Filter : RealmObject(), RowRepresentable, Editable, Deletable, Counta
return realm.where<Filter>().equalTo("id", filterId).findFirst()
}
inline fun <reified T : Filterable> queryOn(realm: Realm, query: Query, sortField: String? = null): RealmResults<T> {
val rootQuery = realm.where<T>()
var realmQuery = query.queryWith(rootQuery)
sortField?.let {
realmQuery = realmQuery.sort(it)
}
val desc = realmQuery.description
return realmQuery.findAll()
}
}
inline fun <reified T : Filterable> queryOn(realm: Realm, query: Query, sortField: String? = null): RealmResults<T> {
val rootQuery = realm.where<T>()
var realmQuery = query.queryWith(rootQuery)
sortField?.let {
realmQuery = realmQuery.sort(it)
}
val desc = realmQuery.description
return realmQuery.findAll()
}
}
override val viewType: Int
get() = RowViewType.TITLE_VALUE_ACTION.ordinal

@ -48,12 +48,9 @@ class HomeActivity : PokerAnalyticsActivity() {
R.id.navigation_reports -> {
displayFragment(3)
}
R.id.navigation_settings -> {
R.id.navigation_more -> {
displayFragment(4)
}
// R.id.navigation_more -> {
// displayFragment(4)
// }
}
return@OnNavigationItemSelectedListener true
}

@ -40,7 +40,7 @@ class NewDataMenuActivity : PokerAnalyticsActivity() {
super.onCreate(savedInstanceState)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { // used to fix Oreo crash
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}
setContentView(R.layout.activity_new_data)

@ -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() {

@ -1,24 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- //CLEAN
<item
android:id="@+id/navigation_history"
android:icon="@drawable/ic_outline_history"
android:titleResId="@string/feed" />
<item
android:id="@+id/navigation_stats"
android:icon="@drawable/ic_outline_chart"
android:titleResId="@string/statIds" />
<item
android:id="@+id/navigation_settings"
android:icon="@drawable/ic_outline_settings"
android:titleResId="@string/services" />
-->
<item
android:id="@+id/navigation_history"
android:icon="@drawable/ic_outline_history"
@ -39,14 +21,14 @@
android:icon="@drawable/ic_outline_chart_bar"
android:title="@string/reports" />
<item
android:id="@+id/navigation_settings"
android:icon="@drawable/ic_outline_settings"
android:title="@string/services" />
<!--<item-->
<!--android:id="@+id/navigation_more"-->
<!--android:icon="@drawable/ic_outline_more"-->
<!--android:title="@string/more" />-->
<!--android:id="@+id/navigation_settings"-->
<!--android:icon="@drawable/ic_outline_settings"-->
<!--android:title="@string/services" />-->
<item
android:id="@+id/navigation_more"
android:icon="@drawable/ic_outline_more"
android:title="@string/more" />
</menu>

Loading…
Cancel
Save