@@ -35,6 +35,9 @@ class SpamUtils {
3535 " https://www.responderono.es/numero-de-telefono/%s"
3636 private const val RESPONDERONO_CSS_SELECTOR = " .scoreContainer .score.negative"
3737 private const val CLEVER_DIALER_URL_TEMPLATE = " https://www.cleverdialer.es/numero/%s"
38+
39+ private const val USER_AGENT =
40+ " Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.103 Mobile Safari/537.36"
3841 }
3942
4043 private val client = OkHttpClient ()
@@ -54,8 +57,7 @@ class SpamUtils {
5457 }
5558
5659 if (number.isNullOrBlank() && shouldBlockHiddenNumbers(context)) {
57- showToast(context, context.getString(R .string.block_hidden_number), Toast .LENGTH_LONG )
58- handleSpamNumber(context, number, false , callback)
60+ handleSpamNumber(context, number, false , context.getString(R .string.block_hidden_number), callback)
5961 return @launch
6062 }
6163
@@ -64,23 +66,20 @@ class SpamUtils {
6466 }
6567
6668 if (isInternationalCall(number) && shouldBlockInternationalNumbers(context)) {
67- showToast(context, context.getString(R .string.block_international_call), Toast .LENGTH_LONG )
68- handleSpamNumber(context, number, false , callback)
69+ handleSpamNumber(context, number, false , context.getString(R .string.block_international_call), callback)
6970 return @launch
7071 }
7172
7273 if (isNumberBlocked(context, number)) {
73- showToast(context, context.getString(R .string.block_already_blocked_number), Toast .LENGTH_LONG )
74- handleSpamNumber(context, number, callback)
74+ handleSpamNumber(context, number, context.getString(R .string.block_already_blocked_number), callback)
7575 return @launch
7676 }
7777
7878 if (ContextCompat .checkSelfPermission(context, Manifest .permission.READ_CONTACTS ) == PackageManager .PERMISSION_GRANTED ) {
7979 if (isNumberInAgenda(context, number)) {
8080 return @launch
8181 } else if (shouldBlockNonContacts(context)) {
82- showToast(context, context.getString(R .string.block_non_contact), Toast .LENGTH_LONG )
83- handleSpamNumber(context, number, false , callback)
82+ handleSpamNumber(context, number, false , context.getString(R .string.block_non_contact), callback)
8483 return @launch
8584 }
8685 }
@@ -102,8 +101,7 @@ class SpamUtils {
102101 }
103102
104103 if (isSpam) {
105- showToast(context, context.getString(R .string.block_non_contact), Toast .LENGTH_LONG )
106- handleSpamNumber(context, number, callback)
104+ handleSpamNumber(context, number, context.getString(R .string.block_spam_number), callback)
107105 } else {
108106 handleNonSpamNumber(context, number, callback)
109107 }
@@ -210,7 +208,9 @@ class SpamUtils {
210208 * @return True if spam indicators are found, false otherwise.
211209 */
212210 private suspend fun checkUrlForSpam (url : String , cssSelector : String ): Boolean {
213- val request = Request .Builder ().url(url).build()
211+ val request = Request .Builder ()
212+ .header(" User-Agent" , USER_AGENT )
213+ .url(url).build()
214214 return withContext(Dispatchers .IO ) {
215215 try {
216216 val response = client.newCall(request).execute()
@@ -236,9 +236,10 @@ class SpamUtils {
236236 private fun handleSpamNumber (
237237 context : Context ,
238238 number : String ,
239+ reason : String ,
239240 callback : (isSpam: Boolean ) -> Unit
240241 ) {
241- handleSpamNumber(context, number, true , callback)
242+ handleSpamNumber(context, number, true , reason, callback)
242243 }
243244
244245 /* *
@@ -251,12 +252,15 @@ class SpamUtils {
251252 context : Context ,
252253 number : String ,
253254 saveNumber : Boolean ,
255+ reason : String ,
254256 callback : (isSpam: Boolean ) -> Unit
255257 ) {
258+ showToast(context, context.getString(R .string.block_reason_long) + " " + reason, Toast .LENGTH_LONG )
259+
256260 if (saveNumber) {
257261 saveSpamNumber(context, number)
258262 }
259- sendNotification(context, number)
263+ sendNotification(context, number, reason )
260264 callback(true )
261265 }
262266
0 commit comments