**** BEGIN LOGGING AT Wed Feb 11 02:59:57 2009 Feb 11 03:38:29 ahhhh Feb 11 03:38:34 jsharkey yeah Feb 11 03:39:00 when i walk through the cursor, i need to set to do: track.setUri(Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, Integer.toString(i+1))); Feb 11 03:39:06 the key is the i+1 Feb 11 03:39:34 i wasn't adding +1 to the index, the MediaStore indexes from 1 and up. Feb 11 03:39:45 when it comes to the Uri Feb 11 03:39:47 blah Feb 11 03:41:24 ah this works a lot better Feb 11 03:41:39 so what do you guys use to periodicly update the seek/progress bar for music playing Feb 11 03:55:59 DJTachyon: ive used a backround thread in the past but you might try posting a delayed message to yourself Feb 11 03:56:04 through a handler Feb 11 03:58:15 ah Feb 11 03:58:26 so a timer .. nothing really to listen for otherwise right? Feb 11 03:58:57 i mean, you still need to handle pause right? Feb 11 03:59:30 and post delayed uses an exisitng message queue instead of a new thread Feb 11 04:00:27 yeah Feb 11 04:00:34 pause is very important Feb 11 04:00:42 in fact the pause might not be fast enough Feb 11 04:01:01 i might rewind the pause 500ms Feb 11 04:01:21 huh? Feb 11 04:01:46 so when a posted event wake you up, just check a paused flag Feb 11 04:02:04 i need it to pause exactly where the user hits it ... but it seems to delay 250-500ms Feb 11 04:02:30 using the media playback apis? Feb 11 04:02:35 i just hope my enhancement request gets attention on the android source problem report Feb 11 04:02:43 yeah Feb 11 04:02:49 make sure any delay is configurabe ;) Feb 11 04:02:50 not like we have another choice Feb 11 04:02:55 yeah Feb 11 04:03:10 cuz others might have a hifi device or somthin Feb 11 04:03:14 in the future Feb 11 04:03:16 yeah true Feb 11 04:03:52 hmm i wonder if you can pull timings from resources Feb 11 04:04:19 and if device goes into resource resolutioon Feb 11 04:05:06 all i need is adjustable sample rate Feb 11 04:05:15 or someway to speed/pitch shift Feb 11 04:07:18 DJTachyon: lemme know if you find something, i would be very interested Feb 11 04:07:27 in variable playback rates Feb 11 04:07:27 i bet you would :P Feb 11 04:07:32 a lot of people would Feb 11 04:07:36 for another project ;) Feb 11 04:07:51 ive been pushing for low-level api support for a lot of this stuff Feb 11 04:08:29 DJTachyon: at the same time there are a ton of optimizations that can happen if you assume 1.0 constant playback rate Feb 11 04:09:00 yeah well Feb 11 04:09:02 http://code.google.com/p/android/issues/detail?id=1961 Feb 11 04:09:05 feel free to comment Feb 11 04:09:06 :) Feb 11 04:09:28 has anyone replied to it yet? Feb 11 04:09:38 i cant click rite now, walking on g1 Feb 11 04:09:42 nope not yet Feb 11 05:29:24 just in case. if someone is interested, I solved my problem where the ListActivities View wasn't updated, when the backing ArrayList or its elements changed. Feb 11 05:30:23 the problem was that setListAdapter() was not called from the UI Thread Feb 11 05:31:07 Doesnt it crash if you call setListAdapte from a non-ui thread? Feb 11 05:31:35 rsteckler: there was no Exception Feb 11 05:31:46 bummer... Feb 11 05:32:25 I found out while modifying the examples in the ApiDemos. _there_ was an exception with the right hint Feb 11 05:33:25 I use the Smack Library which has its own ThreadHandling from a service. not sure whats responsible for not getting this exception there Feb 11 09:29:35 Hi, are there opensource drivers for gps and grafiksupport for the g1? I just can't find them. Feb 11 14:37:21 I remember reading about an open source implementation of maps for android, does anyone know about it or where I could find it? Feb 11 14:42:45 marklar this? http://source.android.com/roadmap Feb 11 14:42:56 err wrong url Feb 11 14:44:08 marklar, Mapme. http://planetgerman.blogspot.com/2007/12/mapme-android-maps-application-enhanced.html Feb 11 14:44:38 hmm, I don't think so, it was an implementation using openstreetmaps Feb 11 14:44:43 thanks though Feb 11 14:44:45 nod Feb 11 14:45:07 it was more a replacement for mapactivity than anything else Feb 11 14:45:24 marklar, ask plusminus when you see him. Feb 11 14:45:41 He's been working on map apps and I beleive he was doing something with openstreetmaps at some point Feb 11 14:45:48 k will do, thanks Feb 11 14:45:53 np Feb 11 14:49:25 Finally found it, its http://code.google.com/p/osmdroid/ in case anyone else is interested Feb 11 14:52:51 cool Feb 11 14:53:05 is that an app itself or just libraries for anothe rapp to call? Feb 11 14:53:19 hey anybody have an example of using a handler as a timer to periodicly update the UI? Feb 11 14:53:20 I tried andnav2 once, but it was ugly and buggy Feb 11 14:55:15 andnav is still taking donations to kick start a $10000 US OSM Server Feb 11 15:07:57 $10,000 ? Feb 11 15:15:30 yeah .. like 32GB of RAM or something Feb 11 15:15:49 its hosting costs in the US Feb 11 15:17:55 what are they going to use it for? Feb 11 15:31:46 serving map tiles, I think Feb 11 15:33:15 can't they just use google? Feb 11 15:33:21 i'm a bit lost Feb 11 15:36:22 google maps has weird copyright conditions Feb 11 15:36:35 which is basically the raisin detre of OSM Feb 11 15:42:13 dan_b: its just libraries I believe Feb 11 15:43:47 OSM FTW ! Feb 11 15:44:16 hey plusminus, is that your work? Feb 11 15:49:59 osmdroid, yes Feb 11 15:50:03 andnav also Feb 11 15:50:13 ah, cool its very nice Feb 11 15:50:17 Thanks for GPLing it Feb 11 15:50:27 np Feb 11 15:50:44 he'll be selling it by next week :( Feb 11 15:50:51 lol thats fine :) Feb 11 15:50:58 does anyone know how to move a seekbar with the trackball? one of my users complained ... is that a bug or am i supposed to put an attribute on there? Feb 11 15:51:03 must have been a ton of effort Feb 11 15:51:25 it sums up ;) Feb 11 15:51:32 i reckon it'll be worth it soon enough Feb 11 15:52:18 i hope so Feb 11 15:53:06 you haven't had an early heads up on paid apps? Feb 11 15:57:15 well, either under NDA or very busy, i'll stump for the first one because I'm an optimist - anyone know about this trackball/seekbar problem? Feb 11 16:18:30 is there rtsp/rtp support on the g1 ? Feb 11 16:18:39 If so, which application/lib should I use ? Feb 11 16:33:15 Wasn't a bug recently fixed in the JNI layer, where devs were accessing private members of classes? Feb 11 16:33:47 that's not a bug, it's a JNI feature Feb 11 16:34:01 you can access private fields from Java anyway Feb 11 16:34:04 Wasn't the bug that they were accessing private members incorrectly Feb 11 16:34:26 no idea Feb 11 16:34:28 ok, so if I pass some java object into jni, I can access its private members? Feb 11 16:34:33 we use that quite a bit and it works fine Feb 11 16:34:38 I thought that wasn't allowed, my mistake! Feb 11 16:34:51 that's what Canvas and Bitmap do Feb 11 16:35:02 Yes, I'm going to be rooting around in Surface Feb 11 16:35:05 and getting mSurface Feb 11 16:35:26 I don't want to know :) Feb 11 16:35:29 : ) Feb 11 16:35:50 lets just say our industry contacts finally came through for us and gave us useful information Feb 11 16:36:01 for the first time in about a year Feb 11 16:36:55 video recording? Feb 11 16:37:04 no Feb 11 16:37:06 darn Feb 11 16:37:08 :( Feb 11 16:37:10 so solly Feb 11 16:37:14 lol Feb 11 16:37:44 your only hint is "we released software previews of our software to good amounts of interest in CES, and the fucking iphone version got more coverage than the G1 version" Feb 11 16:38:00 but the iphone version has no soul Feb 11 16:38:05 hmmm interesting Feb 11 16:38:07 "OH GOD PRODUCT X RUNS ON IPHONE (and on the G1 too) OH GOD IPHONE" Feb 11 16:38:23 anyway Feb 11 16:38:25 at least it's not a blackberry Feb 11 16:38:27 yeah, that sounds about every article I read in the past 18 months Feb 11 16:38:44 you could be programming for the Storm! Feb 11 16:38:51 that little demo convinced our industry contacts that we were serious, so we actually got some useful information from them Feb 11 16:39:08 good to hear Feb 11 16:39:27 development for mobile, and everything else is going arse over tit here in the uk Feb 11 16:40:13 so you must be doing something cool Feb 11 16:40:31 we like to think so : ) Feb 11 16:41:01 actually, being in the UK you may have heard of us, we're not very popular in the US despite doing most of our development here Feb 11 16:41:44 hmmmmmm i'd google all the info you just gave me, but i don't rate my chances Feb 11 16:41:51 i'll just wait and see what unfolds Feb 11 16:42:02 I am being deliberately vague Feb 11 16:42:24 let's play 20 questions! none of my clients are apparently talking to me this afternoon, don't worry i have time. Feb 11 16:43:15 question 1: is your company organic, mineral or vegetable? Feb 11 16:43:33 vol: techbandits.com ? Feb 11 16:44:32 vol: haha, wtf? http://kokshark.techbandits.com ? Feb 11 16:50:23 digitalspaghetti: my friend's box Feb 11 16:50:28 ahh :) Feb 11 16:50:46 grantmidwinter: I suppose it's both mineral and organic? We've gotten rid of most of the vegetables, I think Feb 11 16:51:41 excellent Feb 11 16:51:49 question 2: is it male or female? Feb 11 16:53:12 Registrant: Feb 11 16:53:12 Domains by Proxy, Inc. Feb 11 16:53:16 ooohhh sneaky friend Feb 11 16:53:22 I'll get you gadget! Feb 11 16:53:26 i mean vol Feb 11 16:54:46 grantmidwinter: wait are we talking about kokshark or my company or what Feb 11 16:54:58 in that case, mineral, and question 2 isn't really applicable. Feb 11 16:55:08 (it's a box on a server rack) Feb 11 16:56:51 ah but with knowledge of your friends name, i could have found him online, stalked him and found out your name and your company, showed up outside your house and rummaged through your bins for the code you'd thrown away after printing on your dot matrix Feb 11 16:56:56 then i'd have founded microsoft Feb 11 16:57:09 My friend is a pretty sneaky fellow Feb 11 16:57:17 it's his job : ) Feb 11 16:57:20 so, good luck Feb 11 16:57:46 so he's reading this now? Feb 11 16:57:54 probably not. Feb 11 16:57:58 i'll close your facebook page, just in case Feb 11 17:05:32 morning :) Feb 11 17:35:10 Yeah that correct the sms but I want to turn off the phone setting wich I can't because I want to use the app setting on this.... and yeah I have updated the app already.. <- sent by a user. :_) Could someone explain what he wants :P Feb 11 17:36:15 anno^da_: a cookie? Feb 11 17:36:27 Or writing lessons... Feb 11 17:36:39 marklar: you're underestimating your users Feb 11 17:36:44 Not a cookie, a pony Feb 11 17:36:54 morrildl: gotta go with what I can afford :( Feb 11 17:37:01 marklar: heh :) Feb 11 17:37:13 that should be the best practice for questions like this Feb 11 17:37:21 Build an easter egg into your app Feb 11 17:37:30 put in a secret gesture to activate it or whatever Feb 11 17:37:57 and then whenever you get a request like that, respond with: "Sure! That feature already exists. Please go to the home screen and press up up down down left right left right to activate the feature" Feb 11 17:38:06 morrildl: lol Feb 11 17:38:06 and then launch an Activity which displays a picture of a pony Feb 11 17:38:23 "Here is the pony you wanted!" Feb 11 17:38:46 morrildl: If I ever actually get an app out, I think I might do something like that haha Feb 11 18:11:09 https://dl-ssl.google.com/android/eclipse/ ... ehhh Feb 11 18:11:13 why is that link broken Feb 11 18:35:54 morrildl: I have read your messages :) Feb 11 18:36:11 This is the solution to all my problems with the users :D Feb 11 18:36:26 Let me search right now for a pony :> Feb 11 18:36:53 This one here seems to be the right one: http://www.nunon.de/images/produkt_knorr_pony_40199.jpg Feb 11 18:37:16 anno^da_: YES. Clearly that IS the perfect pony Feb 11 18:37:34 Oh this made my day :) Feb 11 18:37:57 Now I can enjoy my closing time today. Feb 11 18:38:22 (is it closing time in english? The time after work or how is it called? ) Feb 11 18:41:15 morrildl: chatzilla? tisk tisk Feb 11 18:41:34 :P Feb 11 18:49:39 anno^da_: closing time works :) Feb 11 18:49:46 fine :) Feb 11 18:55:10 Can anyone tell me what sp and wp in RefBase are? Feb 11 18:55:31 strong pointer, weak pointer? Feb 11 19:00:33 morrildl: Could you tell me if there are plans that make it possible to be able to answer specific comments in the market as a developer Feb 11 19:00:48 This would help a lot to react on specific situations and comments. Feb 11 19:00:54 anno^da_: what do you mean? Feb 11 19:01:42 "LAWL THIS APP SUCKS I CAN'T START IT" Feb 11 19:01:58 ^-> "That's because it's a framework app, doofus, it's not meant for the end user" Feb 11 19:02:09 "THIS APP SUCKS WWW.ANDROIDJERKS.COM" Feb 11 19:02:17 ^-> "I hope you're violently murdered" Feb 11 19:02:23 I imagine that sort of thing Feb 11 19:03:03 Well when I read a comment I have no possibility to react on that. I would love to be able to comment on specific comments especially the serious ones. Feb 11 19:03:13 haha vol :) Feb 11 19:03:49 No well at the moment the comments are nice. (but that lasts only for a few hours :D) Feb 11 19:04:18 http://www.cyrket.com/package/de.anno.android.missedCall <- But I bet they get down this night :> Feb 11 19:06:21 But yeh well sometimes they mention something wrong in the comments and in this situations it would be nice to have the possibility to respond. Feb 11 19:06:52 Perhaps directly contact the user or put an answer under the initial comment. Feb 11 19:07:10 (the second will be a bit difficult from the UI perspective) Feb 11 19:39:47 what is the keycode for the home button? Feb 11 19:40:17 DJTachyon: look at the KeyEvent class Feb 11 19:40:22 note that you can't intercept it Feb 11 19:40:54 intercept == get an event for it? Feb 11 19:41:08 yes Feb 11 19:42:38 why's there a KEYCODE_HOME then? "just in case"? :) Feb 11 19:43:01 heh Feb 11 19:43:17 yeah, can i intercept the the home key so it doesnt close the program? Feb 11 19:43:23 just tried KEYCODE_HOME Feb 11 19:43:42 i got BACK to work though Feb 11 19:44:04 DJTachyon: I believe they reserved the Home key so that users can always exit your app if they want to Feb 11 19:44:32 I mean I believe that you can't intercept it.. but why the keycode in this case? Feb 11 19:44:43 ugh .. what if it is an important task that shouldn't be accidentally closed Feb 11 19:44:50 like say a DJ application :P Feb 11 19:45:04 DJTachyon: then your users learn the hard way :) Feb 11 19:45:08 bah Feb 11 19:45:23 honestly I think its a great idea to reserve it, I would be pissed if I opened some program that wouldn't close Feb 11 19:45:31 well this is true Feb 11 19:46:45 If its really that important, couldn't you save the state in onPause or something similar? Feb 11 19:47:44 well i think either way the track will keep playing Feb 11 19:47:50 they just have to go reopen it Feb 11 19:47:57 not sure, have to test Feb 11 19:48:00 nice :) Feb 11 19:48:03 its a service? Feb 11 19:48:16 well the mediaplayer is inheriantly Feb 11 19:48:23 ah, I see Feb 11 19:48:59 yeah right now, if you hit home, it keeps playing Feb 11 19:49:08 and you just have to reopen it Feb 11 19:49:25 very nice, I'd say thats better than overriding the home key :) Feb 11 19:49:40 i suppose .. but i may force airplace mode as well Feb 11 19:49:54 How come? Feb 11 19:50:00 the app is gonna need a lot of power, and you don't want someone calling in the middle of a performance :) Feb 11 19:50:11 ah, ok Feb 11 19:50:26 ring ring bananaphone! Feb 11 19:52:22 Is there some good tutorial on multi-screen application development? I am writing a contacts importer and struck at where I want to swtich from a ListActivity to a regular activity.. Feb 11 19:53:01 there's no difference between a ListActivity and a regular activity Feb 11 19:53:12 aside from the fact you need to findViewById() your listview yourself Feb 11 19:53:22 there are tons of examples in the SDK and on code.google.com Feb 11 19:53:43 vaidhy: this might help http://code.google.com/android/reference/android/app/Activity.html Feb 11 19:55:14 romainguy_, There are tons of samples.. but most samples are single screen application ws.. I am looking for a multi-screen application Feb 11 19:55:35 code.google.com/p/apps-for-android Feb 11 19:55:36 here you go Feb 11 19:56:11 romainguy_, I suppose KEYCODE_HOME can't be removed from the public APIs since it's already out in the wild? Feb 11 19:56:22 nope Feb 11 19:57:51 wonder how many devs are debugging why their "if (keyCode == KeyEvent.KEYCODE_HOME)" isn't working :) Feb 11 19:58:29 there is KEYCODE_HOME because it's used internally within the framework Feb 11 19:58:39 and putting it in a different naming scope was too much hassle Feb 11 19:58:59 @hide is not working for fields? Feb 11 19:59:16 and nobody thought to @hide it until it was too late :) Feb 11 19:59:21 ahh Feb 11 19:59:22 hehe Feb 11 19:59:50 tauno_: we @hide many many fields :) Feb 11 20:00:02 many many Feb 11 20:00:09 like ThereBeDragons Feb 11 20:00:34 but what can be done is write a comment to explaining that it can't be used, don't bother trying :) Feb 11 20:02:27 hey ctate, what do you think of these: http://code.google.com/p/android/issues/detail?id=1976 , http://code.google.com/p/android/issues/detail?id=1961 ? Feb 11 20:03:23 1976 is deeply tied to bluetooth issues as well as the media stack Feb 11 20:03:44 plus there are all kinds of strictures, both imposed by hardware and imposed by law, on playing audio and which output it goes to Feb 11 20:03:54 nice to ask, but don't get your hopes up :( Feb 11 20:04:31 [e.g. in japan, when the camera is used then BY LAW the shutter sound must be played from the external speaker, even if A2DP bluetooth audio is being used at the time] Feb 11 20:04:31 Is there anyone here familiar with the sp and wp classes? Feb 11 20:04:58 vol: your questions scare me sometimes :) Feb 11 20:05:23 vol: native-code stuff, or...? Feb 11 20:05:27 yes, native code stuff Feb 11 20:05:59 the sp class in RefBase Feb 11 20:06:16 I'm wondering what the deal with it is. Is it just a reference counter so that you can keep track of whether anything is pointing to that pointer? Feb 11 20:06:57 ctate, poor japanese perverts in this case Feb 11 20:07:03 tauno_: yeah, that's why Feb 11 20:07:46 vol: yeah, they're for smart refcounted object management Feb 11 20:07:53 but i myself am not up on the strong vs weak semantics Feb 11 20:07:58 hmm. Feb 11 20:08:12 The only reason I ask is I am wondering if I can get away with not using an sp ref Feb 11 20:08:20 mostly to make an end run around compilation issues... Feb 11 20:08:25 hmm Feb 11 20:08:58 i think i am not someone who can answer your question. :( Feb 11 20:09:00 if I do sp(pointer), will that sp check whether that pointer exists elsewhere and create an sp reference of whatever actually has the reference? Feb 11 20:09:01 hehe all very interesting Feb 11 20:09:33 because I've made an sp of the pointer inside a Surface object, and I'm wondering if this is actually going to do anything Feb 11 20:10:16 http://code.google.com/p/android/issues/detail?id=1979 :P (yes, I'm stubborn) Feb 11 20:12:07 so submit a patch (I'm stubborn too!) Feb 11 20:15:34 :) Feb 11 20:16:51 anybody want to alpha test my DJ app? Feb 11 20:17:04 sure Feb 11 20:17:05 :) Feb 11 20:17:34 let me just fix landscape mode xml Feb 11 20:17:34 DJTachyon: just load up the apk and drop the link Feb 11 20:17:42 i will Feb 11 20:17:45 hold on Feb 11 20:18:24 nice Feb 11 20:18:25 :) Feb 11 20:20:10 hmm landscape is gonna be a different beast Feb 11 20:21:02 doesnt matter Feb 11 20:21:05 :) Feb 11 20:22:20 k hold on Feb 11 20:26:14 there you go Feb 11 20:26:20 just don't put it in landscape yet Feb 11 20:26:20 :P Feb 11 20:26:59 had to just add seeking semaphore Feb 11 20:27:13 but its pretty much a full featured music player now Feb 11 20:27:20 with a bunch of controls that dont do anything Feb 11 20:27:26 because the OS doesn't support it Feb 11 20:27:27 :P Feb 11 20:27:51 DJTachyon: are there turntables that take serial console input? Feb 11 20:28:09 Does anyone know where I can find the source code of android widgets within the source code tree? Feb 11 20:28:10 o_O .. Feb 11 20:28:28 ehh maybe the USB one? Feb 11 20:28:30 lol Feb 11 20:28:49 or of course there are lots of digital CD/DVD decks Feb 11 20:28:53 CDJ-1000 Feb 11 20:28:59 but i dont know if it takes digital input Feb 11 20:29:11 turntables that take INPUT? Feb 11 20:29:12 rofls. Feb 11 20:29:52 oh shit Feb 11 20:29:54 jsharkey: in general turntables provide output; some even digitally. Feb 11 20:29:54 look at that Feb 11 20:30:02 http://www.pioneer.co.uk/images/products/cdplayerdj/pioneer/cdj1000mk3_back_gallery.jpg Feb 11 20:30:04 jsharkey: there is the cdj-400 that has a usb port for reading mp3's. Feb 11 20:30:07 there is a control jack there Feb 11 20:30:20 hehe Feb 11 20:30:21 so yes? Feb 11 20:30:23 DJTachyon: yeah but that's just for sync to the mixer. Feb 11 20:30:28 is it? Feb 11 20:30:30 it's not a controller port. Feb 11 20:30:32 *nod* Feb 11 20:30:39 sync what? Feb 11 20:30:43 uses a headphone jack. Feb 11 20:30:51 DJTachyon: dunno, I don't pay for pioneer janky mixers. Feb 11 20:30:55 hehe Feb 11 20:31:30 * grey- has two cdj-1000mk2's paired to a rane ttm-57sl. Feb 11 20:31:35 the CDJ-400 also has midi control Feb 11 20:31:55 MikHel: you mean like http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=core/java/android/widget;h=9bae03777d6230e15311035e5cd06e2a95b2096e;hb=cupcake ? Feb 11 20:31:56 jsharkey: why do you ask? Feb 11 20:32:10 grey: nice Feb 11 20:32:21 ah yeah, midi is nice. Feb 11 20:32:39 but you can just use a midi controller; turntable is kinda silly at that point. Feb 11 20:33:16 yeah Feb 11 20:33:25 i need to get a couple DVD decks Feb 11 20:33:30 the cdj-400's seem decent though. Feb 11 20:33:35 i VJ more than anything now Feb 11 20:33:47 DJTachyon: meh; we have some dvj-1's at work; waste of money IMHO. Feb 11 20:33:58 vj'ing seems best left to software. Feb 11 20:34:17 well it would be prepared doing reactive visuals to each track Feb 11 20:34:21 so they can be mixed together Feb 11 20:34:27 errr dvj-x1 Feb 11 20:35:32 http://www.tascam.com/products/cd-01u.html Feb 11 20:35:34 check that out Feb 11 20:35:39 that has RS232 and pitch control Feb 11 20:35:40 hehe Feb 11 20:36:25 ctate: Yes, thanks. I was close to finding it but was still going up and down the tree :) Feb 11 20:36:28 can anyone tell me why this: http://paste.ifies.org/345 looks like this: http://img.waffleimages.com/89b81f0edf94784fcf6a0e090927177c4974f832/device.png Feb 11 20:36:59 what missing a button? Feb 11 20:37:11 because of the relative layout? Feb 11 20:38:21 i dont use relative layouts, do you need to specify orientation? Feb 11 20:39:06 in a RelativeLayout, the second button needs android:layout_below="@id/button_twit_am" Feb 11 20:39:27 if you just want them stacked, just use a LinearLayout instead of RelativeLayout for the buttons Feb 11 20:39:55 and of course see http://developer.android.com/guide/topics/ui/layout-objects.html for some detail on the common layouts and their behaviors Feb 11 20:40:23 sooo .. how do you check for presence of an SD card Feb 11 20:40:28 and throw the dialog if there isnt one Feb 11 20:40:30 :) Feb 11 20:40:33 i tried linearlayout too, same happened - i'm looking to do a similar interface to the Last.FM app Feb 11 20:40:42 linear should work fine Feb 11 20:40:48 DJTachyon: hold on, i have that too :) Feb 11 20:41:02 cool Feb 11 20:41:51 DJTachyon: i was thinking about having android control actual turntables remotely ;) Feb 11 20:41:58 DJTachyon: http://paste.ifies.org/346 Feb 11 20:43:31 digitalspaghetti: I would change "mounted" to Environment.MEDIA_MOUNTED Feb 11 20:43:38 jsharkey .. yeah not gonna happen .. and im not sure the point :P Feb 11 20:43:55 jt436: yea, i should actually - good point Feb 11 20:44:33 some days I feel I'm the only one person alive that can actually use RelativeLayout Feb 11 20:45:06 romainguy: at least you are special then :) Feb 11 20:45:17 no, I'm the one who maintains it :p Feb 11 20:45:45 omg i hate inline brackets Feb 11 20:45:47 jt436: What is the best to compare Strings? .equals() or .contains() ? Feb 11 20:45:48 it drives me nuts Feb 11 20:47:02 i find contains() tends to be more accurate for me Feb 11 20:47:31 more accurate ?! Feb 11 20:47:45 digitalspaghetti: what happens if you get "unmounted"? ;) Feb 11 20:48:05 so digital.. Feb 11 20:48:22 this is also looking for the presence of your folder and files? Feb 11 20:48:57 i want to simply check for mounted, don't need the rest of this Feb 11 20:49:10 but i assume that SDCARD dialog warning is built in somewhere for me to use Feb 11 20:52:01 jt436: in my app or in general? Feb 11 20:53:21 digitalspaghetti: rhetorical question, because your if statement would be true. Feb 11 20:53:50 oh, i see what you mean :) Feb 11 20:53:56 well, it's just test code anyway Feb 11 20:57:01 ok romainguy_ relative layout question then :) In my screenshot, i have 2 buttons above the central logo, and i want two buttons below it, what would be the best way to do it (http://img.waffleimages.com/89b81f0edf94784fcf6a0e090927177c4974f832/device.png for screen) Feb 11 20:57:45 Does someone know how to get the URI to a contact photo of a specific contact ? Feb 11 20:58:02 http://paste.ifies.org/348 is what i have so far Feb 11 20:58:46 digitalspaghetti: outermost, a linearlayout Feb 11 20:58:56 ctate: no Feb 11 20:58:59 no? Feb 11 20:59:01 a single relativelayout would work Feb 11 20:59:08 oh, true Feb 11 20:59:13 ^^ Feb 11 20:59:34 so the bottom button gets placed at the bottom, and hte one above it placed relative to it Feb 11 20:59:35 ? Feb 11 20:59:58 so have an outer relative and inside two relatives with top/bottom gravity? Feb 11 21:00:09 no, just one relative Feb 11 21:00:18 total Feb 11 21:00:20 <_avatar> is it possible to do a "3 column layout" with a relative layout, where the left and right columns are a fixed size, and the middle column stretches? Feb 11 21:00:53 <_avatar> (and the left and right columns are "anchored" on the left and right, respectively) Feb 11 21:00:53 should be (I've never used them in Android myself) Feb 11 21:01:19 Sorry but I don't understand how 1 would work for what I want to do? Feb 11 21:01:38 digitalspaghetti: the whole layout is one RelativeLayout Feb 11 21:01:46 inside that, you place the first button normally Feb 11 21:02:05 the second button with android:layout_below="@id/first_button_id" Feb 11 21:02:18 oh, and just use padding to space them out how I want? Feb 11 21:02:22 the third button with android:layout_above="@id/last_button_id" Feb 11 21:02:29 and the last button pinned against the bottom Feb 11 21:02:34 no padding needed Feb 11 21:02:37 ahh, ok Feb 11 21:03:17 also see http://developer.android.com/guide/tutorials/views/hello-relativelayout.html for an example Feb 11 21:04:00 romainguy_: please tell me i understood you properly :) Feb 11 21:04:06 I've never used relativelayout in Android - but afaik it's something like SpringLayout in j2seland isn't it? Feb 11 21:04:21 * ctate has never used j2se, so.... Feb 11 21:04:27 ctate: actually I wouldn't do it that way Feb 11 21:04:31 tauno_: it's described a bit here: http://developer.android.com/guide/topics/ui/layout-objects.html Feb 11 21:04:34 romainguy_: sigh Feb 11 21:04:36 the first two buttons, like you said Feb 11 21:04:46 oh wait Feb 11 21:04:49 it depends on where the logo is Feb 11 21:04:57 is it part of the background or part of the layout? Feb 11 21:04:58 i thought the logo was rendered int eh background image Feb 11 21:05:02 and was assuming that Feb 11 21:05:05 tauno_: no SprintLayout Feb 11 21:05:05 romainguy_: background Feb 11 21:05:12 ok then what ctate said Feb 11 21:05:18 (whew) Feb 11 21:05:21 basically i just want to layout around the background image logo Feb 11 21:06:02 digitalspaghetti: in landscape, you'll put the buttons adjacent instead of stacked, two at top and two at bottom? Feb 11 21:06:07 save vertical space and all Feb 11 21:06:12 romainguy_, sprintlayout? Feb 11 21:06:27 SpringLayout Feb 11 21:06:50 that's what I said :P Feb 11 21:07:07 let me rephrase Feb 11 21:07:13 it's NOT like SpringLayout Feb 11 21:07:18 aha :D Feb 11 21:07:21 hey romainguy Feb 11 21:07:29 gotcha Feb 11 21:07:40 in a listview, if the text doesn't fill the entry, how do you make the whole row clickable, not just the text? Feb 11 21:08:08 the whole row is clickable by default Feb 11 21:08:08 listview rows ARE clickable by default Feb 11 21:08:14 hmm Feb 11 21:08:14 if it's not, you did something bad Feb 11 21:08:17 hehe Feb 11 21:08:19 if you did, shame on you Feb 11 21:08:27 man, this is why i am not a designer :| Feb 11 21:08:32 oh wait .. the custom textview i made may not fill parent on the width Feb 11 21:08:33 :P Feb 11 21:08:52 wait, it is Feb 11 21:08:53 hmmm Feb 11 21:09:09 it doesnt change the fact that the whole row is clickable by default :) Feb 11 21:09:10 so if i make a custom textview text1 for the listview .. Feb 11 21:09:21 what attribute would get what i want Feb 11 21:11:33 * DJTachyon hears crickets Feb 11 21:11:50 "DJTachyon: oh wait .. the custom textview i made may not fill parent on the width" Feb 11 21:11:53 you said it yourself Feb 11 21:12:06 it wasnt true though Feb 11 21:12:07 it does Feb 11 21:12:14 so whats next .. Feb 11 21:12:22 then you are doing something bad Feb 11 21:12:30 like playing with clickable/focusable or god knows what Feb 11 21:12:55 i havent touched any of those Feb 11 21:14:08 I'm learning my lessons from you! it 40px layout height, fill_parent width, gravity is left|center_vertical, and text appearance is ?android:attr/textAppearanceSmall Feb 11 21:14:27 sure you are using listview.setOnItemClickListener ? :) Feb 11 21:14:36 its all clickable Feb 11 21:14:37 yes Feb 11 21:14:43 just not the whole row passed the text Feb 11 21:16:22 the class implements onItemClickListener and I TrackListView.setOnItemClickListener(this); Feb 11 21:17:34 doh Feb 11 21:17:37 hehe Feb 11 21:17:48 the textview was fill_parent, but the listview wasn't Feb 11 21:17:49 :P Feb 11 21:17:55 * DJTachyon faceslaps Feb 11 21:18:04 err .. Feb 11 21:18:08 * DJTachyon facepalms Feb 11 21:18:33 "romainguy_: if it's not, you did something bad" Feb 11 21:18:36 see? :) Feb 11 21:18:43 well i know i did either way Feb 11 21:18:48 i just wanted to know what itwas Feb 11 21:18:55 use hierarchyviewer net time Feb 11 21:18:55 :P I claimed no innocence Feb 11 21:19:24 oops another tool im not familiar with Feb 11 21:20:00 http://developer.android.com/guide/developing/tools/hierarchy-viewer.html Feb 11 21:20:16 oh right Feb 11 21:20:25 thanks Feb 11 21:30:07 romain, I still never figured out why my 9patch overlaps the content of linearlayouts Feb 11 21:30:10 i have to pad it Feb 11 21:31:45 uh? Feb 11 21:32:41 the final nestest linear layout has to have an 8px layout margin top Feb 11 21:33:04 with my 9patch border Feb 11 21:34:23 lemme screenshot you Feb 11 21:35:00 could someone please help a newb with a spinner widget? Feb 11 21:37:01 http://www.djtachyon.com/android/9patchissue.jpg Feb 11 21:37:35 okay the top linearlayout has an 8px layout margin top, the middle one does not .. and it seems there is excessive padding at the bottom Feb 11 21:37:46 so it seems im losing the padding at the top and getting excess at the bottom Feb 11 21:39:47 any thoughts? Feb 11 21:44:29 and even if i nest it in another linearlayout without a 9patch, it still does it Feb 11 21:44:53 it seems the padding doesn't work correctly on children without a 9patch Feb 11 21:44:56 its strange Feb 11 21:45:42 romainguy: nuthin? Feb 11 21:47:24 margin != padding Feb 11 21:47:29 and 9patches can encode padding Feb 11 21:49:48 oh really? Feb 11 21:50:34 yes Feb 11 21:50:38 use the draw9patch tool Feb 11 21:50:45 thats how i made the first one Feb 11 21:50:51 you know, you should spend more time reading the documentation :) Feb 11 21:50:53 im pretty sure i did it correctly Feb 11 21:51:01 i selected the margin area Feb 11 21:51:23 this is one of my longest running issues Feb 11 21:51:36 margin != padding Feb 11 21:51:44 don't talk about margin if you mean padding Feb 11 21:51:49 alright Feb 11 21:51:49 this is confusing otherwise Feb 11 21:52:18 so do you agree that with a correct 9patch, there should be no overlap on the top of the linear layout? Feb 11 21:52:53 essentially the entire 9patch seems to be ignoring the top padding Feb 11 21:53:18 because the 9patch encodes the padding Feb 11 21:54:01 right Feb 11 21:54:14 do you have a "good" 9patch i can test with? Feb 11 21:54:26 pretty much all the 9patches you can find in the Android source code Feb 11 21:56:27 http://code.google.com/p/apps-for-android/ .. any in there? Feb 11 21:58:00 ah found one in lolcat builder Feb 11 21:58:01 :P Feb 11 21:58:33 nope this seems to be doing it too Feb 11 21:59:29 use hierarchyviewer Feb 11 21:59:40 i am Feb 11 22:02:46 im not sure how it can explain it. It is showing me exactly what i have been seeing, with my 9patch and others Feb 11 22:03:06 the layout border is on top of the nested textboxes Feb 11 22:03:27 even above it Feb 11 22:04:41 then look at where the padding is wrong Feb 11 22:04:42 and fix it Feb 11 22:05:53 http://www.djtachyon.com/android/9patchissueview.jpg Feb 11 22:06:27 i mean is this normal? or have i uncovered a bug? Feb 11 22:06:48 can i put negative padding in to compensate for the bottom? Feb 11 22:07:09 i appreciate all your time on this Feb 11 22:07:45 wait, padding doesnt fix it Feb 11 22:07:54 the only way to fix it is with layout margin Feb 11 22:08:31 oh nevermind they both work Feb 11 22:10:53 okay yea, on the bottom entry in the nested layout, I have to declare a negative layout margin bottom of -12px and on the top entry a layout margin top of 8px to compensate Feb 11 22:10:59 just thought you should know Feb 11 22:12:10 there is no reason to do such a thing Feb 11 22:12:15 your layout must be fucked up somewhere Feb 11 22:12:22 its is a very simple layout Feb 11 22:12:37 but its done with the wysiwyg editor, so it probably wont paste well Feb 11 22:13:16 eww: http://pastebin.com/d566ddc59 Feb 11 22:14:40 you do things that don't make sense Feb 11 22:14:53 you have a vertical stack of linearlayout Feb 11 22:14:54 such as Feb 11 22:14:57 and each has a height of fill_parent Feb 11 22:15:09 no they dont .. ? Feb 11 22:15:24 the middle one does Feb 11 22:15:40 oh oops Feb 11 22:15:42 good catch Feb 11 22:15:55 sorry about using layout margin for padding Feb 11 22:15:57 im fixing that now Feb 11 22:16:03 but still doesnt fix the issue Feb 11 22:20:49 http://pastebin.com/d7fd19675 .. there, other than the wierd margin fixes, its a pretty straight forward layout Feb 11 22:21:39 dude; linefeeds are yor frend :) Feb 11 22:23:34 eh? Feb 11 22:23:40 oh right Feb 11 22:23:59 i already said the WYSIWYG editor botched the file Feb 11 22:25:22 oh interesting Feb 11 22:25:25 which editor Feb 11 22:25:25 ? Feb 11 22:25:32 the one in eclipse Feb 11 22:25:45 ah yes. we need to add an xml formatter :) Feb 11 22:26:09 romainguy: it seems this only happens with nested 9patch layouts .. if there is only one 9patch layout at the top, the contents are fine Feb 11 22:27:16 DJTachyon: open the file with the "XML Editor" (right click, open with... > XML editor) Feb 11 22:27:27 then select all, Ctrl-Shift-F to format Feb 11 22:27:47 woo fancy Feb 11 22:27:48 hehe Feb 11 22:28:49 http://pastebin.com/d7ad8aaac Feb 11 22:28:59 this looks better :) Feb 11 22:29:15 I just removed a few extra blank lines manually Feb 11 22:29:57 you also have to add support for webviews Feb 11 22:30:08 they break they hell out of the WYSIWYG editor Feb 11 22:30:38 yeah right now it's just a mock view that does nothing Feb 11 22:31:14 I need to see the default behavior of the webview and make a custom view. Feb 11 22:31:33 I can't reuse the original webview since it makes jni access and I'd rather not run webkit in the editor... Feb 11 22:31:44 ahh .. Feb 11 22:32:04 romainguy: well if you have any more thoughts, they are welcome. Here is my formatted XML: http://pastebin.com/d4da9be75 Feb 11 22:32:22 im heading home Feb 11 22:32:27 the editor actually run the android framework in Eclipse (the java part only) Feb 11 22:33:40 alright guys.. thanks for the help Feb 11 22:33:48 talk to you when i get home Feb 11 22:34:44 %N& V$%)C&*(A@$N^2r5 Feb 11 22:34:48 what the hell. Feb 11 22:34:56 NO CARRIER Feb 11 22:34:58 Why am I having so much trouble with SurfaceViews Feb 11 22:35:11 think of it as job security Feb 11 22:35:16 eLocked set when entering lock_layer(), layer=1, state=00000020 Feb 11 22:35:21 what does this even MEAN. Feb 11 22:35:45 how and when am I supposed to call holder.lockCanvas Feb 11 22:35:55 I create a thread inside surface created, and that causes this to shit out Feb 11 22:36:11 but if I create a thread elsewhere after I specify setContentView for that view Feb 11 22:36:15 THAT'S just fine. Feb 11 22:40:13 at a high level Feb 11 22:41:05 you're doing something that needs to lock the layer while it works Feb 11 22:41:21 but the layer is already locked, so you'd deadlock, so it's refusing and returning WOULD_BLOCK Feb 11 22:41:30 awesome. Feb 11 22:41:37 3 vertical linearlayout inside one another??! Feb 11 22:41:41 yeah. unfortunately i dont' know the Surface stuff at all. Feb 11 22:41:46 DJTachyon: your layout is fucked up :) Feb 11 22:42:46 http://privatepaste.com/860nIHZimD/sdrawckab Feb 11 22:42:48 This works Feb 11 22:43:31 first guess with no knowlege: is surfaceCreated called with the layer locked? Feb 11 22:43:45 romainguy_: do you know this stuff at all? Feb 11 22:43:54 http://privatepaste.com/3c143dCYFo/sdrawkcab Feb 11 22:43:56 this does NOT. Feb 11 22:43:59 ctate: not at all Feb 11 22:44:06 romainguy_: i was afraid of that. Feb 11 22:44:16 paste #2 is what I'm skwalking about :\ Feb 11 22:44:25 squawking Feb 11 22:45:28 Luke Skwalker Feb 11 22:45:39 yeah so Feb 11 22:46:16 i suspect at this point email to the android-developers list would be more productive, though that's obviously much higher latency Feb 11 22:46:52 not a bad idea. Feb 11 22:47:26 i'm pretty sure that the guys who know most about surface management etc read that list Feb 11 22:47:27 vol: what are you trying to do? Feb 11 22:47:41 morrildl: not cry into my arms Feb 11 22:48:14 Paste #2 throws an IllegalArgumentException Feb 11 22:48:17 "Malt does more than Milton can...." Feb 11 22:48:30 vol: what are you trying to *do*? Feb 11 22:48:33 SurfaceComposerClient: eLocked set when entering lock_layer(), layer=1, state=00000020 Feb 11 22:48:44 at this point, just get my SurfaceView to display a test pattern Feb 11 22:48:49 so that I can verify that it's being displayed Feb 11 22:48:53 e.g. in the first one I'm unclear on why you would have 2 canvases Feb 11 22:49:03 if you spin the thread during startup but don't run it until surfaceCreated(), does that work? Feb 11 22:49:33 ok ill shut up now morrildl knows more than i do; i'm just flying blind :) Feb 11 22:51:40 sigh Feb 11 22:51:55 not calling unlockCanvasAndPost would have NOTHING to do with this problem Feb 11 22:52:01 hurf durf. Feb 11 22:52:20 ha ha ha Feb 11 22:52:21 well, that explains why I was unable to lock. Feb 11 22:52:23 vol: http://g.android.com/?p=platform/development.git;a=blob;f=samples/LunarLander/src/com/example/android/lunarlander/LunarView.java;h=c52c7ab441ba8000a0c42b4e3467f584d55c124b;hb=HEAD Feb 11 22:52:34 vol: i feel your pain Feb 11 22:52:49 vol: see line 351 Feb 11 22:53:10 morrildl: thanks Feb 11 22:53:17 vol: there are actually a lot of semantics packed into that method Feb 11 22:53:22 e.g. the finally Feb 11 22:53:27 yeah Feb 11 22:53:38 scroll up about 10 lines, I JUST realized that. Feb 11 22:53:41 :P Feb 11 22:53:45 well, yeah Feb 11 22:53:49 hasty mistakes are the best mistakes. Feb 11 22:53:52 But this is still useful Feb 11 22:53:56 you are right, it is. Feb 11 22:54:02 I went through more or less the same thing when doing that Feb 11 22:54:26 (I converted it over from a View with onDraw() override to the thread-on-surface version) Feb 11 22:54:59 The two big things to notice are the finally, and the synchronized block around the doDraw Feb 11 22:55:28 Other things (e.g. system for compositing) can get in there and munge the surface, so you have to lock appropriately. You're not the only thread involved Feb 11 22:55:48 hmm Feb 11 22:56:58 morrildl: not looking at the code right now -- perhaps there needs to be some more explanation in code comments in that sample of what exactly is going on and why the locking is necessary, etc. Feb 11 22:57:16 I can't quite remember why updatePhysics() is also protected in that block Feb 11 22:57:20 there may not be a reason Feb 11 22:57:22 ........ bad sign :) Feb 11 22:57:53 I think because updatePhysics munges the Drawables Feb 11 22:58:23 ctate: probably Feb 11 22:58:26 So, my big problem has been that the SurfaceView gives a nice black display of absolutely nothing if it's not the first View set with setContentView Feb 11 22:58:43 "It's full of stars!" Feb 11 22:59:01 romainguy: any explaination? Feb 11 22:59:37 it's entirely possible that I was done yesterday, except for this problem (argh) Feb 11 22:59:56 any idea why my surfaceview would choose to display absolutely nothing if it's not the first thing that has setContentView set to? Feb 11 23:00:33 how are you creating it? Feb 11 23:00:56 MySurfaceView mView = MySurfaceView(contextReference); setContentView(mView); Feb 11 23:01:01 in this particular instance Feb 11 23:01:22 I'd like to create it in onCreate and just set setContentView to it later, but I'll take what I can get for now Feb 11 23:01:54 romainguy: I get no more hints than it is fucked up? Feb 11 23:02:04 DJTachyon: he's probably just afk or busy Feb 11 23:02:27 yeah, he's not at his keyboard Feb 11 23:03:04 hmm .. Feb 11 23:03:14 vol: hmm, never tried that Feb 11 23:03:26 :gonk: Feb 11 23:03:45 vol? Feb 11 23:03:55 "vol: ?" rather :) Feb 11 23:04:12 sorry Feb 11 23:04:15 SA forum speak Feb 11 23:04:43 http://i.somethingawful.com/forumsystem/emoticons/emot-gonk.gif Feb 11 23:05:14 this emoticon is relevant to the idea that I may have discovered a new and exciting bug Feb 11 23:06:14 the interesting thing is, of course, in my first paste, I create two surfaceviews with two seperate threads that draw to them, and a menu option to switch between them, and that seems to work fine for both views. Feb 11 23:07:00 vol: gimme a couple minutes to try to repro Feb 11 23:07:18 thanks Feb 11 23:07:18 omg that was it? Feb 11 23:07:22 gravity center Feb 11 23:07:24 ???? Feb 11 23:07:41 why would that offset the margins? Feb 11 23:09:14 morrildl: if it helps, what we're doing by default is creating a plain old vanilla view with a background image, (not inflating from xml), and setting that with setContentView. Later in our program, we send a message (though delivery type seems irrelevant) that calls setContentView on our SurfaceView Feb 11 23:09:18 okay i think i found a bug? on a 9patch, with vertical centering, the centering it done from the top of the layout instead of the bottom of the 9patch margin! Feb 11 23:10:41 yea vertical centering is what broke it Feb 11 23:11:56 do i win? Feb 11 23:15:17 morrildl: http://privatepaste.com/721gcBqCJe/sdrawkcab Feb 11 23:15:34 line 33, set mView to mTest1, and flipping by menu never shows anything for that SurfaceView Feb 11 23:16:15 I think I'm going to go home and cuddle with my kittens. This is probably the best thing I can do for my stress level right now. Feb 11 23:16:25 thank you so much for your help : ) Feb 11 23:17:16 oops, also: http://privatepaste.com/e9zD3hEixz/sdrawckab Feb 11 23:17:33 vol: neato Feb 11 23:17:42 vol: it doesn't work in LunarLander either Feb 11 23:17:50 hooray, I'm not a moron! :D Feb 11 23:18:00 excellent :) Feb 11 23:22:17 DJTachyon: yeah that a bug I fixed in cupcake Feb 11 23:22:23 that's Feb 11 23:22:30 (and stop calling padding margin :) Feb 11 23:24:05 oh, ha ha. :) Feb 11 23:24:19 romainguy_: learn to love the box model? ;) Feb 11 23:24:41 ctate: I know my box model :) Feb 11 23:52:14 how do i stop a listview background flashing when i scroll? Feb 11 23:54:11 digitalspaghetti: http://www.curious-creature.org/2008/12/22/why-is-my-list-black-an-android-optimization/ Feb 11 23:56:31 sweet, thanks Feb 11 23:56:36 right, i'm off to bed now Feb 11 23:56:41 night Feb 12 00:12:44 romainguy_: I dunno if you are still around or not, but I like your blog a lot Feb 12 00:13:01 thanks Feb 12 00:13:28 I am new to the g1 so it is awesome to have that site as a resource Feb 12 00:14:04 hm, that allocator blog entry comes in handy, my ViewBinder is not performing too well :) Feb 12 00:14:04 romainguy_: will you go on a date with me? Feb 12 00:14:26 SanMehat: lol Feb 12 00:14:29 :) Feb 12 00:14:34 only if our (future) wives do it first Feb 12 00:14:37 hahaha Feb 12 00:14:39 SanMehat: here I was under the impression you were a GUY Feb 12 00:14:40 lol Feb 12 00:35:07 romainguy_: do you know if make sdk is expected to work currently? Feb 12 00:35:19 that is, is it expected ot produce an SDK which works to build apps for 1.5? Feb 12 00:35:23 no idea Feb 12 00:35:25 I guess it would Feb 12 00:35:31 it hasnt for quite some time Feb 12 00:35:43 the android.jar that gets produced doesn't work with aapt. Feb 12 00:36:01 unless i'm being dense. which might be true. let me update my PATH Feb 12 00:36:02 ;) Feb 12 00:37:21 jasta: it won't work Feb 12 00:37:58 right thats what i thought. so is the only way currently to utilize API changes to build in the tree? Feb 12 00:38:26 the fix is quite easy. I'm gonna push a patch. thanks for reminding me Feb 12 00:38:32 oh really? Feb 12 00:39:37 romainguy: so that bug didn't come to mind when I mentioned my problem? Feb 12 00:39:39 are you going to post it through gerrit or another public method? i'd like to see it Feb 12 00:39:45 here's the diff if you want to apply it to your local copy: http://pastebin.com/m76aa2ba Feb 12 00:39:56 I'll make a normal patch through gerrit Feb 12 00:40:01 DJTachyon: sorry I don't remember the hundreds of bugs we fix :) Feb 12 00:40:11 gonna take me an hour or so, I need to learn gerrit2 Feb 12 00:40:24 *sigh* .. so much for my XML being fucked up :P Feb 12 00:40:31 don't get me wrong Feb 12 00:40:37 xavd: i dont think this is related. Feb 12 00:40:37 your XML was also fucked up Feb 12 00:40:43 it is Feb 12 00:40:44 * DJTachyon moons romainguy Feb 12 00:40:59 xavd: well then i think this is already in master :) Feb 12 00:41:00 now its better than it was Feb 12 00:41:02 ive seen this patch i think. Feb 12 00:41:08 inside android.jar, resources.arsc is >1MB and break aapt. the 1MB limit should be on the device only Feb 12 00:41:13 really? Feb 12 00:41:20 oh no, sorry, i saw this in koolu. Feb 12 00:41:28 koolu? Feb 12 00:41:35 FYI: http://www.anddev.org/bignerdranchcom_-_5_day_android_bootcamp_-_giveaway-t4769.html Feb 12 00:41:58 xavd: i just confirmed, this is already in master. Feb 12 00:42:09 i saw it in koolu, but they didnt apply the change. it was in master already. Feb 12 00:42:10 People have found the issue and fix on the mailing list (except they didn't put the #ifdef, which then changes device code, which is not correct) Feb 12 00:42:16 ah well then it's should work Feb 12 00:42:32 i think iw as being dense is all. i didnt update my path. Feb 12 00:43:59 jasta: ah yeah ralf checked it in last Thursday Feb 12 00:49:36 so, in the wild, when a package is updated, does it throw PACKAGE_REMOVED and then PACKAGE_ADDED or just PACKAGE_CHANGED? Feb 12 00:49:57 REMOVE+ADDED Feb 12 00:50:14 so when is PACKAGE_CHANGED thrown? Feb 12 00:52:03 dang it, that makes it hard to keep state information about the packages Feb 12 00:53:41 since I don't want to reset the information when it is reinstalled Feb 12 00:54:32 and that's why Home doesn't remove shortcuts from the desktop automatically upon uninstall Feb 12 00:54:38 note that Cupcake fixes this issue Feb 12 00:54:46 the REMOVED/ADDED intents have a "reinstall" extra Feb 12 00:54:56 ah, ok Feb 12 00:56:44 romainguy: is that the 1.1 sdk? Feb 12 00:58:57 1.1 is _not_ cupcake Feb 12 00:59:11 yeah, I'm trying to read up on what and when it happens Feb 12 00:59:58 ugh, it doesn't say when it will be released to the G1 Feb 12 01:00:59 no release has been announced. Feb 12 01:01:26 ok, I'll just have to check the state stuff when my application starts instead Feb 12 01:37:50 what are the advantages to using a ContentProvider? Right now I have my objects defined in the model layer and they do all their own saving/loading/validation/whatever, but I feel like ContentProvider must be there for a reason, haha Feb 12 01:44:37 KNY: from the documentation, "A content provider is only required if you need to share data between multiple applications." Feb 12 01:44:53 and a pointer to http://developer.android.com/guide/topics/providers/content-providers.html for an overview Feb 12 01:45:16 ctate, thanks. I remember reading that, now. Feb 12 01:51:22 well, i dont agree with that simplified description necessarily Feb 12 01:51:35 ContentProvider's expose content Uris, which are a useful hook throughout the API. Feb 12 01:52:06 not that i advocate using them in all cases, but there's more benefit at least than sharing between multiple apps Feb 12 01:52:18 a fair number of Android APIs become a bit simpler to use and stuff Feb 12 01:52:34 and also it enforces abstracting your data, which can be nice if you aren't otherwise that disciplined Feb 12 01:52:58 jasta, that's the thing, abstracting my data seemed to lead me away from using ContentProviders Feb 12 01:53:14 well contentprovider kind of sucks :) Feb 12 01:53:20 haha Feb 12 01:53:49 well you can only use a contentprovider if you have a Context, and I didn't see why my data models should need to know their Context Feb 12 01:53:59 so that's why I got a little confused and thought I might be doing it a bad way Feb 12 01:54:31 well, it needs to know its context because context is how you get access to Android's IPC system. Feb 12 01:54:41 and a ContentProvider is exposed through that system -- that is why it can be housed in a different process. Feb 12 01:54:59 yeah, I understand the reasoning behind it, but it doesn't make it any less awkward to use Feb 12 01:55:08 i suppose. Feb 12 01:55:28 but logically this makes sense, context is not necessarily an application specific context as much as it is an android context. Feb 12 01:55:57 true **** ENDING LOGGING AT Thu Feb 12 02:59:58 2009