48 lines
1.7 KiB
Kotlin
48 lines
1.7 KiB
Kotlin
|
package io.xdrm.lebonprix
|
||
|
|
||
|
import android.content.Context
|
||
|
import android.content.Intent
|
||
|
import android.media.AudioManager
|
||
|
import android.media.MediaPlayer
|
||
|
import android.support.v7.app.AppCompatActivity
|
||
|
import android.os.Bundle
|
||
|
import android.os.Handler
|
||
|
import android.provider.MediaStore
|
||
|
import android.view.WindowManager
|
||
|
import io.xdrm.lebonprix.anim.GooeySplashAnimation
|
||
|
import kotlinx.android.synthetic.main.activity_gooey_splash_screen.*
|
||
|
import kotlinx.coroutines.GlobalScope
|
||
|
import kotlinx.coroutines.launch
|
||
|
|
||
|
class GooeySplashScreen : AppCompatActivity() {
|
||
|
|
||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||
|
super.onCreate(savedInstanceState)
|
||
|
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||
|
setContentView(R.layout.activity_gooey_splash_screen)
|
||
|
|
||
|
// 1. launch animation
|
||
|
val anim = GooeySplashAnimation(resources, canvas_wrapper)
|
||
|
anim.duration = 4000
|
||
|
anim.start()
|
||
|
|
||
|
// 2. Override media volume if below a required level
|
||
|
val audio = getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||
|
val requiredMinimumVolume = audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC) * 0.5
|
||
|
|
||
|
if( audio.getStreamVolume(AudioManager.STREAM_MUSIC) < requiredMinimumVolume )
|
||
|
audio.setStreamVolume(AudioManager.STREAM_MUSIC, requiredMinimumVolume.toInt(), 0)
|
||
|
|
||
|
// 3. play sound + override volume
|
||
|
val player = MediaPlayer.create(this, R.raw.drop)
|
||
|
Handler().postDelayed({ player.start() }, 1000)
|
||
|
|
||
|
// 4. go to Home after delay
|
||
|
Handler().postDelayed({
|
||
|
player.stop()
|
||
|
startActivity( Intent(this, HomeActivity::class.java) )
|
||
|
finish()
|
||
|
}, 4000)
|
||
|
}
|
||
|
}
|