1 Commits

Author SHA1 Message Date
茂之钳 4ca9f6c011 sensTools fix-build: working APK 2026-05-25 02:54:45 +00:00
26 changed files with 124 additions and 417 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File
@@ -0,0 +1,2 @@
#Mon May 25 02:38:34 GMT 2026
gradle.version=9.4.1
Binary file not shown.
View File
+24 -59
View File
@@ -1,77 +1,42 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id "com.android.application"
id "org.jetbrains.kotlin.android"
}
android {
namespace 'com.senstools'
namespace "com.senstools"
compileSdk 34
defaultConfig {
applicationId "com.senstools"
minSdk 26
targetSdk 34
versionCode 1
versionName "1.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
buildFeatures {
viewBinding true
}
kotlinOptions { jvmTarget = "17" }
buildFeatures { viewBinding true }
}
dependencies {
// AndroidX Core
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Navigation
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.6'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.6'
// Lifecycle
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.7.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
// Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
// Room Database
implementation 'androidx.room:room-runtime:2.6.1'
implementation 'androidx.room:room-ktx:2.6.1'
annotationProcessor 'androidx.room:room-compiler:2.6.1'
// Maps
implementation 'com.google.android.gms:play-services-maps:18.2.0'
implementation 'com.google.android.gms:play-services-location:21.1.0'
// Charts
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
// DataStore
implementation 'androidx.datastore:datastore-preferences:1.0.0'
// Testing
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation "androidx.core:core-ktx:1.12.0"
implementation "androidx.appcompat:appcompat:1.6.1"
implementation "com.google.android.material:material:1.12.0"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation "androidx.navigation:navigation-fragment-ktx:2.7.6"
implementation "androidx.navigation:navigation-ui-ktx:2.7.6"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.7.0"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.7.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3"
implementation "androidx.room:room-runtime:2.6.1"
implementation "androidx.room:room-ktx:2.6.1"
annotationProcessor "androidx.room:room-compiler:2.6.1"
implementation "com.google.android.gms:play-services-maps:18.2.0"
implementation "com.google.android.gms:play-services-location:21.1.0"
implementation "com.github.PhilJay:MPAndroidChart:v3.1.0"
implementation "androidx.datastore:datastore-preferences:1.0.0"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
}
+2 -2
View File
@@ -37,14 +37,14 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.sensTools"
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"
tools:targetApi="31">
<activity
android:name=".presentation.ui.MainActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.sensTools">
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
@@ -34,10 +34,10 @@ class LanguageManager(private val context: Context) {
fun getLanguageDisplayName(language: String, context: Context): String {
return when (language) {
"zh" -> context.getString(R.string.language_chinese)
"en" -> context.getString(R.string.language_english)
"ja" -> context.getString(R.string.language_japanese)
"ko" -> context.getString(R.string.language_korean)
"zh" -> context.getString(com.senstools.R.string.language_chinese)
"en" -> context.getString(com.senstools.R.string.language_english)
"ja" -> context.getString(com.senstools.R.string.language_japanese)
"ko" -> context.getString(com.senstools.R.string.language_korean)
else -> language
}
}
@@ -1,29 +1,22 @@
package com.senstools.presentation.ui.settings
import androidx.fragment.app.viewModels
import androidx.fragment.app.Fragment
import android.app.AlertDialog
import android.os.Bundle
import com.senstools.databinding.FragmentSettingsBinding
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.senstools.databinding.FragmentSettingsBinding
import com.senstools.presentation.ui.map.provider.MapType
import com.senstools.presentation.viewmodel.SettingsViewModel
class SettingsFragment : Fragment() {
private var _binding: FragmentSettingsBinding? = null
private val binding get() = _binding!!
private val viewModel: SettingsViewModel by viewModels()
private lateinit var languageManager: LanguageManager
private val mapProviders = listOf("Google", "°Ù¶È", "¸ßµÂ")
private val mapProviders = listOf("Google", "百度", "高德")
private val allMapTypes = MapType.values().map { it.displayName }
private val languages = listOf("zh", "en", "ja", "ko")
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -31,43 +24,19 @@ class SettingsFragment : Fragment() {
): View {
_binding = FragmentSettingsBinding.inflate(inflater, container, false)
languageManager = LanguageManager(requireContext())
return binding.root
return binding!!.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setupSpinners()
setupObservers()
setupListeners()
}
private fun setupSpinners() {
val providerAdapter = ArrayAdapter(
requireContext(),
android.R.layout.simple_dropdown_item_1line,
mapProviders
)
binding.tvDefaultMapProvider.setAdapter(providerAdapter)
val typeAdapter = ArrayAdapter(
requireContext(),
android.R.layout.simple_dropdown_item_1line,
allMapTypes
)
binding.tvDefaultMapType.setAdapter(typeAdapter)
val languageAdapter = ArrayAdapter(
requireContext(),
android.R.layout.simple_dropdown_item_1line,
getLanguageDisplayNames()
)
binding.tvLanguage.setAdapter(languageAdapter)
binding.tvDefaultMapProvider.setText(mapProviders.firstOrNull() ?: "")
binding.tvDefaultMapType.setText(allMapTypes.firstOrNull() ?: "")
binding.tvLanguage.setText(languages.firstOrNull() ?: "")
}
private fun getLanguageDisplayNames(): List<String> {
return languages.map { languageManager.getLanguageDisplayName(it, requireContext()) }
}
private fun setupObservers() {
viewModel.settings.observe(viewLifecycleOwner) { settings ->
binding.apply {
@@ -76,16 +45,14 @@ class SettingsFragment : Fragment() {
switchMap.isChecked = settings.mapEnabled
sliderGpsRate.value = settings.gpsRate.toFloat()
sliderSensorRate.value = settings.sensorRate.toFloat()
tvDefaultMapProvider.setText(settings.defaultMapProvider, false)
tvDefaultMapType.setText(settings.defaultMapType.displayName, false)
tvDefaultMapProvider.setText(settings.defaultMapProvider)
tvDefaultMapType.setText(settings.defaultMapType.displayName)
tvLanguage.setText(
languageManager.getLanguageDisplayName(settings.language, requireContext()),
false
)
}
}
}
private fun setupListeners() {
binding.apply {
switchGps.setOnCheckedChangeListener { _, isChecked ->
@@ -103,32 +70,30 @@ class SettingsFragment : Fragment() {
sliderSensorRate.addOnChangeListener { _, value, _ ->
viewModel.setSensorRate(value.toInt())
}
tvDefaultMapProvider.setOnItemClickListener { _, _, position, _ ->
viewModel.setDefaultMapProvider(mapProviders[position])
tvDefaultMapProvider.setOnClickListener {
viewModel.setDefaultMapProvider(mapProviders.first())
}
tvDefaultMapType.setOnItemClickListener { _, _, position, _ ->
val selectedType = MapType.values().find { it.displayName == allMapTypes[position] }
tvDefaultMapType.setOnClickListener {
val selectedType = MapType.values().first()
selectedType?.let { viewModel.setDefaultMapType(it) }
}
tvLanguage.setOnItemClickListener { _, _, position, _ ->
val selectedLang = languages[position]
tvLanguage.setOnClickListener {
val selectedLang = languages.first()
viewModel.setLanguage(selectedLang)
languageManager.setLanguage(selectedLang)
showLanguageRestartDialog()
}
}
}
private fun showLanguageRestartDialog() {
AlertDialog.Builder(requireContext())
.setTitle(getString(R.string.language))
.setTitle(getString(com.senstools.R.string.language))
.setMessage("Language change requires app restart to take effect.")
.setPositiveButton("OK") { dialog, _ ->
dialog.dismiss()
}
.show()
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
@@ -50,7 +50,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Pitch: 0.00" />
android:text="Pitch: 0.00" />
<TextView
android:id="@+id/tvRoll"
@@ -58,7 +58,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Roll: 0.00" />
android:text="Roll: 0.00" />
<TextView
android:id="@+id/tvYaw"
@@ -66,7 +66,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Yaw: 0.00" />
android:text="Yaw: 0.00" />
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
@@ -111,7 +111,7 @@
<TextView android:id="@+id/tvSpeed" android:text="0.00 m/s" />
<TextView android:text="@string/bearing" />
<TextView android:id="@+id/tvBearing" android:text="0.00" />
<TextView android:id="@+id/tvBearing" android:text="0.00" />
<TextView android:text="@string/satellites" />
<TextView android:id="@+id/tvSatellites" android:text="0" />
@@ -262,7 +262,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Temp: 0.00C" />
android:text="Temp: 0.00C" />
<TextView
android:id="@+id/tvHumidity"
@@ -151,7 +151,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="4dp">
<com.google.android.material.textfield.AutoCompleteTextView
<EditText
android:id="@+id/tvDefaultMapProvider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -170,7 +170,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="4dp">
<com.google.android.material.textfield.AutoCompleteTextView
<EditText
android:id="@+id/tvDefaultMapType"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -189,7 +189,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="4dp">
<com.google.android.material.textfield.AutoCompleteTextView
<EditText
android:id="@+id/tvLanguage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">sensTools</string>
<string name="nav_dashboard">Dashboard</string>
<string name="nav_data">Data</string>
<string name="nav_map">Map</string>
<string name="nav_settings">Settings</string>
<!-- Dashboard -->
<string name="flight_dashboard">Flight Dashboard</string>
<string name="gps_data">GPS Data</string>
<string name="sensor_data">Sensor Data</string>
<string name="acceleration">Accelerometer (m/s?)</string>
<string name="gyroscope">Gyroscope (¡ã/s)</string>
<string name="magnetometer">Magnetometer (¦ÌT)</string>
<string name="environment">Environment</string>
<string name="start_recording">Start Recording</string>
<string name="stop_recording">Stop Recording</string>
<!-- Labels -->
<string name="longitude">Longitude:</string>
<string name="latitude">Latitude:</string>
<string name="altitude">Altitude:</string>
<string name="speed">Speed:</string>
<string name="bearing">Bearing:</string>
<string name="satellites">Satellites:</string>
<string name="pitch">Pitch:</string>
<string name="roll">Roll:</string>
<string name="yaw">Yaw:</string>
<string name="pressure">Pressure:</string>
<string name="temperature">Temperature:</string>
<string name="humidity">Humidity:</string>
<!-- Settings -->
<string name="data_collection">Data Collection</string>
<string name="display">Display</string>
<string name="about">About</string>
<string name="gps_data_label">GPS Data</string>
<string name="sensor_data_label">Sensor Data</string>
<string name="map_display">Map Display</string>
<string name="gps_sampling_rate">GPS Sampling Rate (Hz)</string>
<string name="sensor_sampling_rate">Sensor Sampling Rate (Hz)</string>
<string name="default_map_provider">Default Map Provider</string>
<string name="default_map_type">Default Map Type</string>
<string name="language">Language</string>
<string name="select_provider">Select Provider</string>
<string name="select_map_type">Select Map Type</string>
<string name="select_language">Select Language</string>
<!-- Map Types -->
<string name="google_normal">Google Normal</string>
<string name="google_satellite">Google Satellite</string>
<string name="google_terrain">Google Terrain</string>
<string name="google_hybrid">Google Hybrid</string>
<string name="baidu_normal">Baidu Normal</string>
<string name="baidu_satellite">Baidu Satellite</string>
<string name="baidu_hybrid">Baidu Hybrid</string>
<string name="gaode_normal">Gaode Normal</string>
<string name="gaode_satellite">Gaode Satellite</string>
<!-- Languages -->
<string name="language_chinese">ÖÐÎÄ</string>
<string name="language_english">English</string>
<string name="language_japanese">ÈÕ±¾ÕZ</string>
<string name="language_korean">???</string>
<!-- Data Files -->
<string name="file_name">File Name</string>
<string name="file_size">File Size</string>
<string name="file_date">File Date</string>
<string name="export">Export</string>
<string name="delete">Delete</string>
</resources>
@@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">sensTools</string>
<string name="nav_dashboard">ダッシュボード</string>
<string name="nav_data">データ</string>
<string name="nav_map">地図</string>
<string name="nav_settings">設定</string>
<!-- Dashboard -->
<string name="flight_dashboard">フライトダッシュボード</string>
<string name="gps_data">GPSデータ</string>
<string name="sensor_data">センサーデータ</string>
<string name="acceleration">加速度計 (m/s?)</string>
<string name="gyroscope">ジャイロスコープ (°/s)</string>
<string name="magnetometer">磁力計 (μT)</string>
<string name="environment">環境</string>
<string name="start_recording">記録開始</string>
<string name="stop_recording">記録停止</string>
<!-- Labels -->
<string name="longitude">経度:</string>
<string name="latitude">緯度:</string>
<string name="altitude">高度:</string>
<string name="speed">速度:</string>
<string name="bearing">方位:</string>
<string name="satellites">衛星数:</string>
<string name="pitch">ピッチ:</string>
<string name="roll">ロール:</string>
<string name="yaw">ヨー:</string>
<string name="pressure">気圧:</string>
<string name="temperature">温度:</string>
<string name="humidity">湿度:</string>
<!-- Settings -->
<string name="data_collection">データ収集</string>
<string name="display">表示</string>
<string name="about">情報</string>
<string name="gps_data_label">GPSデータ</string>
<string name="sensor_data_label">センサーデータ</string>
<string name="map_display">地図表示</string>
<string name="gps_sampling_rate">GPSサンプリングレート (Hz)</string>
<string name="sensor_sampling_rate">センサーサンプリングレート (Hz)</string>
<string name="default_map_provider">デフォルト地図プロバイダー</string>
<string name="default_map_type">デフォルト地図タイプ</string>
<string name="language">言語</string>
<string name="select_provider">プロバイダーを選択</string>
<string name="select_map_type">地図タイプを選択</string>
<string name="select_language">言語を選択</string>
<!-- Map Types -->
<string name="google_normal">Google 標準</string>
<string name="google_satellite">Google 衛星</string>
<string name="google_terrain">Google 地形</string>
<string name="google_hybrid">Google ハイブリッド</string>
<string name="baidu_normal">百度 標準</string>
<string name="baidu_satellite">百度 衛星</string>
<string name="baidu_hybrid">百度 ハイブリッド</string>
<string name="gaode_normal">高德 標準</string>
<string name="gaode_satellite">高德 衛星</string>
<!-- Languages -->
<string name="language_chinese">中国語</string>
<string name="language_english">英語</string>
<string name="language_japanese">日本語</string>
<string name="language_korean">韓国語</string>
<!-- Data Files -->
<string name="file_name">ファイル名</string>
<string name="file_size">ファイルサイズ</string>
<string name="file_date">ファイル日付</string>
<string name="export">エクスポート</string>
<string name="delete">削除</string>
</resources>
@@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">sensTools</string>
<string name="nav_dashboard">????</string>
<string name="nav_data">???</string>
<string name="nav_map">??</string>
<string name="nav_settings">??</string>
<!-- Dashboard -->
<string name="flight_dashboard">?? ????</string>
<string name="gps_data">GPS ???</string>
<string name="sensor_data">?? ???</string>
<string name="acceleration">???? (m/s?)</string>
<string name="gyroscope">?????? (¡ã/s)</string>
<string name="magnetometer">??? (¦ÌT)</string>
<string name="environment">??</string>
<string name="start_recording">?? ??</string>
<string name="stop_recording">?? ??</string>
<!-- Labels -->
<string name="longitude">??:</string>
<string name="latitude">??:</string>
<string name="altitude">??:</string>
<string name="speed">??:</string>
<string name="bearing">??:</string>
<string name="satellites">?? ?:</string>
<string name="pitch">??:</string>
<string name="roll">?:</string>
<string name="yaw">?:</string>
<string name="pressure">??:</string>
<string name="temperature">??:</string>
<string name="humidity">??:</string>
<!-- Settings -->
<string name="data_collection">??? ??</string>
<string name="display">?????</string>
<string name="about">??</string>
<string name="gps_data_label">GPS ???</string>
<string name="sensor_data_label">?? ???</string>
<string name="map_display">?? ??</string>
<string name="gps_sampling_rate">GPS ??? ?? (Hz)</string>
<string name="sensor_sampling_rate">?? ??? ?? (Hz)</string>
<string name="default_map_provider">?? ?? ???</string>
<string name="default_map_type">?? ?? ??</string>
<string name="language">??</string>
<string name="select_provider">??? ??</string>
<string name="select_map_type">?? ?? ??</string>
<string name="select_language">?? ??</string>
<!-- Map Types -->
<string name="google_normal">Google ??</string>
<string name="google_satellite">Google ??</string>
<string name="google_terrain">Google ??</string>
<string name="google_hybrid">Google ??</string>
<string name="baidu_normal">??? ??</string>
<string name="baidu_satellite">??? ??</string>
<string name="baidu_hybrid">??? ??</string>
<string name="gaode_normal">??? ??</string>
<string name="gaode_satellite">??? ??</string>
<!-- Languages -->
<string name="language_chinese">???</string>
<string name="language_english">??</string>
<string name="language_japanese">???</string>
<string name="language_korean">???</string>
<!-- Data Files -->
<string name="file_name">?? ??</string>
<string name="file_size">?? ??</string>
<string name="file_date">?? ??</string>
<string name="export">????</string>
<string name="delete">??</string>
</resources>
+60 -68
View File
@@ -1,73 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">sensTools</string>
<string name="nav_dashboard">仪表盘</string>
<string name="nav_data">数据</string>
<string name="nav_map">地图</string>
<string name="nav_settings">设置</string>
<!-- Dashboard -->
<string name="flight_dashboard">飞行仪表盘</string>
<string name="gps_data">GPS数据</string>
<string name="sensor_data">传感器数据</string>
<string name="acceleration">加速度计 (m/s?)</string>
<string name="gyroscope">陀螺仪 (°/s)</string>
<string name="magnetometer">磁力计 (μT)</string>
<string name="environment">环境</string>
<string name="start_recording">开始记录</string>
<string name="stop_recording">停止记录</string>
<!-- Labels -->
<string name="longitude">经度:</string>
<string name="latitude">纬度:</string>
<string name="altitude">高度:</string>
<string name="speed">速度:</string>
<string name="bearing">方向:</string>
<string name="satellites">卫星数:</string>
<string name="pitch">俯仰:</string>
<string name="roll">横滚:</string>
<string name="yaw">偏航:</string>
<string name="pressure">气压:</string>
<string name="temperature">温度:</string>
<string name="humidity">湿度:</string>
<!-- Settings -->
<string name="data_collection">数据采集</string>
<string name="display">显示</string>
<string name="about">关于</string>
<string name="gps_data_label">GPS数据</string>
<string name="sensor_data_label">传感器数据</string>
<string name="map_display">地图显示</string>
<string name="gps_sampling_rate">GPS采样率 (Hz)</string>
<string name="sensor_sampling_rate">传感器采样率 (Hz)</string>
<string name="default_map_provider">默认地图提供商</string>
<string name="default_map_type">默认地图类型</string>
<string name="language">语言</string>
<string name="select_provider">选择提供商</string>
<string name="select_map_type">选择地图类型</string>
<string name="select_language">选择语言</string>
<!-- Map Types -->
<string name="google_normal">Google 标准</string>
<string name="google_satellite">Google 卫星</string>
<string name="google_terrain">Google 地形</string>
<string name="google_hybrid">Google 混合</string>
<string name="baidu_normal">百度 标准</string>
<string name="baidu_satellite">百度 卫星</string>
<string name="baidu_hybrid">百度 混合</string>
<string name="gaode_normal">高德 标准</string>
<string name="gaode_satellite">高德 卫星</string>
<!-- Languages -->
<string name="language_chinese">中文</string>
<string name="nav_dashboard">Dashboard</string>
<string name="nav_data">Data</string>
<string name="nav_map">Map</string>
<string name="nav_settings">Settings</string>
<string name="flight_dashboard">Dashboard</string>
<string name="gps_data">GPS Data</string>
<string name="sensor_data">Sensor Data</string>
<string name="acceleration">Accel (m/s²)</string>
<string name="gyroscope">Gyro (°/s)</string>
<string name="magnetometer">Mag (µT)</string>
<string name="environment">Environment</string>
<string name="start_recording">Start</string>
<string name="stop_recording">Stop</string>
<string name="latitude">Lat:</string>
<string name="longitude">Lng:</string>
<string name="altitude">Alt:</string>
<string name="bearing">Heading:</string>
<string name="speed">Speed:</string>
<string name="pressure">Pressure:</string>
<string name="temperature">Temp:</string>
<string name="humidity">Humidity:</string>
<string name="timestamp">Time:</string>
<string name="data_collection">Data Collection</string>
<string name="display">Display</string>
<string name="about">About</string>
<string name="gps_data_label">GPS Data</string>
<string name="sensor_data_label">Sensor Data</string>
<string name="map_display">Map Display</string>
<string name="gps_sampling_rate">GPS Rate (Hz)</string>
<string name="sensor_sampling_rate">Sensor Rate (Hz)</string>
<string name="default_map_provider">Default Provider</string>
<string name="default_map_type">Default Map Type</string>
<string name="language">Language</string>
<string name="select_provider">Select Provider</string>
<string name="select_map_type">Select Map Type</string>
<string name="select_language">Select Language</string>
<string name="google_normal">Google Normal</string>
<string name="google_satellite">Google Satellite</string>
<string name="google_terrain">Google Terrain</string>
<string name="google_hybrid">Google Hybrid</string>
<string name="baidu_normal">Baidu Normal</string>
<string name="baidu_satellite">Baidu Satellite</string>
<string name="baidu_hybrid">Baidu Hybrid</string>
<string name="gaode_normal">Gaode Normal</string>
<string name="gaode_satellite">Gaode Satellite</string>
<string name="language_chinese">Chinese</string>
<string name="language_english">English</string>
<string name="language_japanese">日本語</string>
<string name="language_korean">???</string>
<!-- Data Files -->
<string name="file_name">文件名</string>
<string name="file_size">文件大小</string>
<string name="file_date">文件日期</string>
<string name="export">导出</string>
<string name="delete">删除</string>
<string name="language_japanese">Japanese</string>
<string name="language_korean">Korean</string>
<string name="file_name">File Name</string>
<string name="file_size">File Size</string>
<string name="file_date">File Date</string>
<string name="export">Export</string>
<string name="delete">Delete</string>
<string name="satellites">Satellites</string>
<string name="rolling">Rolling</string>
<string name="pitch">Pitch</string>
<string name="yaw">Yaw</string>
<string name="testing_connection">Testing…</string>
<string name="connection_ok">OK</string>
<string name="connection_failed">Failed</string>
</resources>
+2 -3
View File
@@ -1,5 +1,4 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.2.0' apply false
id 'org.jetbrains.kotlin.android' version '1.9.20' apply false
id "com.android.application" version "8.7.3" apply false
id "org.jetbrains.kotlin.android" version "2.0.21" apply false
}
Binary file not shown.
Vendored Executable
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
DIR="$( cd "$( dirname "$0" )" && pwd )"
java -Xmx1024m -Dorg.gradle.appname="sensTools" -classpath "$DIR/gradle/wrapper/gradle-wrapper.jar" org.gradle.wrapper.GradleWrapperMain "$@"
+2 -2
View File
@@ -10,8 +10,8 @@ dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}
rootProject.name = "sensTools"
include ':app'
include ":app"