**** BEGIN LOGGING AT Wed Feb 27 10:59:57 2008 Feb 27 11:01:24 I'm currently using drawPath to draw some lines over a map. Feb 27 11:01:46 Anyone knows whether drawPath is optimized, that it doesn't actually draw Off-Screen path-segments ? Feb 27 15:11:39 I would have spent 1000$ for every message in the last 4 hours... ;) Feb 27 15:12:03 quiet in here Feb 27 15:12:31 pretty Feb 27 15:12:39 and its not even friday... Feb 27 15:13:03 it is alive! ALIVE! Feb 27 15:13:13 ^^ Feb 27 15:15:01 i ve been working on setting up http://androforge.net for the last couple of days... been struggling a bit but seems to be mostly working Feb 27 15:15:32 the mailing list still is a bit bad but it should work fine Feb 27 15:15:45 I was thinking about announcing it soon on the mailing list Feb 27 15:15:46 you are german? Feb 27 15:15:54 anybody interested in administrating it? Feb 27 15:16:02 nope Feb 27 15:16:10 mailing list for what? Feb 27 15:16:10 acsia: that's a big project Feb 27 15:16:28 well I have a lot of time Feb 27 15:16:54 it says "Meine Sachen" ;) Feb 27 15:17:04 or is that text depending on the visitor location ? Feb 27 15:17:10 a yes it is localisation Feb 27 15:17:11 gimme the link too :D Feb 27 15:17:23 http://androforge.net Feb 27 15:17:37 I am using gforge with a OSS license Feb 27 15:17:46 but there is not much documentation Feb 27 15:18:08 nice, link to hello android :) Feb 27 15:18:28 I take it you are the owner? :) Feb 27 15:18:32 yeah Feb 27 15:18:53 idk, but imo trac should do just fine Feb 27 15:18:54 nice link to anddev.org :D Feb 27 15:19:16 :) Feb 27 15:19:31 well best resources for android isn't it ;) Feb 27 15:20:22 acsia: what do you havve in mind in terms of administration? Feb 27 15:20:37 well the first thing is to set up the trove map Feb 27 15:21:05 currently it is at default with all platform for all language Feb 27 15:21:30 I was thinking about setting it up with list of emulators and phone to come Feb 27 15:21:55 so project can be specific to a phone etc... and then just general admin on the server or project if needed Feb 27 15:22:39 it runs on a vps, I woudl need maybe a couple of people for root access to the server and gforge Feb 27 15:22:53 i've just a read about an s/xmpp/gtalk/ problem, is it that bad as it's described? Feb 27 15:23:18 what do you need trove for? Feb 27 15:24:03 well the trove project tree within gforge Feb 27 15:24:52 ah i see, i thought you meant the other trove :D Feb 27 15:25:36 do you mean this http://www.trovemaps.com/ :D Feb 27 15:26:02 no i meant this: http://trove4j.sourceforge.net/ :D Feb 27 15:27:00 btw the german localization is really baaaad Feb 27 15:27:29 imo trac with ssl svn acces should be enough for most open source android projects Feb 27 15:27:35 kind of like assembla.com Feb 27 15:28:23 assembla looks interesting Feb 27 15:28:55 well trac is good yes but it would be more 1 project per site Feb 27 15:29:06 I was more thinking rubyforge + gem Feb 27 15:29:26 I am thinking about building a automatic install and upgrade tool for android Feb 27 15:29:35 which means? Feb 27 15:29:38 like gem for ruby Feb 27 15:29:47 or apt-get for debian Feb 27 15:30:14 maybe mingle it with openintent Feb 27 15:30:20 i see Feb 27 15:30:32 but time is not really on my side nowadays... Feb 27 15:30:48 but theres no backward compatibility yet Feb 27 15:31:18 well not the os itself but rather applications Feb 27 15:31:38 ah like webstart Feb 27 15:31:47 for instance if your activity calls an intent that is not installed then it could connect and check online for potential applications Feb 27 15:32:18 yeah and if your application isnt up to date just get the latest version Feb 27 15:32:28 yeah not a bad idea actually Feb 27 15:32:31 and give you a list of application that handles such intent Feb 27 15:33:00 I am thinking about it lately... I might begin to work on that next Feb 27 15:33:08 it would be hard to capture all intents though right? Feb 27 15:33:17 so a central site as androforge could be a good start Feb 27 15:33:47 well i guess youd need a service and all the apps which want to benefit from the auto update functionality have to go through that service Feb 27 15:34:09 on the server side it is not that hard Feb 27 15:34:21 you just need to read the manifest Feb 27 15:34:32 acsia: that's true Feb 27 15:34:34 and create a db with app against intent Feb 27 15:35:03 actually, that only tells you what intents it can handle, not what intents it uses Feb 27 15:35:27 well thats the point Feb 27 15:35:59 then you can get all the apps that can handle a given intent Feb 27 15:36:04 well on the client side, the system knows if the intent exists or not locally, if it can not find it connect to a central site and give a list of application that can handle that intent Feb 27 15:36:11 capturing the intents on the client side is another story Feb 27 15:36:29 probably hook into the system somehow Feb 27 15:36:51 yeah, that's what i was saying...capturing unknown intents wouldn't be a standard process Feb 27 15:37:43 but when there's a will there's a way Feb 27 15:37:52 I ll wait a bit as last milestone had a quite a lot of changes to the manifest... this system would need to implemented on a mature system Feb 27 15:37:59 hehe Feb 27 15:38:03 surely Feb 27 15:38:29 well once they release the os source it should be easy Feb 27 15:39:27 yes and the first phone to get you excited :D Feb 27 15:39:49 I wonder how the US/Europe distribution will happen Feb 27 15:41:01 last night I dreamed of getting a Preview Phone from HTC :D Feb 27 15:41:23 lol Feb 27 15:41:24 haha Feb 27 15:41:35 androids haunting your dreams Feb 27 15:41:45 hehe Feb 27 15:41:52 I was ripped out of the dream as my cat bit my toe... Feb 27 15:42:14 unfortunately I've had some dreams related to listviews... Feb 27 15:42:15 what a pity :D Feb 27 15:42:24 maybe your phone was ringing Feb 27 15:42:36 your non android phone btw :D Feb 27 15:42:46 :P Feb 27 16:04:28 there's no dialogs to change the wallpaper in M5 right? The one on the homescreen doesn't work for me... Feb 27 16:14:08 zhobbs: i don't think there is Feb 27 16:39:25 i'm so tired this morning i'm not sure if it would be safe to drive :) Feb 27 16:39:35 maybe i should work from home today Feb 27 16:42:48 jasta: eventually you're going to have to sleep ;) Feb 27 16:43:24 no, sleeping adequately each night is no longer in the cards for me now that android is out ;) Feb 27 16:44:29 perhaps i'll have a short break after the ADC Feb 27 16:44:59 yeah, until the next one in the fall Feb 27 16:46:03 i'm not going to participate in the second one. Feb 27 16:46:23 after the first challenge, i will probably just happily maintain my application until i find that it is mature enough to move on Feb 27 16:46:53 probably i will do some smaller apps like a couple of games depending on what the landscape of android software looks like by then Feb 27 16:49:57 yeah right, when you have an actual phone you'll be even more into it Feb 27 16:51:07 Hehe... the question is, if one carrier comes out with the first Android well before the others... will i sign a new one year contract just cause i need it, need it, need it Feb 27 16:51:10 eventually yeah, but i will want to ease off my development a bit :) Feb 27 16:51:16 for a month or two to breathe :) Feb 27 16:51:27 trigatch4____: Why would you? Just unlock it. Feb 27 16:51:35 The first Android phone is likely to be quad-band :) Feb 27 16:51:44 Who knows, maybe you won't even NEED to unlock it ;0 Feb 27 16:52:01 Well... I'm an idea guy not a tech/programming guy Feb 27 16:52:06 So all that is well above my head Feb 27 16:52:45 I just wish I WAS a programmer so I could get all the damn ideas I have into product form... but instead I have to wait for someone else to develop them (and make bank off them!) Feb 27 16:53:11 unlocking is not a programmatic technique. It just involves removing arbitrary restrictions that binds a phone to a particular cell phone carrier network. Feb 27 16:53:31 Trying to get a high school buddy who knows Java to partner with me... Feb 27 16:53:33 in other words you'll just run a program and hook the phone to your usb or something Feb 27 16:53:52 trigatch4____: better get going if you guys want to enter the challenge Feb 27 16:54:00 Well when they come out, I'll make sure to run over here and msg you begging you to help me out Feb 27 16:54:06 trigatch4____: You realize, of course, that being a programmer is not an intrinsic quality, yes? You actually could become one if you weren't so lazy and/or stupid :) Feb 27 16:54:34 Yeah I don't think it is going to happen... he works too damn much Feb 27 16:54:43 jasta: I don't know about that... Feb 27 16:54:53 Lazy? Haha I've been up for Over the past 72 hours I've only gotten around 10 hours of sleep Feb 27 16:54:59 Doing all work Feb 27 16:55:05 trigatch4____: Then you must be stupid Feb 27 16:55:10 hehe Feb 27 16:55:13 jasta: some people's brains aren't wired to be technical Feb 27 16:55:27 Plus... yes Feb 27 16:55:34 anyone can learn programming Feb 27 16:56:01 But having years and years of practice and learning just working IN programming and playing with code and figuring things out and doing this and that... those years are priceless Feb 27 16:56:16 zhobbs: Sure, there's some grain of truth there, but he could still learn to do it. He might just never be proficient. Feb 27 16:56:22 And you can't just artifically create that experience in a couple months, you have to learn for yourself Feb 27 16:56:32 Unless you're doogie effing howser Feb 27 16:56:44 trigatch4____: So you're lazy then? Feb 27 16:56:46 But I'm trigatch effing four Feb 27 16:56:54 Make up your mind. Lazy, stupid, or both :) Feb 27 16:56:57 for sure anyone can learn, just some people (even some smart people) would never be good at it Feb 27 16:57:23 i can pick both? Feb 27 16:57:24 zhobbs: I'm just harrassing him anyway. We both know he won't learn squat :) Feb 27 16:57:26 how generous Feb 27 16:58:20 It's true... I'm too busy to pick up learning a programming language although I wish I had the time. But I got bills to pay! Feb 27 16:58:27 I drank too much last night, I feel both lazy and stupid today... Feb 27 16:58:38 What was your drink of choice Feb 27 16:59:22 beers, shots, cocktails :) Feb 27 16:59:34 trigatch4____: Resolve to either learn what you want, or stop wanting to learn it. That state of limbo you're in is annoying to the rest of us :) Feb 27 17:00:06 trigatch4____: jasta doesn't sleep either Feb 27 17:02:07 I'm not in a state of limbo, I would categoriz it as a yearning pessimism best expressed through jealousy. :) Feb 27 17:02:07 I gotta figure out if it's even worth starting another project.... Feb 27 17:02:25 beers, shots, cocktails? hahaha spreading the love all around Feb 27 17:02:54 pretty much finished the first project, wondering if it's worth getting another one going Feb 27 17:03:18 burnt out already? :) Feb 27 17:04:05 just thinking about the late nights it's going to require for the next 6 weeks Feb 27 17:04:46 I'm starting to consider that perhaps the source of my sleeplessness is my ever unfulfilling day job. Feb 27 17:05:02 Maybe when this all gets going after the Summer, I will look for work elsewhere. Feb 27 17:07:24 I need a day job, just being picky Feb 27 17:50:04 does anyone else get a lot of IllegalStateException's when using Cursors? Feb 27 17:53:17 no? there is an exception in finalize() that detects whether or not you've closed it properly Feb 27 17:53:34 you have to explicitly close or deactivate your non-managed cursors when youre done with them Feb 27 17:57:02 Oh, ok Feb 27 18:05:45 * jasta ponders how to use TabActivity or TabHost Feb 27 18:06:13 kind of a shame we dont have an apidemo Feb 27 18:06:21 yah Feb 27 18:07:18 we didn't have the time Feb 27 18:07:36 considering that it utilizes ActivityGroup, which we've never seen before, ... Feb 27 18:14:49 perhaps you should extend the ADC again. *ducks* Feb 27 18:14:54 i suspect that tab host cannot be used through xml Feb 27 18:14:58 jasta: http://www.jsharkey.org/blog/2008/02/14/android-tabhost-in-the-m5-sdk/ Feb 27 18:15:14 neat :) Feb 27 18:35:20 romainguy__: did you say that .equals() shouldn't throw a NPE? Feb 27 18:37:02 zhobbs: yes Feb 27 18:55:50 hmm, I can't play any videos with xine or mplayer if the emulator is running... Feb 27 19:06:03 zhobss: i've noticed that too Feb 27 19:06:16 sorry, zhobbs Feb 27 19:07:17 I thought it was just my X setup or something Feb 27 19:07:23 muthu: nvida card? Feb 27 19:08:11 i run linux.. i guess that's the one Feb 27 19:08:29 right you mentioned xine or mplayer Feb 27 19:08:51 yeah, in linux Feb 27 19:09:30 i noticed the audio getting blocked Feb 27 19:09:39 yeah, me too Feb 27 19:10:11 it'll hog the audio, I have to be playing music when I launch the emulator or else I can't play audio Feb 27 19:10:26 I need to get hardware mixing going Feb 27 20:38:27 yeah the audio situation on linux still sucks Feb 27 20:38:48 you can do some ALSA hackery to support /dev/dsp mixing Feb 27 20:38:55 but still is a nightmare Feb 27 20:39:04 I need to setup dmix I think Feb 27 20:39:07 so you get things like one app hogging the audio Feb 27 20:39:53 yeah even with dmix you get into some situations Feb 27 20:39:54 f00f-: ALSA supports software and hardware mixing out of the box, actually. Feb 27 20:40:14 * romainguy_ remembers trying to make his USB sound cards work... Feb 27 20:40:27 of course, but most people don't have hardware mixers on their sound cards :) Feb 27 20:40:38 at least most laptops Feb 27 20:40:48 f00f-: Which is why it's good that it supports software mixing. Feb 27 20:40:50 probably most on-board sound too Feb 27 20:40:56 It supports multiple channels software mixed together. Feb 27 20:41:12 yeah, although i think it still has issues with multiple apps using ALSA and OSS emulation at the same time Feb 27 20:41:38 Through /dev/dsp even if you have the ALSA OSS wrappers. Feb 27 20:41:39 VMWare uses OSS, so whenever I try to run an ALSA app alongside it, it doesn't exactly work nicely Feb 27 20:41:42 even with dmix, hmm Feb 27 20:42:25 what does the android emulator use? Feb 27 20:42:51 f00f-: OSS is not a problem. ALSA can happily wrap it. Feb 27 20:43:36 OSS causes locking and disables the software mixer, though. Feb 27 20:43:52 i don't use OSS Feb 27 20:44:07 that said, you can make any application work easily by using the wrapper Feb 27 20:44:17 aoss some-stupid-oss-app Feb 27 20:44:27 why do you need a wrapper if you have OSS emulation enabled in ALSA? Feb 27 20:45:17 OSS doesn't support software mixing, and so ALSA's emulation of it doesn't either. Feb 27 20:45:39 aoss, hwoever, does support that. Feb 27 20:46:41 oh that sucks Feb 27 20:46:57 agreed, but OSS totally sucks, and any application still using it must be updated. Feb 27 20:47:08 funny thing is Feb 27 20:47:17 VMWare Player doesn't support ALSA Feb 27 20:47:29 yet their regular (pay) version does Feb 27 20:47:36 that's probably their heavy-handed way of asking you to buy the non-free version. Feb 27 20:47:51 same thing with RealPlayer for linux iirc Feb 27 20:47:54 Still, I bet you can run aoss to wrap vmplayer :) Feb 27 20:48:15 RealPlayer ofr Linux is a joke. MPlayer supports everything it does. Feb 27 20:48:30 including all the proprietary Real codecs? Feb 27 20:48:37 Yes Feb 27 20:49:22 MPlayer supports numerous proprietary codecs by various methods, including loading native Win32 DLLs and invoking functionality from them. Feb 27 20:49:41 winelib makes that a quite stable practice. Feb 27 20:50:11 ya Feb 27 20:50:20 MPlayer also embeds into Firefox to allow playback of streaming WMV and Real media. Feb 27 20:50:45 yeah i had real bad luck with that one in the pasat Feb 27 20:50:49 probably more stable now Feb 27 20:50:52 None of this is stock on Debian or Ubuntu, of course, because MPlayer is tainted as non-free this way. Feb 27 20:51:05 and even illegal to distribute in some countries Feb 27 20:53:01 which is unfortunate, but both distros have a separate apt source for all this, and it is easy enough to install once you add it. Feb 27 20:53:08 Ubuntu even has a HOWTO about it specifically Feb 27 21:16:57 grr, the androidmanifest editor really pukes all over your hand-crafted XML Feb 27 21:17:07 the last it could do is freaking indent for you Feb 27 21:18:46 least* Feb 27 21:18:59 it's in the work Feb 27 21:22:03 i'll just not use it :P Feb 27 21:52:32 <_avatar> i've been reading through the android docs, and have a question. from what i gather it's not safe to poke at UI components from a background thread. if a background thread calls an EventListener, what's the preferred way to bounce a message back to the main thread, so the UI can update accordingly? sorry if this is a stupid question, but the solution doesn't appear to be immediately obvious to me :) Feb 27 21:53:30 _avatar: Look at View.post(Runnable) Feb 27 21:53:36 _avatar: you can also use a Handler Feb 27 21:54:01 <_avatar> romainguy: thanks! Feb 27 21:55:30 <_avatar> View.post sounds handy, not sure how I missed that Feb 27 21:58:47 now that i'm comfortable wrapping a cursoradapter, i wonder if it makes sense to write an adapter to stitch multiple cursors together to produce a much more dynamic list view Feb 27 21:59:06 so i could have one view that can show both albums and single tracks Feb 27 21:59:18 without putting that join in the database necessarily Feb 27 22:00:56 why avoid the join? Feb 27 22:01:11 that's what i was asking you the other day jasta, how to do a join :D Feb 27 22:04:14 zhobbs: well because the two types of data are not related. that is, the listview would have two different types of row views. Feb 27 22:04:26 one to show an album, the other to show dangling tracks not associated with an album. Feb 27 22:07:06 so wouldn't really be a join, just two cursors Feb 27 22:12:25 zhobbs: yes, but a join would work, it would just be one-to-many. Feb 27 22:12:59 f00f-: And I told you that you can't that way. That is still true. Feb 27 22:13:31 I never said anything about writing an adapter to place multiple cursors into a list in some way. Feb 27 22:41:17 so... this gtalk peer to peer thing.... is there any way to use that from 'outside'? say, a web server? Feb 27 22:41:29 umm Feb 27 22:41:31 if oyu implement a client Feb 27 22:41:31 sure Feb 27 22:41:32 davidw: well, that's one more :) Feb 27 22:41:49 * morrildl is keeping a count of the number of people who want that :) Feb 27 22:41:50 support the x-google stanzas or whatnot Feb 27 22:42:02 currently, though, f00f- is correct Feb 27 22:42:15 f00f-, ok, but how do you implement the client? run the emulator on the server and talk to it with telnet?;-) Feb 27 22:42:20 well Feb 27 22:42:22 i debug with pidgin Feb 27 22:42:26 look at the xml stanzas sent across Feb 27 22:42:37 really it's just some extra stuff they send Feb 27 22:42:40 ok, reverse engineer it:-) Feb 27 22:42:42 it's like a chat but without the body iirc Feb 27 22:42:43 right Feb 27 22:42:49 but no real assurances that they won't change it Feb 27 22:43:02 davidw: you can make an XMPP client to work with Gtalk Feb 27 22:43:09 zhobbs, I have that part working Feb 27 22:43:13 imho, they're missing somethings still, like groupchat P2P data Feb 27 22:43:16 it's about 2 lines or ruby Feb 27 22:43:25 davidw: I mean for the server Feb 27 22:43:30 f00f-: correct, group chat is kinda broken at the moment Feb 27 22:43:41 but if you just send ordinary messages, afaik you can't fetch them with the intent Feb 27 22:43:43 i'm looking at making a service though Feb 27 22:43:53 instead of using lame/slow HTTP Feb 27 22:43:59 i'd make a Jabber service/bot that does the same Feb 27 22:44:02 low-latency requests Feb 27 22:44:07 no need for setup/teardown of HTTP Feb 27 22:44:11 what do oyu think? Feb 27 22:44:21 since the XMPP connection is always open Feb 27 22:44:23 supposedly Feb 27 22:44:43 the problem with using gtalk for all this peer to peer stuff is security also, all apps can access those messages as they come in right? Feb 27 22:45:00 well the way data works is you specify an intent Feb 27 22:45:03 with a package Feb 27 22:45:13 so if you send it with com.x.y only com.x.y.* will receive the data msg Feb 27 22:45:16 morrildl, very high level, what I want to do is to wake up an app from a web server at an arbitrary time. I would like to not pay SMS prices. Beyond that, I don't care what it's built with! Feb 27 22:45:26 f00f-: interesting, didn't know that Feb 27 22:45:43 davidw: I have the same requirements for an app... Feb 27 22:45:55 zhobbs, I think a lot of people do Feb 27 22:46:15 lets get the pitchforks and torches and march on mountain view Feb 27 22:46:19 zhobbs: +1 :) Feb 27 22:46:33 i'm game for that Feb 27 22:46:54 gtalk is the answer for now Feb 27 22:47:01 gtalk seems pretty good Feb 27 22:47:25 I got it working so that I could write Hecl code in a chat window and have the emulator doing stuff, so I was happy Feb 27 22:47:35 I don't like having to make my users signup for a gtalk account Feb 27 22:48:11 it sucks Feb 27 22:48:13 I actually don't mind that. I just wish I could use that same authentication for my own web site:-) Feb 27 22:48:13 so they suggest Feb 27 22:48:16 using a 3rd party xmpp lib Feb 27 22:48:31 f00f-: you can't have that wake you up though right? Feb 27 22:48:50 lol Feb 27 22:48:51 what? Feb 27 22:49:03 you mean, is it as beautiful as using the gtalk api's? Feb 27 22:49:10 probably not, but you could make it better Feb 27 22:49:17 the gtalk api's suck atm for android Feb 27 22:49:22 but they're going to improve Feb 27 22:49:50 f00f-: I just mean to receive a message using smack jars you'd have to have an always on service running right? Feb 27 22:50:01 yeah Feb 27 22:50:12 essentially mimicking the GTalkService Feb 27 22:50:15 that they have running already Feb 27 22:50:19 right Feb 27 22:50:24 whichis not a bad idea at all Feb 27 22:50:28 it would be a cool open source project Feb 27 22:50:32 yeah Feb 27 22:50:35 i know internally gtalk uses smack anyway Feb 27 22:50:49 really sucks how they don't expose it fully as a generic XMPP service object Feb 27 22:51:03 yep Feb 27 22:51:27 part of the reason is the verbosity of XML Feb 27 22:51:34 so they came out with a binary protocol Feb 27 22:51:54 also, there's no way to create a service, start it, and then have any guarentees that it won't be gutted for the resources Feb 27 22:52:20 the system will kill it if it needs it's resources Feb 27 22:52:21 yeah, and that's what really worries me Feb 27 22:52:28 will a Service be the first to be killed or last? Feb 27 22:52:46 hehe, just make it a receiver for CLOCK_TICK :) Feb 27 22:52:48 i'd rather have all Activities killed before a service Feb 27 22:52:53 lol Feb 27 22:54:06 such is this Feb 27 22:54:07 bbl Feb 27 22:54:08 & Feb 27 23:00:16 zhobbs: services have different rules for app death. Feb 27 23:01:15 specifically, services will only be killed to make room for the foreground process. the reality is, that won't happen unless the user runs a program which abuses the phone's resources quite rampantly. it's unlikely the user will run that application again :) Feb 27 23:01:28 f00f-, it'll be so cool to get the source code Feb 27 23:01:39 you can try plugging in different allocation strategies:-) Feb 27 23:06:47 i wonder what jasonchen does at google Feb 27 23:07:13 jasta: let's have your best guess Feb 27 23:07:21 he's a developer advocate like morrildl Feb 27 23:07:25 oh, oops, spoiled it Feb 27 23:07:41 davidw: that's just what i told you in munich :-) Feb 27 23:08:04 he keeps the developers like romainguy__ freshly supplied with _'s Feb 27 23:08:11 ^^ Feb 27 23:08:18 davidw: blame my stupid Apple router :) Feb 27 23:08:23 so romain is the only developer we have in here? Feb 27 23:08:42 wasn't there a kernel guy too a while ago, at the beginning? Feb 27 23:08:48 yeah Feb 27 23:08:49 swetland ? Feb 27 23:08:52 he drops by from time to time Feb 27 23:08:53 yeah, it was swetland Feb 27 23:09:04 but only romain is active Feb 27 23:09:08 jasta: Jason and I think of ourselves as "Recovering Developers" ;) Feb 27 23:09:19 morrildl: Great, I don't :P Feb 27 23:09:47 morrildl: wait till you see how many APIs we changed for the next SDK :p Feb 27 23:09:47 I'm just kidding, I still don't even understand what you guys do. Feb 27 23:10:23 how do you balance that out? I mean, if you guys don't write code, you'll get rusty and end up just yelling 'DEVELOPERS!' a lot or something Feb 27 23:10:43 davidw: we actually are writing code Feb 27 23:10:47 davidw: we balance it by writing sample apps and whatnot Feb 27 23:10:50 but as you say, it's a balance Feb 27 23:10:53 cool Feb 27 23:10:57 romainguy____: Sigh, I just started to get happy that I can write a large portion of Android code without ever stopping to check docs ;) Feb 27 23:11:17 "Every time you report a bug, we change an API" Feb 27 23:11:18 i just tossed together a custom adapter and wrote several layout XML files all from memory Feb 27 23:11:28 wow Feb 27 23:11:31 jasta: nice Feb 27 23:11:53 so we can blame jasta for all the api changes? Feb 27 23:12:02 i'm getting efficient at this android business :) Feb 27 23:12:17 duey: no he just reports bugs what we already fixed Feb 27 23:12:23 lol Feb 27 23:12:27 i still think he's lying to me. Feb 27 23:12:56 i think he just fixes them and then SAYS they were fixed :) Feb 27 23:13:31 uhuh Feb 27 23:13:40 I wish I could fix them that fast Feb 27 23:14:13 they are not bugs you see jasta Feb 27 23:14:18 they are features Feb 27 23:14:38 jasta: well, we have several hundred commits per day, looking at the numbers. Even a blind squirrel fixes a bug every now and then ;) Feb 27 23:15:15 6 commits since my last check in 15 minutes ago :) Feb 27 23:16:19 most of the bugs i've caught were really easy to find. as the complexity of my app grows i can't help but stumble on them Feb 27 23:16:28 so i do actually suspect that someone at google has already seen it Feb 27 23:18:59 hmm, this is new. is dp a synonym for dip? Feb 27 23:19:06 or is that a new unit? Feb 27 23:20:55 dp == dip Feb 27 23:38:49 romainguy____: would it be good practice to register a content observer on any cursor i use in my layout directly (like a header textview) so that i can catch the case that the item is deleted or modified and appropriately redraw like a listview would? Feb 27 23:39:22 and specifically, for the delete case, should my activity just finish() and get out of the user's face? Feb 28 00:05:55 what the? Feb 28 00:20:54 is there a public specification of what handsets need to implement to run android? Feb 28 00:21:09 no, and i suspect there will not ever be. Feb 28 00:21:22 I thought it was supposed to be an open handset? :P Feb 28 00:21:32 It is, and that's why you wouldn't find such a specification. Feb 28 00:21:42 hmm Feb 28 00:21:58 That specification would imply the requirements Android has are impossible to change. Feb 28 00:22:15 It would be like compiling a list of platforms that could run Linux. I could just go add support and your list would be now be wrong :) Feb 28 00:22:20 ah Feb 28 00:22:26 I mean a basic list of commonalities Feb 28 00:22:32 Right, and even then, no. Feb 28 00:22:42 say I wanted to make a device that would allow android apps to run on it Feb 28 00:22:54 The basic requirement you can assume is, perhaps, a phone and a screen. Feb 28 00:23:03 lol, I meant from a lower software level Feb 28 00:23:06 I need a jvm Feb 28 00:23:18 and a set of interfaces the java libraries can use to interact with the phone... Feb 28 00:23:22 Android supports exactly 1 JVM, and that is unlikely to change. Feb 28 00:23:29 Android has no JVM Feb 28 00:23:31 The interfaces are well defined by android.jar. Feb 28 00:23:38 ah ok, I'll look there then Feb 28 00:23:44 no jvm? Feb 28 00:23:46 romain is being overly technical, the Dalvik virtual machine is what is being used, though. Feb 28 00:23:53 ah Feb 28 00:24:06 It's not "overly technical", it's just not a JVM :) Feb 28 00:24:09 Dalvik fails to be a JVM because the JVM is so narrowly defined that Dalvik doesn't qualify. For all practical purposes, it is a variant of a JVM. Feb 28 00:24:19 jasta: it is not Feb 28 00:24:24 since it uses a totally different bytecode Feb 28 00:24:32 Which is why I called it a variant. Feb 28 00:24:41 how well does this play with native java on arm processors? Feb 28 00:24:42 Something can be a variant of one thing without being it. Feb 28 00:24:47 It's no more a variant of a JVM than the .Net CLR is a variant of the JVM Feb 28 00:24:56 I second what morrildl just said Feb 28 00:25:06 * jasta pauses for a minute Feb 28 00:26:15 pumpkin: at any rate, the Android SDK includes a tool named 'dx' that translates Java .class bytecode into Dalvik bytecode, so the process is mostly transparent to you as a developer Feb 28 00:26:22 ah ok Feb 28 00:26:38 so I assume this means the native java on arm processors is largely irrelevant to android, then Feb 28 00:26:54 correct Feb 28 00:27:03 okay :) Feb 28 00:27:09 thanks Feb 28 00:27:16 (assuming you mean Jazelle, yes) Feb 28 00:27:26 pumpkin: Android's virtual machine and supported tools are sufficient to be compatible with J2SE 1.5 to the degree that the associated classes are (Harmony). Feb 28 00:28:01 But as romain has enforced, it is not a JVM because it fails at least one of the basic requirements of such. Feb 28 00:28:08 I see Feb 28 00:28:33 I'm looking at it from the point of view of someone wanting to implement the platform, not write apps in it, but I guess I'll find the specs I need in the SDK anyway Feb 28 00:28:57 Abstracted further, it is written with a similar intent as any other JVM, to ultimately run Java code as specified by some specific version of the Java language. Feb 28 00:29:42 pumpkin: No, you won't. Android is currently closed source, and so it would not be possible to utilize their implementation for any other purpose than what you have in the SDK> Feb 28 00:29:54 ah Feb 28 00:29:58 *sigh* Feb 28 00:30:06 That includes the virtual machine, Dalvik, which is the importnat part for your purposes. Feb 28 00:30:10 jasta: No, it's meant to run Dalvik bytecode as specified by some specific version of the Dalvik bytecode format :) Feb 28 00:30:32 but it will eventually open up? Feb 28 00:30:43 tonight ;) Feb 28 00:30:43 romainguy___: I said ultimately to run, not directly. Feb 28 00:30:48 if you write something that compiles to Dalvik bytecode sure Feb 28 00:30:55 There is a layer of indirection for both a JVM and the Dalvik VM. I chose my words carefully :) Feb 28 00:30:59 say I had linux running on a platform that people might want android running Feb 28 00:31:08 on Feb 28 00:31:13 romainguy___: I also said the intent, not the ability :L) Feb 28 00:31:21 jasta: it's ok to be wrong :) Feb 28 00:31:25 No, it isn't. :) Feb 28 00:32:10 I strive very hard not to be semantically bankrupt, romain. Feb 28 00:34:04 Also, I meant "it" using my previous definition of Dalvik and supported tools, not just Dalvik. Feb 28 00:34:11 That extends my dialog sufficiently to be correct ;) Feb 28 00:34:42 "for suitable definitions of correct" ;) Feb 28 00:34:43 j/k :) Feb 28 00:36:04 As an aside, I am very eager to dig into Dalvik once source code is available. Feb 28 00:37:20 so once it's available, I would need to compile dalvik for my platform, fill in the relevant hooks into the low-level functionality, and than I'd be ready for android? Feb 28 00:37:55 You mean to port Android to a platform other than for the ones it was intended? Feb 28 00:38:12 What is your ultimately goal again? Feb 28 00:38:34 I lost it in my quest not to look like an idiot Feb 28 00:38:38 :) Feb 28 00:38:50 yeah, to port it to a platform that isn't officially sanctioned :P Feb 28 00:38:51 ultimate* Feb 28 00:39:05 but nonetheless one a lot of people might be interested in using Feb 28 00:39:07 pumpkin: Are you referring to a handset, specifically? Feb 28 00:39:10 yup Feb 28 00:39:15 Well, that is a very large task indeed. Feb 28 00:39:34 You would need to first make sure Linux itself works, then you'd need to make sure that Linux has drivers for all the functioanlity you want. Feb 28 00:39:39 yeah Feb 28 00:39:57 Then you'd need to make sure that Dalvik is correctly optimized for the platform. Feb 28 00:40:06 Then you'd have to recompile all of Android for that target Feb 28 00:40:18 well, I'm assuming dalvik is mostly deployed on ARM cpus? Feb 28 00:40:58 Yes, but Dalvik itself is certain to be portable to any CPU. The problem, though, is that Dalvik has been specially optimized for a small set of targets. Feb 28 00:41:09 yeah, fair enough Feb 28 00:41:11 And without Dalvik optimizations, you might find the rest of Android suffering immensely. Feb 28 00:41:22 this would most likely be a proof of concept at first Feb 28 00:41:30 but I think a lot of people would be interested in working on this, if it worked Feb 28 00:41:45 The hardest part, without question, will be providing Linux drivers for all the functionality you need. Feb 28 00:41:52 yeah Feb 28 00:42:06 And you could start that now. No need for Android source code :) Feb 28 00:42:16 yeah, we've started with the linux stuff :) Feb 28 00:42:26 just curious how much it would take on top of that to get android running Feb 28 00:42:41 any ETA on dalvik going open source? Feb 28 00:42:52 I suspect at the end of this year. Feb 28 00:42:54 Along with the rest of Android. Feb 28 00:42:58 ah Feb 28 00:43:12 I am guessing, though. It would be appropriate to release Android with handsets IMO. Feb 28 00:43:30 yeah, makes sense Feb 28 00:44:27 anyone knows whether painting to canvas with a full opaque paint (instead of any transparent paint) is optimized ? Feb 28 00:44:40 plusminus: what do you mean? Feb 28 00:45:27 if the paint (or the bitmap) are not transparent at all, drawing should be faster ...? Feb 28 00:45:44 replace("or the bitmap", "and the bitmap"); Feb 28 00:46:01 yes Feb 28 00:46:07 but it's not "optimized" Feb 28 00:46:14 it's just that it does not have to do any blending Feb 28 00:46:38 yes sorry. But it may be faster, right? Feb 28 00:46:54 no, it *will* Feb 28 00:46:59 ^^ Feb 28 00:47:46 damn listview @!# Feb 28 00:53:19 teehee Feb 28 00:53:41 i'm using my meta data to make my media player aware of the 3 category of albums possible: full length, EPs/demos, and singles. Feb 28 00:53:50 and treat them all a little bit specially in the UI :) Feb 28 01:04:45 bye Feb 28 04:05:00 jasta: are there problems if the client goes away with your async service example? Feb 28 09:28:26 just finished my notepad v1 Feb 28 09:28:34 oh how sweeet it is Feb 28 10:11:56 Good morning Feb 28 10:12:21 Good morning Feb 28 10:12:34 I'm doing a widget that is in need of layouting its children. (Its gonna be a kind of TagCloud-widget) Feb 28 10:13:24 when I'm adding the View "rows" with addView(...) within the constructor everything is fine. Feb 28 10:14:01 but at that point I cannot retrieve the width of my View, what is essential Feb 28 10:14:19 so now I'm adding the Views in onLAyout(...) Feb 28 10:15:56 (btw I am extendign LinearLayout) Feb 28 10:16:40 good morning Feb 28 10:16:47 the debugger shows the children I added correctyl listed under "mChildren" Feb 28 10:16:57 but noting actually appears in the screen :( Feb 28 10:17:00 i just read Canonical is going to release Ubuntu Mobile :o) Feb 28 10:17:02 http://www.ubuntu.com/products/mobile Feb 28 10:17:02 Lede: hi Feb 28 10:19:12 anyone don such layout things before..? Feb 28 10:31:21 plusminus: sorry, i have no idea Feb 28 10:34:02 +-: are you setting the width, height etc., Feb 28 10:34:53 can I implement methods in class/interface Stubs? Feb 28 10:39:27 mike: you mean the methods in the aidl file? Feb 28 10:45:50 muthu: having called measure to all the children before, I do: Feb 28 10:45:51 btn.setWidth(btn.getMeasuredWidth()); Feb 28 10:45:55 btn.setHeight(btn.getMeasuredHeight()); Feb 28 10:46:37 where getMeasuredXY() return "good" values. Feb 28 10:47:54 muthu, what aidl file? Feb 28 10:52:36 android sometimes freaks me out :( Feb 28 10:56:34 muthu, does this have to with the manifest file? Feb 28 10:58:41 mike: i was wondering about the stubs you were mentioning Feb 28 10:59:30 implementing ipc using aidl **** ENDING LOGGING AT Thu Feb 28 10:59:56 2008