依存ライブラリのアップデート
This commit is contained in:
parent
ab4468d186
commit
2c0282a48d
|
@ -12,8 +12,8 @@ android {
|
|||
minSdkVersion 21
|
||||
targetSdkVersion 27
|
||||
|
||||
versionCode 233
|
||||
versionName "2.3.3"
|
||||
versionCode 234
|
||||
versionName "2.3.4"
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
|
||||
|
@ -69,50 +69,22 @@ dependencies {
|
|||
implementation project(':emoji')
|
||||
implementation project(':apng_android')
|
||||
|
||||
implementation 'com.android.support:support-v4:27.1.0'
|
||||
implementation 'com.android.support:appcompat-v7:27.1.0'
|
||||
implementation 'com.android.support:design:27.1.0'
|
||||
implementation 'com.android.support:customtabs:27.1.0'
|
||||
implementation 'com.android.support:support-v13:27.1.0'
|
||||
implementation "com.android.support:support-v4:$asl_version"
|
||||
implementation "com.android.support:appcompat-v7:$asl_version"
|
||||
implementation "com.android.support:design:$asl_version"
|
||||
implementation "com.android.support:customtabs:$asl_version"
|
||||
implementation "com.android.support:support-v13:$asl_version"
|
||||
|
||||
implementation 'com.google.firebase:firebase-core:12.0.0'
|
||||
implementation 'com.google.firebase:firebase-messaging:12.0.0'
|
||||
implementation "com.google.firebase:firebase-core:$firebase_version"
|
||||
implementation "com.google.firebase:firebase-messaging:$firebase_version"
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
||||
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
|
||||
testImplementation 'junit:junit:4.12' // しばらくはjunitと併用
|
||||
|
||||
// compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21.2'
|
||||
|
||||
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
|
||||
implementation 'com.github.woxthebox:draglistview:1.5.1'
|
||||
implementation 'com.github.omadahealth:swipy:1.2.3@aar'
|
||||
// compile 'com.jrummyapps:colorpicker:2.1.7'
|
||||
implementation 'com.github.kenglxn.QRGen:android:2.3.0'
|
||||
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.9.1'
|
||||
testImplementation 'com.squareup.okhttp3:mockwebserver:3.9.1'
|
||||
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.9.1'
|
||||
|
||||
implementation 'commons-io:commons-io:2.6'
|
||||
|
||||
implementation 'com.github.bumptech.glide:glide:4.5.0'
|
||||
implementation 'com.github.bumptech.glide:okhttp3-integration:4.5.0'
|
||||
implementation 'com.github.bumptech.glide:annotations:4.5.0'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
|
||||
|
||||
implementation 'org.hjson:hjson:3.0.0'
|
||||
|
||||
implementation 'com.google.android:flexbox:0.3.1'
|
||||
|
||||
implementation 'com.astuetz:pagerslidingtabstrip:1.0.1'
|
||||
|
||||
|
||||
implementation 'com.google.android.exoplayer:exoplayer:r2.5.4'
|
||||
|
||||
implementation "org.jetbrains.anko:anko:$anko_version"
|
||||
// Anko Layouts
|
||||
implementation "org.jetbrains.anko:anko:$anko_version"
|
||||
implementation "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
|
||||
implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
|
||||
|
||||
|
@ -120,6 +92,34 @@ dependencies {
|
|||
//implementation "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"
|
||||
//implementation "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"
|
||||
|
||||
testImplementation 'junit:junit:4.12' // しばらくはkotlin-testとjunitを併用
|
||||
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
|
||||
testImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0'
|
||||
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0'
|
||||
|
||||
implementation 'com.github.bumptech.glide:glide:4.6.1'
|
||||
implementation 'com.github.bumptech.glide:okhttp3-integration:4.6.1'
|
||||
implementation 'com.github.bumptech.glide:annotations:4.6.1'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
|
||||
|
||||
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
|
||||
|
||||
implementation 'com.github.woxthebox:draglistview:1.5.4'
|
||||
|
||||
implementation 'com.github.omadahealth:swipy:1.2.3@aar'
|
||||
|
||||
implementation 'com.github.kenglxn.QRGen:android:2.4.0'
|
||||
|
||||
implementation 'commons-io:commons-io:2.6'
|
||||
|
||||
implementation 'org.hjson:hjson:3.0.0'
|
||||
|
||||
implementation 'com.google.android:flexbox:0.3.2'
|
||||
|
||||
implementation 'com.astuetz:pagerslidingtabstrip:1.0.1'
|
||||
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.7.3'
|
||||
|
||||
// implementation 'com.simplecityapps:recyclerview-fastscroll:1.0.16'
|
||||
|
||||
|
|
|
@ -13,10 +13,6 @@
|
|||
<!-- CAMERAパーミッションをつけるとPlayストアにプライバシーポリシーを記載する必要がある -->
|
||||
<!--<uses-permission android:name="android.permission.CAMERA"/>-->
|
||||
|
||||
|
||||
<!-- https://mastodon.juggler.jp/@tateisu/99808478581120364 -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
|
||||
|
||||
<application
|
||||
android:name=".App1"
|
||||
android:allowBackup="true"
|
||||
|
|
|
@ -21,19 +21,16 @@ import android.support.v7.app.AppCompatActivity
|
|||
import android.view.View
|
||||
import android.view.Window
|
||||
import android.widget.TextView
|
||||
import com.google.android.exoplayer2.*
|
||||
|
||||
import com.google.android.exoplayer2.ExoPlaybackException
|
||||
import com.google.android.exoplayer2.ExoPlayerFactory
|
||||
import com.google.android.exoplayer2.PlaybackParameters
|
||||
import com.google.android.exoplayer2.Player
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer
|
||||
import com.google.android.exoplayer2.Timeline
|
||||
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
|
||||
import com.google.android.exoplayer2.source.ExtractorMediaSource
|
||||
import com.google.android.exoplayer2.source.MediaSourceEventListener
|
||||
import com.google.android.exoplayer2.source.TrackGroupArray
|
||||
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelectionArray
|
||||
import com.google.android.exoplayer2.ui.SimpleExoPlayerView
|
||||
import com.google.android.exoplayer2.ui.PlayerView
|
||||
import com.google.android.exoplayer2.upstream.DataSpec
|
||||
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
|
||||
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
|
||||
import com.google.android.exoplayer2.util.Util
|
||||
|
@ -48,6 +45,7 @@ import jp.juggler.subwaytooter.api.entity.*
|
|||
import jp.juggler.subwaytooter.dialog.ActionsDialog
|
||||
import jp.juggler.subwaytooter.util.*
|
||||
import jp.juggler.subwaytooter.view.PinchBitmapView
|
||||
import java.io.IOException
|
||||
|
||||
class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
||||
|
||||
|
@ -85,7 +83,7 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
private lateinit var btnNext : View
|
||||
private lateinit var tvError : TextView
|
||||
private lateinit var exoPlayer : SimpleExoPlayer
|
||||
private lateinit var exoView : SimpleExoPlayerView
|
||||
private lateinit var exoView : PlayerView
|
||||
private lateinit var svDescription : View
|
||||
private lateinit var tvDescription : TextView
|
||||
private lateinit var tvStatus : TextView
|
||||
|
@ -93,8 +91,19 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
internal var buffering_last_shown : Long = 0
|
||||
|
||||
private val player_listener = object : Player.EventListener {
|
||||
override fun onTimelineChanged(timeline : Timeline?, manifest : Any?) {
|
||||
log.d("exoPlayer onTimelineChanged")
|
||||
|
||||
override fun onTimelineChanged(
|
||||
timeline : Timeline?,
|
||||
manifest : Any?,
|
||||
reason : Int
|
||||
) {
|
||||
log.d("exoPlayer onTimelineChanged manifest=$manifest reason=$reason")
|
||||
}
|
||||
|
||||
override fun onSeekProcessed(){
|
||||
}
|
||||
|
||||
override fun onShuffleModeEnabledChanged(shuffleModeEnabled : Boolean) {
|
||||
}
|
||||
|
||||
override fun onTracksChanged(
|
||||
|
@ -134,8 +143,8 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
showToast(this@ActMediaViewer, error, "player error.")
|
||||
}
|
||||
|
||||
override fun onPositionDiscontinuity() {
|
||||
log.d("exoPlayer onPositionDiscontinuity")
|
||||
override fun onPositionDiscontinuity(reason : Int) {
|
||||
log.d("exoPlayer onPositionDiscontinuity reason=$reason")
|
||||
}
|
||||
|
||||
override fun onPlaybackParametersChanged(playbackParameters : PlaybackParameters?) {
|
||||
|
@ -298,13 +307,14 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
this, Util.getUserAgent(this, getString(R.string.app_name)), defaultBandwidthMeter
|
||||
)
|
||||
|
||||
val mediaSource = ExtractorMediaSource(
|
||||
Uri.parse(url),
|
||||
dataSourceFactory,
|
||||
extractorsFactory,
|
||||
App1.getAppState(this).handler,
|
||||
ExtractorMediaSource.EventListener { showError(it.withCaption("load error.") ) }
|
||||
)
|
||||
val mediaSource = ExtractorMediaSource.Factory(dataSourceFactory)
|
||||
.setExtractorsFactory(extractorsFactory)
|
||||
.createMediaSource(
|
||||
Uri.parse(url),
|
||||
App1.getAppState(this).handler,
|
||||
mediaSourceEventListener
|
||||
)
|
||||
|
||||
exoPlayer.prepare(mediaSource)
|
||||
exoPlayer.playWhenReady = true
|
||||
if(TootAttachmentLike.TYPE_GIFV == ta.type) {
|
||||
|
@ -315,6 +325,93 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
}
|
||||
}
|
||||
|
||||
val mediaSourceEventListener = object: MediaSourceEventListener{
|
||||
override fun onLoadStarted(
|
||||
dataSpec : DataSpec?,
|
||||
dataType : Int,
|
||||
trackType : Int,
|
||||
trackFormat : Format?,
|
||||
trackSelectionReason : Int,
|
||||
trackSelectionData : Any?,
|
||||
mediaStartTimeMs : Long,
|
||||
mediaEndTimeMs : Long,
|
||||
elapsedRealtimeMs : Long
|
||||
) {
|
||||
log.d("onLoadStarted")
|
||||
}
|
||||
|
||||
override fun onDownstreamFormatChanged(
|
||||
trackType : Int,
|
||||
trackFormat : Format?,
|
||||
trackSelectionReason : Int,
|
||||
trackSelectionData : Any?,
|
||||
mediaTimeMs : Long
|
||||
) {
|
||||
log.d("onDownstreamFormatChanged")
|
||||
}
|
||||
|
||||
override fun onUpstreamDiscarded(
|
||||
trackType : Int,
|
||||
mediaStartTimeMs : Long,
|
||||
mediaEndTimeMs : Long
|
||||
) {
|
||||
log.d("onUpstreamDiscarded")
|
||||
}
|
||||
|
||||
override fun onLoadCompleted(
|
||||
dataSpec : DataSpec?,
|
||||
dataType : Int,
|
||||
trackType : Int,
|
||||
trackFormat : Format?,
|
||||
trackSelectionReason : Int,
|
||||
trackSelectionData : Any?,
|
||||
mediaStartTimeMs : Long,
|
||||
mediaEndTimeMs : Long,
|
||||
elapsedRealtimeMs : Long,
|
||||
loadDurationMs : Long,
|
||||
bytesLoaded : Long
|
||||
) {
|
||||
log.d("onLoadCompleted")
|
||||
}
|
||||
|
||||
override fun onLoadCanceled(
|
||||
dataSpec : DataSpec?,
|
||||
dataType : Int,
|
||||
trackType : Int,
|
||||
trackFormat : Format?,
|
||||
trackSelectionReason : Int,
|
||||
trackSelectionData : Any?,
|
||||
mediaStartTimeMs : Long,
|
||||
mediaEndTimeMs : Long,
|
||||
elapsedRealtimeMs : Long,
|
||||
loadDurationMs : Long,
|
||||
bytesLoaded : Long
|
||||
) {
|
||||
log.d("onLoadCanceled")
|
||||
}
|
||||
|
||||
override fun onLoadError(
|
||||
dataSpec : DataSpec?,
|
||||
dataType : Int,
|
||||
trackType : Int,
|
||||
trackFormat : Format?,
|
||||
trackSelectionReason : Int,
|
||||
trackSelectionData : Any?,
|
||||
mediaStartTimeMs : Long,
|
||||
mediaEndTimeMs : Long,
|
||||
elapsedRealtimeMs : Long,
|
||||
loadDurationMs : Long,
|
||||
bytesLoaded : Long,
|
||||
error : IOException?,
|
||||
wasCanceled : Boolean
|
||||
) {
|
||||
if( error != null) {
|
||||
showError(error.withCaption("load error."))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private fun loadBitmap(ta : TootAttachment) {
|
||||
val urlList = ta.getLargeUrlList(App1.pref)
|
||||
|
|
|
@ -15,10 +15,10 @@ import okio.Options
|
|||
import okio.Sink
|
||||
import okio.Source
|
||||
import okio.Timeout
|
||||
import java.nio.ByteBuffer
|
||||
|
||||
|
||||
|
||||
class ProgressResponseBody private constructor(private val originalBody : ResponseBody) : ResponseBody() {
|
||||
class ProgressResponseBody private constructor(private val originalBody : ResponseBody) :
|
||||
ResponseBody() {
|
||||
|
||||
|
||||
companion object {
|
||||
|
@ -29,9 +29,11 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
// ex) builder.addInterceptor( ProgressResponseBody.makeInterceptor() );
|
||||
fun makeInterceptor() : Interceptor {
|
||||
return Interceptor { chain ->
|
||||
val originalResponse = chain.proceed(chain.request()) ?: throw RuntimeException("makeInterceptor: chain.proceed() returns null.")
|
||||
val originalResponse = chain.proceed(chain.request())
|
||||
?: throw RuntimeException("makeInterceptor: chain.proceed() returns null.")
|
||||
|
||||
val originalBody = originalResponse.body() ?: throw RuntimeException("makeInterceptor: originalResponse.body() reruens null.")
|
||||
val originalBody = originalResponse.body()
|
||||
?: throw RuntimeException("makeInterceptor: originalResponse.body() reruens null.")
|
||||
|
||||
originalResponse.newBuilder()
|
||||
.body(ProgressResponseBody(originalBody))
|
||||
|
@ -47,7 +49,10 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
|
||||
@Suppress("MemberVisibilityCanPrivate")
|
||||
@Throws(IOException::class)
|
||||
private fun bytes(body : ResponseBody, callback : ProgressResponseBodyCallback) : ByteArray {
|
||||
private fun bytes(
|
||||
body : ResponseBody,
|
||||
callback : ProgressResponseBodyCallback
|
||||
) : ByteArray {
|
||||
if(body is ProgressResponseBody) {
|
||||
body.callback = callback
|
||||
}
|
||||
|
@ -55,7 +60,7 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
}
|
||||
}
|
||||
|
||||
private var callback : ProgressResponseBodyCallback = {_,_->}
|
||||
private var callback : ProgressResponseBodyCallback = { _, _ -> }
|
||||
|
||||
/*
|
||||
RequestBody.bytes() is defined as final, We can't override it.
|
||||
|
@ -74,8 +79,6 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
} );
|
||||
*/
|
||||
|
||||
|
||||
|
||||
override fun contentType() : MediaType? {
|
||||
return originalBody.contentType()
|
||||
}
|
||||
|
@ -95,6 +98,7 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
|
||||
// If there is the method, create the wrapper.
|
||||
wrappedSource = object : ForwardingBufferedSource(originalSource) {
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readByteArray() : ByteArray {
|
||||
/*
|
||||
|
@ -108,21 +112,22 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
try {
|
||||
val contentLength = originalBody.contentLength()
|
||||
val buffer = originalSource.buffer()
|
||||
val source = field_source.get(originalSource) as Source? ?: throw IllegalArgumentException("source == null")
|
||||
|
||||
// same thing of Buffer.writeAll(), with counting.
|
||||
val source = field_source.get(originalSource) as Source?
|
||||
?: throw IllegalArgumentException("source == null")
|
||||
|
||||
// same thing of Buffer.writeAll(), with counting.
|
||||
var nRead : Long = 0
|
||||
callback (0, Math.max(contentLength, 1))
|
||||
callback(0, Math.max(contentLength, 1))
|
||||
while(true) {
|
||||
val delta = source.read(buffer, 8192)
|
||||
if(delta == - 1L) break
|
||||
nRead += delta
|
||||
if(nRead > 0 ) {
|
||||
callback (nRead, Math.max(contentLength, nRead))
|
||||
if(nRead > 0) {
|
||||
callback(nRead, Math.max(contentLength, nRead))
|
||||
}
|
||||
}
|
||||
// EOS時の進捗
|
||||
callback (nRead, Math.max(contentLength, nRead))
|
||||
callback(nRead, Math.max(contentLength, nRead))
|
||||
|
||||
return buffer.readByteArray()
|
||||
|
||||
|
@ -145,229 +150,118 @@ class ProgressResponseBody private constructor(private val originalBody : Respon
|
|||
}
|
||||
|
||||
// To avoid double buffering, We have to make ForwardingBufferedSource.
|
||||
internal open class ForwardingBufferedSource(private val originalSource : BufferedSource) : BufferedSource {
|
||||
internal open class ForwardingBufferedSource(private val originalSource : BufferedSource) :
|
||||
BufferedSource {
|
||||
|
||||
override fun buffer() : Buffer {
|
||||
return originalSource.buffer()
|
||||
}
|
||||
override fun read(dst : ByteBuffer?) = originalSource.read(dst)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun exhausted() : Boolean {
|
||||
return originalSource.exhausted()
|
||||
}
|
||||
override fun isOpen() = originalSource.isOpen
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun require(byteCount : Long) {
|
||||
originalSource.require(byteCount)
|
||||
}
|
||||
override fun buffer() : Buffer? = originalSource.buffer()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun request(byteCount : Long) : Boolean {
|
||||
return originalSource.request(byteCount)
|
||||
}
|
||||
override fun exhausted() = originalSource.exhausted()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readByte() : Byte {
|
||||
return originalSource.readByte()
|
||||
}
|
||||
override fun require(byteCount : Long) = originalSource.require(byteCount)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readShort() : Short {
|
||||
return originalSource.readShort()
|
||||
}
|
||||
override fun request(byteCount : Long) = originalSource.request(byteCount)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readShortLe() : Short {
|
||||
return originalSource.readShortLe()
|
||||
}
|
||||
override fun readByte() = originalSource.readByte()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readInt() : Int {
|
||||
return originalSource.readInt()
|
||||
}
|
||||
override fun readShort() = originalSource.readShort()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readIntLe() : Int {
|
||||
return originalSource.readIntLe()
|
||||
}
|
||||
override fun readShortLe() = originalSource.readShortLe()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readLong() : Long {
|
||||
return originalSource.readLong()
|
||||
}
|
||||
override fun readInt() = originalSource.readInt()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readLongLe() : Long {
|
||||
return originalSource.readLongLe()
|
||||
}
|
||||
override fun readIntLe() = originalSource.readIntLe()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readDecimalLong() : Long {
|
||||
return originalSource.readDecimalLong()
|
||||
}
|
||||
override fun readLong() = originalSource.readLong()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readHexadecimalUnsignedLong() : Long {
|
||||
return originalSource.readHexadecimalUnsignedLong()
|
||||
}
|
||||
override fun readLongLe() = originalSource.readLongLe()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun skip(byteCount : Long) {
|
||||
originalSource.skip(byteCount)
|
||||
}
|
||||
override fun readDecimalLong() = originalSource.readDecimalLong()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readByteString() : ByteString {
|
||||
return originalSource.readByteString()
|
||||
}
|
||||
override fun readHexadecimalUnsignedLong() = originalSource.readHexadecimalUnsignedLong()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readByteString(byteCount : Long) : ByteString {
|
||||
return originalSource.readByteString(byteCount)
|
||||
}
|
||||
override fun skip(byteCount : Long) = originalSource.skip(byteCount)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun select(options : Options) : Int {
|
||||
return originalSource.select(options)
|
||||
}
|
||||
override fun readByteString() : ByteString? = originalSource.readByteString()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readByteArray() : ByteArray {
|
||||
return originalSource.readByteArray()
|
||||
}
|
||||
override fun readByteString(byteCount : Long) : ByteString? =
|
||||
originalSource.readByteString(byteCount)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readByteArray(byteCount : Long) : ByteArray {
|
||||
return originalSource.readByteArray(byteCount)
|
||||
}
|
||||
override fun select(options : Options) = originalSource.select(options)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun read(sink : ByteArray) : Int {
|
||||
return originalSource.read(sink)
|
||||
}
|
||||
override fun readByteArray() : ByteArray? = originalSource.readByteArray()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readFully(sink : ByteArray) {
|
||||
originalSource.readFully(sink)
|
||||
}
|
||||
override fun readByteArray(byteCount : Long) : ByteArray? =
|
||||
originalSource.readByteArray(byteCount)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun read(sink : ByteArray, offset : Int, byteCount : Int) : Int {
|
||||
return originalSource.read(sink, offset, byteCount)
|
||||
}
|
||||
override fun read(sink : ByteArray) = originalSource.read(sink)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readFully(sink : Buffer, byteCount : Long) {
|
||||
override fun readFully(sink : ByteArray) = originalSource.readFully(sink)
|
||||
|
||||
override fun read(sink : ByteArray, offset : Int, byteCount : Int) =
|
||||
originalSource.read(sink, offset, byteCount)
|
||||
|
||||
override fun readFully(sink : Buffer, byteCount : Long) =
|
||||
originalSource.readFully(sink, byteCount)
|
||||
}
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readAll(sink : Sink) : Long {
|
||||
return originalSource.readAll(sink)
|
||||
}
|
||||
override fun readAll(sink : Sink) = originalSource.readAll(sink)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readUtf8() : String {
|
||||
return originalSource.readUtf8()
|
||||
}
|
||||
override fun readUtf8() : String? = originalSource.readUtf8()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readUtf8(byteCount : Long) : String {
|
||||
return originalSource.readUtf8(byteCount)
|
||||
}
|
||||
override fun readUtf8(byteCount : Long) : String? = originalSource.readUtf8(byteCount)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readUtf8Line() : String? {
|
||||
return originalSource.readUtf8Line()
|
||||
}
|
||||
override fun readUtf8Line() : String? = originalSource.readUtf8Line()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readUtf8LineStrict() : String {
|
||||
return originalSource.readUtf8LineStrict()
|
||||
}
|
||||
override fun readUtf8LineStrict() : String? = originalSource.readUtf8LineStrict()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readUtf8LineStrict(limit : Long) : String {
|
||||
return originalSource.readUtf8LineStrict(limit)
|
||||
}
|
||||
override fun readUtf8LineStrict(limit : Long) : String? =
|
||||
originalSource.readUtf8LineStrict(limit)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readUtf8CodePoint() : Int {
|
||||
return originalSource.readUtf8CodePoint()
|
||||
}
|
||||
override fun readUtf8CodePoint() = originalSource.readUtf8CodePoint()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readString(charset : Charset) : String {
|
||||
return originalSource.readString(charset)
|
||||
}
|
||||
override fun readString(charset : Charset) : String? = originalSource.readString(charset)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun readString(byteCount : Long, charset : Charset) : String {
|
||||
return originalSource.readString(byteCount, charset)
|
||||
}
|
||||
override fun readString(byteCount : Long, charset : Charset) : String? =
|
||||
originalSource.readString(byteCount, charset)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOf(b : Byte) : Long {
|
||||
return originalSource.indexOf(b)
|
||||
}
|
||||
override fun indexOf(b : Byte) = originalSource.indexOf(b)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOf(b : Byte, fromIndex : Long) : Long {
|
||||
return originalSource.indexOf(b, fromIndex)
|
||||
}
|
||||
override fun indexOf(b : Byte, fromIndex : Long) = originalSource.indexOf(b, fromIndex)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOf(b : Byte, fromIndex : Long, toIndex : Long) : Long {
|
||||
return originalSource.indexOf(b, fromIndex, toIndex)
|
||||
}
|
||||
override fun indexOf(b : Byte, fromIndex : Long, toIndex : Long) =
|
||||
originalSource.indexOf(b, fromIndex, toIndex)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOf(bytes : ByteString) : Long {
|
||||
return originalSource.indexOf(bytes)
|
||||
}
|
||||
override fun indexOf(bytes : ByteString) = originalSource.indexOf(bytes)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOf(bytes : ByteString, fromIndex : Long) : Long {
|
||||
return originalSource.indexOf(bytes, fromIndex)
|
||||
}
|
||||
override fun indexOf(bytes : ByteString, fromIndex : Long) =
|
||||
originalSource.indexOf(bytes, fromIndex)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOfElement(targetBytes : ByteString) : Long {
|
||||
return originalSource.indexOfElement(targetBytes)
|
||||
}
|
||||
override fun indexOfElement(targetBytes : ByteString) =
|
||||
originalSource.indexOfElement(targetBytes)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun indexOfElement(targetBytes : ByteString, fromIndex : Long) : Long {
|
||||
return originalSource.indexOfElement(targetBytes, fromIndex)
|
||||
}
|
||||
override fun indexOfElement(targetBytes : ByteString, fromIndex : Long) =
|
||||
originalSource.indexOfElement(targetBytes, fromIndex)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun rangeEquals(offset : Long, bytes : ByteString) : Boolean {
|
||||
return originalSource.rangeEquals(offset, bytes)
|
||||
}
|
||||
override fun rangeEquals(offset : Long, bytes : ByteString) =
|
||||
originalSource.rangeEquals(offset, bytes)
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun rangeEquals(offset : Long, bytes : ByteString, bytesOffset : Int, byteCount : Int) : Boolean {
|
||||
return originalSource.rangeEquals(offset, bytes, bytesOffset, byteCount)
|
||||
}
|
||||
override fun rangeEquals(
|
||||
offset : Long,
|
||||
bytes : ByteString,
|
||||
bytesOffset : Int,
|
||||
byteCount : Int
|
||||
) = originalSource.rangeEquals(offset, bytes, bytesOffset, byteCount)
|
||||
|
||||
override fun inputStream() : InputStream {
|
||||
return originalSource.inputStream()
|
||||
}
|
||||
override fun inputStream() : InputStream? = originalSource.inputStream()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun read(sink : Buffer, byteCount : Long) : Long {
|
||||
return originalSource.read(sink, byteCount)
|
||||
}
|
||||
override fun read(sink : Buffer, byteCount : Long) = originalSource.read(sink, byteCount)
|
||||
|
||||
override fun timeout() : Timeout {
|
||||
return originalSource.timeout()
|
||||
}
|
||||
override fun timeout() : Timeout? = originalSource.timeout()
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun close() {
|
||||
originalSource.close()
|
||||
}
|
||||
override fun close() = originalSource.close()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ buildscript {
|
|||
ext.kotlin_version = '1.2.31'
|
||||
ext.kotlin_coroutines_version = '0.21.2'
|
||||
ext.anko_version='0.10.4'
|
||||
ext.asl_version='27.1.1'
|
||||
ext.firebase_version='12.0.1'
|
||||
|
||||
repositories {
|
||||
jcenter()
|
||||
|
|
|
@ -16,7 +16,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.android.support:appcompat-v7:27.1.0'
|
||||
implementation "com.android.support:appcompat-v7:$asl_version"
|
||||
}
|
||||
|
||||
//apply plugin: 'com.getkeepsafe.dexcount'
|
||||
|
|
|
@ -27,7 +27,7 @@ android {
|
|||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
||||
implementation 'com.android.support:appcompat-v7:27.1.0'
|
||||
implementation "com.android.support:appcompat-v7:$asl_version"
|
||||
// testImplementation 'junit:junit:4.12'
|
||||
// androidTestImplementation 'com.android.support.test:runner:1.0.1'
|
||||
// androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
|
||||
|
|
Loading…
Reference in New Issue