Skip to content

Commit 8615b58

Browse files
committed
Tweak & import parcelize
1 parent 2d08203 commit 8615b58

File tree

7 files changed

+30
-40
lines changed

7 files changed

+30
-40
lines changed

app/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ plugins {
77
kotlin("kapt")
88
}
99

10+
androidExtensions {
11+
isExperimental = true
12+
features = setOf("views", "parcelize")
13+
}
14+
1015
android {
1116
compileSdkVersion(28)
1217
defaultConfig {

app/src/main/java/cn/nekocode/gank/GankApplication.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,26 @@ class GankApplication : Application() {
5252
}
5353
}
5454

55-
fun Context.activityRouter() = (this.applicationContext as GankApplication).activityRouter
56-
fun Context.broadcastRouter() = (this.applicationContext as GankApplication).broadcastRouter
57-
fun Context.gankIoService() = (this.applicationContext as GankApplication).gankIoService
55+
val Context.activityRouter get() = (this.applicationContext as GankApplication).activityRouter
56+
val Context.broadcastRouter get() = (this.applicationContext as GankApplication).broadcastRouter
57+
val Context.gankIoService get() = (this.applicationContext as GankApplication).gankIoService
5858

5959
fun Context.registerLocalReceiver(
60-
receiver: (Context?, Intent?) -> Unit, intentFilter: IntentFilter) {
61-
60+
receiver: BroadcastReceiver.(Context?, Intent?) -> Unit,
61+
intentFilter: IntentFilter
62+
) {
6263
LocalBroadcastManager.getInstance(this)
6364
.registerReceiver(object : BroadcastReceiver() {
6465
override fun onReceive(context: Context?, intent: Intent?) {
65-
receiver.invoke(context, intent)
66+
receiver.invoke(this, context, intent)
6667
}
6768
}, intentFilter)
6869
}
6970

70-
fun Context.registerLocalReceiver(receiver: (Context?, Intent?) -> Unit, vararg actions: String) {
71+
fun Context.registerLocalReceiver(
72+
receiver: BroadcastReceiver.(Context?, Intent?) -> Unit,
73+
vararg actions: String
74+
) {
7175
val intentFilter = IntentFilter()
7276
actions.forEach {
7377
intentFilter.addAction(it)

app/src/main/java/cn/nekocode/gank/base/BaseActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package cn.nekocode.gank.base
1818

19+
import android.annotation.SuppressLint
1920
import android.support.v4.app.NavUtils
2021
import android.support.v7.app.AppCompatActivity
2122
import android.view.MenuItem
@@ -28,6 +29,7 @@ import io.reactivex.parallel.ParallelFlowable
2829
/**
2930
* @author nekocode ([email protected])
3031
*/
32+
@SuppressLint("Registered")
3133
open class BaseActivity : AppCompatActivity() {
3234
override fun onOptionsItemSelected(item: MenuItem): Boolean {
3335
return when (item.itemId) {

app/src/main/java/cn/nekocode/gank/ui/home/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class MainActivity : BaseActivity() {
3737
setContentView(R.layout.activity_main)
3838
fetchBtn.text = Html.fromHtml(getString(R.string.fetch_pic))
3939
fetchBtn.setOnClickListener {
40-
activityRouter().gotoPic(this)
40+
activityRouter.gotoPic(this)
4141
}
4242

4343
// Register local broadcast receiver

app/src/main/java/cn/nekocode/gank/ui/pic/PicActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class PicActivity : BaseActivity() {
5252
if (pic != null) {
5353
Single.just(pic!!)
5454
} else {
55-
gankIoService().picApi.getMeiziPics(1, 0)
55+
gankIoService.picApi.getMeiziPics(1, 0)
5656
.subscribeOn(Schedulers.io())
5757
.firstOrError()
5858
.map { response ->
@@ -65,7 +65,7 @@ class PicActivity : BaseActivity() {
6565
.subscribe({ pic ->
6666
title = pic.id
6767
Picasso.with(this).load(pic.url).centerCrop().fit().into(imageView)
68-
broadcastRouter().tellFetchSuc(this)
68+
broadcastRouter.tellFetchSuc(this)
6969

7070
}, { _ ->
7171
Toast.makeText(this, R.string.sth_went_wrong, Toast.LENGTH_SHORT).show()

backend/build.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion
33
plugins {
44
id("com.android.library")
55
kotlin("android")
6+
kotlin("android.extensions")
7+
}
8+
9+
androidExtensions {
10+
isExperimental = true
11+
features = setOf("parcelize")
612
}
713

814
android {

backend/src/main/java/cn/nekocode/gank/backend/model/MeiziPic.kt

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,44 +16,17 @@
1616

1717
package cn.nekocode.gank.backend.model
1818

19-
import android.os.Parcel
2019
import android.os.Parcelable
2120
import com.google.gson.annotations.SerializedName
21+
import kotlinx.android.parcel.Parcelize
2222

2323
/**
2424
* @author nekocode ([email protected])
2525
*/
26+
@Parcelize
2627
data class MeiziPic(
2728
@SerializedName("_id") override val id: String,
2829
@SerializedName("type") val type: String,
2930
@SerializedName("url") val url: String,
3031
@SerializedName("who") val who: String
31-
) : WithId, Parcelable {
32-
constructor(parcel: Parcel) : this(
33-
parcel.readString(),
34-
parcel.readString(),
35-
parcel.readString(),
36-
parcel.readString()) {
37-
}
38-
39-
override fun writeToParcel(parcel: Parcel, flags: Int) {
40-
parcel.writeString(id)
41-
parcel.writeString(type)
42-
parcel.writeString(url)
43-
parcel.writeString(who)
44-
}
45-
46-
override fun describeContents(): Int {
47-
return 0
48-
}
49-
50-
companion object CREATOR : Parcelable.Creator<MeiziPic> {
51-
override fun createFromParcel(parcel: Parcel): MeiziPic {
52-
return MeiziPic(parcel)
53-
}
54-
55-
override fun newArray(size: Int): Array<MeiziPic?> {
56-
return arrayOfNulls(size)
57-
}
58-
}
59-
}
32+
) : WithId, Parcelable

0 commit comments

Comments
 (0)