Ainda não é um programa, e muito menos um método muito prático para isso….mas já é alguma coisa e meio caminho andado para que um programa seja criado (o que eu aposto que não vai demorar muito).

Esta é a receita de bolo (observação: sempre que estiver escrito “no terminal”, o procedimento também pode ser feito via SSH).

1- é necessário ter acesso de root no aparelho

2- se você não tem nenhuma aplicação em Python instalada no aparelho, é necessário instalar o maemo-python-device-env, que está no extras-devel (para saber se tem o Python, abra o terminal e digite “python”…se der algum erro, é porque não o tem).

3- baixe este arquivo. Dentro do zip há um arquivo chamado “callblock.py”. Ao abrí-lo num editor qualquer, isso aparecerá (portanto nem precisa baixar o arquivo, basta copiar daqui, se for o caso):

#! /usr/bin/python

import gobject, dbus
from dbus.mainloop.glib import DBusGMainLoop

def handle_call(obj_path, callernumber):
     global blocklist
     print "number called: %s" % callernumber
     for number in blocklist:
         if number.replace("\n","") == callernumber:
	     	print 'I have to block %s' %callernumber
             	bus = dbus.SystemBus()
   		callobject = bus.get_object('com.nokia.csd.Call', '/com/nokia/csd/call/1')
   		smsiface = dbus.Interface(callobject, 'com.nokia.csd.Call.Instance')
   		smsiface.Release()

blocklist = ["+918067337555","+918067348300","+918066167590"]

DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
bus.add_signal_receiver(handle_call, path='/com/nokia/csd/call', dbus_interface='com.nokia.csd.Call', signal_name='Coming')
gobject.MainLoop().run()

4- agora edite a variável blocklist, de forma a colocar os números que você quer bloquear. Para colocar mais números, basta inserir uma vírgula, e o número entre aspas….do mesmo jeito que está agora.

5- salve e transfira o arquivo para o N900 (caso a edição tenha sido feita fora dele), para o diretório “/home/user/MyDocs”.

6- abra o terminal do aparelho, e como root execute este comando:

python /home/user/MyDocs/callblock.py &

Observação: o “e comercial” (&) é muito importante!! É ele que vai fazer com que o programa continue rodando mesmo depois que fechar o terminal.

Observação 2: fiz uma pequena alteração no programinha para que ele exiba o número de quem está chamando. Para que seja possível ver o número é necessário que o terminal onde o programa foi iniciado não seja fechado.

E pronto!!!! Já temos uma lista de bloqueio de chamadas! Para incluir novos números basta editar o arquivo de novo, parar o programa e iniciá-lo outra vez. Sempre que o aparelho for reiniciado, é necessário rodar o programa novamente, de forma manual.

Agora uma pergunta muito importante: como parar o programa, se ele está rodando em segundo plano?? Simples! Abra o terminal, e digite este comando:

ps -ef | grep callblock

Ele vai retornar uma linha mais ou menos assim:

 9553 root      9944 S    python callblock.py

O que nos interessa é o primeiro número, que no caso é 9553. Como root, digite isso:

kill -9 número_da_primeira_coluna

E o programa será terminado.

Eu tenho quase certeza que logo logo surgirão aplicativos mais completos, e inclusive com recursos mais interessantes, como por exemplo somente permitir chamadas de quem estiver na sua lista de contatos.

fonte: Maemo Central, via news do Maemo.org