Skip to content

Commit

Permalink
Merge pull request #245 from GuoXiCheng/dev-c
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
GuoXiCheng authored Sep 21, 2024
2 parents 3fc302c + 28caefc commit 0da773e
Show file tree
Hide file tree
Showing 24 changed files with 413 additions and 42 deletions.
5 changes: 5 additions & 0 deletions app/src/main/assets/skip_config_v3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -143,5 +143,10 @@

- appName: 爱奇艺
packageName: com.qiyi.video
skipTexts:
- text: 关闭

- appName: 爱奇艺极速版
packageName: com.qiyi.video.lite
skipTexts:
- text: 关闭
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ import javax.inject.Singleton
class ConfigReadRepository @Inject constructor(
private val myApiNetwork: MyApiNetwork
) {
private val _configPostState = MutableLiveData<ConfigPostSchema>()
private val _configPostState =
MutableLiveData(ConfigPostSchema(ConfigState.FAIL, getString(R.string.invalid_config)))
val configPostState: LiveData<ConfigPostSchema> = _configPostState

suspend fun readConfig() = withContext(Dispatchers.IO) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.android.skip.dataclass

enum class ThemeMode {
UI_LIGHT,UI_DARK, UI_AUTO
}

data class SwitchThemeCarrier(val themeMode: ThemeMode, val themeName: Int, val themeIcon: Int)
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import android.os.Build
import android.os.Handler
import android.os.IBinder
import android.os.Looper
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
import com.android.skip.R
import com.android.skip.ui.inspect.start.StartInspectRepository
Expand Down Expand Up @@ -70,6 +69,7 @@ class InspectService : Service() {
.setSmallIcon(R.drawable.info)
.setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.info))
.setContentIntent(pendingIntent)
.setOngoing(true)
.build()
startForeground(1, notification)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class MyForegroundService : Service() {
.setSmallIcon(R.drawable.info)
.setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.info))
.setContentIntent(pendingIntent)
.setOngoing(true)
.build()

