Skip to content

Instantly share code, notes, and snippets.

@finnkvan
Last active October 13, 2018 19:08
Show Gist options
  • Save finnkvan/a8d58b49fb57a155cff13bcc5514feb4 to your computer and use it in GitHub Desktop.
Save finnkvan/a8d58b49fb57a155cff13bcc5514feb4 to your computer and use it in GitHub Desktop.
package com.pivincii.blogging
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.util.AttributeSet
import android.widget.Button
import android.widget.FrameLayout
import android.widget.TextView
import com.pivincii.blogging.activityresult.ActivityResultObserver
import com.pivincii.blogging.activityresult.ActivityResultObservable
import android.Manifest.permission.READ_EXTERNAL_STORAGE
import android.support.v4.app.ActivityCompat
import android.content.pm.PackageManager
import android.os.Build
private const val PICKFILE_REQUEST_CODE = 1001
/**
* TODO: document your custom view class.
*/
class CustomView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
): FrameLayout(context, attrs, defStyleAttr), ActivityResultObserver {
override fun onAttachedToWindow() {
super.onAttachedToWindow()
(context as ActivityResultObservable).addObserver(this)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
(context as ActivityResultObservable).removeObserver(this)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == PICKFILE_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
data?.dataString?.run { pathFileTV.text = this }
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment