Skip to content
Snippets Groups Projects
Commit 1b07e66b authored by naufal's avatar naufal
Browse files

braodcast

parent cfc23118
Branches
Tags
No related merge requests found
......@@ -2,6 +2,7 @@ package com.example.myapplication
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.os.Bundle
......@@ -23,12 +24,14 @@ import com.example.myapplication.util.EventBus
import com.example.myapplication.util.SecretPreference
import java.util.concurrent.TimeUnit
import com.example.myapplication.ui.settings.SettingsViewModel
import com.example.myapplication.util.AppBroadcastReceiver
class MainActivity : AppCompatActivity(){
private lateinit var binding: ActivityMainBinding
private lateinit var secretPreference : SecretPreference
private val checkConnection by lazy { CheckConnection(application) }
private val connected : MutableLiveData<Boolean> = MutableLiveData(true)
private lateinit var receiver: AppBroadcastReceiver
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
......@@ -52,6 +55,11 @@ class MainActivity : AppCompatActivity(){
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
receiver = AppBroadcastReceiver()
val filter = IntentFilter("com.example.myapplication.ui.transactions.ADD_TRANSACTION")
registerReceiver(receiver, filter)
// val loginIntent = Intent(this, LoginActivity::class.java)
// startActivity(loginIntent)
}
......@@ -94,6 +102,11 @@ class MainActivity : AppCompatActivity(){
}
}
}
override fun onDestroy() {
super.onDestroy()
unregisterReceiver(receiver)
}
fun updateConnection(value: Boolean) {
connected.value = value
}
......
......@@ -19,6 +19,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.example.myapplication.MainActivity
import com.example.myapplication.R
import com.example.myapplication.databinding.FragmentSettingsBinding
import kotlin.random.Random
class SettingsFragment : Fragment() {
private var _binding: FragmentSettingsBinding? = null
......@@ -86,10 +87,13 @@ class SettingsFragment : Fragment() {
}
val titleList = listOf("Makan", "Minum", "Date", "Halo", "Cincin")
randomizeButton.setOnClickListener {
val intent = Intent("RANDOMIZE")
intent.putExtra("val", "val")
requireContext().sendBroadcast(intent)
val map = mapOf("title" to Random.nextInt(0, 4 + 1), "nominal" to Random.nextInt(1,1000000 + 1))
val intent = Intent("com.example.myapplication.ui.transactions.ADD_TRANSACTION")
intent.putExtra("map", HashMap(map))
context?.sendBroadcast(intent)
}
return root
......
package com.example.myapplication.util
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.example.myapplication.repository.TransactionRepository
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
class AppBroadcastReceiver : BroadcastReceiver(){
private lateinit var transactionRepository : TransactionRepository
override fun onReceive(context: Context?, intent: Intent?) {
val map: Map<String, String>? = intent?.getSerializableExtra("map") as? Map<String, String>
transactionRepository = TransactionRepository(context!!)
GlobalScope.launch {
insertToDatabase(map!!, transactionRepository)
}
}
suspend fun insertToDatabase(map : Map<String, String>, transactionRepository: TransactionRepository){
transactionRepository.insertTransactionQuery(
title= map.get("title")!!,
nominal = map["nominal"]!!.toString(),
kategori = "Randomize",
lokasi = "Unknown"
)
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment