austgl / a2dpvolume

Automatically exported from code.google.com/p/a2dpvolume
0 stars 0 forks source link

Implement XMPP IM integration as a plug-in to A2DP Volume to support GTalk and others #76

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Add support to read out Google Talk messages too.

Original issue reported on code.google.com by JimR...@gmail.com on 3 Nov 2011 at 1:22

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This is looking like much more work than I thought.  I think I need to 
implement parts of the XMPP protocol to make this work.  On the bright side 
this may enable reading Skype, Gtalk, and most other IM and email services too.
http://xmpp.org/xmpp-protocols/protocol-namespaces/

Original comment by JimR...@gmail.com on 24 Dec 2011 at 2:46

GoogleCodeExporter commented 9 years ago
More info: http://code.google.com/intl/sv-SE/apis/talk/talk_developers_home.html

Original comment by JimR...@gmail.com on 24 Dec 2011 at 3:04

GoogleCodeExporter commented 9 years ago
Found this: 
http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/
I think I would also like to have the option to change the status in Gtalk to 
"driving" when connected to a Bluetooth car system.  I don't know, maybe this 
scope is creeping too far...

Original comment by JimR...@gmail.com on 30 Dec 2011 at 4:04

GoogleCodeExporter commented 9 years ago
Another request was made to support Gmail as well.  Both use XMPP so I am just 
adding this request to this open issue.  It looks like we will need to 
implement XMPP and REST to do this.  Assigning this issue to our REST expert.

Original comment by JimR...@gmail.com on 15 Jan 2012 at 3:28

GoogleCodeExporter commented 9 years ago
Please make it a higher priority! :) I was looking for something like this 
since months and this looks that promising.. Please keep up this great work!

Original comment by marc.sch...@googlemail.com on 16 Feb 2012 at 7:49

GoogleCodeExporter commented 9 years ago
I thought I was the only person who cared about this issue.  I would like to 
dump SMS on my plan and just get everyone to use Google Talk instead so this is 
important to me.  I will elevate it accordingly.  Make sure you star this issue 
to see updates.  I will want those interested to test it when I get a test 
version ready.  Thanks.

Original comment by JimR...@gmail.com on 16 Feb 2012 at 11:57

GoogleCodeExporter commented 9 years ago
Exactly same thoughts here. Looking forward to it. Ready for testing! Keep on 
rocking! Thanks, bye, Marc

Original comment by marc.sch...@googlemail.com on 16 Feb 2012 at 12:40

GoogleCodeExporter commented 9 years ago
Just found this:
http://code.google.com/p/gtalksms/
Looks like a bunch of work just for XMPP integration.  Need to evaluate...

Original comment by JimR...@gmail.com on 18 Feb 2012 at 2:03

GoogleCodeExporter commented 9 years ago
Here is a much simpler one: http://code.google.com/p/nchat/

Original comment by JimR...@gmail.com on 18 Feb 2012 at 2:23

GoogleCodeExporter commented 9 years ago
More info of interest: 
http://docs.jivesoftware.com/smack/latest/javadoc/org/jivesoftware/smack/XMPPCon
nection.html

Original comment by JimR...@gmail.com on 18 Feb 2012 at 2:25

GoogleCodeExporter commented 9 years ago
I think Smack might be the best way to do this: 
http://www.igniterealtime.org/projects/smack/index.jsp

"Smack is an Open Source XMPP (Jabber) client library for instant messaging and 
presence. A pure Java library, it can be embedded into your applications to 
create anything from a full XMPP client to simple XMPP integrations such as 
sending notification messages and presence-enabling devices. "

Original comment by JimR...@gmail.com on 18 Feb 2012 at 2:40

GoogleCodeExporter commented 9 years ago
I am studying the XMPP implementation using Smack.  I think we can do quite a 
bit with this including support for many IM services like Yahoo, and Skype too 
I believe.  

One thing this will also support is IM presence.  That would allow us to 
actually set a presence to "driving" when connected to Bluetooth in the car.  
This way your friends will know you are driving and either wait until you are 
no longer driving or send messages better suited to a person driving.  Then 
when you arrive at your destination, set your presence back to what it was 
before you were driving.  I like what this can enable.

This could get into serious scope creep.  Just a short sanity check before we 
dive in.  I am almost thinking plugin here.  Not sure.  If I implement this as 
a plugin I would create another app (a new apk file) that you install.  I am 
thinking this would be a service and a GUI to configure what IM services you 
want to log in to and have A2DP Volume respond to.  When A2DP Volume connected 
to a device that is configured to support message reading, it would also try to 
start the service of the plugin.  If successful (plugin installed and 
configured) then the plugin would broadcast an intent and pass the sender and 
message back to A2DP volume to read out.  When A2DP Volume saw the device 
disconnect, it would turn OFF the plug in service and unregister the broadcast 
receiver so it was not consuming resources.  Thinking out loud here.

Original comment by JimR...@gmail.com on 18 Feb 2012 at 3:40

GoogleCodeExporter commented 9 years ago
Just found this: 
http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients
Supporting XMPP will open up nearly all mainstream IM services.  That chart 
shows Skype not supporting it but I have seen other comments saying it is 
starting to, whatever that means.  

I am now sure I want to implement this as a plug-in.  It would be a ton of 
baggage to add to the app and I have had complaints of scope creep before.  The 
plug-in is a great way to handle both user types at the same time.

Original comment by JimR...@gmail.com on 18 Feb 2012 at 2:34

GoogleCodeExporter commented 9 years ago
Started a new Google Code project for the plugin:
http://code.google.com/p/a2dp-volume-chat/

