Commit 9f432374 authored by Mygod's avatar Mygod

Misc refinements

parent f164d5a9
...@@ -74,6 +74,8 @@ ...@@ -74,6 +74,8 @@
<provider android:name="com.crashlytics.android.CrashlyticsInitProvider" <provider android:name="com.crashlytics.android.CrashlyticsInitProvider"
tools:node="remove"/> tools:node="remove"/>
<provider android:name="com.google.firebase.provider.FirebaseInitProvider"
tools:node="remove"/>
<!-- https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/work/workmanager/src/main/AndroidManifest.xml --> <!-- https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/work/workmanager/src/main/AndroidManifest.xml -->
<provider android:name="androidx.work.impl.WorkManagerInitializer" <provider android:name="androidx.work.impl.WorkManagerInitializer"
tools:node="remove"/> tools:node="remove"/>
......
...@@ -35,10 +35,10 @@ import android.os.Build ...@@ -35,10 +35,10 @@ import android.os.Build
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.os.UserManager import android.os.UserManager
import android.util.Log
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.work.Configuration
import androidx.work.WorkManager import androidx.work.WorkManager
import com.crashlytics.android.Crashlytics import com.crashlytics.android.Crashlytics
import com.github.shadowsocks.acl.Acl import com.github.shadowsocks.acl.Acl
...@@ -50,7 +50,6 @@ import com.github.shadowsocks.preference.DataStore ...@@ -50,7 +50,6 @@ import com.github.shadowsocks.preference.DataStore
import com.github.shadowsocks.utils.* import com.github.shadowsocks.utils.*
import com.google.firebase.FirebaseApp import com.google.firebase.FirebaseApp
import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
import io.fabric.sdk.android.Fabric import io.fabric.sdk.android.Fabric
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
...@@ -96,7 +95,8 @@ object Core { ...@@ -96,7 +95,8 @@ object Core {
} }
Fabric.with(deviceStorage, Crashlytics()) // multiple processes needs manual set-up Fabric.with(deviceStorage, Crashlytics()) // multiple processes needs manual set-up
WorkManager.initialize(deviceStorage, androidx.work.Configuration.Builder().build()) FirebaseApp.initializeApp(deviceStorage)
WorkManager.initialize(deviceStorage, Configuration.Builder().build())
// handle data restored/crash // handle data restored/crash
if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware && if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware &&
......
...@@ -85,7 +85,9 @@ class MainActivity : AppCompatActivity(), ShadowsocksConnection.Interface, OnPre ...@@ -85,7 +85,9 @@ class MainActivity : AppCompatActivity(), ShadowsocksConnection.Interface, OnPre
} }
fun launchUrl(uri: String) = try { fun launchUrl(uri: String) = try {
customTabsIntent.launchUrl(this, uri.toUri()) customTabsIntent.launchUrl(this, uri.toUri())
} catch (_: ActivityNotFoundException) { } // ignore } catch (_: ActivityNotFoundException) {
snackbar(uri).show()
}
// service // service
var state = BaseService.IDLE var state = BaseService.IDLE
......
...@@ -39,7 +39,6 @@ import androidx.core.content.getSystemService ...@@ -39,7 +39,6 @@ import androidx.core.content.getSystemService
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.recyclerview.widget.* import androidx.recyclerview.widget.*
import com.crashlytics.android.Crashlytics
import com.github.shadowsocks.bg.BaseService import com.github.shadowsocks.bg.BaseService
import com.github.shadowsocks.database.Profile import com.github.shadowsocks.database.Profile
import com.github.shadowsocks.database.ProfileManager import com.github.shadowsocks.database.ProfileManager
...@@ -416,13 +415,9 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { ...@@ -416,13 +415,9 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
private fun startFilesForResult(intent: Intent?, requestCode: Int) { private fun startFilesForResult(intent: Intent?, requestCode: Int) {
try { try {
startActivityForResult(intent, requestCode) startActivityForResult(intent, requestCode)
} catch (e: ActivityNotFoundException) { return
Crashlytics.logException(e) } catch (_: ActivityNotFoundException) { } catch (_: SecurityException) { }
(activity as MainActivity).snackbar(getString(R.string.file_manager_missing)).show() (activity as MainActivity).snackbar(getString(R.string.file_manager_missing)).show()
} catch (e: SecurityException) {
Crashlytics.logException(e)
(activity as MainActivity).snackbar(getString(R.string.file_manager_missing)).show()
}
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
......
...@@ -275,13 +275,9 @@ class MainPreferenceFragment : LeanbackPreferenceFragment(), ShadowsocksConnecti ...@@ -275,13 +275,9 @@ class MainPreferenceFragment : LeanbackPreferenceFragment(), ShadowsocksConnecti
private fun startFilesForResult(intent: Intent?, requestCode: Int) { private fun startFilesForResult(intent: Intent?, requestCode: Int) {
try { try {
startActivityForResult(intent, requestCode) startActivityForResult(intent, requestCode)
} catch (e: ActivityNotFoundException) { return
Crashlytics.logException(e) } catch (_: ActivityNotFoundException) { } catch (_: SecurityException) { }
Toast.makeText(activity, R.string.file_manager_missing, Toast.LENGTH_SHORT).show() Toast.makeText(activity, R.string.file_manager_missing, Toast.LENGTH_SHORT).show()
} catch (e: SecurityException) {
Crashlytics.logException(e)
Toast.makeText(activity, R.string.file_manager_missing, Toast.LENGTH_SHORT).show()
}
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
......
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