63 lines
2.4 KiB
Kotlin
63 lines
2.4 KiB
Kotlin
|
package code.name.monkey.retromusic.activities
|
||
|
|
||
|
import android.content.Intent
|
||
|
import android.net.Uri
|
||
|
import android.os.Bundle
|
||
|
import android.provider.Settings
|
||
|
import androidx.core.text.HtmlCompat
|
||
|
import code.name.monkey.appthemehelper.ThemeStore
|
||
|
import code.name.monkey.appthemehelper.util.VersionUtils
|
||
|
import code.name.monkey.retromusic.R
|
||
|
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
|
||
|
import code.name.monkey.retromusic.extensions.accentBackgroundColor
|
||
|
import code.name.monkey.retromusic.extensions.show
|
||
|
import code.name.monkey.retromusic.util.RingtoneManager
|
||
|
import kotlinx.android.synthetic.main.activity_permission.*
|
||
|
import kotlinx.android.synthetic.main.fragment_library.appNameText
|
||
|
|
||
|
|
||
|
class PermissionActivity : AbsMusicServiceActivity() {
|
||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||
|
super.onCreate(savedInstanceState)
|
||
|
setContentView((R.layout.activity_permission))
|
||
|
setStatusbarColorAuto()
|
||
|
setNavigationbarColorAuto()
|
||
|
setLightNavigationBar(true)
|
||
|
setTaskDescriptionColorAuto()
|
||
|
setupTitle()
|
||
|
|
||
|
storagePermission.setButtonClick {
|
||
|
requestPermissions()
|
||
|
}
|
||
|
if (VersionUtils.hasMarshmallow()) audioPermission.show()
|
||
|
audioPermission.setButtonClick {
|
||
|
if (RingtoneManager.requiresDialog(this@PermissionActivity)) {
|
||
|
val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS)
|
||
|
intent.data = Uri.parse("package:" + applicationContext.packageName)
|
||
|
startActivity(intent)
|
||
|
}
|
||
|
}
|
||
|
finish.accentBackgroundColor()
|
||
|
finish.setOnClickListener {
|
||
|
if (hasPermissions() && !RingtoneManager.requiresDialog(this)) {
|
||
|
startActivity(
|
||
|
Intent(this, MainActivity::class.java).addFlags(
|
||
|
Intent.FLAG_ACTIVITY_NEW_TASK or
|
||
|
Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||
|
)
|
||
|
)
|
||
|
finish()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private fun setupTitle() {
|
||
|
val color = ThemeStore.accentColor(this)
|
||
|
val hexColor = String.format("#%06X", 0xFFFFFF and color)
|
||
|
val appName = HtmlCompat.fromHtml(
|
||
|
"Hello there! <br>Welcome to <b>Retro <span style='color:$hexColor';>Music</span></b>",
|
||
|
HtmlCompat.FROM_HTML_MODE_COMPACT
|
||
|
)
|
||
|
appNameText.text = appName
|
||
|
}
|
||
|
}
|