|
|
@@ -0,0 +1,67 @@
|
|
|
+function trace(tag) {
|
|
|
+ Log.e((tag || '') + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Throwable').$new()))
|
|
|
+}
|
|
|
+
|
|
|
+class Log {
|
|
|
+ static TAG = '[sam_msg]'
|
|
|
+ static Debug = true
|
|
|
+ static format(...msg) {
|
|
|
+ let m = []
|
|
|
+ for (let i = 0; i < msg.length; i++) {
|
|
|
+ if (typeof msg[i] === 'object') {
|
|
|
+ m.push(msg[i] + '')
|
|
|
+ } else {
|
|
|
+ m.push(msg[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m = m.join(' ')
|
|
|
+ return m
|
|
|
+ }
|
|
|
+ static i(...msg) {
|
|
|
+ if (!this.Debug) return
|
|
|
+ console.log(`\x1b[30m${this.TAG} ${this.format(...msg)}\x1b[0m`)
|
|
|
+ }
|
|
|
+ static w(...msg) {
|
|
|
+ console.log(`\x1b[33m${this.TAG} ${this.format(...msg)}\x1b[0m`)
|
|
|
+ }
|
|
|
+ static e(...msg) {
|
|
|
+ console.log(`\x1b[31m${this.TAG} ${this.format(...msg)}\x1b[0m`)
|
|
|
+ }
|
|
|
+ static s(...msg) {
|
|
|
+ console.log(`\x1b[32m${this.TAG} ${this.format(...msg)}\x1b[0m`)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+Java.perform(function () {
|
|
|
+ const r = Java.use('ts.r')
|
|
|
+ Log.i(r)
|
|
|
+ r.g.overload('int', 'android.content.Context').implementation = function (i, context) {
|
|
|
+ Log.i(`r.g(${i}, ${context})`)
|
|
|
+ return true
|
|
|
+ }
|
|
|
+
|
|
|
+ const RcsFeatures = Java.use('com.samsung.android.messaging.common.configuration.rcs.RcsFeatures')
|
|
|
+ Log.i(RcsFeatures.getRcsSupportedSimSlot())
|
|
|
+
|
|
|
+ const Feature = Java.use('com.samsung.android.messaging.common.configuration.Feature')
|
|
|
+
|
|
|
+ Feature.isRcsSupported.overload().implementation = function () {
|
|
|
+ Log.i('Feature.isRcsSupported()')
|
|
|
+ return true
|
|
|
+ }
|
|
|
+
|
|
|
+ const CapabilitiesData = Java.use('com.samsung.android.messaging.common.data.rcs.CapabilitiesData')
|
|
|
+ CapabilitiesData.isLocalOffline.overload().implementation = function () {
|
|
|
+ Log.i('CapabilitiesData.isLocalOffline()')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ const ImsManagerApi = Java.use('com.samsung.android.messaging.common.imsmanager.ImsManagerApi')
|
|
|
+ ImsManagerApi.isRcsServiceAvailable.overload('android.content.Context', 'int').implementation = function (
|
|
|
+ context,
|
|
|
+ i
|
|
|
+ ) {
|
|
|
+ Log.i(`ImsManagerApi.isRcsServiceAvailable(${context}, ${i})`)
|
|
|
+ return true
|
|
|
+ }
|
|
|
+})
|