Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

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

Merged
merged 6 commits into from
Sep 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_small"
android:focusable="false"
android:contentDescription="@{FormatterSettingsHelper.formatTracingContentDescription(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}"
android:text="@{FormatterSettingsHelper.formatTracingDescription(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.isLocationEnabled())}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/main_tracing_icon"
app:layout_constraintStart_toStartOf="parent"
Expand All @@ -110,8 +110,8 @@
android:layout_width="@dimen/icon_size_main_card"
android:layout_height="@dimen/icon_size_main_card"
android:importantForAccessibility="no"
app:animation="@{FormatterSettingsHelper.formatTracingIcon(tracingViewModel.isTracingEnabled(), settingsViewModel.isBluetoothEnabled(), settingsViewModel.isConnectionEnabled(), settingsViewModel.isLocationEnabled())}"
app:animation_tint="@{FormatterSettingsHelper.formatTracingIconColor(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.isLocationEnabled())}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ class SettingsTracingFragment : Fragment(),
val switch = binding.settingsTracingSwitchRow.settingsSwitchRowSwitch
val back = binding.settingsTracingHeader.headerButtonBack.buttonIcon
val bluetooth = binding.settingsTracingStatusBluetooth.tracingStatusCardButton
val connection = binding.settingsTracingStatusConnection.tracingStatusCardButton
val location = binding.settingsTracingStatusLocation.tracingStatusCardButton
internalExposureNotificationPermissionHelper =
InternalExposureNotificationPermissionHelper(this, this)
Expand All @@ -117,15 +116,12 @@ class SettingsTracingFragment : Fragment(),
tracingViewModel.isTracingEnabled.value ?: throw IllegalArgumentException()
val isBluetoothEnabled =
settingsViewModel.isBluetoothEnabled.value ?: throw IllegalArgumentException()
val isConnectionEnabled =
settingsViewModel.isConnectionEnabled.value ?: throw IllegalArgumentException()
val isLocationEnabled =
settingsViewModel.isLocationEnabled.value ?: throw IllegalArgumentException()
// check if the row is clickable, this adds the switch behaviour
val isEnabled = formatTracingSwitchEnabled(
isTracingEnabled,
isBluetoothEnabled,
isConnectionEnabled,
isLocationEnabled
)
if (isEnabled) startStopTracing()
Expand All @@ -139,9 +135,6 @@ class SettingsTracingFragment : Fragment(),
location.setOnClickListener {
ExternalActionHelper.toMainSettings(requireContext())
}
connection.setOnClickListener {
ExternalActionHelper.toConnections(requireContext())
}
}

