Как прочитать сообщение, полученное от определенного числа за последние 10 дней?

#android #kotlin #android-contentprovider

Вопрос:

Я пытаюсь подсчитать количество сообщений, полученных с определенного номера, и еще одним условием является то, что мне нужно подсчитать количество последних 10 дней. Я попытался использовать распознаватель содержимого и выполнить запрос, но смог вычислить только общее количество сообщений, полученных от определенного числа, но я не понимаю, как я должен фильтровать сообщения за последние 10 дней? Мой код таков :

 class MainActivity : AppCompatActivity() {


    private lateinit var binding: ActivityMainBinding
    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        binding.btnSubmit.setOnClickListener {

            if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.READ_SMS)
                != PackageManager.PERMISSION_GRANTED
            ) {
                ActivityCompat.requestPermissions(
                    this,
                    Array(1) { android.Manifest.permission.READ_SMS },
                    111
                )

            } else {

                binding.countText.text =
                    getSmsCountByNumber(binding.etNumber.text.toString()).toString()
            }
        }

    }

    override fun onRequestPermissionsResult(
        requestCode: Int,
        permissions: Array<out String>,
        grantResults: IntArray
    ) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
        if (requestCode == 111 amp;amp; grantResults[0] == PackageManager.PERMISSION_GRANTED) getSmsCountByNumber(
            binding.etNumber.text.toString()
        )

    }


    @SuppressLint("NewApi")
    fun getSmsCountByNumber(senderNumber: String): Int {
        var totalSMS = 0
        val countryCode = " 91"


        applicationContext.contentResolver.query(
            Telephony.Sms.CONTENT_URI,
            null,
            null,
            null,
            null
        )?.use { cursor ->
           // if (Telephony.Sms.DATE == LocalDate.now().toString())
                while (cursor.moveToNext()) {
                    val number =
                        cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Sms.ADDRESS));
                     val date =
                         cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Sms.DATE))
                    
                    if (number == senderNumber || number == countryCode   senderNumber) {
                        totalSMS  = 1
                    }
                    
                    Log.d("totalSMSCount", totalSMS.toString())

                }

        }
        return totalSMS
    }
}
 

Все находится в основном действии, и XML состоит из одного текста редактирования и кнопки.

Пожалуйста, помогите мне понять, как я должен получить количество сообщений за последние 10 дней.