Merge pull request #695 from esensar/fix/apn-utils-crash

Remove ApnUtils usage in the app
This commit is contained in:
Tibor Kaputa 2023-07-16 18:13:22 +02:00 committed by GitHub
commit 53aa4495a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 0 additions and 64 deletions

View File

@ -1,17 +1,11 @@
package com.simplemobiletools.smsmessenger package com.simplemobiletools.smsmessenger
import android.app.Application import android.app.Application
import com.klinker.android.send_message.ApnUtils
import com.simplemobiletools.commons.extensions.checkUseEnglish import com.simplemobiletools.commons.extensions.checkUseEnglish
import com.simplemobiletools.commons.helpers.isRPlus
class App : Application() { class App : Application() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
checkUseEnglish() checkUseEnglish()
if (isRPlus()) {
ApnUtils.initDefaultApns(this) {}
}
} }
} }

View File

@ -4,17 +4,11 @@ import android.content.Context
import android.net.Uri import android.net.Uri
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.preference.PreferenceManager
import android.provider.Telephony
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.klinker.android.send_message.MmsReceivedReceiver import com.klinker.android.send_message.MmsReceivedReceiver
import com.simplemobiletools.commons.extensions.getStringValue
import com.simplemobiletools.commons.extensions.isNumberBlocked import com.simplemobiletools.commons.extensions.isNumberBlocked
import com.simplemobiletools.commons.extensions.normalizePhoneNumber import com.simplemobiletools.commons.extensions.normalizePhoneNumber
import com.simplemobiletools.commons.extensions.queryCursor
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isQPlus
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.* import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.refreshMessages import com.simplemobiletools.smsmessenger.helpers.refreshMessages
@ -22,58 +16,6 @@ import com.simplemobiletools.smsmessenger.helpers.refreshMessages
// more info at https://github.com/klinker41/android-smsmms // more info at https://github.com/klinker41/android-smsmms
class MmsReceiver : MmsReceivedReceiver() { class MmsReceiver : MmsReceivedReceiver() {
private var carriers = mutableMapOf<Int, MmscInformation>()
private fun populateMmscInformation(context: Context, subscriptionId: Int) {
if (isRPlus() && carriers.isNotEmpty()) {
// This information is stored by ApnUtils from android-smsmms
PreferenceManager.getDefaultSharedPreferences(context).apply {
carriers[0] = MmscInformation(
getString("mmsc_url", ""),
getString("mms_proxy", ""),
getString("mms_port", "0")?.toInt() ?: 0
)
}
} else {
if (carriers.containsKey(subscriptionId).not()) {
val baseUri = if (isQPlus()) {
Telephony.Carriers.SIM_APN_URI
} else {
Telephony.Carriers.CONTENT_URI
}
val uri = Uri.withAppendedPath(baseUri, subscriptionId.toString())
val projection = arrayOf(
Telephony.Carriers.MMSC,
Telephony.Carriers.MMSPROXY,
Telephony.Carriers.MMSPORT,
)
val selection = "${Telephony.Carriers.TYPE} LIKE ?"
val selectionArgs = arrayOf("%mms%")
context.queryCursor(uri, projection = projection, selection = selection, selectionArgs = selectionArgs) { cursor ->
carriers[subscriptionId] = MmscInformation(
cursor.getStringValue(Telephony.Carriers.MMSC),
cursor.getStringValue(Telephony.Carriers.MMSPROXY),
cursor.getStringValue(Telephony.Carriers.MMSPORT).toIntOrNull() ?: 0,
)
}
}
}
}
private fun getMmscInformation(subscriptionId: Int): MmscInformation? {
return if (isRPlus()) {
carriers[0]
} else {
carriers[subscriptionId]
}
}
override fun getMmscInfoForReceptionAck(context: Context, subscriptionId: Int): MmscInformation? {
populateMmscInformation(context, subscriptionId)
return getMmscInformation(subscriptionId)
}
override fun isAddressBlocked(context: Context, address: String): Boolean { override fun isAddressBlocked(context: Context, address: String): Boolean {
val normalizedAddress = address.normalizePhoneNumber() val normalizedAddress = address.normalizePhoneNumber()
return context.isNumberBlocked(normalizedAddress) return context.isNumberBlocked(normalizedAddress)