**** BEGIN LOGGING AT Mon Jan 05 02:59:58 2009 Jan 05 04:29:10 Hi all. I'm trying to be a polite programmer. How do i get the user's preference for the date format, as configured in the settings? Jan 05 04:37:43 Ah, found android.provider.Settings.System . Jan 05 04:38:39 dont you love it when the answer comes to you? Jan 05 04:40:12 I like it better when the question is answered before I can find the answer myself. :) Jan 05 04:40:29 lol Jan 05 04:40:45 i like the "hey, anyone know how you...... ahhhhh nevermind!" Jan 05 05:11:20 * rbgrn is ready to shoot rjb-1.1.6 Jan 05 05:15:46 * rbgrn finally figured it out. Jan 05 05:16:04 * rbgrn hates environment issues. Jan 05 05:22:28 <_avatar> so, I have a ListView that displays a couple different types of items. one type of item should show a dialog if the user long-presses it, the other type of item should show a context menu. is there a preferred way to make only some listview items show a menu? Jan 05 05:28:30 hmm, who was that i was talking to about services getting killed abruptly? Jan 05 05:28:33 _avatar? Jan 05 05:28:36 <_avatar> yeah Jan 05 05:28:42 i figured out the mystery... Jan 05 05:28:44 <_avatar> find anything interesting? Jan 05 05:28:48 <_avatar> nice. what was it? Jan 05 05:29:36 yes, under heavy load, android will in fact kill a service (and its process) without any lifecycle management. it will schedule a restart of the process and give a call to the service's onCreate (but not onStart). Jan 05 05:30:13 without having discussed this with jbq, i am assuming that what must be done is that you must maintain persistent storage of everything your service is doing so that if you get a call to onCreate you can check if work was being performed and start yourself up again to finish it. Jan 05 05:30:48 so, in my case, i'd just store whether the connection is supposed to be active, and if in oncreate i show that it is supposed to be active, i call startService on myself Jan 05 05:31:23 i'm hoping to get confirmation from jbq or hackbod this week though Jan 05 05:31:29 <_avatar> ah, good to know, thanks :) Jan 05 05:31:43 <_avatar> it sounds like this doesn't affect me, fortunately Jan 05 05:32:00 <_avatar> my service logic should be robust against this sort of thing Jan 05 05:32:05 _avatar: i captured this condition by observing three separate log files opened up right around the same time. android was killing the process, restarting it a few minutes later, only to kill it again. Jan 05 05:32:15 <_avatar> as long as the service is eventually restarted i should be fine. how did you determine this is what's happening? Jan 05 05:32:24 <_avatar> ah Jan 05 05:32:42 _avatar: well, i doubt that. service restart in this case means onCreate is called, _NOT_ onStart. if you require onStart for some reason, you will not automatically recover. Jan 05 05:33:13 i'm hoping to find the android code that is responsible for this to confirm as well Jan 05 05:33:33 <_avatar> my only reliance on onStart() is to store the startId Jan 05 05:33:43 ahh then you should be fine. Jan 05 05:33:56 <_avatar> yeah, i tried to be extra smart designing this service :) Jan 05 05:34:23 so how does your service perform work then? Jan 05 05:34:29 does onCreate start a worker thread? Jan 05 05:35:03 <_avatar> essentially, yeah (assuming the thread isn't already working) Jan 05 05:36:46 <_avatar> actually, that's not accurate... Jan 05 05:37:48 if you rely on a binder mechanism to start work, it's unlikely that will "automatically" restart. Jan 05 05:37:59 and also keep in mind that you migth have been killed while in the middle of something important... Jan 05 05:39:37 <_avatar> being disconnected while working isn't really a concern in my app, the important part is being able to reconnect automatically Jan 05 05:40:34 <_avatar> (which should be taken care of by the onCreate() logic, and by using alarms) Jan 05 05:42:24 <_avatar> e.g. if the connection is severed, use an alarm to try again after some period of time has passed, similar to your keepalive stuff Jan 05 05:42:38 <_avatar> er, that should have been i.e. :P Jan 05 05:43:14 well, you won't know the connection has been severed... Jan 05 05:43:18 because your process will just disappear Jan 05 05:45:08 btw, it took since our previous conversation for me to see this behaviour again Jan 05 05:45:12 so it certainly doesnt happen often Jan 05 05:46:05 <_avatar> when the process is killed, then restarted, is the service object recreated? that is, is the constructor called again? Jan 05 05:46:44 <_avatar> i'm a bit confused; you make it sounds like the process is killed but the object isn't reinitialized upon recreation Jan 05 06:19:32 _avatar: no, the process is killed, the object is reinitialized when being restarted as it would be the first time it comes up Jan 05 06:19:38 onCreate is called, but for some reason not onStart. Jan 05 06:19:44 that's the only difference... Jan 05 06:20:02 i'm reading through the code right now, and i can see that it definitely does make an attempt in the code to call onStart Jan 05 06:20:10 so i might have found a bug here...not sure. Jan 05 06:20:47 it is supposed to record the last intent i think, and then give me that back Jan 05 06:21:00 <_avatar> well, I keep a reference to my connection object in my service. onCreate checks to see if the connection object is disconnected or null. if either condition is true, a reconnection is scheduled Jan 05 06:21:43 <_avatar> now, if the process is killed, and the service object isn't actually recreated/reinitialized, then onCreate() is called, i'd say that's a bug Jan 05 06:21:58 it would be of course. Jan 05 06:23:32 i dont think you've got a bug for your design. Jan 05 06:23:45 but actually, im very curious about my own app as it appears that onStart is expected to fire Jan 05 06:24:09 but the code that does it is pretty complicated i'd say. looks like quite a few things could go wrong to cause it not to work Jan 05 06:25:16 <_avatar> yeah, i'd agree that it is a bug if onStart() isn't called; how would you know what startId to call when calling startSelf()? Jan 05 06:25:20 <_avatar> uh, stopSelf, :) Jan 05 06:32:35 <_avatar> uh, stopSelf, :8 Jan 05 06:32:45 <_avatar> oops, heh Jan 05 07:17:34 you dont need a start id with stopSelf() Jan 05 07:18:00 but moreover, you'd need to start yourself with Context#startService during onCreate if that were the case Jan 05 07:18:08 but yeah something definitely feels broken here... Jan 05 07:18:37 i am wondering if this is happening because of the way i'm abusing onStart for the KEEP_ALIVE Jan 05 07:18:59 i can't see why, but it might explain why they wouldn't have noticed a condition like this originally Jan 05 07:25:43 _avatar: i am learning a lot reading ActivityManagerService.java Jan 05 11:02:13 any ideas how i can build a R.string path dynamicly? Jan 05 11:02:30 i have a (int)errorCode and i try to get the String R.string.error_MYCODE Jan 05 11:02:34 any hints? Jan 05 11:18:37 unasi7, reflection? Jan 05 11:37:08 eldenz, what do you mean with reflection? Jan 05 11:38:07 unasi7, http://java.sun.com/docs/books/tutorial/reflect/index.html Jan 05 11:38:31 okay.. will check. my turn. :) thx! Jan 05 11:50:39 elendez,... do you think it is the only (Reflections / Class.forName("String")) way to get dynamicly a R.string.* public int? Jan 05 11:56:30 i don't know whether android itself gives you the possibility to get from name->int Jan 05 11:57:56 unasi7, http://code.google.com/android/reference/android/content/res/Resources.html#getIdentifier(java.lang.String, java.lang.String, java.lang.String) Jan 05 11:58:18 looks like it does what you are looking for Jan 05 11:59:06 getting `Resources' through http://code.google.com/android/reference/android/content/ContextWrapper.html#getResources() Jan 05 11:59:19 (which Activity inherits) Jan 05 12:00:43 okay.. great. Jan 05 12:00:53 works... part of. Jan 05 12:01:11 : ) which part doesn't? Jan 05 12:01:52 sorry bugging you with java questions, but how do i create / reflect a static public int? ... with Class.forName("R.string") and get a int for myString is not possible?! Jan 05 12:02:27 i think R.class.getField(name).getInt(); Jan 05 12:02:38 err, R.string.class... Jan 05 12:04:06 or not, but something along those lines :p Jan 05 12:06:45 okay.. cool. thx Jan 05 12:08:41 as the fields you are interested in are static and final you don't really need/have an object.. which getInt() seems to need (maybe null works?) Jan 05 12:09:14 o try Jan 05 12:09:16 i try Jan 05 12:09:31 unasi7, but why is Resources#getIdentifier not sufficient for your purpose? Jan 05 12:22:41 hmm... maybe that's it! let me check. Jan 05 12:34:25 yes. that was it! Jan 05 12:34:26 int errorStringRessource = this.getResources().getIdentifier("error"+errorCode, "string", "com.android.include7.SBBTimetable"); Jan 05 12:34:26 String localizedErrorString = this.getResources().getString(errorStringRessource); Jan 05 12:34:31 thanks eldenz Jan 05 12:35:26 welcome Jan 05 12:35:28 SBB? :) Jan 05 12:35:35 \ð/ Jan 05 12:35:53 let me know if you need a alpha/beta tester Jan 05 12:36:25 from switzerland? Jan 05 12:36:31 yes Jan 05 12:36:47 cool. yes. im the developer of the official sbb timetable on the iphone Jan 05 12:36:52 no i need to learn java. Jan 05 12:36:59 now Jan 05 12:37:04 official? you work for the SBB? Jan 05 12:37:18 i did contract for them for the iphone version. Jan 05 12:37:30 now i do invest some personal hourse in developing a small android client. Jan 05 12:37:33 nice Jan 05 12:37:35 very beta Jan 05 12:37:42 and not official Jan 05 12:37:49 may i pm you? just curious about a few things.. licensing&co Jan 05 12:38:01 as soon as there is a growing G1 market in switzerland probably official. Jan 05 12:38:10 yes Jan 05 12:42:54 ooh, yes please! Jan 05 12:42:59 * danderson wants an SBB timetable Jan 05 12:43:12 unasi7: any chance of also including ZVV timetables? :) Jan 05 12:44:41 danderson, :) i want that too... Jan 05 12:45:01 danderson, but SBB has ZVV included anyway, at least on their page Jan 05 12:45:13 even better if the timetables are available as a shared resource Jan 05 12:45:34 so I can make an app that beeps X minutes before the next tram N leaves station S :) Jan 05 12:51:44 danderson, you aren't from israel originally, are you? Jan 05 12:51:53 nope Jan 05 12:52:13 not even close; I'm from France, with british parents Jan 05 12:52:21 why? Jan 05 12:52:40 ok, good, would've been a too weird of a coincidence then ;) Jan 05 13:00:06 danderson, ... not at the moment Jan 05 13:01:32 Wait: danderson, eldenz... the ZVV Net is included in the App... is my API will response to queris form Tram/Bus Stations in Z?rich Jan 05 13:08:51 this belong to anybody here: http://lexandera.com/mosembro/ ? Jan 05 13:15:16 unasi7: awesome! Jan 05 13:21:14 digitalspaghetti: what kind of homescreen is that guy using? Jan 05 13:22:27 isn't that some very old SDK version? I remember seeing this in the first(?) SDK release (or somewhere around that time) Jan 05 13:22:47 ah Jan 05 13:22:53 it isn't bad Jan 05 13:23:12 or at least, it looks better then the normal home screen Jan 05 13:26:18 it looks really ugly to me :/ Jan 05 13:26:28 different tastes :) Jan 05 13:29:48 :) Jan 05 15:23:30 Is there anyway to access the data shown on the map by a mapview? Like the cities, major roads, etc? Jan 05 15:23:40 Or is a mapview basically just a large picture? Jan 05 15:24:19 marklar: see android.location.Geocoder Jan 05 15:24:32 but, not sure if it really works or not... Jan 05 15:25:02 yeah, I looked at that Jan 05 15:25:23 and I guess for each point on the shown map you could try to find an address, I was just hoping there might be some API I was missing Jan 05 15:25:29 the mapview stuff is just images Jan 05 15:25:35 k, thanks Jan 05 15:25:37 iirc Jan 05 15:25:52 thats what it looks like, I was just hoping I was missing something big :) Jan 05 15:45:25 marklar: I wanted to work with that sort of data at one point and gave up but I did decide that the USGS survey data was the best way to go. They have full downloads of that sort of data Jan 05 15:45:37 You might have to dig a bit to find it, i dont have the links anymore Jan 05 15:46:25 ok, I'll check it out, thanks! Jan 05 15:47:01 i believe they call it overlay data Jan 05 15:47:05 might help your search Jan 05 15:47:12 thanks, googling as we speak :) Jan 05 16:27:30 if you connect your android device to your computer via USB, does the framework support any form of communication? Jan 05 16:27:45 (Other then something like UMS) Jan 05 16:28:54 tcp/ip Jan 05 16:29:06 adb? :\ Jan 05 16:29:09 (probably not what you want) Jan 05 16:29:13 you can use adb to create port forwarding Jan 05 16:29:20 oh right, ^^ Jan 05 16:29:23 that's what ddms, hierarchyviewer, etc. do Jan 05 16:29:30 they just use sockets and port forwarding Jan 05 16:29:43 there's also a ddmlib you can use in Java apps to do that kind of stuff Jan 05 16:29:50 again, that's what ddms and hierarchyviewer use Jan 05 16:30:05 and if you gots a rooted g1, you can properly tether by creating a wifi access point Jan 05 16:30:20 I don't =( Jan 05 16:30:28 ok thanks I will look into ddmlib Jan 05 16:31:13 so why does creating a proper tether require a rooted g1.. What are the limitations? Jan 05 16:31:14 weilawei: which is much more battery intensive than simply tethering via proxy. Jan 05 16:31:44 unix_lappy: thats not real tethering Jan 05 16:31:48 thats proxying individual apps Jan 05 16:31:57 plus I have an inverter for my car Jan 05 16:32:11 so I have a kickass wardriving setup Jan 05 16:32:41 famast: you can root your G1 btw Jan 05 16:32:44 theres a method for OTA RC30 now Jan 05 16:32:49 oh nice Jan 05 16:32:52 want it? Jan 05 16:33:04 sure why not Jan 05 16:33:39 famast: http://www.webnetta.com/2009/01/02/t-mobile-g1-rc30-to-jfv13/ <- follow this guide, but when you get to downloading the telnet client DONT use their link. get it from http://android-dls.com/files/apps/Telnet.apk instead Jan 05 16:33:46 ok thanks Jan 05 16:34:02 after you do that, install the engineering bootloader from here: http://www.gotontheinter.net/content/new-engineering-bootloader Jan 05 16:34:12 I didn't realize it was out for RC30. Nice to see how quickly things move Jan 05 16:34:24 this is not a topic for #android-dev. Jan 05 16:34:27 it'll let you recover much more easily should you screw up (but you need to follow the first guide before you do this) Jan 05 16:34:33 jasta: sorry, moving on Jan 05 16:34:44 he can now happily dev ;) Jan 05 16:35:06 :) Jan 05 16:35:16 * jasta looks around for jbq Jan 05 16:36:25 jasta: i think you have too much time on your hands if you sit around telling people to take it elsewhere. Jan 05 16:37:22 weilawei: http://www.gotontheinter.net/content/rc30-downgrade-merry-christmas-everyone Jan 05 16:37:35 your zero day link is not zero day, it seems Jan 05 16:37:51 vol: um dude Jan 05 16:37:54 read the dates on those posts Jan 05 16:38:00 i didnt say any of it was zero day Jan 05 16:38:04 your post is older and less useful. Jan 05 16:38:20 shouldn't have said zero day I guess Jan 05 16:38:24 *ahem* Jan 05 16:38:25 regardless Jan 05 16:38:29 I'll just talk about something else Jan 05 16:38:35 jasta, tell me about pumpkins Jan 05 16:38:44 i don't much about pumpkins Jan 05 16:38:46 jasta: yes, tell us about the pumpkins Jan 05 16:39:11 today my mission is to figure out why restarting nuked services doesn't call Service#onStart like it so clearly seems to in the source code Jan 05 16:39:29 happy 2009 yall! Jan 05 16:39:32 sounds like a case of services turning into pumpkins Jan 05 16:39:45 muthu_: careful or jasta will tell you that isn't appropriate for this channel Jan 05 16:39:52 heh Jan 05 16:40:05 weilawei: i'm used to that ;) Jan 05 16:40:22 i think he just needs to get a pet. or get out more. Jan 05 16:40:58 so if you kill the process running the service when start the service again onStart isn't called? Jan 05 16:41:23 jasta: onstart will be called only when your service is restarted Jan 05 16:41:45 i have discovered a bug in which it would not. Jan 05 16:41:56 i'm trying to document and understand the conditions for this bug, but i need jbq's help Jan 05 16:42:40 is the source compiling? Jan 05 16:43:18 have tried both master and cc.. both seem to have make errors Jan 05 16:43:42 i haven't built in a while. Jan 05 16:43:50 haven't bothered to look into it yet.. Jan 05 16:44:24 jasta: how was the new year party? Jan 05 16:45:30 have you guys noticed that the am service also has adb shell dumpsys activity.providers, broadcasts, and senders? very useful. i discovered it while plowing through the am source code Jan 05 16:46:17 can anyone verify that ACTION_UMS_CONNECTED is the intent broadcasted when you connect the g1 to the PC? is it the only broadcast? Jan 05 16:46:47 I have been using dumpsys power Jan 05 16:48:48 also i noticed that it seems google has made an effort to simulate battery usage. Jan 05 16:49:10 there is a battery stats service that was formalized in cupcake (it existed before, too) Jan 05 16:49:22 will my emulator shutdown when my fake battery wears out? :P Jan 05 16:49:40 i think its just a profiling tool, but still it would be very useful Jan 05 16:49:41 did cupcake get released on the G1? Jan 05 16:49:54 not to my knowledge Jan 05 16:49:56 ok Jan 05 16:50:00 cupcake has already merged into master though Jan 05 16:50:14 i think its more-or-less on T-Mobile now to decide what to do Jan 05 16:50:28 i might even be involved in that migration soon ;) Jan 05 16:54:13 hi, im new to android development, i use eclispe on osx 10.5, java 1.5 emulator/sdk (latest) Jan 05 16:54:31 welcome Jan 05 16:54:43 i cant seem to edit main.xml with the android eclispe plugin in layout mode Jan 05 16:55:14 gunesh: make sure you install all required eclipse components like wst etc., Jan 05 16:55:23 it throws me an error that I understood that the plugin was in AWT and it cant start in eclipse. Jan 05 16:55:46 muthu_: where do i find the list of the eclipse components ? Jan 05 16:56:43 http://code.google.com/android/kb/troubleshooting.html#installeclipsecomponents Jan 05 16:56:45 Is there an easy way to get the IP of the handset? (without having to create a socket connection first) Jan 05 16:57:07 goto a site like hostip.info Jan 05 16:57:09 thanks muthu_ , il check it out Jan 05 16:57:11 andrewoid: for Wi-Fi, yes. for EDGE/3G, what's the point? Jan 05 16:57:21 jasta, there's a point Jan 05 16:57:24 hostip.info should show your IP address in the search box Jan 05 16:57:30 andrewoid: can you explain what it is? Jan 05 16:57:52 gunesh: cool, adt just requires standard java environment in eclipse Jan 05 16:57:55 oh I should say I need this info programatically Jan 05 16:58:11 jasta, I'm writing an app that needs the info Jan 05 16:58:19 the carrier network (T-Mobile in this case) uses address translation and firewalls to prevent you from contacting it from the public internet Jan 05 16:58:44 jasta, I am aware of that Jan 05 16:59:21 can you explain what you will do with it? in my experience, requiring that you know the IP address of a network interface is the first of many bad design decisions... Jan 05 16:59:43 especially in this case when the address can't be contacted directly and it is definitely not static. Jan 05 17:00:01 the only useful thing you could do with it is to just record it for observation purposes. Jan 05 17:00:24 maybe he works for a company that can contact it? :P Jan 05 17:00:25 You're right, the address can't be contacted directly from the internet, but can it be contact from another device within the 3g/edge network? Jan 05 17:00:46 andrewoid: hehe, no. Jan 05 17:01:09 that would be nice Jan 05 17:01:48 so you can confirm that Tmobile is blocking data from one handset to another? Jan 05 17:02:04 andrewoid: that makes no sense, of course. if they were within the same routing path, they would have the same IP address from the address translation :) Jan 05 17:02:18 andrewoid: yes, i know this to be true of all US carriers, including T-Mobile. Jan 05 17:02:32 and it is the most popular carrier network strategy out there for other markets as well. Jan 05 17:02:44 two phones will have the same IP address? Jan 05 17:02:50 they use address translation extensively as a basic foundation for their networks Jan 05 17:02:55 they won't have the same ip address Jan 05 17:02:58 and as such, direct communication is not possible with any handset Jan 05 17:03:28 no but andrewoid just said they could if they were within the same routing path Jan 05 17:03:34 err jasta said Jan 05 17:03:56 famast: his hypothesis was that since they are both within the carrier network that they must have special routing. but if they were to have special routing privileges, then they would have to be within the same NAT block, and would thus have the same address. his hypothesis is false. Jan 05 17:05:09 I never said they'd have the same address Jan 05 17:05:14 for instance, imagine you have a LAN with 2 machines, connecting to the Internet via a NAT service. Both machines would see their public Internet address as being the same, and so could not route to each other using it. They would need their internal addresses to do so, which you would not get on a handset because that method of routing doesn't exist. Jan 05 17:05:15 There is literally no way to do peer to peer communication between handsets? Jan 05 17:05:20 but if they were in the same NAT block Jan 05 17:05:24 brb Jan 05 17:05:32 Similarly, if they were not on the same local network, they would see the address of the NAT machine, and would have no special routing opportunities Jan 05 17:05:50 NAT is about losing information permanently, there is no way to reconstruct it and get the routing working again. Jan 05 17:06:24 except by encapsulation through another protocol, which the carrier networks of course don't use. they consider it a feature for you not to be able to contact the phones directly. Jan 05 17:06:45 ok thanks I am seeing more clearly what you are saying Jan 05 17:06:52 marklar: not without a third party, no. Jan 05 17:07:18 didn't realize, thanks Jan 05 17:07:34 marklar: that was google's idea with Gtalk at first. they would be the massive third party necessary to facilitate this type of communication. Jan 05 17:07:49 ah, that makes sense Jan 05 17:07:55 if every handset is connecting to the same cloud, then yeah it will work again. but that is not called peer-to-peer networking, it just acts like it only because Google is so massive. Jan 05 17:08:18 yup, I had some ideas about various peer to peer programs, thanks for saving me the time :) Jan 05 17:09:04 To bad though, I was hoping multiplayer games would be easier to make Jan 05 17:09:12 Guess there is still wifi Jan 05 17:09:24 marklar: again, that was Google's idea with Gtalk, and I really hope that they mature that idea at some point in the near future. Jan 05 17:09:50 because it would be an excellent tool for developers to create some really sophisticated services without bothering with creating and maintaining a third party network Jan 05 17:09:51 yeah, I read about it and wasn't really sold on it as a transport for games Jan 05 17:10:15 wouldn't the latency be pretty high? Jan 05 17:10:19 well the prbolem is that they failed to abstract it from the instant messaging platform that it is today Jan 05 17:10:40 marklar: as opposed to the normally fast cell phone connections? :) Jan 05 17:10:44 haha true Jan 05 17:10:50 abnormally high I should have said Jan 05 17:11:08 why would it be? the bottleneck is not going to be on google's side. Jan 05 17:11:12 i'd like to tie in a live location based service tied to GTalk availibility Jan 05 17:11:32 you would still have exactly the same round trip penalty between two handsets. Jan 05 17:11:33 i specified it here, with security issues: http://code.google.com/p/livelocations/ Jan 05 17:11:59 marklar: regardless, it is still possible to implement your own transport for games with minimal effort. Jan 05 17:12:08 anyone have an idea in ms what kind of latency 3G phones have? Obviously there are a number of variables but I'm thinking if you were to ping google on your home machine vs using your phone how much extra delay ther eis Jan 05 17:12:23 gtalk didnt help you with anything but the precense of the network. for a small game, that would be as easy as hosting a single server somewhere. Jan 05 17:12:40 I actually have a multiplayer game of pong I'm working on for android :) Jan 05 17:12:44 what google offered was a way to use their huge, incredibly efficient cloud. Jan 05 17:12:49 yeah, it would be nice to not have to host anything though Jan 05 17:13:05 I'm back Jan 05 17:13:05 yup, those guys are way better at that stuff then I'll ever be Jan 05 17:13:24 i'm sure they will return to the idea at some point. they just need to get the gtalk guys to help them layer on something much more sophisticated than it was initially designed for Jan 05 17:13:53 It was included all the way up to the 0.9 release right? Jan 05 17:14:06 marklar: do you not think thats what appengine is part of? Jan 05 17:14:13 yes, but it was terribly implemented up to that point. i am glad to see it go in its current form Jan 05 17:14:19 so google can host the backend apps as well Jan 05 17:14:35 yeah, but lots of games won't necessarily need a backend Jan 05 17:14:44 but will be forced to in order to have multiplayer Jan 05 17:15:25 i need to get ready for work folks. later. Jan 05 17:15:32 cya Jan 05 17:15:33 later, thanks for the info Jan 05 17:25:17 hrmm, i have a weird one - in my app, when you open the keyboard to type in username/password - if you then close the keyboard it rights itself as normal, but now my username field has the password in it :| Jan 05 17:26:04 nice feature :) Jan 05 17:26:15 password revealer 1.0! Jan 05 17:26:25 lol, yea - no idea why though :| Jan 05 17:26:41 that is quite odd Jan 05 17:27:02 also, how do i specify specific layouts for landscape and portait? Jan 05 17:28:17 nm, hometime Jan 05 17:28:21 i'll look at it later Jan 05 17:30:18 don't know if you are still there, but put the different layouts in res/layout-land/* or res/layout-port/* depending on what you need Jan 05 17:30:37 http://code.google.com/android/devel/resources-i18n.html Jan 05 17:48:45 marklur on bus just now but thanks i'll check it at home Jan 05 17:49:07 i take it android knows if it has -land to automatically use it? Jan 05 17:49:39 or do i have to define it anywhere? Jan 05 17:51:07 guys, .. how do i define a font-size in XML RelativeLayout? android:font_size="12px" wont work! any ideas? Jan 05 17:51:16 try pt? Jan 05 17:51:19 em? Jan 05 17:52:30 font_size isn't a attribute Jan 05 17:54:32 got it: Jan 05 17:54:32 android:textSize Jan 05 17:57:08 digitalspaghetti: I believe it automatically picks depending on the orientation Jan 05 17:57:46 digitalspaghetti: But I also think it'll use whatever is in plain old res/layout/ before it uses the specific ones Jan 05 18:02:23 marklar: that's the other way. It looks for a specific one first. It actually takes the one with the higher number of qualifiers, so the plain old res/layout/ (ie zero qualifier) is chosen last Jan 05 18:02:51 ah, ok Jan 05 18:03:09 reference: http://code.google.com/android/devel/resources-i18n.html#AlternateResources Jan 05 18:09:41 is there a way to format text with html-like tags. (p.E. "keyvalue")? Jan 05 18:25:39 yes... Jan 05 18:25:45 there is a demo in the ApiDemos that shows this Jan 05 18:26:22 one thing to note, the textview settext method does eventually use an instanceof and if its not a Spannable then it wont work i dont think Jan 05 18:26:28 check the source code to be certain... Jan 05 19:30:32 mornin'/evenin' ... What's the accepted way to "hang around for a while" -- eg, after calling a routine to display a spash page ? Jan 05 19:30:36 thread.Sleep() ? Jan 05 19:33:36 how do i access a variable from one class to another? In my login class I have public String authCode Jan 05 19:33:53 and I want to access it in another class which is invoked by startActivity Jan 05 19:34:54 classname.varname ? Jan 05 19:35:23 ie. Class foo = new Class(); Then access as foo.varname Jan 05 19:35:46 (since I'm new to Java, someone will correct me if I'm wrong :-) ) Jan 05 19:36:09 i though so, i had com.serebraconnect.alerts.SerebraConnect.authCode, which made the var a static in the main class Jan 05 19:36:18 just looks ugly though, so I'll try that way Jan 05 19:40:35 as a side note, each call requires the parens, so Object.objectParam().nextParam().... Jan 05 19:41:15 School.teachers().bob() Jan 05 19:51:55 where is showAlert? Jan 05 19:52:34 according to the docs it's android.content.Context, but doesn't seem to fix it when included Jan 05 19:55:57 digitalspaghetti: i'm coming in in the middle here... what exactly are you attempting? if you have an AlertDialog object, you call show() on it Jan 05 19:56:41 i was copying from here: http://modmygphone.com/wiki/index.php/Opening_New_Screen Jan 05 19:57:10 i wonder if it's a custom function they have to create an alert Jan 05 19:58:20 yeah, that's a custom method they've written. Jan 05 19:58:56 also, they don't really explain the intent clearly in the manifest Jan 05 19:59:42 if my code is this: http://paste.ifies.org/211 Jan 05 20:00:21 when i define would it be om.serebraconnect.alerts.SerebraConnect.alertCenter ? Jan 05 20:07:48 fyi: not that i condone pirating but there are two android programing books on torrentspy Jan 05 20:09:06 i've got one of the pre-1.0 books, but not sure where i placed it Jan 05 20:10:52 apps-for-android is a great source of samples to learn from http://code.google.com/p/apps-for-android/ Jan 05 20:11:00 it covers intents, but not the XML side Jan 05 20:17:05 Is there a way to determine the screen size in the onCreate method? Jan 05 20:17:17 or do I need to wait for something to have onSizeChanged called Jan 05 20:17:59 if you set a view, it probably has the right size.. just guessing though Jan 05 20:18:18 the context may have some method too, haven't looked :P Jan 05 20:19:03 Well, I hit setContentView on a View Jan 05 20:19:18 but onSizeChanged didn't seem to get hit before onCreate returned Jan 05 20:19:30 and I need to try and get something that provides the screen specs asap Jan 05 20:20:20 Hmm, maybe I can query the window manager Jan 05 20:24:01 try using setCurrentView(View) instead of setCurrentView(int), then using the View methods to get sizes.. Jan 05 20:24:37 zinx: I have. Jan 05 20:24:47 View v = (View) getLayoutInflater().inflate(viewID, null); Jan 05 20:24:50 vol: doesn't work? Jan 05 20:24:51 unless you're suggesting I try calling the view's methods Jan 05 20:24:53 directly Jan 05 20:24:58 more like Jan 05 20:24:58 vol: i am suggesting that Jan 05 20:25:07 MyView v = new MyView(this); setContentView(v); Jan 05 20:27:18 vol: i'm suggesting using one of the View methods that gets size, e.g. v.getWidth() Jan 05 20:27:41 try a v.forceLayout() first if it doesn't seem to be right, maybe? Jan 05 20:27:46 I can try that. Jan 05 20:28:01 however, using the window manager to get the default display seems to be working correctly.... Jan 05 20:28:12 ah Jan 05 20:28:15 that's going to probably be the best route for me I think, truth be told Jan 05 20:28:22 yeah Jan 05 20:28:30 i only looked one level deep that route Jan 05 20:31:19 any idea why at line 93 do i get a RuntimeException: Cannot serialize username (username being the value) http://paste.ifies.org/212 Jan 05 20:31:52 Is there a standard way to have your application check for updates in the market? I thought I saw something about it, but google isn't helping right now Jan 05 20:32:23 Open Intents update Jan 05 20:32:34 nsillik: EditText isn't serializable Jan 05 20:32:34 interesting Jan 05 20:32:42 ^^ Jan 05 20:32:55 though doesn't getText return a string? Jan 05 20:32:56 zinx: pretty sure that wasn't meant for me Jan 05 20:33:04 oops Jan 05 20:33:08 yeah, digitalspaghetti: ^^ Jan 05 20:33:17 getText returns an Editable Jan 05 20:33:18 Strings are serializable :P Jan 05 20:33:22 yeah Jan 05 20:33:29 any chance it's returning null, instead of the empty string? Jan 05 20:33:37 digitalspaghetti: but doesn't the user need to have OI Update installed already then? Jan 05 20:33:37 ahh, so convert it to a string Jan 05 20:33:40 again i'm following an example from this book :| Jan 05 20:33:41 unless null is serializable Jan 05 20:33:50 digitalspaghetti: it already is a string Jan 05 20:33:54 dunno, doubt null is though maybe it should be Jan 05 20:34:00 digitalspaghetti: try setting the text to ""? Jan 05 20:34:01 you're calling getText, which should return a string (check!) Jan 05 20:35:17 you're only using username and password to get the strings within Jan 05 20:35:24 you might want to try something like Jan 05 20:35:32 getText() returns an Editable Jan 05 20:35:37 oh Jan 05 20:35:39 which also isn't serializable Jan 05 20:35:43 in that case you'll have to get the string out of the editable Jan 05 20:35:45 ^_^ Jan 05 20:35:48 problem solved Jan 05 20:35:52 yeah Jan 05 20:35:57 username.getText().toString() maybe Jan 05 20:35:57 yea, that was my next idea Jan 05 20:36:14 (toString() on username looks like it may return not what you want :P ) Jan 05 20:36:47 i think i need to throw away this book Jan 05 20:37:20 nah Jan 05 20:37:25 what is the book? Jan 05 20:37:54 Android's new and those kinds of books always have errors and/or outdated stuff anyway Jan 05 20:38:11 McGraw Hill Android: A Programmers Guide Jan 05 20:38:14 but it's pre 1.0 Jan 05 20:38:24 i scanned that. looked not good. Jan 05 20:39:02 I just got the wrox book, I'm pretty happy with it. Jan 05 20:40:01 zinx: even google's docs don't seem to be 100% up to date Jan 05 20:41:15 digitalspaghetti: bleeding edge ftw Jan 05 20:41:59 mind you i've managed to go from 0% Java to where i am in 24 hours Jan 05 20:42:19 yeah Jan 05 20:42:32 i've written 1 java app total, the really simple LCD tester thing Jan 05 20:42:50 i just keep reminding myself it's just Flex with a different syntax Jan 05 20:43:10 zinx: you mean the app designed to hurt my eyes? D : Jan 05 20:43:20 vol: no, that's the flashlight apps Jan 05 20:43:25 digitalspaghetti: except it's not flex :> Jan 05 20:43:30 (whatever flex is) Jan 05 20:43:34 vol: no its better :) Jan 05 20:43:38 vol: my LCD tester is half as bright, and has 8 amazing patterns to choose from (that all look exactly alike) Jan 05 20:43:47 vol: Flex is Adobe AS3 + XML Layout Jan 05 20:43:59 and AS3 and Java aren;t that far off of each other Jan 05 20:43:59 vol: zenthought.org/PixelTester.apk Jan 05 20:44:00 eugh Jan 05 20:44:09 actionscript? Jan 05 20:44:11 good lord Jan 05 20:44:13 vol: standard 'check for dead/stuck pixels' patterns :) Jan 05 20:44:39 vol: in the way you have packages/imports/classes Jan 05 20:45:11 digitalspaghetti: AS3 is JavaScript, i thought, which is pretty far off from Java :/ Jan 05 20:45:11 which is to say "Object Orientation which every reputable language has had since the 80s" Jan 05 20:45:34 zinx: not exactly. Javascript is EMCAScript, which is what AS3 is as well Jan 05 20:45:39 it's a bizarre incestuous family Jan 05 20:46:05 yea - but bazarrly me thinking of it like flex works for me Jan 05 20:46:07 * vol did AJAX development in a former life Jan 05 20:46:13 * vol shudders a little Jan 05 20:46:44 * michaelnovakjr would never dream of doing it again Jan 05 20:47:53 is OpenIntents Update the only way to check for updates on the marketplace? I'd really prefer not to have my (commercial) application depend on another app Jan 05 20:48:12 you can do the update check yourself Jan 05 20:49:01 michaelnovakjr: is there a contentprovider (or something else) for that? Jan 05 20:49:26 no :P you have to do it yourself Jan 05 20:49:34 the market doesn't have anything currently for updates Jan 05 20:50:02 michaelnovakjr: blah, okay. Thanks, I'll start digging. Jan 05 20:55:26 hmm, if the field "var" is set to null then would it make sense that savedInstanceState.getLong("var") returns 0? Jan 05 20:56:21 yes, it returns the default value for that type Jan 05 20:58:07 ah,hmmm Jan 05 20:58:25 how annoying Jan 05 20:59:27 you can use getLong(var, default_value) if you want to know when it is null Jan 05 20:59:42 sweet Jan 05 21:00:37 ah, is it getLong as in long or Long? Jan 05 21:00:55 doesn't like me setting the default_value to null Jan 05 21:01:38 longs aren't objects, so they can't be set to null Jan 05 21:01:51 try getLong(var, -1) and test for -1 Jan 05 21:02:00 instead of testing for null Jan 05 21:02:12 yeah Jan 05 21:02:23 weird though Jan 05 21:29:23 hmm Jan 05 21:30:14 * jasta scratches his head about service restart Jan 05 21:30:47 morrildl: have you seen jbq loitering around anywhere? Jan 05 21:32:34 jasta: he's still on vacation Jan 05 21:34:11 blast Jan 05 21:34:36 what about hackbod? she knows a lot about the service architecture right? Jan 05 21:34:43 jasta: what are you thinking about regarding the service restart ? Jan 05 21:35:02 anno^da_: i cannot figure out why i am seeing a crashed service being restarted with only a call to onCreate and not onStart. Jan 05 21:35:52 oh ok. Just thought you are fighting with killed services (killed by the system) Jan 05 21:36:16 i've been looking at ActivityThread and ActivityManagerService and i see that i should expect a call to onStart Jan 05 21:36:22 anno^da_: i am. Jan 05 21:37:12 But a killed service (killed by the system) doesn't get restarted automatically by the system right ? Jan 05 21:37:37 anno^da_: the docs say it does Jan 05 21:37:58 or i think they do.. i've been wrong many times before :P Jan 05 21:38:00 Well. With my missed call app I recognized something different. Jan 05 21:38:27 When my service got killed by the system I had to restart it with an Alarm Manager which checks if the service got killed. Jan 05 21:38:48 docs aren't neccesarily right, either :D Jan 05 21:38:48 Otherwise the service was down untill I manually restarted it. Jan 05 21:39:15 anno^da_, maybe that's different to crashing Jan 05 21:39:28 being killed means the system needed resources, crashing means there was a bug Jan 05 21:39:44 Yeah. Thats why I asked jasta if he means crashing or killed by the system. Jan 05 21:40:00 ah i see Jan 05 21:40:08 :) Jan 05 21:40:14 anno^da_: they do get restarted. i have confirmed that, but what i can't figure out is why no call to onStart occurs. Jan 05 21:40:23 so they get remade (with onCreate), but it leaves it at that. Jan 05 21:40:32 so my service, and many otehrs as they are designed, won't actually get moving again Jan 05 21:40:42 hmm Jan 05 21:40:46 strange Jan 05 21:40:48 the code indicates onStart will be called, but it does not. I believe jbq or hackbod can shed some light on this behaviour Jan 05 21:41:01 jbq said sth different to me Jan 05 21:41:18 when I asked him about this. He told me to use an Alarm Manager. Jan 05 21:41:39 http://code.google.com/android/reference/android/app/Service.html Jan 05 21:41:47 "Note this means that most of the time your service is running, it may be killed by the system if it is under heavy memory pressure. If this happens, the system will later try to restart the service." Jan 05 21:41:51 anno^da_: i looked at the code in ActivityManagerService. it definitely restarts crashed services. Jan 05 21:41:54 i've also seen it happen in the log Jan 05 21:41:55 but uh, that may be totally inaccurate. Jan 05 21:41:57 and i've seen it happen in practice. Jan 05 21:42:07 i wrote a bunch of debug in my service to prove what's happening Jan 05 21:42:41 jasta: if something is starting it via bindService, onStart doesn't get called Jan 05 21:42:50 is your service bound when it crashes? Jan 05 21:42:56 no, it is not bound. Jan 05 21:43:03 zinx: it has calls to onStart, trust me. Jan 05 21:43:14 i can prove it with adb shell dumpsys activity.services Jan 05 21:43:18 jasta: thanks for that. Could you tell me in which time frame it is trying to restart the service ? Jan 05 21:43:19 the intent that started it is recorded there Jan 05 21:43:36 anno^da_: the code indicates it starts with 5000ms then doubles with each successive failure Jan 05 21:43:55 eventually resetting after so much time has passed Jan 05 21:44:04 jasta: perhaps that was fixed later than your firmware was made :D Jan 05 21:44:06 dumpsys activity.services can tell you a lot about its state. Jan 05 21:44:27 thank you very much that helps me a lot with my app. Jan 05 21:44:27 zinx: perhaps, but i did check the git log and as far as it goes back (which of course is newer than RC30) it seems to have the same basic logic Jan 05 21:44:33 and also in practice i have seen it restart... Jan 05 21:44:37 jasta: oh, hmm Jan 05 21:44:38 @ jasta Jan 05 21:44:59 i have read through activitythread and activitymanagerservice code for days now. i know a lot about what its supposed to do :) Jan 05 21:45:10 Yeah I have debug code everywhere but just stepped over that one. :( Jan 05 21:45:23 i can see absolutely no way in which a successful call to startService would not cause a crashed service to get a call to onStart. it just makes no sense. Jan 05 21:45:56 what happens is each call to startService adds to a startArgs list. when the service is restarted automagically, it fires onCreate and then N number of onStart calls corresponding to the size of startArgs. Jan 05 21:46:00 if its empty, of course, you will not get a call to onStart Jan 05 21:46:10 but it can't be empty in my case, as i said dumpsys activity.services shows the intent that started it. Jan 05 21:46:27 so it must have at least 1 entry (it actually has many, because of the way the service works)... Jan 05 21:46:37 the only place i can find in all of the code that clears startArgs is _after_ it has called onStart. Jan 05 21:46:41 makes no damn sense Jan 05 21:47:52 i can work around this by just usin onCreate to start myself no matter what, but that can only work in this very special demo i've created and not well in practice Jan 05 21:48:02 likewise, if there is a bug here i feel there is significant value in finding it out and reporting it Jan 05 21:49:14 To sum this up. If I am checking if the service got started and restart it with an AlarmManager. And the system restarts the old one which got killed. I could have to instances of the service running. Right? So I have to take out the AlarmManager stuff again. Jan 05 21:49:35 two instances Jan 05 21:50:45 anno^da_: no, calls to onstart dont nest normally Jan 05 21:50:57 jasta: sure that's where it's being called? (verified via stack dump in onCreate or something..) Jan 05 21:51:18 onstart is really just a messaging system. a way to send arguments to the service, not really start it. a single call to stopSelf will stop the service regardless of the number of cals to onstart Jan 05 21:51:31 jasta: But when I works normally the above mentioned should happen right? Jan 05 21:51:56 zinx: there's no way of knowing. the stack trace would show the activity thread received a message saying to call oncreate. you cant know who scheduled that message. Jan 05 21:52:10 jasta: :( Jan 05 21:52:20 anno^da_: well, if the code that ive been reviewing was working as its written i wouldnt be here bitching about it :) Jan 05 21:52:41 anno^da_: on a G1, i believe you will see a call to onCreate and no call to onStart. your alarm would then eventually call onStart as mine does too. Jan 05 21:52:51 a good bit of the Android core stuff seems to be a twisty maze Jan 05 21:53:05 i have a keep-alive alarm which fires every 30 minutes and a log that prints when its opened in onCreate. what i see in my log is it is opened and then several minutes later the service started from my keep-alive alarm Jan 05 21:53:30 zinx: it's a robust, efficient platform. it would have to be. Jan 05 21:53:59 hehe Jan 05 21:54:01 ah ok. Hmm so there is no real solution with that bug right? :-) Jan 05 21:54:31 looked in to pulling raw events earlier.. going to take opening another the event device again, but oh dear those events fly all over the place Jan 05 21:54:45 s/another // Jan 05 21:54:54 anno^da_: well, a work-around (which i dont recommend until i learn more about how this really works) would be to record your state as it changes in persistent storage Jan 05 21:55:12 then look at it in onCreate, if it looks like you had pending work that didnt get cleaned up by onDestroy, restart yourself. Jan 05 21:55:21 from onCreate, you can start your own service manually. Jan 05 21:55:44 but as i said, i wouldnt do this until after we do some more research. i need confirmation from a googler who knows about this code what should be happening versus what is happening so we can debug it Jan 05 21:55:48 sounds like the documentation recommendation Jan 05 21:55:53 if its just a bug, then the work around would break horribly once its fixed Jan 05 21:56:08 michaelnovakjr: jbq did once recommend this on the forums, which is why iw ant to talk to him specifically Jan 05 21:56:21 because the code tells a very different story: it clearly makes an attempt to call onStart again Jan 05 21:56:28 yea, i was just reading the docs and saw that too Jan 05 21:56:37 ^^ first thing you said :) Jan 05 21:57:22 i may need to build from source and confirm that this bug even exists in master. Jan 05 21:57:36 and then if it does, i can increase debug in the code and deploy my own builds to the emulator to figure it out Jan 05 21:58:05 actually, that would be a great way to go. i can simulate a crashed service by just using kill on the emulator Jan 05 21:58:14 :) Jan 05 21:58:44 Ok thanks jasta. So I'm waiting with implementing the work around. Jan 05 21:59:09 xavd: any idea when jbq will be back from vacation? Jan 05 22:00:03 one thing i'd like to do is extend ServiceRecord's dump() method to include a dump of startArgs. if it's empty, i'll have my answer. Jan 05 22:20:41 jasta: thursday Jan 05 22:21:21 I'm trying to catch the user canceling out of a DatePickerDialog using this code: http://www.pastebin.ca/1300472 does anyone know why it isn't calling onCancel()? Jan 05 22:21:42 I can catch the onDismiss(), but its not calling onCancel Jan 05 22:23:51 marklar: did you set that it was cancelable? Jan 05 22:24:01 can anyone see the difference between http://www.anddev.org/webservice_soap_with_complex_data_type_and_ksoap_client-t2195.html and my code at http://paste.ifies.org/213 Jan 05 22:24:16 in regards to putting the SoapObjects into a Vector? Jan 05 22:24:30 there, I get a ClassCastException Jan 05 22:26:07 jasta: no, and actually I assumed it would be called when the cancel button was pressed... looking at it now it looks like its only the BACK key? Not cancel? Jan 05 22:48:14 anyone? Jan 05 22:49:30 what? Jan 05 22:49:53 what line Jan 05 22:50:24 a german with the surname Braun, nice :) Jan 05 22:50:25 is this the commented out parts? Jan 05 22:52:54 you might want to use the debugger to step through, and see what's actually in that vector Jan 05 22:59:35 sorry, line 63 - i know why i am getting the error for casting, but according to that example it should work Jan 05 22:59:43 i wondered if anyone encountered anything similar Jan 05 23:00:50 "according to that example" Jan 05 23:00:59 your code doesn't look that much like the example Jan 05 23:01:05 actually, it's a mush and I kind of skimmed Jan 05 23:01:12 but I would really suggest stepping through with the debugger Jan 05 23:01:22 maybe using a packet capturer, or viewing the raw output response? Jan 05 23:01:31 well the imporant part is in the example, he casts a SoapObject as a Vector Jan 05 23:01:37 yes, I saw that Jan 05 23:01:55 i've checked the raw response and it's correct Jan 05 23:02:07 it's an object of alert=anyType{ messages Jan 05 23:02:35 and it is a child of alerts? Jan 05 23:02:42 yes Jan 05 23:02:44 you have alert and alerts Jan 05 23:02:46 which is slightly confusing Jan 05 23:03:36 Jan 05 23:04:21 ok, look at the soap response provided in that example Jan 05 23:04:52 Jan 05 23:05:38 http://paste.ifies.org/214 is the raw object i get back Jan 05 23:06:03 this is... json? Jan 05 23:06:11 does your parser handle that? Jan 05 23:06:21 vol: it's a SoapObject Jan 05 23:06:22 for the record, chinese democracy is shitty Jan 05 23:07:00 heh, not my API :) Jan 05 23:07:02 ok, wait, that's the WHOLE raw object you get back? Jan 05 23:07:07 I don't see "alerts" Jan 05 23:07:10 just tmp Jan 05 23:07:23 that is getProperty("alerts") Jan 05 23:07:31 ok Jan 05 23:07:38 are you getting a ClassCastException? Jan 05 23:07:44 morgan: yea Jan 05 23:07:59 i debug CCEs by doing: Jan 05 23:08:10 Object o = ; Jan 05 23:08:19 log(o.getClass()) Jan 05 23:08:24 to find out what it really is Jan 05 23:08:24 ^^ Jan 05 23:08:32 already done, it returned: Jan 05 23:08:40 class org.ksoap2.serialzation.SoapObject <- Exactly that Jan 05 23:08:45 then it's not a vector. Jan 05 23:08:47 so sorry Jan 05 23:09:05 (unless SoapObject extends Vector, but then why are you casting?) Jan 05 23:09:45 crappy example :| Jan 05 23:10:05 although, it could be the SOAP response itself is bad Jan 05 23:10:10 need to speak to the owners Jan 05 23:10:15 what is tmp.getProperty("alert").getClass() ? Jan 05 23:11:08 morgan: ^^ Jan 05 23:13:09 ? Jan 05 23:14:08 < morgan> what is tmp.getProperty("alert").getClass() < digitalspaghetti> class org.ksoap2.serialzation.SoapObject Jan 05 23:14:12 If you have a SoapObject, have you looped through all of its properties? Jan 05 23:14:40 yea, and i'm starting to think it might be at the other end now anyway Jan 05 23:15:01 they don't specify as being xsi:type="soapenc:Array" Jan 05 23:15:26 so probably ksoap2 will covert it to a Vector then Jan 05 23:22:08 this is nice! http://vixml.com/examples Jan 05 23:22:14 we need that ported to android Jan 05 23:23:50 heh, thats a nice idea - use the mic to pick up someone blowing and respond to it in some way Jan 05 23:24:22 (either that, or port processing) Jan 05 23:44:12 * gcinzh is having some trouble with WifiManager.addNetwork in that I create a new WifiConfiguration(), set the SSID, and attempt to addNetwork but it doesn't succeed. Jan 05 23:44:22 Anyone have an idea what I'm missing ? Jan 05 23:44:39 (the defaults stated in the docs are indeed what are set on a new object, and should be sufficient) Jan 05 23:50:53 haha: http://starbur.st/cartoons/chipsanddip.jpg Jan 05 23:58:02 http://gem.jrc.ec.europa.eu/gam/index.htm is pretty cool Jan 05 23:58:05 and there is data Jan 05 23:58:16 i wonder if you could make a traveltime app with it Jan 06 00:00:51 fwiw - turns out it was already in the config even though I'd not connected to the SSID before (afaik) Jan 06 00:11:37 * ctate read that as "a timetravel app" Jan 06 00:20:26 Who's using soap Jan 06 00:22:58 I use shower gel Jan 06 00:22:59 ;) Jan 06 00:24:40 these are good things Jan 06 00:24:42 haha Jan 06 00:26:05 strawberry flavoured gcinzh? Jan 06 00:28:53 tsk tsk, paying extra for all that added water :) Jan 06 02:16:43 Falc: :-) Jan 06 02:17:08 * gcinzh cannot find a decent example of an HTTP/HTTPS GET/POST ... most of the examples seem to reference an old version of the API Jan 06 02:17:43 Surely it should be relatively trivial (2 or 3 lines?) to say "result = get(url)" ? Jan 06 02:25:01 well, Android uses the org.apache.http package; i imagine there's a body of samples available for that Jan 06 02:31:51 gcinzh: maybe http://hc.apache.org/httpcomponents-client/primer.html and so forth would help? Jan 06 02:45:17 ctate: thanks, but that doesn't give much Java-specific context. Jan 06 02:45:48 heh - my wife peeked out of the bedroom, looking decidedly unamused (it's 03h45 here :-o ) Jan 06 02:56:21 gcinzh: when you wake up, the rest of that site may have more specific info for you. http://hc.apache.org/user-docs.html **** ENDING LOGGING AT Tue Jan 06 02:59:56 2009