From 0a117645dde791e0667047cd115a8795f059db75 Mon Sep 17 00:00:00 2001 From: Miranda Wilson Date: Mon, 15 Apr 2024 11:04:35 +0100 Subject: [PATCH] Make flag non-optional --- .../snowplowanalytics/core/tracker/Subject.kt | 25 ++++++------------- .../tracker/SubjectConfigurationInterface.kt | 2 +- .../core/tracker/SubjectControllerImpl.kt | 2 +- .../configuration/SubjectConfiguration.kt | 6 ++--- 4 files changed, 12 insertions(+), 23 deletions(-) diff --git a/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/Subject.kt b/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/Subject.kt index b2fc304c6..9c6025ffa 100755 --- a/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/Subject.kt +++ b/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/Subject.kt @@ -180,22 +180,12 @@ class Subject(context: Context, config: SubjectConfigurationInterface?) { standardPairs[Parameters.COLOR_DEPTH] = depth.toString() } - var useContextResourcesScreenResolution: Boolean? = false - /** - * Whether to get the size from the context resources or not. - * By default this is false, the size is obtained from WindowManager. - * - * @param useContextResourcesScreenResolution - */ - set(useContextResourcesScreenResolution) { - if (useContextResourcesScreenResolution == null) { - return - } - - field = useContextResourcesScreenResolution - } + /** + * Whether to get the size from the context resources or not. + * By default this is false, the size is obtained from WindowManager. + */ + var useContextResourcesScreenResolution: Boolean = false - init { setDefaultTimezone() setDefaultLanguage() @@ -212,7 +202,6 @@ class Subject(context: Context, config: SubjectConfigurationInterface?) { config.screenResolution?.let { screenResolution = it } config.screenViewPort?.let { screenViewPort = it } config.colorDepth?.let { colorDepth = it } - config.useContextResourcesScreenResolution?.let { useContextResourcesScreenResolution = it } } v(TAG, "Subject created successfully.") } @@ -240,8 +229,8 @@ class Subject(context: Context, config: SubjectConfigurationInterface?) { * @param context the Android context * @param useContextResourcesScreenResolution whether to get the size from the context resources or not */ - private fun setDefaultScreenResolution(context: Context, useContextResourcesScreenResolution: Boolean?) { - if (useContextResourcesScreenResolution == true) { + private fun setDefaultScreenResolution(context: Context, useContextResourcesScreenResolution: Boolean) { + if (useContextResourcesScreenResolution) { val width = context.resources.displayMetrics.widthPixels val height = context.resources.displayMetrics.heightPixels screenResolution = Size(width, height) diff --git a/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectConfigurationInterface.kt b/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectConfigurationInterface.kt index bb630cc81..d416d5c68 100644 --- a/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectConfigurationInterface.kt +++ b/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectConfigurationInterface.kt @@ -25,5 +25,5 @@ interface SubjectConfigurationInterface { var screenResolution: Size? var screenViewPort: Size? var colorDepth: Int? - var useContextResourcesScreenResolution: Boolean? + var useContextResourcesScreenResolution: Boolean } diff --git a/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectControllerImpl.kt b/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectControllerImpl.kt index 14f042012..bf77e9b46 100644 --- a/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectControllerImpl.kt +++ b/snowplow-tracker/src/main/java/com/snowplowanalytics/core/tracker/SubjectControllerImpl.kt @@ -92,7 +92,7 @@ class SubjectControllerImpl // Constructors subject.colorDepth = colorDepth } - override var useContextResourcesScreenResolution: Boolean? + override var useContextResourcesScreenResolution: Boolean get() = subject.useContextResourcesScreenResolution set(useContextResourcesScreenResolution) { dirtyConfig.useContextResourcesScreenResolution = useContextResourcesScreenResolution diff --git a/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/configuration/SubjectConfiguration.kt b/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/configuration/SubjectConfiguration.kt index 56568cd1d..cf1c66999 100644 --- a/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/configuration/SubjectConfiguration.kt +++ b/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/configuration/SubjectConfiguration.kt @@ -78,8 +78,8 @@ open class SubjectConfiguration() : Configuration, SubjectConfigurationInterface set(value) { _colorDepth = value } private var _useContextResourcesScreenResolution: Boolean? = null - override var useContextResourcesScreenResolution: Boolean? - get() = _useContextResourcesScreenResolution ?: sourceConfig?.useContextResourcesScreenResolution + override var useContextResourcesScreenResolution: Boolean + get() = _useContextResourcesScreenResolution ?: sourceConfig?.useContextResourcesScreenResolution ?: false set(value) { _useContextResourcesScreenResolution = value } // Builder methods @@ -179,7 +179,7 @@ open class SubjectConfiguration() : Configuration, SubjectConfigurationInterface * NB: the height value will be smaller using Resources as it doesn't include the menu bar. * Defaults to false. */ - fun useContextResourcesScreenResolution(useContextResourcesScreenResolution: Boolean?): SubjectConfiguration { + fun useContextResourcesScreenResolution(useContextResourcesScreenResolution: Boolean): SubjectConfiguration { this.useContextResourcesScreenResolution = useContextResourcesScreenResolution return this }