mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-04-28 00:48:48 +02:00
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:
parent
ea4d67c1df
commit
222b96e8c5
@ -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) {}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user