Reply
Thread Tools
Posts: 1 | Thanked: 0 times | Joined on Feb 2012
#1
I've been examining the rtcom systems in the N900, to try and understand how it all fits together.

The goal being to make an SMS / Call blacklist application.

Now as I understand the signalling system, the DBus broadcasts signals such as "call coming", "sms coming" etc ... and whichever applications are listening for such signals receive them and act on them accordingly.

These signals are broadcast to all listening apps, so there doesn't seem to be any way of "blocking" a signal, so any sms / call blocker is always competing with the other listening applications, meaning all kinds of potential race conditions.

In other O/S we'd have hooks into the signalling system, that could listen and actively prevent a signal from being sent anywhere else. But this doesn't seem to be the case with Maemo.

SMS

"sms coming" signal is broadcast ...

rtcom-notification handles displaying the yellow info popups (I already found a hack to completely suppress these, but ideally I'd like to suppress them ONLY if the sms is on the blacklist).

rtcom-eventlogger logs the sms events in the database for use in the conversations app. Here I could potentially scan the db and remove events corresponding with sms.

But I cannot work out yet which application actually handles playing of the ringtone associated with an incoming SMS.

Call


"call coming" signal is broadcast ...
A similar situation as above.

Here we can listen to the DBus and issue basically a "hang up" signal back to the core telephony application ... but again, this doesn't cover the potential race conditions ... event logger already logging the event, notification already displayed on screen, ringtone already triggered etc.

In general, it seems unless we are going to hack extra functionality into the source code of these rtcom components and recompile them, we are always going to be fighting with the underlying signal system methodology, which doesn't seem to allow us to "block" a signal and prevent it from reaching anywhere else.

Am I even on the right track here, and what methods have you guys used to work around this ?

Thanks
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 09:31.