
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package kr.co.tadadang.user.sms
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.google.android.gms.auth.api.phone.SmsRetriever
import com.google.android.gms.common.api.CommonStatusCodes
import com.google.android.gms.common.api.Status
class SmsRetrieverReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if (SmsRetriever.SMS_RETRIEVED_ACTION == intent?.action) {
val extras = intent.extras
val status = extras?.get(SmsRetriever.EXTRA_STATUS) as Status
when (status.statusCode) {
CommonStatusCodes.SUCCESS -> {
val message = extras.get(SmsRetriever.EXTRA_SMS_MESSAGE) as String
val smsCode = parseSmsCode(message)
val localIntent = Intent("SMS_CODE_RECEIVED")
localIntent.putExtra("smsCode", smsCode)
LocalBroadcastManager.getInstance(context!!).sendBroadcast(localIntent)
}
CommonStatusCodes.TIMEOUT -> {
Log.d("song", "CommonStatusCodes TIMEOUT")
}
}
}
}
private fun parseSmsCode(message: String): String {
val pattern = "\\d{4}".toRegex()
val matchResult = pattern.find(message)
return matchResult?.value ?: ""
}
}