if (!isConnected){
program.text = "Requires internet"
//startTime.visibility = View.INVISIBLE
//endTime.visibility = View.INVISIBLE
// emptyString.visibility = View.VISIBLE
// emptyString.text = "No internet"
apiViewModel.programs.observe(this) {
programs -> run {
adapter.submitList(programs)
// Log.d("Programs", "$programs")
}
}
play.setOnClickListener {
Toast.makeText(this, "Requires internet", Toast.LENGTH_SHORT).show()
}
stop.setOnClickListener {
finish()
stopService(Intent(this, BackgroundStreamService::class.java))
}
} else{
//startTime.visibility = View.VISIBLE
//endTime.visibility = View.VISIBLE
play.setOnClickListener {
if(isPlaying){
play.setImageResource(R.drawable.baseline_play_arrow_24)
stopService(Intent(this, BackgroundStreamService::class.java))
isPlaying = false
}else{
startForegroundService(Intent(this, BackgroundStreamService::class.java))
isPlaying = true
//play.setBackgroundResource(R.drawable.baseline_stop_24)
play.setImageResource(R.drawable.baseline_stop_24)
}
}
stop.setOnClickListener {
finish()
stopService(Intent(this, BackgroundStreamService::class.java))
}
//fetchPrograms()
apiViewModel.programs.observe(this) {
programs -> run {
adapter.submitList(programs)
Log.d("Programs", "$programs")
}
}
}
rrepo
val programs: LiveData<List<Program>> = Transformations.map(programDao.getPrograms()){
it.asDomainModel()
}
suspend fun refreshPrograms(){
withContext(Dispatchers.IO){
val programs = NodejsApi.programApi.getProgramAsync().await()
programDao.insertAll(programs)
}
}
我还需要在检查手机是否连接到Internet之后还需要检查数据库中是否存在数据。
if (programs.isEmpty()){
emptyString.visibility = View.VISIBLE
emptyString.text = "No data in the database. \nPlease turn on the internet."
}else{
adapter.submitList(programs)
}