JoaquimLey / transport-eta

Twitch streamed 🎥playground repo, README speaks to you.
https://medium.com/@JoaquimLey/android-architecture-components-now-with-100-more-mvvm-11629a630125
Apache License 2.0
224 stars 45 forks source link

Extract Android permissions from HomeActivity #46

Open JoaquimLey opened 6 years ago

JoaquimLey commented 6 years ago

HomeActivity is currently responsible for requesting the necessary Android permissions, this is wrong.

Context

The idea is the HomeActivity should only be responsible for navigation.

Tasks

Extract this code from HomeActivity

 /**
     * Runtime permission shenanigans
     */
    private fun hasReadSmsPermission(): Boolean {
        return ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) == PackageManager.PERMISSION_GRANTED &&
                ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) == PackageManager.PERMISSION_GRANTED &&
                ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_GRANTED
    }

    private fun requestReadAndSendSmsPermission() {
        ActivityCompat.requestPermissions(this,
                arrayOf(Manifest.permission.SEND_SMS, Manifest.permission.READ_SMS, Manifest.permission.RECEIVE_SMS), SMS_PERMISSION_CODE)
    }