Copy/paste for Wi-Fi configurations

This commit is contained in:
Mygod
2019-04-04 17:59:21 +08:00
parent 1145b0f23b
commit 411f98c36f
6 changed files with 190 additions and 108 deletions

View File

@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.content.*
import android.os.Build
import android.os.Parcel
import android.os.Parcelable
import android.text.Spannable
import android.text.SpannableString
import android.text.SpannableStringBuilder
@@ -42,6 +43,16 @@ fun <T> useParcel(block: (Parcel) -> T) = Parcel.obtain().run {
}
}
fun Parcelable.toByteArray(parcelableFlags: Int = 0) = useParcel { p ->
p.writeParcelable(this, parcelableFlags)
p.marshall()
}
fun <T : Parcelable> ByteArray.toParcelable() = useParcel { p ->
p.unmarshall(this, 0, size)
p.setDataPosition(0)
p.readParcelable<T>(javaClass.classLoader)
}
fun broadcastReceiver(receiver: (Context, Intent) -> Unit) = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) = receiver(context, intent)
}