mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-04 03:37:21 +00:00
Added dummy countdown timer to midnight to the toolbar
This commit is contained in:
1 parent
13ac2357ea
commit
1d219ab841
3 files changed
+77
-11
No files matched your search
@@ -1,11 +1,15 @@
|
||||
package com.rtbishop.lookingsat
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.CountDownTimer
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.lifecycle.ViewModelProviders
|
||||
import androidx.navigation.findNavController
|
||||
@@ -13,38 +17,76 @@ import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.navigateUp
|
||||
import androidx.navigation.ui.setupActionBarWithNavController
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var appBarConfig: AppBarConfiguration
|
||||
private lateinit var mainViewModel: MainViewModel
|
||||
private lateinit var timerLayout: ConstraintLayout
|
||||
private lateinit var timeToAos: TextView
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
setupViews()
|
||||
setupNavigation()
|
||||
setupTimer()
|
||||
}
|
||||
|
||||
private fun setupViews() {
|
||||
mainViewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
|
||||
timerLayout = findViewById(R.id.timer_layout)
|
||||
timeToAos = findViewById(R.id.time_to_aos)
|
||||
}
|
||||
|
||||
private fun setupNavigation() {
|
||||
val toolbar: Toolbar = findViewById(R.id.toolbar)
|
||||
setSupportActionBar(toolbar)
|
||||
|
||||
val fab: FloatingActionButton = findViewById(R.id.fab)
|
||||
fab.setOnClickListener { view ->
|
||||
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
|
||||
.setAction("Action", null).show()
|
||||
}
|
||||
|
||||
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
|
||||
val navView: NavigationView = findViewById(R.id.nav_view)
|
||||
val navController = findNavController(R.id.nav_host)
|
||||
|
||||
appBarConfig =
|
||||
AppBarConfiguration(setOf(R.id.nav_sky, R.id.nav_radar, R.id.nav_map), drawerLayout)
|
||||
appBarConfig = AppBarConfiguration(setOf(R.id.nav_sky), drawerLayout)
|
||||
setupActionBarWithNavController(navController, appBarConfig)
|
||||
navView.setupWithNavController(navController)
|
||||
|
||||
navController.addOnDestinationChangedListener { _, destination, _ ->
|
||||
if (destination.id == R.id.nav_sky) {
|
||||
timerLayout.visibility = View.VISIBLE
|
||||
} else {
|
||||
timerLayout.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupTimer() {
|
||||
val cal = Calendar.getInstance()
|
||||
cal.add(Calendar.DAY_OF_MONTH, 1)
|
||||
cal.set(Calendar.HOUR_OF_DAY, 0)
|
||||
cal.set(Calendar.MINUTE, 0)
|
||||
cal.set(Calendar.SECOND, 0)
|
||||
cal.set(Calendar.MILLISECOND, 0)
|
||||
val totalMillis = cal.timeInMillis - System.currentTimeMillis()
|
||||
|
||||
val timer = object : CountDownTimer(totalMillis, 1000) {
|
||||
override fun onFinish() {
|
||||
Toast.makeText(this@MainActivity, "Time is up!", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
override fun onTick(millisUntilFinished: Long) {
|
||||
timeToAos.text = String.format(
|
||||
resources.getString(R.string.next_aos_pattern),
|
||||
TimeUnit.MILLISECONDS.toHours(millisUntilFinished) % 60,
|
||||
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) % 60,
|
||||
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) % 60
|
||||
)
|
||||
}
|
||||
}
|
||||
timer.start()
|
||||
}
|
||||
|
||||
override fun onSupportNavigateUp(): Boolean {
|
||||
|
||||
Reference in new issue
Block a user