mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
refactor(ui): compose resources, domain layer (#4628)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
96adc70401
commit
2676a51647
322 changed files with 3031 additions and 2790 deletions
|
|
@ -29,13 +29,13 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.analytics_notice
|
||||
import org.meshtastic.core.strings.analytics_platforms
|
||||
import org.meshtastic.core.strings.datadog_link
|
||||
import org.meshtastic.core.strings.firebase_link
|
||||
import org.meshtastic.core.strings.for_more_information_see_our_privacy_policy
|
||||
import org.meshtastic.core.strings.privacy_url
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.analytics_notice
|
||||
import org.meshtastic.core.resources.analytics_platforms
|
||||
import org.meshtastic.core.resources.datadog_link
|
||||
import org.meshtastic.core.resources.firebase_link
|
||||
import org.meshtastic.core.resources.for_more_information_see_our_privacy_policy
|
||||
import org.meshtastic.core.resources.privacy_url
|
||||
import org.meshtastic.core.ui.component.AutoLinkText
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -33,9 +33,9 @@ import kotlinx.serialization.Serializable
|
|||
import no.nordicsemi.android.common.permissions.ble.RequireBluetooth
|
||||
import no.nordicsemi.android.common.permissions.ble.RequireLocation
|
||||
import no.nordicsemi.android.common.permissions.notification.RequestNotificationPermission
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.permission_denied
|
||||
import org.meshtastic.core.strings.permission_granted
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.permission_denied
|
||||
import org.meshtastic.core.resources.permission_granted
|
||||
import org.meshtastic.core.ui.util.showToast
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -25,16 +25,16 @@ import androidx.compose.material.icons.outlined.SettingsInputAntenna
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.bluetooth_feature_config
|
||||
import org.meshtastic.core.strings.bluetooth_feature_config_description
|
||||
import org.meshtastic.core.strings.bluetooth_feature_discovery
|
||||
import org.meshtastic.core.strings.bluetooth_feature_discovery_description
|
||||
import org.meshtastic.core.strings.bluetooth_permission
|
||||
import org.meshtastic.core.strings.configure_bluetooth_permissions
|
||||
import org.meshtastic.core.strings.next
|
||||
import org.meshtastic.core.strings.permission_missing_31
|
||||
import org.meshtastic.core.strings.settings
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.bluetooth_feature_config
|
||||
import org.meshtastic.core.resources.bluetooth_feature_config_description
|
||||
import org.meshtastic.core.resources.bluetooth_feature_discovery
|
||||
import org.meshtastic.core.resources.bluetooth_feature_discovery_description
|
||||
import org.meshtastic.core.resources.bluetooth_permission
|
||||
import org.meshtastic.core.resources.configure_bluetooth_permissions
|
||||
import org.meshtastic.core.resources.next
|
||||
import org.meshtastic.core.resources.permission_missing_31
|
||||
import org.meshtastic.core.resources.settings
|
||||
|
||||
/**
|
||||
* Screen for configuring Bluetooth permissions during the app introduction. It explains why Bluetooth permissions are
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.feature.intro
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
|
@ -34,11 +33,11 @@ import androidx.compose.ui.text.font.FontWeight
|
|||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.configure_critical_alerts
|
||||
import org.meshtastic.core.strings.critical_alerts
|
||||
import org.meshtastic.core.strings.critical_alerts_dnd_request_text
|
||||
import org.meshtastic.core.strings.skip
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.configure_critical_alerts
|
||||
import org.meshtastic.core.resources.critical_alerts
|
||||
import org.meshtastic.core.resources.critical_alerts_dnd_request_text
|
||||
import org.meshtastic.core.resources.skip
|
||||
|
||||
/**
|
||||
* Screen for explaining and guiding the user to configure critical alert settings. This screen is part of the app
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.feature.intro
|
||||
|
||||
import android.content.Intent
|
||||
|
|
@ -26,20 +25,20 @@ import androidx.compose.material.icons.outlined.Router
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.configure_location_permissions
|
||||
import org.meshtastic.core.strings.distance_filters
|
||||
import org.meshtastic.core.strings.distance_filters_description
|
||||
import org.meshtastic.core.strings.distance_measurements
|
||||
import org.meshtastic.core.strings.distance_measurements_description
|
||||
import org.meshtastic.core.strings.mesh_map_location
|
||||
import org.meshtastic.core.strings.mesh_map_location_description
|
||||
import org.meshtastic.core.strings.next
|
||||
import org.meshtastic.core.strings.phone_location
|
||||
import org.meshtastic.core.strings.phone_location_description
|
||||
import org.meshtastic.core.strings.settings
|
||||
import org.meshtastic.core.strings.share_location
|
||||
import org.meshtastic.core.strings.share_location_description
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.configure_location_permissions
|
||||
import org.meshtastic.core.resources.distance_filters
|
||||
import org.meshtastic.core.resources.distance_filters_description
|
||||
import org.meshtastic.core.resources.distance_measurements
|
||||
import org.meshtastic.core.resources.distance_measurements_description
|
||||
import org.meshtastic.core.resources.mesh_map_location
|
||||
import org.meshtastic.core.resources.mesh_map_location_description
|
||||
import org.meshtastic.core.resources.next
|
||||
import org.meshtastic.core.resources.phone_location
|
||||
import org.meshtastic.core.resources.phone_location_description
|
||||
import org.meshtastic.core.resources.settings
|
||||
import org.meshtastic.core.resources.share_location
|
||||
import org.meshtastic.core.resources.share_location_description
|
||||
|
||||
/**
|
||||
* Screen for configuring location permissions during the app introduction. It explains why location permissions are
|
||||
|
|
|
|||
|
|
@ -26,18 +26,18 @@ import androidx.compose.material.icons.outlined.SpeakerPhone
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.app_notifications
|
||||
import org.meshtastic.core.strings.configure_notification_permissions
|
||||
import org.meshtastic.core.strings.incoming_messages
|
||||
import org.meshtastic.core.strings.low_battery
|
||||
import org.meshtastic.core.strings.new_nodes
|
||||
import org.meshtastic.core.strings.next
|
||||
import org.meshtastic.core.strings.notification_permissions_description
|
||||
import org.meshtastic.core.strings.notifications_for_channel_and_direct_messages
|
||||
import org.meshtastic.core.strings.notifications_for_low_battery_alerts
|
||||
import org.meshtastic.core.strings.notifications_for_newly_discovered_nodes
|
||||
import org.meshtastic.core.strings.settings
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.app_notifications
|
||||
import org.meshtastic.core.resources.configure_notification_permissions
|
||||
import org.meshtastic.core.resources.incoming_messages
|
||||
import org.meshtastic.core.resources.low_battery
|
||||
import org.meshtastic.core.resources.new_nodes
|
||||
import org.meshtastic.core.resources.next
|
||||
import org.meshtastic.core.resources.notification_permissions_description
|
||||
import org.meshtastic.core.resources.notifications_for_channel_and_direct_messages
|
||||
import org.meshtastic.core.resources.notifications_for_low_battery_alerts
|
||||
import org.meshtastic.core.resources.notifications_for_newly_discovered_nodes
|
||||
import org.meshtastic.core.resources.settings
|
||||
|
||||
/**
|
||||
* Screen for configuring notification permissions during the app introduction. It explains why notification permissions
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.feature.intro
|
||||
|
||||
import androidx.compose.foundation.gestures.detectTapGestures
|
||||
|
|
@ -43,8 +42,8 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.skip
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.skip
|
||||
|
||||
/**
|
||||
* A generic layout for screens within the app introduction flow. It typically presents a headline, a descriptive text
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.feature.intro
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
|
@ -40,16 +39,16 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.communicate_off_the_grid
|
||||
import org.meshtastic.core.strings.create_your_own_networks
|
||||
import org.meshtastic.core.strings.easily_set_up_private_mesh_networks
|
||||
import org.meshtastic.core.strings.get_started
|
||||
import org.meshtastic.core.strings.intro_welcome
|
||||
import org.meshtastic.core.strings.meshtastic
|
||||
import org.meshtastic.core.strings.share_your_location_in_real_time
|
||||
import org.meshtastic.core.strings.stay_connected_anywhere
|
||||
import org.meshtastic.core.strings.track_and_share_locations
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.communicate_off_the_grid
|
||||
import org.meshtastic.core.resources.create_your_own_networks
|
||||
import org.meshtastic.core.resources.easily_set_up_private_mesh_networks
|
||||
import org.meshtastic.core.resources.get_started
|
||||
import org.meshtastic.core.resources.intro_welcome
|
||||
import org.meshtastic.core.resources.meshtastic
|
||||
import org.meshtastic.core.resources.share_your_location_in_real_time
|
||||
import org.meshtastic.core.resources.stay_connected_anywhere
|
||||
import org.meshtastic.core.resources.track_and_share_locations
|
||||
|
||||
/**
|
||||
* The initial welcome screen for the app introduction flow. It displays a brief overview of the app's key features.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue