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 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)