So far I got it to login to the chat service and basic XMPP implementation is 
working.  Much work to do.  This plug-in will be handled as a separate project 
but I will keep this issue open until we get at least Google Talk implemented 
and working.  I will also need to update A2DP Volume to interface with the 
plug-in before closing this issue.

Original comment by JimR...@gmail.com on 19 Feb 2012 at 3:52

GoogleCodeExporter commented 9 years ago
Issue 79 has been merged into this issue.

Original comment by JimR...@gmail.com on 1 Mar 2012 at 11:41

GoogleCodeExporter commented 9 years ago
Issue 92 has been merged into this issue.

Original comment by JimR...@gmail.com on 14 Mar 2012 at 10:48

GoogleCodeExporter commented 9 years ago
I have trained most of my friends to use GTalk instead of SMS so I would love 
this feature! Please keep up the good work!

Original comment by zook...@gmail.com on 23 Mar 2012 at 11:49

GoogleCodeExporter commented 9 years ago
Thanks for the feedback.  I would like to train my family and friends to make 
the switch too. 

Original comment by JimR...@gmail.com on 24 Mar 2012 at 1:52

GoogleCodeExporter commented 9 years ago
I implemented the receiver parts into A2DP Volume.  I documented it here: 
http://code.google.com/p/a2dpvolume/wiki/Interfaces
Still working on A2DP Volume Chat plugin.  However, other apps can now use the 
message receiver interface.

Original comment by JimR...@gmail.com on 26 Dec 2012 at 1:56

GoogleCodeExporter commented 9 years ago
OK I just pushed 2.9.0 in the downloads section for early testing.  Read the 
comments that are posted there.  It adds Google Talk message reader.  Still 
needs some work and has only gone through early testing but it is a start.

Original comment by JimR...@gmail.com on 26 Dec 2012 at 9:18

GoogleCodeExporter commented 9 years ago
Fixed the Google Talk reader user name issue from 2.9.0.  Now reads the human 
interpretable name of the sender.

Original comment by JimR...@gmail.com on 26 Dec 2012 at 10:52

GoogleCodeExporter commented 9 years ago
2.9.1 is ready for testing.  Please test and comment here, good and bad.  This 
is working well on my Droid 2 (Android 4.04) and Droid 3 (Android 2.3.4) using 
Motorola T605.  Works just like the SMS reader feature.  

Based on this I plan to just kill the A2DP Volume Chat plugin app.  While this 
plugin app would enable many other IM and potentially email services to also be 
read out, it is too big and complicated for the value.  I did contact the 
developer of Announcify to look into integration with that.  If nhe agrees, 
then Announcify would be that plugin.

Original comment by JimR...@gmail.com on 27 Dec 2012 at 1:11

GoogleCodeExporter commented 9 years ago
2.9.1 had some bugs which left the Talk message receiver active even after 
disconnect or closing the app.  2.9.2 corrected this problem.  Please install 
and test 2.9.2 and report results here.  Thanks.

Original comment by JimR...@gmail.com on 28 Dec 2012 at 2:09

GoogleCodeExporter commented 9 years ago
Progress update:

2.9.2 works well on Gingerbread and ICS but not on Jelly Bean.  On Gingerbread 
a Talk message works just like an SMS.  Music is paused, message is played, 
music is resumed.  Tested with Droid 2 on 4.04 and Droid 3 on 2.3.4 using 
Motorola T605 car kit.

On Jelly bean things are strange.  It often reads the message multiple times 
and keeps repeating the earlier parts of a recent thread.  It also starts from 
the top of the thread and reads the whole thing.  It also reads the same 
message multiple times.  The streams are a mess too.  If you use anything but 
the default music stream it leaves the streams on different routes.  I fixed 
this problem long ago on pre-Jelly Bean by sending a period through the correct 
stream.  On Jelly Bean this does not work and may actually make things worse.  
I tested Jelly Bean using a Xoom and T605.  It was also tested by several users 
with Galaxy Nexus giving similar results.  Right now Jelly Bean accounts for 
20% of users but it is growing fast as more devices are picking it up.

Original comment by JimR...@gmail.com on 29 Dec 2012 at 12:02

GoogleCodeExporter commented 9 years ago
FYI: 
http://crave.cnet.co.uk/software/android-4-2-on-nexus-7-has-broken-bluetooth-use
rs-complain-50009768/
I found numerous complaints about the Bluetooth and audio performance on Jelly 
Bean.  Looks like it goes beyond my app.

Original comment by JimR...@gmail.com on 29 Dec 2012 at 12:27

GoogleCodeExporter commented 9 years ago
2.9.3 fixed the issue if rereading posts.  I see 24 people have downloaded it.  
Is it working well for Android 4.1 and earlier?  The issues with Android 4.2 
would also impact the SMS reader so I am considering putting a version after 
2.9.3 on the Play Store.  Should I make a configuration separately for GTalk 
reading?  Right now I enable it when SMS reading is enabled.  You can easily 
not use GTalk by not logging into GTalk with the GTalk app.  A2DP Volume does 
not log into GTalk.  It only listens for the GTalk app to report updates and 
then it retrieves the messages.  You must be logged into GTalk with the GTalk 
app for it to work. Feedback please.

Original comment by JimR...@gmail.com on 7 Jan 2013 at 11:58

GoogleCodeExporter commented 9 years ago
I would add a separate enable check box for GTalk just to appease those people 
that don't/won't use it.

So far this is working very well for me! Huge hit with my friends and family in 
the car.

Original comment by zook...@gmail.com on 7 Jan 2013 at 3:10

GoogleCodeExporter commented 9 years ago
I am closing this issue and will implement the configuration in another issue.

Original comment by JimR...@gmail.com on 18 Apr 2013 at 1:32