Skip to content

Commit 712148e

Browse files
committed
Target API 35
1 parent a8ded37 commit 712148e

10 files changed

Lines changed: 16 additions & 10 deletions

File tree

buildSrc/src/main/kotlin/Helpers.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ val Project.currentFlavor get() = gradle.startParameter.taskRequests.toString().
2323
fun Project.setupCommon() {
2424
val javaVersion = JavaVersion.VERSION_11
2525
android.apply {
26-
compileSdkVersion(34)
26+
compileSdkVersion(35)
2727
defaultConfig {
2828
minSdk = 23
29-
targetSdk = 34
29+
targetSdk = 35
3030
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
3131
}
3232
compileOptions {
@@ -63,7 +63,6 @@ fun Project.setupCore() {
6363
warning += "RestrictedApi"
6464
disable += "UseAppTint"
6565
}
66-
ndkVersion = "27.0.12077973"
6766
buildFeatures.buildConfig = true
6867
}
6968
dependencies.add("coreLibraryDesugaring", "com.android.tools:desugar_jdk_libs:2.1.1")

core/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ android {
2828
}
2929

3030
externalNativeBuild.ndkBuild.path("src/main/jni/Android.mk")
31+
ndkVersion = "27.0.12077973"
3132

3233
sourceSets.getByName("androidTest") {
3334
assets.setSrcDirs(assets.srcDirs + files("$projectDir/schemas"))
@@ -66,6 +67,8 @@ cargo {
6667
throw GradleException("No any python version detected. You should install the python first to compile project.")
6768
}
6869
}
70+
// https://developer.android.com/guide/practices/page-sizes#other-build-systems
71+
spec.environment("RUST_ANDROID_GRADLE_CC_LINK_ARG", "-Wl,-z,max-page-size=16384,-soname,lib$libname.so")
6972
spec.environment("RUST_ANDROID_GRADLE_LINKER_WRAPPER_PY", "$projectDir/$module/../linker-wrapper.py")
7073
spec.environment("RUST_ANDROID_GRADLE_TARGET", "target/${toolchain.target}/$profile/lib$libname.so")
7174
}

core/src/main/java/com/github/shadowsocks/Core.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ object Core {
116116
// overhead of debug mode is minimal: https://github.com/Kotlin/kotlinx.coroutines/blob/f528898/docs/debugging.md#debug-mode
117117
System.setProperty(DEBUG_PROPERTY_NAME, DEBUG_PROPERTY_VALUE_ON)
118118
FirebaseApp.initializeApp(deviceStorage) // multiple processes needs manual set-up
119+
FirebaseCrashlytics.getInstance().setCustomKey("build", Build.DISPLAY)
119120
Timber.plant(object : Timber.DebugTree() {
120121
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
121122
if (t == null) {

core/src/main/java/com/github/shadowsocks/plugin/PluginManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ object PluginManager {
6060
* public key yet since it will also automatically trust packages signed by the same signatures, e.g. debug keys.
6161
*/
6262
val trustedSignatures by lazy {
63-
Core.packageInfo.signaturesCompat.toSet() +
63+
(Core.packageInfo.signaturesCompat?.toSet() ?: emptySet()) +
6464
Signature(Base64.decode( // @Mygod
6565
"""
6666
|MIIDWzCCAkOgAwIBAgIEUzfv8DANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJD

core/src/main/java/com/github/shadowsocks/plugin/ResolvedPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ abstract class ResolvedPlugin(protected val resolveInfo: ResolveInfo) : Plugin()
5151
override val defaultConfig by lazy { componentInfo.loadString(PluginContract.METADATA_KEY_DEFAULT_CONFIG) }
5252
override val packageName: String get() = componentInfo.packageName
5353
override val trusted by lazy {
54-
Core.getPackageInfo(packageName).signaturesCompat.any(PluginManager.trustedSignatures::contains)
54+
Core.getPackageInfo(packageName).signaturesCompat?.any(PluginManager.trustedSignatures::contains) == true
5555
}
5656
override val directBootAware get() = Build.VERSION.SDK_INT < 24 || componentInfo.directBootAware
5757
}

core/src/main/java/com/github/shadowsocks/utils/Utils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ fun Context.listenForPackageChanges(onetime: Boolean = true, callback: () -> Uni
120120
}
121121

122122
val PackageInfo.signaturesCompat get() =
123-
if (Build.VERSION.SDK_INT >= 28) signingInfo.apkContentsSigners else @Suppress("DEPRECATION") signatures
123+
if (Build.VERSION.SDK_INT >= 28) signingInfo?.apkContentsSigners else @Suppress("DEPRECATION") signatures
124124

125125
/**
126126
* Based on: https://stackoverflow.com/a/26348729/2245107

core/src/main/jni/Application.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
APP_STL := c++_static
2+
APP_SUPPORT_FLEXIBLE_PAGE_SIZES := true

mobile/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
android:exported="true"
6767
android:label="@string/add_profile_methods_scan_qr_code"
6868
android:parentActivityName=".MainActivity"
69-
android:theme="@style/Theme.Shadowsocks.Immersive"
69+
android:theme="@style/Theme.Shadowsocks.Immersive.Navigation"
7070
android:launchMode="singleTask"
7171
android:screenOrientation="locked"
7272
android:excludeFromRecents="true"/>

mobile/src/main/java/com/github/shadowsocks/AppManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ class AppManager : AppCompatActivity() {
139139
suspend fun reload() {
140140
apps = getCachedApps(packageManager).map { (packageName, packageInfo) ->
141141
coroutineContext[Job]!!.ensureActive()
142-
ProxiedApp(packageManager, packageInfo.applicationInfo, packageName)
142+
ProxiedApp(packageManager, packageInfo.applicationInfo!!, packageName)
143143
}.sortedWith(compareBy({ !isProxiedApp(it) }, { it.name.toString() }))
144144
}
145145

@@ -207,7 +207,7 @@ class AppManager : AppCompatActivity() {
207207
private fun initProxiedUids(str: String = DataStore.individual) {
208208
proxiedUids.clear()
209209
val apps = getCachedApps(packageManager)
210-
for (line in str.lineSequence()) proxiedUids[(apps[line] ?: continue).applicationInfo.uid] = true
210+
for (line in str.lineSequence()) proxiedUids[(apps[line] ?: continue).applicationInfo!!.uid] = true
211211
}
212212

213213
private fun isProxiedApp(app: ProxiedApp) = proxiedUids[app.uid]

plugin/src/main/res/values/styles.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<resources>
2+
<resources xmlns:tools="http://schemas.android.com/tools">
33
<style name="Theme.Shadowsocks" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
44
<item name="android:navigationBarColor">@color/color_primary_dark</item>
5+
<!-- https://github.com/google/play-services-plugins/issues/296 -->
6+
<item name="android:windowOptOutEdgeToEdgeEnforcement" tools:targetApi="35">true</item>
57
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
68
<item name="actionModeCloseDrawable">@drawable/ic_navigation_close</item>
79
<item name="colorAccent">@color/material_accent_200</item>

0 commit comments

Comments
 (0)