Skip to content

Commit e25e94c

Browse files
committed
升级Kotlin、Paging3
1 parent 9aad81b commit e25e94c

File tree

5 files changed

+26
-30
lines changed

5 files changed

+26
-30
lines changed

app/src/main/java/com/fmt/github/WelcomeActivity.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@ class WelcomeActivity : BaseDataBindActivity<ActivityWelcomeBinding>() {
3636
}
3737

3838
private fun askForPermission() {
39-
runWithPermissions(Permission.READ_PHONE_STATE, Permission.READ_EXTERNAL_STORAGE,
40-
Permission.WRITE_EXTERNAL_STORAGE, granted = object : Callback {
41-
override fun invoke(result: AssentResult) {
42-
checkIsLogin()
43-
}
44-
}, denied = object : Callback {
45-
override fun invoke(result: AssentResult) {
46-
finish()
47-
}
48-
})
39+
lifecycleScope.launch {
40+
runWithPermissions(
41+
Permission.READ_PHONE_STATE, Permission.READ_EXTERNAL_STORAGE,
42+
Permission.WRITE_EXTERNAL_STORAGE
43+
).yes {
44+
checkIsLogin()
45+
}.otherwise {
46+
finish()
47+
}
48+
}
4949
}
5050

5151
private fun checkIsLogin() {
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,33 @@
11
package com.fmt.github.ext
22

33
import android.app.Activity
4-
import android.content.pm.PackageManager.PERMISSION_GRANTED
54
import com.afollestad.assent.*
65
import com.afollestad.assent.rationale.RationaleHandler
6+
import kotlinx.coroutines.suspendCancellableCoroutine
7+
import kotlin.coroutines.resume
78

89
//拓展Assent动态申请权限
9-
fun Activity.runWithPermissions(
10+
suspend fun Activity.runWithPermissions(
1011
vararg permissions: Permission,
1112
requestCode: Int = 40,
1213
rationaleHandler: RationaleHandler? = null,
13-
granted: Callback,
14-
denied: Callback
15-
) {
14+
): Boolean = suspendCancellableCoroutine { continuation ->
15+
16+
//这里注意:permissions可变参数,传递要加*,如果不太明白,可以反编译Kotlin查看编译后的Java类
1617
isAllGranted(*permissions).yes {
17-
val permissionList = permissions.asList()
18-
val grantResultList = IntArray(permissions.size)
19-
permissionList.forEachIndexed { index, _ ->
20-
grantResultList[index] = PERMISSION_GRANTED
21-
}
22-
granted.invoke(AssentResult(permissionList, grantResultList))
18+
continuation.resume(true)
2319
}.otherwise {
2420
askForPermissions(
2521
*permissions,
2622
requestCode = requestCode,
2723
rationaleHandler = rationaleHandler
2824
) {
2925
it.isAllGranted(*permissions).yes {
30-
granted.invoke(it)
26+
//granted.invoke(it)
27+
continuation.resume(true)
3128
}.otherwise {
32-
denied.invoke(it)
29+
continuation.resume(false)
3330
}
3431
}
3532
}
36-
}
33+
}

app/src/main/java/com/fmt/github/home/activity/CommonSearchActivity.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.fmt.github.home.activity
33
import android.view.View
44
import android.view.inputmethod.EditorInfo
55
import androidx.fragment.app.Fragment
6-
import androidx.lifecycle.Observer
76
import com.fmt.github.R
87
import com.fmt.github.base.activity.BaseDataBindActivity
98
import com.fmt.github.databinding.ActivityCommonSearchBinding
@@ -68,11 +67,11 @@ class CommonSearchActivity : BaseDataBindActivity<ActivityCommonSearchBinding>()
6867

6968
private fun showPopupView() {
7069
mIsSearchRepos.yes {
71-
createSortReposPopup(this).observe(this, Observer {
70+
createSortReposPopup(this).observe(this, {
7271
searchReposOrUsersBySortOption(it)
7372
})
7473
}.otherwise {
75-
createSortUsesPopup(this).observe(this, Observer {
74+
createSortUsesPopup(this).observe(this, {
7675
searchReposOrUsersBySortOption(it)
7776
})
7877
}

app/src/main/java/com/fmt/github/home/activity/HomeActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ class HomeActivity : BaseVMActivity(), NavigationView.OnNavigationItemSelectedLi
140140
}
141141

142142
private fun checkVersionUpdate() {
143-
mViewModel.getReleases().observe(this, Observer {
143+
mViewModel.getReleases().observe(this, {
144144
(it.tag_name != getVersionName()).yes {
145145
showVersionUpdatePopup(it.assets[0].browser_download_url)
146146
}

app/src/main/java/com/fmt/github/repos/activity/ReposDetailActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ class ReposDetailActivity : BaseVMActivity() {
7979

8080
private fun starRepo() {
8181
mViewModel.starRepo(mOwner, mRepos)
82-
.observe(this@ReposDetailActivity, Observer {
82+
.observe(this@ReposDetailActivity, {
8383
successToast(getString(R.string.stared))
8484
LiveEventBus.get().with(Constant.STAR_EVENT_KEY).post(ReposStarEvent())
8585
})
8686
}
8787

8888
private fun unStarRepo() {
8989
mViewModel.unStarRepo(mOwner, mRepos)
90-
.observe(this@ReposDetailActivity, Observer {
90+
.observe(this@ReposDetailActivity, {
9191
successToast(getString(R.string.un_stared))
9292
LiveEventBus.get().with(Constant.STAR_EVENT_KEY).post(ReposStarEvent())
9393
})

0 commit comments

Comments
 (0)