startForeground(2, notification)
Expand Down
21 changes: 20 additions & 1 deletion app/src/main/java/com/android/skip/ui/about/AboutActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,21 @@ 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.runtime.Composable
import androidx.compose.ui.res.stringResource
import com.android.skip.MyApp
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.RowContent
import com.android.skip.ui.components.ScaffoldPage
import com.android.skip.ui.settings.theme.SwitchThemeViewModel
import com.android.skip.ui.theme.AppTheme
import com.android.skip.ui.webview.WebViewActivity
import com.blankj.utilcode.util.AppUtils
Expand All @@ -22,10 +29,12 @@ import dagger.hilt.android.AndroidEntryPoint
class AboutActivity : AppCompatActivity() {
private val configViewModel by viewModels<ConfigViewModel>()

private val switchThemeViewModel by viewModels<SwitchThemeViewModel>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AppTheme {
AppTheme(switchThemeViewModel) {
ScaffoldPage(R.string.about, { finish() }, {
AboutGithub {
val intent = Intent(MyApp.context, WebViewActivity::class.java).apply {
Expand All @@ -42,6 +51,16 @@ class AboutActivity : AppCompatActivity() {
}
AboutAppVersion(AppUtils.getAppVersionName())
ConfigVersionButton(configViewModel)
}, {
DropdownMenuItem(
leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) },
text = { Text(stringResource(id = R.string.about_function_intro)) },
onClick = {
val intent = Intent(MyApp.context, WebViewActivity::class.java).apply {
putExtra("url", R.string.about_function_intro_url)
}
startActivity(intent)
})
})
}
}
Expand Down
21 changes: 20 additions & 1 deletion app/src/main/java/com/android/skip/ui/alive/AliveActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@ 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
import androidx.core.app.NotificationManagerCompat
import com.android.skip.MyApp
import com.android.skip.R
Expand All @@ -23,6 +29,7 @@ import com.android.skip.ui.components.RowContent
import com.android.skip.ui.components.ScaffoldPage
import com.android.skip.ui.components.notification.NotificationDialog
import com.android.skip.ui.components.notification.NotificationDialogViewModel
import com.android.skip.ui.settings.theme.SwitchThemeViewModel
import com.android.skip.ui.theme.AppTheme
import com.android.skip.ui.webview.WebViewActivity
import dagger.hilt.android.AndroidEntryPoint
Expand All @@ -36,10 +43,12 @@ class AliveActivity : AppCompatActivity() {

private val notificationDialogViewModel by viewModels<NotificationDialogViewModel> ()

private val switchThemeViewModel by viewModels<SwitchThemeViewModel>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AppTheme {
AppTheme(switchThemeViewModel) {
ScaffoldPage(R.string.alive, { finish() }, {
PowerSavingStrategyButton {
val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
Expand Down Expand Up @@ -69,6 +78,16 @@ class AliveActivity : AppCompatActivity() {
notificationBarViewModel.changeEnable(false)
notificationDialogViewModel.changeDialogState(false)
}
}, {
DropdownMenuItem(
leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) },
text = { Text(stringResource(id = R.string.alive_function_intro)) },
onClick = {
val intent = Intent(MyApp.context, WebViewActivity::class.java).apply {
putExtra("url", R.string.alive_function_intro_url)
}
startActivity(intent)
})
})
}
}
Expand Down
54 changes: 31 additions & 23 deletions app/src/main/java/com/android/skip/ui/components/ScaffoldPage.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.material3.DropdownMenu
Expand All @@ -25,7 +24,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.android.skip.R
Expand All @@ -39,28 +37,38 @@ fun ScaffoldPage(
) {
var expanded by remember { mutableStateOf(false) }
Scaffold(topBar = {
Row(modifier = Modifier.padding(15.dp, 15.dp, 0.dp, 0.dp)) {
IconButton(
onClick = onBackClick,
modifier = Modifier.align(Alignment.CenterVertically)
) {
ResourceIcon(iconResource = R.drawable.arrow_back)
Row(
modifier = Modifier
.padding(
15.dp, 15.dp, 15.dp, 0.dp
)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween
) {
Row {
IconButton(
onClick = onBackClick,
modifier = Modifier.align(Alignment.CenterVertically)
) {
ResourceIcon(iconResource = R.drawable.arrow_back)
}
Text(
text = stringResource(id = barTitle),
fontSize = 24.sp,
modifier = Modifier.align(Alignment.CenterVertically)
)
}
Text(
text = stringResource(id = barTitle),
fontSize = 24.sp,
modifier = Modifier.align(Alignment.CenterVertically)
)
Spacer(modifier = Modifier.width(150.dp))

menuItems?.let {
IconButton(onClick = { expanded = true }) {
Icon(Icons.Default.MoreVert, contentDescription = null)
}
DropdownMenu(expanded = expanded,
modifier = Modifier.background(MaterialTheme.colorScheme.background),
offset = DpOffset(230.dp, 0.dp),
onDismissRequest = { expanded = false }) {
menuItems()
Row {
IconButton(onClick = { expanded = true }) {
Icon(Icons.Default.MoreVert, contentDescription = null)
DropdownMenu(expanded = expanded,
modifier = Modifier.background(MaterialTheme.colorScheme.background),
onDismissRequest = { expanded = false }) {
menuItems()
}
}
}
}

Expand Down
22 changes: 21 additions & 1 deletion app/src/main/java/com/android/skip/ui/inspect/InspectActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ 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
import androidx.core.content.ContextCompat
import com.android.skip.MyApp
Expand All @@ -22,7 +28,9 @@ import com.android.skip.ui.inspect.record.InspectRecordViewModel
import com.android.skip.ui.inspect.start.StartInspectButton
import com.android.skip.ui.inspect.start.StartInspectViewModel
import com.android.skip.ui.record.InspectRecordActivity
import com.android.skip.ui.settings.theme.SwitchThemeViewModel
import com.android.skip.ui.theme.AppTheme
import com.android.skip.ui.webview.WebViewActivity
import com.blankj.utilcode.util.ServiceUtils
import dagger.hilt.android.AndroidEntryPoint

Expand All @@ -36,10 +44,12 @@ class InspectActivity : AppCompatActivity() {

private val notificationDialogViewModel by viewModels<NotificationDialogViewModel>()

private val switchThemeViewModel by viewModels<SwitchThemeViewModel>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AppTheme {
AppTheme(switchThemeViewModel) {
ScaffoldPage(R.string.inspect, { finish() }, {
StartInspectButton(startInspectViewModel)
InspectRecordButton(inspectRecordViewModel) {
Expand All @@ -49,6 +59,16 @@ class InspectActivity : AppCompatActivity() {
notificationDialogViewModel.changeDialogState(false)
startInspectViewModel.changeInspectState(false)
}
},{
DropdownMenuItem(
leadingIcon = { Icon(Icons.Outlined.Info, contentDescription = null) },
text = { Text(stringResource(id = R.string.inspect_function_intro)) },
onClick = {
val intent = Intent(MyApp.context, WebViewActivity::class.java).apply {
putExtra("url", R.string.inspect_function_intro_url)
}
startActivity(intent)
})
})
}
}
Expand Down
26 changes: 18 additions & 8 deletions app/src/main/java/com/android/skip/ui/main/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.work.Constraints
import androidx.work.NetworkType
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import com.android.skip.MyApp
Expand All @@ -33,6 +35,7 @@ import com.android.skip.ui.inspect.InspectActivity
import com.android.skip.ui.main.start.StartAccessibilityViewModel
import com.android.skip.ui.main.start.StartButton
import com.android.skip.ui.settings.SettingsActivity
import com.android.skip.ui.settings.theme.SwitchThemeViewModel
import com.android.skip.ui.theme.AppTheme
import com.android.skip.ui.whitelist.WhiteListActivity
import dagger.hilt.android.AndroidEntryPoint
Expand All @@ -42,10 +45,12 @@ import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
private val startAccessibilityViewModel by viewModels<StartAccessibilityViewModel>()

private val switchThemeViewModel by viewModels<SwitchThemeViewModel>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AppTheme {
AppTheme(switchThemeViewModel) {
Column(
modifier = Modifier
.fillMaxSize()
Expand All @@ -69,19 +74,24 @@ class MainActivity : AppCompatActivity() {
SettingsButton {
startActivity(Intent(MyApp.context, SettingsActivity::class.java))
}
AboutButton() {
AboutButton {
startActivity(Intent(MyApp.context, AboutActivity::class.java))
}
}
}
}

val workRequest =
PeriodicWorkRequestBuilder<SyncWorker>(12, TimeUnit.HOURS).setInitialDelay(
5,
TimeUnit.SECONDS
).build()
WorkManager.getInstance(this).enqueue(workRequest)
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()

val periodicWorkRequest =
PeriodicWorkRequestBuilder<SyncWorker>(12, TimeUnit.HOURS)
.setInitialDelay(5, TimeUnit.SECONDS)
.setConstraints(constraints)
.build()

WorkManager.getInstance(this).enqueue(periodicWorkRequest)
}

override fun onResume() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import com.android.skip.ui.record.dialog.JpegDialog
import com.android.skip.ui.record.dialog.JpegDialogViewModel
import com.android.skip.ui.record.list.InspectListColumn
import com.android.skip.ui.record.list.InspectListViewModel
import com.android.skip.ui.settings.theme.SwitchThemeViewModel
import com.android.skip.ui.theme.AppTheme
import dagger.hilt.android.AndroidEntryPoint
import java.io.File
Expand All @@ -35,11 +36,13 @@ class InspectRecordActivity : AppCompatActivity() {

private val inspectRecordViewModel by viewModels<InspectRecordViewModel> ()

private val switchThemeViewModel by viewModels<SwitchThemeViewModel>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContent {
AppTheme {
AppTheme(switchThemeViewModel) {
ScaffoldPage(R.string.inspect_record_title, { finish() }, {
JpegDialog(jpegDialogViewModel)
InspectListColumn(inspectListViewModel) { fileId, menuType ->
Expand Down
Loading

0 comments on commit 0da773e

Please sign in to comment.