private fun startStopTracing() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,13 @@ fun formatNotificationIllustrationText(notifications: Boolean): String =
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @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()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH ->
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_status_restricted)
TracingStatusHelper.TRACING_ACTIVE ->
appContext.getString(R.string.settings_tracing_status_active)
Expand All @@ -102,15 +101,12 @@ fun formatSwitchContentDescription(subtitle: String, status: String): String = "
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @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()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
TracingStatusHelper.CONNECTION ->
appContext.getString(R.string.settings_tracing_body_connection_inactive)
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_body_bluetooth_inactive)
TracingStatusHelper.LOCATION ->
Expand All @@ -129,21 +125,16 @@ fun formatTracingDescription(tracing: Boolean, bluetooth: Boolean, connection: B
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return String
*/
fun formatTracingContentDescription(
tracing: Boolean,
bluetooth: Boolean,
connection: Boolean,
location: Boolean
): String {
val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
TracingStatusHelper.CONNECTION ->
appContext.getString(R.string.settings_tracing_body_connection_inactive) +
" " + appContext.getString(R.string.accessibility_button)
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_body_bluetooth_inactive) +
" " + appContext.getString(R.string.accessibility_button)
Expand Down Expand Up @@ -179,20 +170,16 @@ fun formatTracingStatusBody(activeTracingDaysInRetentionPeriod: Long): String {
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return String
*/
fun formatTracingIllustrationText(
tracing: Boolean,
bluetooth: Boolean,
connection: Boolean,
location: Boolean
): String {
val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
TracingStatusHelper.CONNECTION ->
appContext.getString(R.string.settings_tracing_connection_illustration_description_inactive)
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH ->
appContext.getString(R.string.settings_tracing_bluetooth_illustration_description_inactive)
TracingStatusHelper.LOCATION ->
Expand Down Expand Up @@ -271,14 +258,13 @@ fun formatNotificationImage(notifications: Boolean): Drawable? =
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @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()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
TracingStatusHelper.CONNECTION, TracingStatusHelper.BLUETOOTH ->
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH ->
appContext.getColor(R.color.colorTextPrimary3)
TracingStatusHelper.TRACING_ACTIVE ->
appContext.getColor(R.color.colorAccentTintIcon)
Expand All @@ -293,19 +279,16 @@ fun formatSettingsTracingIconColor(tracing: Boolean, bluetooth: Boolean, connect
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return
*/
fun formatSettingsTracingIcon(
tracing: Boolean,
bluetooth: Boolean,
connection: Boolean,
location: Boolean
): Drawable? {
val appContext = CoronaWarnApplication.getAppContext()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
TracingStatusHelper.CONNECTION,
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH,
TracingStatusHelper.TRACING_ACTIVE ->
appContext.getDrawable(R.drawable.ic_settings_tracing_active_small)
Expand Down Expand Up @@ -345,12 +328,11 @@ fun formatSettingsBackgroundPriorityIconColor(
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Boolean
*/
fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Boolean {
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, location: Boolean): Boolean {
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.TRACING_ACTIVE -> true
else -> false
}
Expand All @@ -361,12 +343,11 @@ fun formatTracingSwitch(tracing: Boolean, bluetooth: Boolean, connection: Boolea
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Boolean
*/
fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Boolean {
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, location: Boolean): Boolean {
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.TRACING_ACTIVE, TracingStatusHelper.TRACING_INACTIVE -> true
else -> false
}
Expand All @@ -377,14 +358,12 @@ fun formatTracingSwitchEnabled(tracing: Boolean, bluetooth: Boolean, connection:
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Drawable
*/
fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean, location: Boolean): Int? {
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, location: Boolean): Int? {
return when (tracingStatusHelper(tracing, bluetooth, location)) {
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.TRACING_ACTIVE -> R.raw.ic_settings_tracing_animated
else -> R.drawable.ic_settings_tracing_inactive
Expand All @@ -396,13 +375,12 @@ fun formatTracingIcon(tracing: Boolean, bluetooth: Boolean, connection: Boolean,
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @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()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.TRACING_ACTIVE ->
appContext.getColor(R.color.colorAccentTintIcon)
else ->
Expand All @@ -415,17 +393,14 @@ fun formatTracingIconColor(tracing: Boolean, bluetooth: Boolean, connection: Boo
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @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()
return when (tracingStatusHelper(tracing, bluetooth, connection, location)) {
return when (tracingStatusHelper(tracing, bluetooth, location)) {
TracingStatusHelper.BLUETOOTH ->
appContext.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off)
TracingStatusHelper.CONNECTION ->
appContext.getDrawable(R.drawable.ic_settings_illustration_connection_off)
TracingStatusHelper.LOCATION ->
appContext.getDrawable(R.drawable.ic_settings_illustration_location_off)
TracingStatusHelper.TRACING_ACTIVE ->
Expand All @@ -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.
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Int
*/
fun formatTracingStatusVisibilityBluetooth(
tracing: Boolean,
bluetooth: Boolean,
connection: Boolean,
location: Boolean
): Int =
formatVisibility(
tracingStatusHelper(
tracing,
bluetooth,
connection,
location
) == TracingStatusHelper.BLUETOOTH
)
Expand All @@ -483,21 +436,18 @@ fun formatTracingStatusVisibilityBluetooth(
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Int
*/
fun formatTracingStatusVisibilityLocation(
tracing: Boolean,
bluetooth: Boolean,
connection: Boolean,
location: Boolean
): Int =
formatVisibility(
tracingStatusHelper(
tracing,
bluetooth,
connection,
location
) == TracingStatusHelper.LOCATION
)
Expand All @@ -507,17 +457,15 @@ fun formatTracingStatusVisibilityLocation(
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @return Int
*/
fun formatTracingStatusVisibilityTracing(
tracing: Boolean,
bluetooth: Boolean,
connection: Boolean,
location: Boolean
): Int {
val tracingStatus = tracingStatusHelper(tracing, bluetooth, connection, location)
val tracingStatus = tracingStatusHelper(tracing, bluetooth, location)
return formatVisibility(
tracingStatus == TracingStatusHelper.TRACING_ACTIVE ||
tracingStatus == TracingStatusHelper.TRACING_INACTIVE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ object TracingStatusHelper {
const val TRACING_ACTIVE = 0
const val TRACING_INACTIVE = 1
const val BLUETOOTH = 2
const val CONNECTION = 3
const val LOCATION = 4
const val LOCATION = 3
}

/**
Expand All @@ -18,19 +17,16 @@ object TracingStatusHelper {
*
* @param tracing
* @param bluetooth
* @param connection
* @param location
* @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) {
TracingStatusHelper.TRACING_INACTIVE
} else if (!location) {
TracingStatusHelper.LOCATION
} else if (!bluetooth) {
TracingStatusHelper.BLUETOOTH
} else if (!connection) {
TracingStatusHelper.CONNECTION
} else {
TracingStatusHelper.TRACING_ACTIVE
}
Expand Down
Loading