Commit 5b9af4e1 authored by Mygod's avatar Mygod

Refine proguard rules

parent 85d04ba6
...@@ -12,6 +12,7 @@ android { ...@@ -12,6 +12,7 @@ android {
versionCode rootProject.versionCode versionCode rootProject.versionCode
versionName rootProject.versionName versionName rootProject.versionName
consumerProguardFiles 'proguard-rules.pro'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild { externalNativeBuild {
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
# hide the original source file name. # hide the original source file name.
#-renamesourcefileattribute SourceFile #-renamesourcefileattribute SourceFile
-dontwarn com.google.android.gms.internal.** # https://issuetracker.google.com/issues/147972078#comment4
-keepclasseswithmembers class * extends androidx.lifecycle.ViewModel {
-keep class com.github.shadowsocks.net.HttpsTest <init>();
}
...@@ -34,7 +34,7 @@ android { ...@@ -34,7 +34,7 @@ android {
release { release {
shrinkResources true shrinkResources true
minifyEnabled true minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt')
} }
} }
compileOptions { compileOptions {
......
...@@ -57,6 +57,7 @@ dependencies { ...@@ -57,6 +57,7 @@ dependencies {
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugarLibsVersion" coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugarLibsVersion"
implementation project(':core') implementation project(':core')
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.fragment:fragment-ktx:1.2.0-rc05'
implementation 'androidx.leanback:leanback-preference:1.1.0-alpha03' implementation 'androidx.leanback:leanback-preference:1.1.0-alpha03'
} }
......
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
-keepattributes SourceFile,LineNumberTable
-dontobfuscate
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-dontwarn com.google.android.gms.internal.**
...@@ -31,9 +31,8 @@ import android.os.RemoteException ...@@ -31,9 +31,8 @@ import android.os.RemoteException
import android.text.format.Formatter import android.text.format.Formatter
import android.util.Log import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.fragment.app.viewModels
import androidx.leanback.preference.LeanbackPreferenceFragmentCompat import androidx.leanback.preference.LeanbackPreferenceFragmentCompat
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import androidx.lifecycle.observe import androidx.lifecycle.observe
import androidx.preference.* import androidx.preference.*
import com.crashlytics.android.Crashlytics import com.crashlytics.android.Crashlytics
...@@ -87,7 +86,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo ...@@ -87,7 +86,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo
portTransproxy.isEnabled = enabledTransproxy portTransproxy.isEnabled = enabledTransproxy
true true
} }
private lateinit var tester: HttpsTest private val tester by viewModels<HttpsTest>()
// service // service
var state = BaseService.State.Idle var state = BaseService.State.Idle
...@@ -191,7 +190,6 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo ...@@ -191,7 +190,6 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo
serviceMode.onPreferenceChangeListener = onServiceModeChange serviceMode.onPreferenceChangeListener = onServiceModeChange
findPreference<Preference>(Key.about)!!.summary = getString(R.string.about_title, BuildConfig.VERSION_NAME) findPreference<Preference>(Key.about)!!.summary = getString(R.string.about_title, BuildConfig.VERSION_NAME)
tester = ViewModelProvider(this).get()
changeState(BaseService.State.Idle) // reset everything to init state changeState(BaseService.State.Idle) // reset everything to init state
connection.connect(requireContext(), this) connection.connect(requireContext(), this)
DataStore.publicStore.registerChangeListener(this) DataStore.publicStore.registerChangeListener(this)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment