package com.vanta.smsgateway import android.app.Activity import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import kotlinx.coroutines.* class SmsSentReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { val jobId = intent.getLongExtra("job_id", -1L) val partIdx = intent.getIntExtra("part_idx", 0) val total = intent.getIntExtra("part_total", 1) if (jobId == -1L) return // Only report on last part for multipart messages if (partIdx < total - 1) return val prefs = context.getSharedPreferences(SmsService.PREF_NAME, Context.MODE_PRIVATE) val url = prefs.getString(SmsService.PREF_URL, "") ?: "" val apiKey = prefs.getString(SmsService.PREF_KEY, "") ?: "" if (url.isEmpty() || apiKey.isEmpty()) return val client = ApiClient(url, apiKey) val status = if (resultCode == Activity.RESULT_OK) "sent" else "failed" val error = if (resultCode != Activity.RESULT_OK) "Send error code: $resultCode" else null CoroutineScope(Dispatchers.IO).launch { client.reportReceipt(jobId, status, error) } } }