Skip to content

Commit e8e0010

Browse files
authored
Update app (#428)
1 parent 3100e17 commit e8e0010

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+224
-132
lines changed

.github/workflows/build-debug.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
- name: Setup Java
2121
uses: actions/setup-java@v4
2222
with:
23-
distribution: 'zulu'
24-
java-version: 17
23+
distribution: "temurin"
24+
java-version: 21
2525

2626
- name: Setup Gradle
2727
uses: gradle/actions/setup-gradle@v4

.github/workflows/build-pre-release.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ jobs:
1919
- name: Setup Java
2020
uses: actions/setup-java@v4
2121
with:
22-
distribution: 'zulu'
23-
java-version: 17
22+
distribution: "temurin"
23+
java-version: 21
2424

2525
- name: Setup Gradle
2626
uses: gradle/actions/setup-gradle@v4

.github/workflows/build-release.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ jobs:
2222
- name: Setup Java
2323
uses: actions/setup-java@v4
2424
with:
25-
distribution: 'zulu'
26-
java-version: 17
25+
distribution: "temurin"
26+
java-version: 21
2727

2828
- name: Setup Gradle
2929
uses: gradle/actions/setup-gradle@v4

.github/workflows/update-dependencies.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
- name: Setup Java
1919
uses: actions/setup-java@v4
2020
with:
21-
distribution: 'zulu'
22-
java-version: 17
21+
distribution: "temurin"
22+
java-version: 21
2323

2424
- name: Setup Go
2525
uses: actions/setup-go@v5

app/src/main/AndroidManifest.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
xmlns:tools="http://schemas.android.com/tools"
4-
package="com.github.kr328.clash">
3+
xmlns:tools="http://schemas.android.com/tools">
54

65
<uses-feature
76
android:name="android.software.leanback"
@@ -16,6 +15,8 @@
1615
<uses-permission
1716
android:name="android.permission.QUERY_ALL_PACKAGES"
1817
tools:ignore="QueryAllPackagesPermission" />
18+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
19+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
1920

2021
<application
2122
android:name=".MainApplication"
@@ -172,7 +173,11 @@
172173
<service
173174
android:name=".LogcatService"
174175
android:exported="false"
175-
android:label="@string/clash_logcat" />
176+
android:label="@string/clash_logcat"
177+
android:foregroundServiceType="specialUse">
178+
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
179+
android:value="explanation_for_special_use"/>
180+
</service>
176181
<service
177182
android:name=".TileService"
178183
android:exported="true"

app/src/main/java/com/github/kr328/clash/AccessControlActivity.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() {
120120
.filter {
121121
it.packageName == "android" || it.requestedPermissions?.contains(INTERNET) == true
122122
}
123+
.filter {
124+
it.applicationInfo != null
125+
}
123126
.filter {
124127
systemApp || !it.isSystemApp
125128
}
@@ -132,6 +135,6 @@ class AccessControlActivity : BaseActivity<AccessControlDesign>() {
132135

133136
private val PackageInfo.isSystemApp: Boolean
134137
get() {
135-
return applicationInfo.flags and ApplicationInfo.FLAG_SYSTEM != 0
138+
return applicationInfo?.flags?.and(ApplicationInfo.FLAG_SYSTEM) != 0
136139
}
137140
}

app/src/main/java/com/github/kr328/clash/BaseActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import java.util.*
2828
import java.util.concurrent.atomic.AtomicInteger
2929
import kotlin.coroutines.resume
3030
import kotlin.coroutines.suspendCoroutine
31+
import com.github.kr328.clash.design.R
3132

3233
abstract class BaseActivity<D : Design<*>> : AppCompatActivity(),
3334
CoroutineScope by MainScope(),

app/src/main/java/com/github/kr328/clash/ExternalControlActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import kotlinx.coroutines.CoroutineScope
2020
import kotlinx.coroutines.MainScope
2121
import kotlinx.coroutines.launch
2222
import java.util.*
23+
import com.github.kr328.clash.design.R
2324

2425
class ExternalControlActivity : Activity(), CoroutineScope by MainScope() {
2526
override fun onCreate(savedInstanceState: Bundle?) {

app/src/main/java/com/github/kr328/clash/LogcatActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import kotlinx.coroutines.withContext
2828
import java.io.OutputStreamWriter
2929
import kotlin.coroutines.resume
3030
import kotlin.coroutines.suspendCoroutine
31+
import com.github.kr328.clash.design.R
3132

3233
class LogcatActivity : BaseActivity<LogcatDesign>() {
3334
private var conn: ServiceConnection? = null

app/src/main/java/com/github/kr328/clash/LogcatService.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import androidx.core.app.NotificationCompat
1414
import androidx.core.app.NotificationManagerCompat
1515
import com.github.kr328.clash.common.compat.getColorCompat
1616
import com.github.kr328.clash.common.compat.pendingIntentFlags
17+
import com.github.kr328.clash.common.compat.startForegroundCompat
1718
import com.github.kr328.clash.common.log.Log
1819
import com.github.kr328.clash.common.util.intent
1920
import com.github.kr328.clash.core.model.LogMessage
@@ -130,17 +131,17 @@ class LogcatService : Service(), CoroutineScope by CoroutineScope(Dispatchers.De
130131
NotificationChannelCompat.Builder(
131132
CHANNEL_ID,
132133
NotificationManagerCompat.IMPORTANCE_DEFAULT
133-
).setName(getString(R.string.clash_logcat)).build()
134+
).setName(getString(com.github.kr328.clash.design.R.string.clash_logcat)).build()
134135
)
135136
}
136137

137138
private fun showNotification() {
138139
val notification = NotificationCompat
139140
.Builder(this, CHANNEL_ID)
140-
.setSmallIcon(R.drawable.ic_logo_service)
141-
.setColor(getColorCompat(R.color.color_clash_light))
142-
.setContentTitle(getString(R.string.clash_logcat))
143-
.setContentText(getString(R.string.running))
141+
.setSmallIcon(com.github.kr328.clash.service.R.drawable.ic_logo_service)
142+
.setColor(getColorCompat(com.github.kr328.clash.design.R.color.color_clash_light))
143+
.setContentTitle(getString(com.github.kr328.clash.design.R.string.clash_logcat))
144+
.setContentText(getString(com.github.kr328.clash.design.R.string.running))
144145
.setContentIntent(
145146
PendingIntent.getActivity(
146147
this,
@@ -152,7 +153,7 @@ class LogcatService : Service(), CoroutineScope by CoroutineScope(Dispatchers.De
152153
)
153154
.build()
154155

155-
startForeground(R.id.nf_logcat_status, notification)
156+
startForegroundCompat(R.id.nf_logcat_status, notification)
156157
}
157158

158159
companion object {

0 commit comments

Comments
 (0)