Remove ApnUtils usage in the app

Using ApnUtils causes crash on newer Android versions (https://github.com/SimpleMobileTools/Simple-SMS-Messenger/pull/683#issuecomment-1637036718)
This reverts this part of changes from https://github.com/SimpleMobileTools/Simple-SMS-Messenger/pull/687, since other
changes have fixed the issue. This part is not as important (required to send reception ACK to MMSC, which is apparently not needed for all carriers)
This commit is contained in:
Ensar Sarajčić 2023-07-16 16:25:29 +02:00
parent ea4d67c1df
commit 222b96e8c5
2 changed files with 0 additions and 64 deletions

View File

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

View File

@ -4,17 +4,11 @@ import android.content.Context
import android.net.Uri
import android.os.Handler
import android.os.Looper
import android.preference.PreferenceManager
import android.provider.Telephony
import com.bumptech.glide.Glide
import com.klinker.android.send_message.MmsReceivedReceiver
import com.simplemobiletools.commons.extensions.getStringValue
import com.simplemobiletools.commons.extensions.isNumberBlocked
import com.simplemobiletools.commons.extensions.normalizePhoneNumber
import com.simplemobiletools.commons.extensions.queryCursor
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.extensions.*
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
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 {
val normalizedAddress = address.normalizePhoneNumber()
return context.isNumberBlocked(normalizedAddress)