GSoC Android front-end

Alexis vodkadechernobil at
Sat Mar 24 10:26:38 EDT 2012

2012/3/24 Eion Robb <eion at>

> The frontend wouldn't just have to be written in Java, it could be
> HTML5/JavaScript using something like PhoneGap as a bridge (hypothetically)
> so that it could be used in Cydia as well as Android, but similar design
> principals would apply  (Having a JavaScript wrapper to libpurple could be
> pretty cool though, for writing plugins in javascript... maybe a different
> project idea though)

Yes, that's another option. But in my opinion as you said is a different
project idea.

> On 24 March 2012 10:50, Michael Zangl <michael at> wrote:
>> Libpurple currently has only been compiled for android (pidroid) and
>> testet with the null protocol. That means if you write C code for
>> android, you can use libpurple functions.
>> But there are lots of things that need adaption, for example:
>>      * Function calls from Java (GUI) need to be send and converted to
>>        c function calls, probably in an other thread, because UI Thread
>>        only has limited stack.
>>      * The event system should be implemented in Java, for better
>>        control of which thread does what and synchronisation.
>>      * All objects need to be wrapped inside java objects.
>>      * Object deletion often happens by libpurple, so such cases need
>>        to be caught and the corresponding java objects marked for
>>        deletion (=> dereference them)
>>      * SSL is shipped with android, but only has java interface.
>>      * I don't know about normal network connections, it might be that
>>        android's permission policy is in the way and everything needs
>>        to be sent through java.
>>      * Calling java callbacks from c code => implementing all the ui
>>        ops to send callbacks along to java.
>>      * And by the way, a GUI needs to be written and adapters for
>>        account list, buddy list, ... to android data structures.
>> It is a task that needs a lot of little changes, so you should mainly
>> focus on getting the basic protocols and stuff working, and synchronize
>> all access properly.
Sounds really interesting. A lot of small details to have in mind. Pidroid
needs to be recompiled or I can use as if, without any problem?

Would be really nice if I can take a look at your code you mentioned before.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list