Commit 9f432374 authored by Mygod's avatar Mygod

Misc refinements

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