Skip to content
Snippets Groups Projects
Verified Commit a5fbf6b4 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Minor cleanup

parent 75cb68d9
Branches
Tags
No related merge requests found
...@@ -21,36 +21,32 @@ package de.kuschku.quasseldroid.util.backport ...@@ -21,36 +21,32 @@ package de.kuschku.quasseldroid.util.backport
import android.content.Context import android.content.Context
import org.threeten.bp.zone.TzdbZoneRulesProvider import org.threeten.bp.zone.TzdbZoneRulesProvider
import org.threeten.bp.zone.ZoneRulesInitializer
import org.threeten.bp.zone.ZoneRulesProvider import org.threeten.bp.zone.ZoneRulesProvider
import java.io.IOException import java.io.IOException
import java.io.InputStream
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean
object AndroidThreeTenBackport { object AndroidThreeTenBackport {
private val initialized = AtomicBoolean() private val initialized = AtomicBoolean()
fun init(context: Context) { fun init(context: Context, assetPath: String = "TZDB.dat") {
if (initialized.getAndSet(true)) { if (!initialized.getAndSet(true)) {
return ZoneRulesInitializer.setInitializer(AndroidThreeTenBackportInitializer(context, assetPath))
} }
val provider: TzdbZoneRulesProvider
var inputStream: InputStream? = null
try {
inputStream = context.assets.open("TZDB.dat")
provider = TzdbZoneRulesProvider(inputStream)
} catch (e: IOException) {
throw IllegalStateException("TZDB.dat missing from assets.", e)
} finally {
if (inputStream != null) {
try {
inputStream.close()
} catch (ignored: IOException) {
} }
class AndroidThreeTenBackportInitializer(
private val context: Context,
private val assetPath: String
) : ZoneRulesInitializer() {
override fun initializeProviders() {
try {
ZoneRulesProvider.registerProvider(context.assets.open(assetPath).use {
TzdbZoneRulesProvider(it)
})
} catch (exception: IOException) {
throw IllegalStateException("$assetPath missing from assets", exception)
} }
} }
ZoneRulesProvider.registerProvider(provider)
} }
} }
...@@ -41,9 +41,10 @@ class BackportedSyncFlushDeflaterOutputStream( ...@@ -41,9 +41,10 @@ class BackportedSyncFlushDeflaterOutputStream(
private fun createSyncFlushDeflater(): Deflater? { private fun createSyncFlushDeflater(): Deflater? {
val def = Deflater() val def = Deflater()
try { try {
val f = def.javaClass.getDeclaredField("flushParm") def.javaClass.getDeclaredField("flushParm").apply {
f.isAccessible = true isAccessible = true
f.setInt(def, 2) // Z_SYNC_FLUSH setInt(def, 2) // Z_SYNC_FLUSH
}
} catch (e: Exception) { } catch (e: Exception) {
return null return null
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment