Skip to content
Snippets Groups Projects
Unverified Commit 46ce7ab9 authored by Oliver Zimmerman's avatar Oliver Zimmerman Committed by GitHub
Browse files

Remove blanket internet connection status (EXPOSUREAPP-1572) (#1096)


* Removed blanked internet connection UI state. New Dev base for pipeline issues

Removed the blanket internet connection status:

Removed the connection state from TracingStatusHelper
Adjusted formatters which use the adjusted TracingStatusHelper
Removed connection logic from various fragments (SettingsTracingFragment, etc.)
Adjusted XML views (Settings Fragment: no connection card, etc.)
Adjusted automated tests that previously included the connection state.
Closes JIRA task EXPOSUREAPP-1572

* Update FormatterSettingsHelperTest.kt

* Update fragment_main.xml

deviceForTesters was still using connection state.

* Update Project.xml

* Update FormatterSettingsHelperTest.kt

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent e7c5908b
No related branches found
No related tags found
No related merge requests found
Showing
with 104 additions and 346 deletions
<component name="ProjectCodeStyleConfiguration"> <component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173"> <code_scheme name="Project" version="173">
<JetCodeStyleSettings> <JetCodeStyleSettings>
<option name="PACKAGES_TO_USE_STAR_IMPORTS"> <option name="PACKAGES_TO_USE_STAR_IMPORTS">
<value> <value>
<package name="kotlinx.android.synthetic" withSubpackages="true" static="false" /> <package name="kotlinx.android.synthetic" withSubpackages="true" static="false" />
...@@ -127,4 +127,4 @@ ...@@ -127,4 +127,4 @@
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="1" /> <option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="1" />
</codeStyleSettings> </codeStyleSettings>
</code_scheme> </code_scheme>
</component> </component>
\ No newline at end of file
...@@ -98,8 +98,8 @@ ...@@ -98,8 +98,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:focusable="false" android:focusable="false"
android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/main_tracing_icon" app:layout_constraintEnd_toStartOf="@id/main_tracing_icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -110,8 +110,8 @@ ...@@ -110,8 +110,8 @@
android:layout_width="@dimen/icon_size_main_card" android:layout_width="@dimen/icon_size_main_card"
android:layout_height="@dimen/icon_size_main_card" android:layout_height="@dimen/icon_size_main_card"
android:importantForAccessibility="no" android:importantForAccessibility="no"
app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
......
...@@ -99,7 +99,6 @@ class SettingsTracingFragment : Fragment(), ...@@ -99,7 +99,6 @@ class SettingsTracingFragment : Fragment(),
val switch = binding.settingsTracingSwitchRow.settingsSwitchRowSwitch val switch = binding.settingsTracingSwitchRow.settingsSwitchRowSwitch
val back = binding.settingsTracingHeader.headerButtonBack.buttonIcon val back = binding.settingsTracingHeader.headerButtonBack.buttonIcon
val bluetooth = binding.settingsTracingStatusBluetooth.tracingStatusCardButton val bluetooth = binding.settingsTracingStatusBluetooth.tracingStatusCardButton
val connection = binding.settingsTracingStatusConnection.tracingStatusCardButton
val location = binding.settingsTracingStatusLocation.tracingStatusCardButton val location = binding.settingsTracingStatusLocation.tracingStatusCardButton
internalExposureNotificationPermissionHelper = internalExposureNotificationPermissionHelper =
InternalExposureNotificationPermissionHelper(this, this) InternalExposureNotificationPermissionHelper(this, this)
...@@ -117,15 +116,12 @@ class SettingsTracingFragment : Fragment(), ...@@ -117,15 +116,12 @@ class SettingsTracingFragment : Fragment(),
tracingViewModel.isTracingEnabled.value ?: throw IllegalArgumentException() tracingViewModel.isTracingEnabled.value ?: throw IllegalArgumentException()
val isBluetoothEnabled = val isBluetoothEnabled =
settingsViewModel.isBluetoothEnabled.value ?: throw IllegalArgumentException() settingsViewModel.isBluetoothEnabled.value ?: throw IllegalArgumentException()
val isConnectionEnabled =
settingsViewModel.isConnectionEnabled.value ?: throw IllegalArgumentException()
val isLocationEnabled = val isLocationEnabled =
settingsViewModel.isLocationEnabled.value ?: throw IllegalArgumentException() settingsViewModel.isLocationEnabled.value ?: throw IllegalArgumentException()
// check if the row is clickable, this adds the switch behaviour // check if the row is clickable, this adds the switch behaviour
val isEnabled = formatTracingSwitchEnabled( val isEnabled = formatTracingSwitchEnabled(
isTracingEnabled, isTracingEnabled,
isBluetoothEnabled, isBluetoothEnabled,
isConnectionEnabled,
isLocationEnabled isLocationEnabled
) )
if (isEnabled) startStopTracing() if (isEnabled) startStopTracing()
...@@ -139,9 +135,6 @@ class SettingsTracingFragment : Fragment(), ...@@ -139,9 +135,6 @@ class SettingsTracingFragment : Fragment(),
location.setOnClickListener { location.setOnClickListener {
ExternalActionHelper.toMainSettings(requireContext()) ExternalActionHelper.toMainSettings(requireContext())
} }
connection.setOnClickListener {
ExternalActionHelper.toConnections(requireContext())
}
} }
private fun startStopTracing() { private fun startStopTracing() {
......
...@@ -71,14 +71,13 @@ fun formatNotificationIllustrationText(notifications: Boolean): String = ...@@ -71,14 +71,13 @@ fun formatNotificationIllustrationText(notifications: Boolean): String =
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return String * @return String
*/ */
fun formatTracingStatusText(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): String { fun formatTracingStatusText(tracing: Boolean, bluetooth: Boolean, location: Boolean): String {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH -> TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_status_restricted) appContext.getString(R.string.settings_tracing_status_restricted)
TracingStatusHelper.TRACING_ACTIVE -> TracingStatusHelper.TRACING_ACTIVE ->
appContext.getString(R.string.settings_tracing_status_active) appContext.getString(R.string.settings_tracing_status_active)
...@@ -102,15 +101,12 @@ fun formatSwitchContentDescription(subtitle: String, status: String): String = " ...@@ -102,15 +101,12 @@ fun formatSwitchContentDescription(subtitle: String, status: String): String = "
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return String * @return String
*/ */
fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): String { fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, location: Boolean): String {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.CONNECTION ->
appContext.getString(R.string.settings_tracing_body_connection_inactive)
TracingStatusHelper.BLUETOOTH -> TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_body_bluetooth_inactive) appContext.getString(R.string.settings_tracing_body_bluetooth_inactive)
TracingStatusHelper.LOCATION -> TracingStatusHelper.LOCATION ->
...@@ -129,21 +125,16 @@ fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: B ...@@ -129,21 +125,16 @@ fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: B
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return String * @return String
*/ */
fun formatTracingContentDescription( fun formatTracingContentDescription(
tracing: Boolean, tracing: Boolean,
bluetooth: Boolean, bluetooth: Boolean,
connection: Boolean,
location: Boolean location: Boolean
): String { ): String {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.CONNECTION ->
appContext.getString(R.string.settings_tracing_body_connection_inactive) +
" " + appContext.getString(R.string.accessibility_button)
TracingStatusHelper.BLUETOOTH -> TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_body_bluetooth_inactive) + appContext.getString(R.string.settings_tracing_body_bluetooth_inactive) +
" " + appContext.getString(R.string.accessibility_button) " " + appContext.getString(R.string.accessibility_button)
...@@ -179,20 +170,16 @@ fun formatTracingStatusBody(activeTracingDaysInRetentionPeriod: Long): String { ...@@ -179,20 +170,16 @@ fun formatTracingStatusBody(activeTracingDaysInRetentionPeriod: Long): String {
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return String * @return String
*/ */
fun formatTracingIllustrationText( fun formatTracingIllustrationText(
tracing: Boolean, tracing: Boolean,
bluetooth: Boolean, bluetooth: Boolean,
connection: Boolean,
location: Boolean location: Boolean
): String { ): String {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.CONNECTION ->
appContext.getString(R.string.settings_tracing_connection_illustration_description_inactive)
TracingStatusHelper.BLUETOOTH -> TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_bluetooth_illustration_description_inactive) appContext.getString(R.string.settings_tracing_bluetooth_illustration_description_inactive)
TracingStatusHelper.LOCATION -> TracingStatusHelper.LOCATION ->
...@@ -271,14 +258,13 @@ fun formatNotificationImage(notifications: Boolean): Drawable? = ...@@ -271,14 +258,13 @@ fun formatNotificationImage(notifications: Boolean): Drawable? =
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return * @return
*/ */
fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int { fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, location: Boolean): Int {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH -> TracingStatusHelper.BLUETOOTH ->
appContext.getColor(R.color.colorTextPrimary3) appContext.getColor(R.color.colorTextPrimary3)
TracingStatusHelper.TRACING_ACTIVE -> TracingStatusHelper.TRACING_ACTIVE ->
appContext.getColor(R.color.colorAccentTintIcon) appContext.getColor(R.color.colorAccentTintIcon)
...@@ -293,19 +279,16 @@ fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connect ...@@ -293,19 +279,16 @@ fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connect
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return * @return
*/ */
fun formatSettingsTracingIcon( fun formatSettingsTracingIcon(
tracing: Boolean, tracing: Boolean,
bluetooth: Boolean, bluetooth: Boolean,
connection: Boolean,
location: Boolean location: Boolean
): Drawable? { ): Drawable? {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.CONNECTION,
TracingStatusHelper.BLUETOOTH, TracingStatusHelper.BLUETOOTH,
TracingStatusHelper.TRACING_ACTIVE -> TracingStatusHelper.TRACING_ACTIVE ->
appContext.getDrawable(R.drawable.ic_settings_tracing_active_small) appContext.getDrawable(R.drawable.ic_settings_tracing_active_small)
...@@ -345,12 +328,11 @@ fun formatSettingsBackgroundPriorityIconColor( ...@@ -345,12 +328,11 @@ fun formatSettingsBackgroundPriorityIconColor(
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Boolean * @return Boolean
*/ */
fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Boolean { fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, location: Boolean): Boolean {
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.TRACING_ACTIVE -> true TracingStatusHelper.TRACING_ACTIVE -> true
else -> false else -> false
} }
...@@ -361,12 +343,11 @@ fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolea ...@@ -361,12 +343,11 @@ fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolea
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Boolean * @return Boolean
*/ */
fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Boolean { fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, location: Boolean): Boolean {
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.TRACING_ACTIVE, TracingStatusHelper.TRACING_INACTIVE -> true TracingStatusHelper.TRACING_ACTIVE, TracingStatusHelper.TRACING_INACTIVE -> true
else -> false else -> false
} }
...@@ -377,14 +358,12 @@ fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection: ...@@ -377,14 +358,12 @@ fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection:
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Drawable * @return Drawable
*/ */
fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int? { fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, location: Boolean): Int? {
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH -> R.drawable.ic_settings_tracing_bluetooth_inactive TracingStatusHelper.BLUETOOTH -> R.drawable.ic_settings_tracing_bluetooth_inactive
TracingStatusHelper.CONNECTION -> R.drawable.ic_settings_tracing_connection_inactive
TracingStatusHelper.LOCATION -> R.drawable.ic_settings_location_inactive_small TracingStatusHelper.LOCATION -> R.drawable.ic_settings_location_inactive_small
TracingStatusHelper.TRACING_ACTIVE -> R.raw.ic_settings_tracing_animated TracingStatusHelper.TRACING_ACTIVE -> R.raw.ic_settings_tracing_animated
else -> R.drawable.ic_settings_tracing_inactive else -> R.drawable.ic_settings_tracing_inactive
...@@ -396,13 +375,12 @@ fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean, ...@@ -396,13 +375,12 @@ fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean,
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Int * @return Int
*/ */
fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int { fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, location: Boolean): Int {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.TRACING_ACTIVE -> TracingStatusHelper.TRACING_ACTIVE ->
appContext.getColor(R.color.colorAccentTintIcon) appContext.getColor(R.color.colorAccentTintIcon)
else -> else ->
...@@ -415,17 +393,14 @@ fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boo ...@@ -415,17 +393,14 @@ fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boo
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Drawable * @return Drawable
*/ */
fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Drawable? { fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, location: Boolean): Drawable? {
val appContext = CoronaWarnApplication.getAppContext() val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) { return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH -> TracingStatusHelper.BLUETOOTH ->
appContext.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off) appContext.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off)
TracingStatusHelper.CONNECTION ->
appContext.getDrawable(R.drawable.ic_settings_illustration_connection_off)
TracingStatusHelper.LOCATION -> TracingStatusHelper.LOCATION ->
appContext.getDrawable(R.drawable.ic_settings_illustration_location_off) appContext.getDrawable(R.drawable.ic_settings_illustration_location_off)
TracingStatusHelper.TRACING_ACTIVE -> TracingStatusHelper.TRACING_ACTIVE ->
...@@ -435,45 +410,23 @@ fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, connection: B ...@@ -435,45 +410,23 @@ fun formatTracingStatusImage(tracing: Boolean, bluetooth: Boolean, connection: B
} }
} }
/**
* Change the visibility of the connection card based on the tracing status.
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Int
*/
fun formatTracingStatusConnection(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int =
formatVisibility(
tracingStatusHelper(
tracing,
bluetooth,
connection,
location
) == TracingStatusHelper.CONNECTION
)
/** /**
* Change the visibility of the bluetooth card based on the tracing status. * Change the visibility of the bluetooth card based on the tracing status.
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Int * @return Int
*/ */
fun formatTracingStatusVisibilityBluetooth( fun formatTracingStatusVisibilityBluetooth(
tracing: Boolean, tracing: Boolean,
bluetooth: Boolean, bluetooth: Boolean,
connection: Boolean,
location: Boolean location: Boolean
): Int = ): Int =
formatVisibility( formatVisibility(
tracingStatusHelper( tracingStatusHelper(
tracing, tracing,
bluetooth, bluetooth,
connection,
location location
) == TracingStatusHelper.BLUETOOTH ) == TracingStatusHelper.BLUETOOTH
) )
...@@ -483,21 +436,18 @@ fun formatTracingStatusVisibilityBluetooth( ...@@ -483,21 +436,18 @@ fun formatTracingStatusVisibilityBluetooth(
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Int * @return Int
*/ */
fun formatTracingStatusVisibilityLocation( fun formatTracingStatusVisibilityLocation(
tracing: Boolean, tracing: Boolean,
bluetooth: Boolean, bluetooth: Boolean,
connection: Boolean,
location: Boolean location: Boolean
): Int = ): Int =
formatVisibility( formatVisibility(
tracingStatusHelper( tracingStatusHelper(
tracing, tracing,
bluetooth, bluetooth,
connection,
location location
) == TracingStatusHelper.LOCATION ) == TracingStatusHelper.LOCATION
) )
...@@ -507,17 +457,15 @@ fun formatTracingStatusVisibilityLocation( ...@@ -507,17 +457,15 @@ fun formatTracingStatusVisibilityLocation(
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Int * @return Int
*/ */
fun formatTracingStatusVisibilityTracing( fun formatTracingStatusVisibilityTracing(
tracing: Boolean, tracing: Boolean,
bluetooth: Boolean, bluetooth: Boolean,
connection: Boolean,
location: Boolean location: Boolean
): Int { ): Int {
val tracingStatus = tracingStatusHelper(tracing, bluetooth, connection, location) val tracingStatus = tracingStatusHelper(tracing, bluetooth, location)
return formatVisibility( return formatVisibility(
tracingStatus == TracingStatusHelper.TRACING_ACTIVE || tracingStatus == TracingStatusHelper.TRACING_ACTIVE ||
tracingStatus == TracingStatusHelper.TRACING_INACTIVE tracingStatus == TracingStatusHelper.TRACING_INACTIVE
......
...@@ -8,8 +8,7 @@ object TracingStatusHelper { ...@@ -8,8 +8,7 @@ object TracingStatusHelper {
const val TRACING_ACTIVE = 0 const val TRACING_ACTIVE = 0
const val TRACING_INACTIVE = 1 const val TRACING_INACTIVE = 1
const val BLUETOOTH = 2 const val BLUETOOTH = 2
const val CONNECTION = 3 const val LOCATION = 3
const val LOCATION = 4
} }
/** /**
...@@ -18,19 +17,16 @@ object TracingStatusHelper { ...@@ -18,19 +17,16 @@ object TracingStatusHelper {
* *
* @param tracing * @param tracing
* @param bluetooth * @param bluetooth
* @param connection
* @param location * @param location
* @return Int * @return Int
*/ */
fun tracingStatusHelper(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int { fun tracingStatusHelper(tracing: Boolean, bluetooth: Boolean, location: Boolean): Int {
return if (!tracing) { return if (!tracing) {
TracingStatusHelper.TRACING_INACTIVE TracingStatusHelper.TRACING_INACTIVE
} else if (!location) { } else if (!location) {
TracingStatusHelper.LOCATION TracingStatusHelper.LOCATION
} else if (!bluetooth) { } else if (!bluetooth) {
TracingStatusHelper.BLUETOOTH TracingStatusHelper.BLUETOOTH
} else if (!connection) {
TracingStatusHelper.CONNECTION
} else { } else {
TracingStatusHelper.TRACING_ACTIVE TracingStatusHelper.TRACING_ACTIVE
} }
......
...@@ -103,8 +103,8 @@ ...@@ -103,8 +103,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:focusable="false" android:focusable="false"
android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:text="@{FormatterSettingsHelper.formatTracingDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/main_tracing_icon" app:layout_constraintEnd_toStartOf="@id/main_tracing_icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -115,8 +115,8 @@ ...@@ -115,8 +115,8 @@
android:layout_width="@dimen/icon_size_main_card" android:layout_width="@dimen/icon_size_main_card"
android:layout_height="@dimen/icon_size_main_card" android:layout_height="@dimen/icon_size_main_card"
android:importantForAccessibility="no" android:importantForAccessibility="no"
app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
......
...@@ -54,13 +54,13 @@ ...@@ -54,13 +54,13 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal" android:layout_marginTop="@dimen/spacing_normal"
app:body="@{@string/settings_tracing_body_description}" app:body="@{@string/settings_tracing_body_description}"
app:color="@{FormatterSettingsHelper.formatSettingsTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:color="@{FormatterSettingsHelper.formatSettingsTracingIconColor(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(),settingsViewModel.isLocationEnabled())}"
app:icon="@{FormatterSettingsHelper.formatSettingsTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:icon="@{FormatterSettingsHelper.formatSettingsTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:showDivider="@{true}" app:showDivider="@{true}"
app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:subtitle="@{@string/settings_tracing_title}" app:subtitle="@{@string/settings_tracing_title}"
app:tracingViewModel="@{tracingViewModel}" /> app:tracingViewModel="@{tracingViewModel}" />
......
...@@ -55,8 +55,8 @@ ...@@ -55,8 +55,8 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:headline="@{@string/settings_tracing_headline}" app:headline="@{@string/settings_tracing_headline}"
app:illustration="@{FormatterSettingsHelper.formatTracingStatusImage(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:illustration="@{FormatterSettingsHelper.formatTracingStatusImage(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:illustrationDescription="@{FormatterSettingsHelper.formatTracingIllustrationText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:illustrationDescription="@{FormatterSettingsHelper.formatTracingIllustrationText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -67,13 +67,13 @@ ...@@ -67,13 +67,13 @@
android:layout_width="@dimen/match_constraint" android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal" android:layout_marginTop="@dimen/spacing_normal"
app:enabled="@{FormatterSettingsHelper.formatTracingSwitchEnabled(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:enabled="@{FormatterSettingsHelper.formatTracingSwitchEnabled(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/settings_tracing_header_details" app:layout_constraintTop_toBottomOf="@+id/settings_tracing_header_details"
app:showDivider="@{true}" app:showDivider="@{true}"
app:status="@{FormatterSettingsHelper.formatTracingSwitch(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:status="@{FormatterSettingsHelper.formatTracingSwitch(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" app:statusText="@{FormatterSettingsHelper.formatTracingStatusText(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:subtitle="@{@string/settings_tracing_title}" /> app:subtitle="@{@string/settings_tracing_title}" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
layout="@layout/include_tracing_status_card" layout="@layout/include_tracing_status_card"
android:layout_width="@dimen/match_constraint" android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityLocation(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityLocation(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:body="@{@string/settings_tracing_status_location_body}" app:body="@{@string/settings_tracing_status_location_body}"
app:buttonText="@{@string/settings_tracing_status_location_button}" app:buttonText="@{@string/settings_tracing_status_location_button}"
app:headline="@{@string/settings_tracing_status_location_headline}" app:headline="@{@string/settings_tracing_status_location_headline}"
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
layout="@layout/include_tracing_status_card" layout="@layout/include_tracing_status_card"
android:layout_width="@dimen/match_constraint" android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityBluetooth(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityBluetooth(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:body="@{@string/settings_tracing_status_bluetooth_body}" app:body="@{@string/settings_tracing_status_bluetooth_body}"
app:buttonText="@{@string/settings_tracing_status_bluetooth_button}" app:buttonText="@{@string/settings_tracing_status_bluetooth_button}"
app:headline="@{@string/settings_tracing_status_bluetooth_headline}" app:headline="@{@string/settings_tracing_status_bluetooth_headline}"
...@@ -113,27 +113,13 @@ ...@@ -113,27 +113,13 @@
app:layout_constraintStart_toStartOf="@+id/guideline_card_start" app:layout_constraintStart_toStartOf="@+id/guideline_card_start"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<include
android:id="@+id/settings_tracing_status_connection"
layout="@layout/include_tracing_status_card"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:visibility="@{FormatterSettingsHelper.formatTracingStatusConnection(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}"
app:body="@{@string/settings_tracing_status_connection_body}"
app:buttonText="@{@string/settings_tracing_status_connection_button}"
app:headline="@{@string/settings_tracing_status_connection_headline}"
app:icon="@{@drawable/ic_settings_tracing_connection}"
app:layout_constraintEnd_toStartOf="@+id/guideline_card_end"
app:layout_constraintStart_toStartOf="@+id/guideline_card_start"
app:layout_constraintTop_toTopOf="parent" />
<include <include
android:id="@+id/settings_tracing_status_tracing" android:id="@+id/settings_tracing_status_tracing"
layout="@layout/include_setting_tracing_period_logged" layout="@layout/include_setting_tracing_period_logged"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:focusable="true" android:focusable="true"
android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityTracing(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}" android:visibility="@{FormatterSettingsHelper.formatTracingStatusVisibilityTracing(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isLocationEnabled())}"
app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintEnd_toStartOf="@+id/guideline_end"
app:layout_constraintStart_toEndOf="@+id/guideline_start" app:layout_constraintStart_toEndOf="@+id/guideline_start"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
......
...@@ -8,55 +8,43 @@ class TracingStatusHelperTest { ...@@ -8,55 +8,43 @@ class TracingStatusHelperTest {
@Test @Test
fun testTracingActiveAllOn() { fun testTracingActiveAllOn() {
val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = true, location = true) val result = tracingStatusHelper(tracing = true, bluetooth = true, location = true)
assertThat(result, `is`((TracingStatusHelper.TRACING_ACTIVE))) assertThat(result, `is`((TracingStatusHelper.TRACING_ACTIVE)))
} }
@Test @Test
fun testTracingInactiveWhenAllOff() { fun testTracingInactiveWhenAllOff() {
val result = tracingStatusHelper(tracing = false, bluetooth = false, connection = false, location = true) val result = tracingStatusHelper(tracing = false, bluetooth = false, location = true)
assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE)))
} }
@Test @Test
fun testTracingInactiveWhenTracingOffBluetoothOffConnectionOn() { fun testTracingInactiveWhenTracingOffBluetoothOff() {
val result = tracingStatusHelper(tracing = false, bluetooth = false, connection = true, location = true) val result = tracingStatusHelper(tracing = false, bluetooth = false, location = true)
assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE)))
} }
@Test @Test
fun testTracingInactiveWhenTracingOffBluetoothOnConnectionOff() { fun testTracingInactiveWhenTracingOffBluetoothOn() {
val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = false, location = true) val result = tracingStatusHelper(tracing = false, bluetooth = true, location = true)
assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE)))
} }
@Test @Test
fun testTracingInactiveWhenTracingOffBluetoothOnConnectionOn() { fun testBluetoothInactiveWhenTracingOnBluetoothOff() {
val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = true, location = true) val result = tracingStatusHelper(tracing = true, bluetooth = false, location = true)
assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE)))
}
@Test
fun testBluetoothInactiveWhenTracingOnBluetoothOffConnectionOn() {
val result = tracingStatusHelper(tracing = true, bluetooth = false, connection = true, location = true)
assertThat(result, `is`((TracingStatusHelper.BLUETOOTH))) assertThat(result, `is`((TracingStatusHelper.BLUETOOTH)))
} }
@Test @Test
fun testConnectionInactiveWhenTracingOnBluetoothOffConnectionOff() { fun testConnectionInactiveWhenTracingOffBluetoothOnLocationOff() {
val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = false, location = true) val result = tracingStatusHelper(tracing = false, bluetooth = true, location = false)
assertThat(result, `is`((TracingStatusHelper.CONNECTION)))
}
@Test
fun testConnectionInactiveWhenTracingOffBluetoothOnConnectionOnLocationOff() {
val result = tracingStatusHelper(tracing = false, bluetooth = true, connection = true, location = false)
assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE))) assertThat(result, `is`((TracingStatusHelper.TRACING_INACTIVE)))
} }
@Test @Test
fun testConnectionInactiveWhenTracingOnBluetoothOnConnectionOnLocationOff() { fun testConnectionInactiveWhenTracingOnBluetoothOnLocationOff() {
val result = tracingStatusHelper(tracing = true, bluetooth = true, connection = true, location = false) val result = tracingStatusHelper(tracing = true, bluetooth = true, location = false)
assertThat(result, `is`((TracingStatusHelper.LOCATION))) assertThat(result, `is`((TracingStatusHelper.LOCATION)))
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment