conventionschedule-android/app/src/main/java/com/adlerosn/brasilfurfest/SplashActivity.kt

55 lines
1.9 KiB
Kotlin
Raw Normal View History

2018-07-13 21:09:43 +00:00
package com.adlerosn.brasilfurfest
import android.content.Intent
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.ImageView
2018-07-17 19:38:11 +00:00
import com.adlerosn.brasilfurfest.helper.KnownAssets
2018-07-18 02:25:06 +00:00
import com.adlerosn.brasilfurfest.notification.NextNotificationScheduler
2018-07-13 21:09:43 +00:00
import com.adlerosn.brasilfurfest.schedule.ScheduleActivity
import com.adlerosn.brasilfurfest.schedule.ScheduleManager
2018-07-18 15:01:16 +00:00
import kotlinx.android.synthetic.main.activity_splash.*
2018-07-13 21:09:43 +00:00
import org.jetbrains.anko.doAsync
import org.jetbrains.anko.uiThread
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
2018-07-18 15:40:37 +00:00
val fastStart = intent.getBooleanExtra("fastStart", false)
2018-07-13 21:09:43 +00:00
setContentView(R.layout.activity_splash)
val scheduleManager = ScheduleManager(this)
if(
scheduleManager.conventionTime.timeInMillis
>
scheduleManager.convention.alternativeBannerAfter.timeInMillis
)
loadSplash(scheduleManager.convention.alternativeBannerAsset)
else
loadSplash()
2018-07-18 15:01:16 +00:00
scheduleManager.selfFixFirstStartup()
2018-07-18 02:25:06 +00:00
NextNotificationScheduler(this, scheduleManager)
2018-07-13 21:09:43 +00:00
doAsync {
2018-07-18 15:40:37 +00:00
Thread.sleep(if (fastStart) 100 else 3750)
2018-07-13 21:09:43 +00:00
uiThread { launchSchedule() }
}
}
private fun loadSplash(asset: String = KnownAssets.banner){
2018-07-18 15:01:16 +00:00
imageSplash.setImageDrawable(
2018-07-13 21:09:43 +00:00
Drawable.createFromStream(
assets.open(asset),
2018-07-13 21:09:43 +00:00
null
)
)
}
private fun launchSchedule() {
val intent = Intent(this, ScheduleActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
this.startActivity(intent)
this.finish()
}
}