felixb / callmeter

Call Meter 3G is the most complete monitor app for your Android device: It monitors your calls, text messages and data usage.
GNU General Public License v3.0
48 stars 39 forks source link

sub_id is prefered over subscription_id, even if subscription_id is used #124

Closed felixb closed 6 years ago

felixb commented 6 years ago

There are phones having sub_id and subscription_id in the call logs database. Currently sub_id is preferred over subscription_id even when sub_id is -1 and subscription_id is holding the sim id.

We need a more clever way of detecting the sim id.

Might be related to #122.

meiser79 commented 6 years ago

Here under LineageOS 14.1, the subscription_id column includes the ICCID of the SIM card which is shown in the app log as "Meine Nummer".

The incoming/outgoing calls are correctly calculated as soon as I specify the ICCID under SIM_id in the rules settings.

felixb commented 6 years ago

I might have a first version of a fix. Please check it out and report, if it's working, or not. adb logcat might be useful in case, it's not.

http://ub0r.de/files/e53d74cfe97ce444242f3097e75c9f889bd98ae1-CallMeter3G-logRelease.apk

meiser79 commented 6 years ago

Even though the current official release also works, I tested this version. And it still works fine, the only difference I can see is that the ICCID is now shown as "SIM-Id" instead of "Meine Nummer" in the log tab.

It shows in the logcat: 11-12 17:37:40.533 14390 14482 I LogRunnerService: check call sim_id 11-12 17:37:40.563 14390 14482 D LogRunnerService: sim_id column found: subscription_id 11-12 17:37:40.563 14390 14482 D LogRunnerService: found a single sim id column 11-12 17:37:40.567 14390 14482 I LogRunnerService: sim_id column found in calls database: true 11-12 17:37:40.567 14390 14482 I LogRunnerService: check sms sim_id 11-12 17:37:40.632 14390 14482 D LogRunnerService: sim_id column found: sub_id 11-12 17:37:40.632 14390 14482 D LogRunnerService: found a single sim id column 11-12 17:37:40.639 14390 14482 I LogRunnerService: sim_id column found in sms database: true

felixb commented 6 years ago

I have added some additional checks.

The apps should detect the correct sim id column. The app should detect if, there are more than one sim ids present and generates the correct default plan based on that intel.

Please verify the build:

http://ub0r.de/files/fe314c7ac460545db76765680a457d1a02c3dcdb-CallMeter3G-logRelease.apk

meiser79 commented 6 years ago

Still works fine. Log the same as posted above.