permissions-dispatcher / PermissionsDispatcher

A declarative API to handle Android runtime permissions.
https://github.com/permissions-dispatcher/PermissionsDispatcher
Apache License 2.0
11.22k stars 1.44k forks source link

Kotlin generation doesn't keep types of Any,Any is translated to java.lang.Object #545

Closed yuyang272999712 closed 5 years ago

yuyang272999712 commented 5 years ago

Overview

@RuntimePermissions
open class BaseFragmentActivity<V, T:MvpPresenter<V>> : FragmentActivity() {
...
}
@NeedsPermission(Manifest.permission.READ_CONTACTS)
fun doContactsPermissionSucc() {
...
}

Expected

fun <V : Any, T : MvpPresenter<V>> BaseFragmentActivity<V, T>.doContactsPermissionSuccWithPermissionCheck() {
  if (PermissionUtils.hasSelfPermissions(this, *PERMISSION_DOCONTACTSPERMISSIONSUCC)) {
     doContactsPermissionSucc()
  } else {
     ActivityCompat.requestPermissions(this, PERMISSION_DOCONTACTSPERMISSIONSUCC, REQUEST_DOCONTACTSPERMISSIONSUCC)
  }
}

Actual

fun <V : Object, T : MvpPresenter<V>> BaseFragmentActivity<V, T>.doContactsPermissionSuccWithPermissionCheck() {
  if (PermissionUtils.hasSelfPermissions(this, *PERMISSION_DOCONTACTSPERMISSIONSUCC)) {
     doContactsPermissionSucc()
  } else {
     ActivityCompat.requestPermissions(this, PERMISSION_DOCONTACTSPERMISSIONSUCC, REQUEST_DOCONTACTSPERMISSIONSUCC)
  }
}

Just Same as #427

yuyang272999712 commented 5 years ago
implementation "com.github.hotchemi:permissionsdispatcher:4.0.0"
kapt "com.github.hotchemi:permissionsdispatcher-processor:4.0.0"
hotchemi commented 5 years ago

I think this is due to KotlinPoet.. 🤔

hotchemi commented 5 years ago

Updated kotlinpoet to 1.0.0 but the issue hasn't been addressed🤔