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