This commit is contained in:
lunaticbum 2024-08-22 18:01:58 +09:00
parent 5cc40ee056
commit e51d596431

View File

@ -85,7 +85,9 @@ internal class LauncherHome : Fragment() {
batteryReceiver = BatteryReceiver(binding.batteryProgress) batteryReceiver = BatteryReceiver(binding.batteryProgress)
binding.favAppsGroup.visibility = View.GONE binding.favAppsGroup.visibility = View.GONE
Thread("CALLED").run {
getCallDetails()
}
return binding.root return binding.root
} }
@ -135,24 +137,24 @@ internal class LauncherHome : Fragment() {
var callList = arrayListOf<MissedCall>() var callList = arrayListOf<MissedCall>()
private suspend fun getCallDetails() {
MainScope().async { private fun getCallDetails() {
var dateParam = Date(System.currentTimeMillis() - (1000 * 60 * 60 * 24 * 3)).time.toString() var dateParam = Date(System.currentTimeMillis() - (1000 * 60 * 60 * 24 * 3)).time.toString()
val managedCursor = lActivity!!.managedQuery( val managedCursor = lActivity!!.managedQuery(
CallLog.Calls.CONTENT_URI, arrayOf( CallLog.Calls.CONTENT_URI, arrayOf(
CallLog.Calls.NUMBER, CallLog.Calls.NUMBER,
CallLog.Calls.TYPE, CallLog.Calls.TYPE,
CallLog.Calls.DATE, CallLog.Calls.DATE,
CallLog.Calls.DURATION, CallLog.Calls.DURATION,
CallLog.Calls.CACHED_NAME, CallLog.Calls.CACHED_NAME,
), CallLog.Calls.DATE + "> ? AND " + CallLog.Calls.TYPE + " > ?", arrayOf<String>(dateParam, "2"), CallLog.Calls.DATE + " desc") ), CallLog.Calls.DATE + "> ? AND " + CallLog.Calls.TYPE + " > ?", arrayOf<String>(dateParam, "2"), CallLog.Calls.DATE + " desc")
val number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER) val number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER)
val type = managedCursor.getColumnIndex(CallLog.Calls.TYPE) val type = managedCursor.getColumnIndex(CallLog.Calls.TYPE)
val date = managedCursor.getColumnIndex(CallLog.Calls.DATE) val date = managedCursor.getColumnIndex(CallLog.Calls.DATE)
val duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION) val duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION)
val name = managedCursor.getColumnIndex(CallLog.Calls.CACHED_NAME) val name = managedCursor.getColumnIndex(CallLog.Calls.CACHED_NAME)
// sb.append("Call Details : ${managedCursor.count}") var missedCalls = hashMapOf<String, MissedCall>()
var missedCalls = hashMapOf<String, MissedCall>() if (missedCalls.size != callList.size) {
while (managedCursor.moveToNext()) { while (managedCursor.moveToNext()) {
val phNumber = managedCursor.getString(number) // mobile number val phNumber = managedCursor.getString(number) // mobile number
val callType = managedCursor.getString(type) // call type val callType = managedCursor.getString(type) // call type
@ -186,7 +188,6 @@ internal class LauncherHome : Fragment() {
dir = "ANSWERED_EXTERNALLY_TYPE" dir = "ANSWERED_EXTERNALLY_TYPE"
} }
} }
// if (dircode > 2) {
var missed: MissedCall = if (missedCalls.containsKey(phNumber)) { var missed: MissedCall = if (missedCalls.containsKey(phNumber)) {
missedCalls.get(phNumber)!!.apply { missedCalls.get(phNumber)!!.apply {
count = count + 1 count = count + 1
@ -195,20 +196,14 @@ internal class LauncherHome : Fragment() {
MissedCall(1,callerName,phNumber, dircode, dir, SimpleDateFormat("yyy/MM/dd-HH:mm:ss").format(callDayTime)) MissedCall(1,callerName,phNumber, dircode, dir, SimpleDateFormat("yyy/MM/dd-HH:mm:ss").format(callDayTime))
} }
missedCalls.put(phNumber, missed) missedCalls.put(phNumber, missed)
// }
} }
}
managedCursor.close()
managedCursor.close() if (callList.size == missedCalls.size) {
return@async missedCalls } else {
}.await().apply { callList.clear()
if (callList.size == this.size) { missedCalls.forEach { t, u ->
callList.add(u)
} else {
callList.clear()
this.forEach { t, u ->
callList.add(u)
}
} }
} }
} }
@ -473,15 +468,13 @@ internal class LauncherHome : Fragment() {
} }
/* to-do list */ /* to-do list */
@SuppressLint("NotifyDataSetChanged")
private fun showTodoList() { private fun showTodoList() {
if (binding.missedCalls.isChecked == true) { if (binding.missedCalls.isChecked == true) {
if (callList.size == 0) { if (callList.size > 0) {
GlobalScope.launch { getCallDetails() }
} else {
BLog.LOGE("callList >>> ${callList.size}") BLog.LOGE("callList >>> ${callList.size}")
binding.notes.adapter = MissedCallsAdapter(callList, requireContext()) binding.notes.adapter = MissedCallsAdapter(callList, requireContext())?.apply {
binding.notes.post { this.notifyDataSetChanged()
binding.notes.invalidate()
} }
} }
} else { } else {