diff --git a/app/src/main/java/com/android/skip/ui/about/AboutActivity.kt b/app/src/main/java/com/android/skip/ui/about/AboutActivity.kt index 220890bc..9e7d5f61 100644 --- a/app/src/main/java/com/android/skip/ui/about/AboutActivity.kt +++ b/app/src/main/java/com/android/skip/ui/about/AboutActivity.kt @@ -17,6 +17,7 @@ import com.android.skip.R import com.android.skip.data.config.ConfigViewModel import com.android.skip.ui.about.config.ConfigVersionButton import com.android.skip.ui.components.FlatButton +import com.android.skip.ui.components.ResourceIcon import com.android.skip.ui.components.RowContent import com.android.skip.ui.components.ScaffoldPage import com.android.skip.ui.settings.theme.SwitchThemeViewModel @@ -53,7 +54,7 @@ class AboutActivity : AppCompatActivity() { ConfigVersionButton(configViewModel) }, { DropdownMenuItem( - leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) }, + leadingIcon = { ResourceIcon(iconResource = R.drawable.help) }, text = { Text(stringResource(id = R.string.about_function_intro)) }, onClick = { val intent = Intent(MyApp.context, WebViewActivity::class.java).apply { diff --git a/app/src/main/java/com/android/skip/ui/alive/AliveActivity.kt b/app/src/main/java/com/android/skip/ui/alive/AliveActivity.kt index 09b5ba2a..4aa17521 100644 --- a/app/src/main/java/com/android/skip/ui/alive/AliveActivity.kt +++ b/app/src/main/java/com/android/skip/ui/alive/AliveActivity.kt @@ -9,10 +9,7 @@ import android.provider.Settings import androidx.activity.compose.setContent import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource @@ -90,7 +87,7 @@ class AliveActivity : AppCompatActivity() { } }, { DropdownMenuItem( - leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) }, + leadingIcon = { ResourceIcon(iconResource = R.drawable.help) }, text = { Text(stringResource(id = R.string.alive_function_intro)) }, onClick = { val intent = Intent(MyApp.context, WebViewActivity::class.java).apply { diff --git a/app/src/main/java/com/android/skip/ui/inspect/InspectActivity.kt b/app/src/main/java/com/android/skip/ui/inspect/InspectActivity.kt index 08fc03d1..06fbd877 100644 --- a/app/src/main/java/com/android/skip/ui/inspect/InspectActivity.kt +++ b/app/src/main/java/com/android/skip/ui/inspect/InspectActivity.kt @@ -8,10 +8,7 @@ import androidx.activity.compose.setContent import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.ui.res.stringResource import androidx.core.app.NotificationManagerCompat @@ -20,6 +17,7 @@ import com.android.skip.MyApp import com.android.skip.R import com.android.skip.service.AccessibilityInspectViewModel import com.android.skip.service.InspectService +import com.android.skip.ui.components.ResourceIcon import com.android.skip.ui.components.ScaffoldPage import com.android.skip.ui.components.notification.NotificationDialog import com.android.skip.ui.components.notification.NotificationDialogViewModel @@ -61,7 +59,7 @@ class InspectActivity : AppCompatActivity() { } },{ DropdownMenuItem( - leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) }, + leadingIcon = { ResourceIcon(iconResource = R.drawable.help) }, text = { Text(stringResource(id = R.string.inspect_function_intro)) }, onClick = { val intent = Intent(MyApp.context, WebViewActivity::class.java).apply { diff --git a/app/src/main/java/com/android/skip/ui/settings/SettingsActivity.kt b/app/src/main/java/com/android/skip/ui/settings/SettingsActivity.kt index 7d86d2ad..b15cc6a2 100644 --- a/app/src/main/java/com/android/skip/ui/settings/SettingsActivity.kt +++ b/app/src/main/java/com/android/skip/ui/settings/SettingsActivity.kt @@ -7,10 +7,7 @@ import android.os.Bundle import androidx.activity.compose.setContent import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.ui.res.stringResource import androidx.core.app.NotificationManagerCompat @@ -21,6 +18,7 @@ import com.android.skip.MyApp import com.android.skip.R import com.android.skip.data.SyncWorker import com.android.skip.data.config.ConfigViewModel +import com.android.skip.ui.components.ResourceIcon import com.android.skip.ui.components.ScaffoldPage import com.android.skip.ui.components.notification.NotificationDialog import com.android.skip.ui.components.notification.NotificationDialogViewModel @@ -80,7 +78,7 @@ class SettingsActivity : AppCompatActivity() { } }, { DropdownMenuItem( - leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) }, + leadingIcon = { ResourceIcon(iconResource = R.drawable.help) }, text = { Text(stringResource(id = R.string.settings_function_intro)) }, onClick = { val intent = Intent(MyApp.context, WebViewActivity::class.java).apply { @@ -107,9 +105,7 @@ class SettingsActivity : AppCompatActivity() { } val periodicWorkRequest = - PeriodicWorkRequestBuilder(15, TimeUnit.MINUTES) - .setInitialDelay(5, TimeUnit.SECONDS) - .build() + PeriodicWorkRequestBuilder(12, TimeUnit.HOURS).build() val workManager = WorkManager.getInstance(this) autoUpdateViewModel.autoUpdate.observe(this) { diff --git a/app/src/main/java/com/android/skip/ui/settings/custom/CustomButton.kt b/app/src/main/java/com/android/skip/ui/settings/custom/CustomButton.kt index db0954a8..d9b59d24 100644 --- a/app/src/main/java/com/android/skip/ui/settings/custom/CustomButton.kt +++ b/app/src/main/java/com/android/skip/ui/settings/custom/CustomButton.kt @@ -88,7 +88,7 @@ fun CustomButton(configViewModel: ConfigViewModel, onClick: () -> Unit) { fontSize = 20.sp ) IconButton(onClick = onClick) { - ResourceIcon(iconResource = R.drawable.info) + ResourceIcon(iconResource = R.drawable.help) } } diff --git a/app/src/main/java/com/android/skip/ui/settings/recent/RecentButton.kt b/app/src/main/java/com/android/skip/ui/settings/recent/RecentButton.kt index b4eb81bb..5cc89e32 100644 --- a/app/src/main/java/com/android/skip/ui/settings/recent/RecentButton.kt +++ b/app/src/main/java/com/android/skip/ui/settings/recent/RecentButton.kt @@ -14,7 +14,7 @@ fun RecentButton(recentViewModel: RecentViewModel) { RowContent( title = R.string.settings_background_task, subTitle = R.string.settings_background_task_subtitle, - icon = { ResourceIcon(iconResource = R.drawable.info)}, + icon = { ResourceIcon(iconResource = R.drawable.hide_image)}, checked =excludeFromRecent.value, onCheckedChange = { recentViewModel.changeExcludeFromRecent(it) diff --git a/app/src/main/java/com/android/skip/ui/settings/recent/RecentViewModel.kt b/app/src/main/java/com/android/skip/ui/settings/recent/RecentViewModel.kt index d35e820b..689e24dc 100644 --- a/app/src/main/java/com/android/skip/ui/settings/recent/RecentViewModel.kt +++ b/app/src/main/java/com/android/skip/ui/settings/recent/RecentViewModel.kt @@ -3,10 +3,12 @@ package com.android.skip.ui.settings.recent import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.android.skip.R import com.android.skip.util.DataStoreUtils import com.blankj.utilcode.util.StringUtils.getString import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel @@ -21,5 +23,9 @@ class RecentViewModel @Inject constructor() : ViewModel() { fun changeExcludeFromRecent(excludeFromRecent: Boolean) { _excludeFromRecent.postValue(excludeFromRecent) + + viewModelScope.launch { + DataStoreUtils.putData(getString(R.string.store_exclude_from_recent), excludeFromRecent) + } } } \ No newline at end of file diff --git a/app/src/main/java/com/android/skip/ui/settings/strict/StrictButton.kt b/app/src/main/java/com/android/skip/ui/settings/strict/StrictButton.kt index c25ee4d9..2adf8169 100644 --- a/app/src/main/java/com/android/skip/ui/settings/strict/StrictButton.kt +++ b/app/src/main/java/com/android/skip/ui/settings/strict/StrictButton.kt @@ -24,7 +24,7 @@ fun StrictButton( RowContent( R.string.settings_strict, stringResource(id = strictText), - { ResourceIcon(iconResource = R.drawable.point_scan) }, + { ResourceIcon(iconResource = R.drawable.target) }, enable.value, { strictViewModel.changeEnable(it) }) diff --git a/app/src/main/java/com/android/skip/ui/settings/strict/StrictRepository.kt b/app/src/main/java/com/android/skip/ui/settings/strict/StrictRepository.kt index 4f1cd412..3424d4fa 100644 --- a/app/src/main/java/com/android/skip/ui/settings/strict/StrictRepository.kt +++ b/app/src/main/java/com/android/skip/ui/settings/strict/StrictRepository.kt @@ -18,6 +18,5 @@ class StrictRepository @Inject constructor() { fun changeEnable(enable: Boolean) { _enable.postValue(enable) - DataStoreUtils.putSyncData(getString(R.string.store_strict_mode), enable) } } \ No newline at end of file diff --git a/app/src/main/java/com/android/skip/ui/settings/strict/StrictViewModel.kt b/app/src/main/java/com/android/skip/ui/settings/strict/StrictViewModel.kt index 5a468066..f3655d00 100644 --- a/app/src/main/java/com/android/skip/ui/settings/strict/StrictViewModel.kt +++ b/app/src/main/java/com/android/skip/ui/settings/strict/StrictViewModel.kt @@ -1,7 +1,12 @@ package com.android.skip.ui.settings.strict import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.android.skip.R +import com.android.skip.util.DataStoreUtils +import com.blankj.utilcode.util.StringUtils.getString import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel @@ -10,5 +15,11 @@ class StrictViewModel @Inject constructor( ): ViewModel(){ val enable = strictRepository.enable - fun changeEnable(enable: Boolean) = strictRepository.changeEnable(enable) + fun changeEnable(enable: Boolean) { + strictRepository.changeEnable(enable) + + viewModelScope.launch { + DataStoreUtils.putData(getString(R.string.store_strict_mode), enable) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/android/skip/ui/settings/tip/TipRepository.kt b/app/src/main/java/com/android/skip/ui/settings/tip/TipRepository.kt index c31eac0a..501e07ae 100644 --- a/app/src/main/java/com/android/skip/ui/settings/tip/TipRepository.kt +++ b/app/src/main/java/com/android/skip/ui/settings/tip/TipRepository.kt @@ -18,6 +18,5 @@ class TipRepository @Inject constructor() { fun changeEnable(enable: Boolean) { _enable.postValue(enable) - DataStoreUtils.putSyncData(getString(R.string.store_skip_tip), enable) } } \ No newline at end of file diff --git a/app/src/main/java/com/android/skip/ui/settings/tip/TipViewModel.kt b/app/src/main/java/com/android/skip/ui/settings/tip/TipViewModel.kt index 79ab59d0..b7427dbe 100644 --- a/app/src/main/java/com/android/skip/ui/settings/tip/TipViewModel.kt +++ b/app/src/main/java/com/android/skip/ui/settings/tip/TipViewModel.kt @@ -1,7 +1,12 @@ package com.android.skip.ui.settings.tip import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.android.skip.R +import com.android.skip.util.DataStoreUtils +import com.blankj.utilcode.util.StringUtils.getString import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel @@ -9,5 +14,11 @@ class TipViewModel @Inject constructor( private val tipRepository: TipRepository ) : ViewModel() { val enable = tipRepository.enable - fun changeEnable(enable: Boolean) = tipRepository.changeEnable(enable) + fun changeEnable(enable: Boolean) { + tipRepository.changeEnable(enable) + + viewModelScope.launch { + DataStoreUtils.putData(getString(R.string.store_skip_tip), enable) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/android/skip/ui/settings/update/AutoUpdateViewModel.kt b/app/src/main/java/com/android/skip/ui/settings/update/AutoUpdateViewModel.kt index eb8b78b2..d869e519 100644 --- a/app/src/main/java/com/android/skip/ui/settings/update/AutoUpdateViewModel.kt +++ b/app/src/main/java/com/android/skip/ui/settings/update/AutoUpdateViewModel.kt @@ -3,10 +3,12 @@ package com.android.skip.ui.settings.update import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.android.skip.R import com.android.skip.util.DataStoreUtils import com.blankj.utilcode.util.StringUtils.getString import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel @@ -17,5 +19,9 @@ class AutoUpdateViewModel @Inject constructor() : ViewModel() { fun changeAutoUpdate(autoUpdate: Boolean) { _autoUpdate.postValue(autoUpdate) + + viewModelScope.launch { + DataStoreUtils.putData(getString(R.string.store_auto_update), autoUpdate) + } } } \ No newline at end of file diff --git a/app/src/main/java/com/android/skip/ui/whitelist/WhiteListActivity.kt b/app/src/main/java/com/android/skip/ui/whitelist/WhiteListActivity.kt index bea1c50e..52257d7f 100644 --- a/app/src/main/java/com/android/skip/ui/whitelist/WhiteListActivity.kt +++ b/app/src/main/java/com/android/skip/ui/whitelist/WhiteListActivity.kt @@ -5,14 +5,12 @@ import android.os.Bundle import androidx.activity.compose.setContent import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.Info import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.ui.res.stringResource import com.android.skip.MyApp import com.android.skip.R +import com.android.skip.ui.components.ResourceIcon import com.android.skip.ui.components.ScaffoldPage import com.android.skip.ui.settings.theme.SwitchThemeViewModel import com.android.skip.ui.theme.AppTheme @@ -41,7 +39,7 @@ class WhiteListActivity : AppCompatActivity() { AppListColumn(appListViewModel, whiteListViewModel) }, { DropdownMenuItem( - leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) }, + leadingIcon = { ResourceIcon(iconResource = R.drawable.help) }, text = { Text(stringResource(id = R.string.whitelist_function_intro)) }, onClick = { val intent = Intent(MyApp.context, WebViewActivity::class.java).apply { diff --git a/app/src/main/res/drawable/help.xml b/app/src/main/res/drawable/help.xml new file mode 100644 index 00000000..7e94db9a --- /dev/null +++ b/app/src/main/res/drawable/help.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/hide_image.xml b/app/src/main/res/drawable/hide_image.xml new file mode 100644 index 00000000..79f6e78b --- /dev/null +++ b/app/src/main/res/drawable/hide_image.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/target.xml b/app/src/main/res/drawable/target.xml new file mode 100644 index 00000000..00948a6f --- /dev/null +++ b/app/src/main/res/drawable/target.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8d920c97..57b64a7e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -96,6 +96,7 @@ RESIDENT_NOTIFICATION_BAR EXCLUDE_FROM_RECENT AUTO_UPDATE + CURRENT_THEME 无障碍服务运行中 \ No newline at end of file diff --git a/gui/svg/help_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg b/gui/svg/help_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg new file mode 100644 index 00000000..a20737f5 --- /dev/null +++ b/gui/svg/help_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gui/svg/hide_image_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg b/gui/svg/hide_image_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg new file mode 100644 index 00000000..3b70a702 --- /dev/null +++ b/gui/svg/hide_image_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gui/svg/target_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg b/gui/svg/target_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg new file mode 100644 index 00000000..1b79629a --- /dev/null +++ b/gui/svg/target_24dp_000000_FILL0_wght400_GRAD0_opsz24.svg @@ -0,0 +1 @@ + \ No newline at end of file