**** BEGIN LOGGING AT Wed Jul 30 02:59:56 2008 Jul 30 03:27:45 howdy Jul 30 03:32:05 howdy Jul 30 03:32:14 how's it going? Jul 30 03:32:33 good good Jul 30 03:32:35 yourself? Jul 30 03:32:52 not too bad.... taking a break from coding Jul 30 03:33:12 yeah...same here...for the rest of the evening I believe ;) Jul 30 03:33:37 i'm looking for icons and updating my machine with my music collection Jul 30 03:36:15 my CRT destroyed my eyes all day, they're all messed up now Jul 30 03:36:24 CRT, oh boy Jul 30 03:36:24 hopefully my dell arrives by Friday Jul 30 03:36:30 60hz no less Jul 30 03:36:35 that'll be quite a change Jul 30 03:37:05 well, I've spent the last 6 months or so on my macbook, which is small but has a smooth display Jul 30 03:37:11 i just pulled my CRT out of the closet yesterday Jul 30 03:37:16 and setup a proper workstation Jul 30 03:37:20 yea, i have a macbook pro Jul 30 03:37:31 dual booting ubuntu and mac Jul 30 03:38:13 I put ubuntu on this desktop. I've never used it before, but I knew it was all the rage so I gave it a shot and I like it, at least for a workstation Jul 30 03:38:28 yea, its a very nice distro Jul 30 03:38:37 it runs awesome on macs Jul 30 03:38:41 I'm still a slackware goon ;) Jul 30 03:39:31 ubuntu, at least by default, is much more lightweight than i suspected though Jul 30 03:39:33 i'm quite pleased Jul 30 03:40:02 yea Jul 30 03:42:33 i like os x a lot too. I guess it really doesn't matter though. Jul 30 03:42:53 yea, i used to do a lot of programming on the mac Jul 30 03:43:05 i am a big fan of objective-c Jul 30 03:44:23 Objective C is a very find language. To bad the syntax freak so many developers out. Jul 30 03:44:52 I've been doing it on my laptop and then I stressed at first about having a mac desktop, but then realized it doesn't matter that much Jul 30 03:45:22 dmoffett: i think once you can wrap your head around the syntax its actually quite elegant Jul 30 03:45:27 I saw Brad Cox speak back in the early 90s. Jul 30 03:45:32 :) Jul 30 03:45:39 some people rave to me about C# Jul 30 03:45:42 i like the concept of objects and messages Jul 30 03:45:49 C# isn't too bad Jul 30 03:45:57 for windows its what i prefer Jul 30 03:47:20 I have never been able to get my head around windows. Jul 30 03:48:01 i've done some windows development Jul 30 03:48:08 windows mobile as well Jul 30 03:48:22 the freedom of windows mobile is really nice Jul 30 03:48:23 We tried to develop a system on windows 3.1. To much brain damage and we switched to NeXT. Jul 30 04:00:41 michaelenovakjr: Do you think windows mobile is better than Android for developers? Jul 30 04:00:54 nope Jul 30 04:01:11 i feel android is much more pleasant of an environment Jul 30 04:01:27 not knocking win mobile or anything, but android is much nicer Jul 30 04:03:18 What about users? Jul 30 04:03:41 android has a simple user interface Jul 30 04:03:46 win mobile is a bit cluttered Jul 30 04:35:49 i hate winmo..just as a user Jul 30 04:36:03 as a user it can be a pain Jul 30 04:36:15 the interface isn't very friendly and tries to do too much with little space Jul 30 04:36:34 as a user? Jul 30 04:36:38 who else would you be Jul 30 04:36:44 a developer :) Jul 30 04:36:47 i have a winmo phone and use it only for that..a phone. trying to do anything else is an experience so poor its not even worth it Jul 30 04:37:02 hmm Jul 30 06:59:24 yakischloba: agreed. except i do use google maps and a news reader Jul 30 07:00:17 jasta: yeah. I just couldnt justify 45/mo for google maps and AIM. nor could I at 30 like you pay. Jul 30 07:00:38 i can, i'm rich! :) Jul 30 07:00:49 actually, i just have a poor sense of direction Jul 30 07:00:53 yeah. Some of us aren't yet =) Jul 30 07:00:54 heh Jul 30 07:01:11 but also, i agree with michaelnovakjr_ that the platform isn't even saved from the developer's perspective Jul 30 07:01:23 I have a great sense of direction in the seattle area...I'm finally getting the hang of portland after going there about 10 times. Jul 30 07:01:24 i originally tried to implement Five on Windows Mobile and got so fed up with its shortcomings that i cancelled the project. Jul 30 07:01:28 restarting it on Android was a breeze. Jul 30 07:01:49 I never tried to develop for winmo, I just assumed it wasn't worth trying Jul 30 07:02:01 based on all the apps I experimented with Jul 30 07:02:52 I'm sure people did the best they could but...everything I've used has really fallen short Jul 30 07:03:53 even simple stuff like dialing numbers and sms is annoying Jul 30 07:04:01 its slow and glitchy on my phone anyway Jul 30 07:04:16 i type a bunch of stuff and it only catches half of it Jul 30 07:05:21 miguel says blackberry > iphone ...im still on my nokia 6230i until a decent open fone ships Jul 30 07:06:25 has any of you tried the OpenMoko yet? Jul 30 07:06:47 negative...I've been keeping up a lot though. Their channel is hoppin almost 24/7 Jul 30 07:08:03 its really bad atm ...3 different sw frameworks all buggy Jul 30 07:08:28 some good ppl left the company due to the disease of bad mgmt Jul 30 07:08:45 my understanding is that its still at a very basic functionality, even falling short of what michaelnovakjr and the rest are getting with android on their phones Jul 30 07:09:31 they also hard at work on other non GTA02 projects too according to my sources who work in openmoko Jul 30 07:10:16 gambler: you mean to say, new hardware? Jul 30 07:10:20 s/sources/source s/in/at Jul 30 07:10:31 yakischloba, yahhh Jul 30 07:11:20 it seems to me like the first two hardwares have been kind of half assed, at least as far as what I'm looking for. Is that their goal, just to pump out new hardware all the time and hope the community stabilizes it? Jul 30 07:12:13 i think there are a few ppl with different ideas there Jul 30 07:12:27 not that I'm belittling what it takes to put something like that out Jul 30 07:13:18 it already has been integrated into a GPS device Jul 30 07:21:37 morning Jul 30 07:24:10 hi alex2308 Jul 30 11:20:14 howdy Jul 30 12:19:34 sup Jul 30 14:59:53 howdy Jul 30 15:04:51 quiet today Jul 30 15:05:24 yawn Jul 30 15:05:32 howdy guys :) Jul 30 15:05:59 Oh it is very silent now I'm trying to code something and that takes a looooong time :) Jul 30 15:06:43 morning Jul 30 15:07:06 im working on my paper Jul 30 15:20:30 i saw dark knight last night Jul 30 15:21:24 i liked it, but only because of the joker's character. everything else was exceptionally mediocre. exactly what you expect from the comic book type movies. Jul 30 15:29:15 :) Jul 30 15:30:13 jasta i tried out a really watered down version of my sms app Jul 30 15:30:24 the functionality is really awesome on the vogue Jul 30 15:38:06 i'm very tempted to go get one today ;) Jul 30 15:38:15 i believe if i had one in my hand, i would likely be able to fix five. Jul 30 15:40:19 yea Jul 30 15:40:41 i've got it so the sms notifications go away when you view the message, and its threaded :) Jul 30 15:40:58 interface needs some work, but its actually a very simple application Jul 30 15:50:26 yo jasta Jul 30 15:57:31 yo Jul 30 16:02:37 hello Jul 30 16:02:44 hi Jul 30 16:04:22 is there any .dex decompiler yet? Jul 30 16:04:37 alex2308: no, the format is not well known. Jul 30 16:05:03 it looks like the .class format, but slightly different Jul 30 16:05:28 i tried changing some values in order to get jad to work, but it didnt work Jul 30 16:07:41 it probably is only similar by accident. this is much like their binary XML format, which otherwise looks similar to WbXML, but is not. Jul 30 16:12:55 might be, i cant tell. as far as i can tell its not the same :p Jul 30 16:13:20 i'm sure it would be trivial to reverse engineer, if you have any experience in that area. Jul 30 16:13:26 just no one seems to have taken a serious crack at it. Jul 30 16:13:34 no one with sufficient skill, that is. Jul 30 16:14:04 as far as i know bytecode classes are pretty easy to reverse Jul 30 16:14:07 i reverse engineered the binary XML format quite easily. i don't think google intentionally obfuscated anything, which makes reverse engineering very simple. Jul 30 16:14:10 see JAD or Reflector Jul 30 16:14:28 well, JAD didn't reverse engineer anything. The format of class files is documented. Jul 30 16:15:14 i mean decompiled Jul 30 16:15:26 reflector is a .net decompiler Jul 30 16:15:30 That isn't the same as reverse engineering. Jul 30 16:25:51 jasta, i wrote up a really quick document viewer/editor Jul 30 16:26:01 tied it into glance also Jul 30 16:26:14 so you can open a file from the context menu in glance Jul 30 16:28:34 nice, using intents? Jul 30 16:28:47 yea Jul 30 16:28:54 i just tested it on the device Jul 30 16:29:16 i made it a separate program so you can open up a blank and write something from scratch Jul 30 16:29:30 but i also tied it into glance to make opening existing files much easier Jul 30 16:30:11 i put a toast message if the file is read-only, so it shows when you open it up Jul 30 16:30:32 i have to add in the write support now, but that is really easy Jul 30 16:31:07 do you have the ability to move files around? Jul 30 16:31:11 yes Jul 30 16:31:22 you can cut and paste files around Jul 30 16:31:27 or copy and paste Jul 30 16:31:31 cool, what about grow and remount the underlying system image? :P *jk* Jul 30 16:31:41 haha :) Jul 30 16:32:47 jasta: sup Jul 30 16:33:48 uhh, hi again :) Jul 30 16:34:06 the last thing you said to me was "yo jasta" ;) Jul 30 16:34:32 Someone here ? Jul 30 16:35:26 people are talking. i'm guessing yes, then :) Jul 30 16:37:26 I got a question. I have implemented a ImageAdapter for the Grid View. Now I'm consuming pictures from Flickr and showing it in my Grid View through the Adapter. That works quite fine. But is it possible to update the Grid evrytime I go through the getView() method of my Adapter? Jul 30 16:38:26 how do you mean update everytime you go through getView()? Jul 30 16:38:37 people tend to leave after the common "someone here" "anyone alive/awake" question Jul 30 16:38:41 getView is just a way for the grid itself to get another square in the grid for it to render. Jul 30 16:39:05 jasta: sorry, i'm sick as a dog Jul 30 16:39:12 SanMehat: lame, still working? Jul 30 16:39:21 @home today Jul 30 16:39:29 i'm still home now, but heading in. Jul 30 16:39:38 i like working at home the first part of the am Jul 30 16:39:55 jasta: hmm at the moment the Grid is wating untill every picture is downloaded and then all the pictures appear in the grid at the same time. Jul 30 16:40:26 anno^da: what is actually doing the waiting? you do realize that you are not expected to block the main UI thread, correct? Jul 30 16:41:15 if you are using blocking I/O, you are expected to spawn a separate thread to do the image downloads and communicate them back to your UI thread. Jul 30 16:41:42 absolutely ;) Jul 30 16:41:52 So everything should apper directly if I a Thread would do the downloading stuff ? Jul 30 16:41:58 you shouldn't be downloading stuff from a network in the main ui thread Jul 30 16:42:26 that said, getView maybe doesn't do what you think it does. It's just a way to get a View hierarchy for each square. It isn't necessarily a way to map data to widgets. For example, it will only request enough views to be displayed on screen. Not the total number in your list. Jul 30 16:42:40 anno^da: Well, no, but I'm saying you have to redesign your app already :) Jul 30 16:43:15 Hmm but why I exactly that kind of functionality in the API demos :P Jul 30 16:43:21 -I + is Jul 30 16:43:25 The only approach that Android currently offers, as I understand, is to refresh the entire view when changes are made. Jul 30 16:43:31 anno^da: You definitely do not find this functionality in the API demos. Jul 30 16:43:42 hmm Grid view for pictures Jul 30 16:43:45 The API demos are recalling images hardcoded onto the system image. Jul 30 16:43:51 yeah ok Jul 30 16:43:52 Not from the network. Jul 30 16:43:53 yea jasta, you notify the data set has changed and refresh the whole vie Jul 30 16:43:59 That causes your application to be designed quite differently Jul 30 16:44:05 Anyway, look at those demos to figure out how they repopulate. Jul 30 16:44:25 I'm sure they will be simply refreshing the entire grid view. Jul 30 16:44:44 Romain claims somehow magically the overhead is low for this operation. I guess I believe him ;) Jul 30 16:44:47 you have to have the downloading thread alert the view when a new file is available so that it can refresh itself Jul 30 16:45:03 new *image Jul 30 16:45:27 Hmm yeah just thought you know that by heart how to refresh the view directly. I knew that I have to do the network stuff somewhere else. Jul 30 16:45:39 (and yeah I am a noob :D) Jul 30 16:46:20 notifyDataSetChanged(); and view.requestLayout(); Jul 30 16:46:39 you have to update the data object obviously otherwise the view doesn't see it Jul 30 16:50:12 thank you I will export the whole network stuff first Jul 30 16:59:40 deadlines... Jul 30 16:59:52 mmm deadlines Jul 30 17:00:28 umdk1d4: ready to go? Jul 30 17:00:36 ha lol Jul 30 17:00:40 getting there ;) Jul 30 17:00:45 great Jul 30 17:00:54 under a week noww Jul 30 17:01:00 yup Jul 30 17:01:14 well, exactly 6 days to be exact Jul 30 17:01:23 5 days, 58 minutes Jul 30 17:01:31 unless they extend ;) Jul 30 17:01:36 bah i doubt it Jul 30 17:01:59 lol.. there won't be any submissions then Jul 30 17:02:04 i wonder if there will be any interest for this round Jul 30 17:02:15 no interest Jul 30 17:02:22 no submissions? o.o Jul 30 17:02:22 its kinda boring Jul 30 17:02:39 obviously.... no one speaks of it :) Jul 30 17:02:56 now its more secret.. lol Jul 30 17:03:04 yawn Jul 30 17:03:14 well and we cant exactly show off our stuff right away Jul 30 17:03:22 stupid nda :P Jul 30 17:03:33 the public sdk might be out soon Jul 30 17:03:54 they have been saying that for weeks Jul 30 17:04:02 after the deadlines.. sure Jul 30 17:04:39 adc 2 with real device would be cool Jul 30 17:04:49 not sure how much of interest would be there for adc2 Jul 30 17:04:53 not sure i'll participate Jul 30 17:05:14 I would think more interest Jul 30 17:05:20 that's why its very important for a public sdk Jul 30 17:05:23 depends on how many devices are out maybe Jul 30 17:05:41 muthu: there def. will be when the devices come out Jul 30 17:05:44 yup, the devices would bring in new interests Jul 30 17:05:52 agree Jul 30 17:06:02 once there are devices i'll be more concerned with being able to use my software than entering in the adb Jul 30 17:06:12 adc* Jul 30 17:06:26 adc gives you the platform to launch Jul 30 17:06:41 huh? Jul 30 17:06:44 you get noticed Jul 30 17:06:52 i am not really concerned about that Jul 30 17:06:55 or gets your open source project more developers Jul 30 17:07:03 if people like the apps then they'll use them Jul 30 17:07:12 if not, i still get the benefit of using it :) Jul 30 17:07:19 i hear you Jul 30 17:07:29 extra money wouldn't hurt ;) Jul 30 17:07:35 at this point I don't want to think about adc for a while Jul 30 17:07:40 muthu, again i don't charge for my apps Jul 30 17:07:51 michaelnovakjr: he's talking prize money Jul 30 17:08:03 oh yes Jul 30 17:08:20 it doesn't really interest me Jul 30 17:08:34 you start to think of developing differently when there's a money goal Jul 30 17:08:48 i feel that could end up hurting more apps than it would help Jul 30 17:08:49 no Jul 30 17:08:54 you think straight Jul 30 17:09:01 not necessarily Jul 30 17:09:15 michaelnovakjr: its all the same goal Jul 30 17:09:15 haha...I just leave comments like: // don't have time to do this right, will fax post adc Jul 30 17:09:23 s/fax/fix Jul 30 17:09:26 zhobbs_: :)) Jul 30 17:09:31 lol Jul 30 17:09:47 i'm sure everyone's doin it Jul 30 17:09:49 lol if had $1 for each of those in my code :P Jul 30 17:10:14 //todo: Jul 30 17:10:15 i have coded more productively recently than i did during the adb Jul 30 17:10:18 adc** Jul 30 17:10:47 completely different mindset Jul 30 17:11:26 yeah, but what is productive? Jul 30 17:11:53 better code and use of time Jul 30 17:12:04 i cowboy coded most of Five, and i'm not proud of it ;) Jul 30 17:12:17 as of late i have been exploring smaller test cases to validate assumptions I made Jul 30 17:12:43 its been a wild week.. so much of stuff got done Jul 30 17:12:47 jasta, don't you think if you were coding that outside of the adc descisions along the way would have been much different? Jul 30 17:12:48 so far, i've found that most of my practices led to unreliable code based on wildly false assumptions ;) Jul 30 17:13:03 i doubt i would have coded it this way at all had i not been focused so intently on the ADC deadline Jul 30 17:13:20 same here Jul 30 17:13:24 michaelnovakjr: Oh yes, I have never approached software design in this way before. Jul 30 17:13:28 Not even professionally Jul 30 17:13:41 jasta_: now or for adc Jul 30 17:13:44 ? Jul 30 17:18:15 for the adc. Jul 30 17:18:28 i don't think it was wholly wrong though. it just was very cowboy style. Jul 30 17:18:38 I did get a lot done, though. Having this time now to reflect on best practices is very helpful, though. Jul 30 17:23:06 i must say though i am quite pleased hacking away on android now :0 Jul 30 17:23:21 its fun when you can actually test apks on a device Jul 30 17:23:47 ha, you are lucky Jul 30 17:24:19 muthu: he isn't lucky, anyone could go buy the device he's using. Jul 30 17:24:28 i have one i've been tinkering with as well Jul 30 17:24:38 about to go buy my own so i dont have to borrow my co-workers Jul 30 17:24:48 yea, there's a few using them Jul 30 17:24:48 did you get it working? Jul 30 17:24:51 Is it right the the getView methode of this ImageAdapter ( http://code.google.com/android/samples/ApiDemos/src/com/google/android/samples/view/Grid2.html ) gets called all the time? Jul 30 17:24:53 jasta have a radioshack by you? Jul 30 17:25:17 i bought mine for 30 bucks through them Jul 30 17:25:21 anno^da: what do you mean "all the time"? Jul 30 17:25:32 anno^da: why does it get called all the time? Jul 30 17:26:46 jasta, i was able to modify the timezone file using my app :) Jul 30 17:27:31 Hmm I'm trying to explain it from my beginner point of view. It is called untill all the pictures sumed up in the mThumbIds are converted so single ImageViews Jul 30 17:27:49 anno^da: it is called to draw each gridbox Jul 30 17:27:59 yeah Jul 30 17:29:08 the thread you have should request the layout of the grid, and then your gridview will have the newly added image Jul 30 17:31:59 * umdk1d4 kidnaps michaelnovakjr to get device :P Jul 30 17:32:19 oh hmm Jul 30 17:35:21 umdk1d4: ? Jul 30 17:36:29 michaelnovakjr: how? Jul 30 17:36:30 $30? Jul 30 17:36:40 oh, with a contract? see, i dont want a sprint contract :) Jul 30 17:36:41 they have some deal going on Jul 30 17:46:15 michaelnovakjr: but it is with contract, right? Jul 30 17:46:23 im just going to pick one up and return it in 30 days ;) Jul 30 17:46:39 i want to avoid actually getting sprint service like the plague :) Jul 30 17:47:14 :) Jul 30 17:47:18 its actually not too bad Jul 30 17:49:37 oh, htc is carried by spring? Jul 30 17:49:40 sprint? Jul 30 17:50:43 its carried by verizon too Jul 30 17:50:48 in america that is Jul 30 17:51:01 great Jul 30 17:51:06 ? Jul 30 17:51:31 oh, only the iphone has a different model.. right? Jul 30 17:51:44 huh? Jul 30 17:52:00 locked? Jul 30 17:53:41 i have no idea what you are talking about Jul 30 17:56:54 iphone being tied up to a single carrier Jul 30 17:59:33 muthu: manufacturers aren't generally exclusive to a carrier. Jul 30 17:59:43 handsets they make sometimes are, but even then they usually revise them for other carriers Jul 30 17:59:54 the Vogue, in this case, is particular to Sprint in the US Jul 30 18:00:26 ok Jul 30 18:00:28 all US phones are locked, its just that certain carriers are compatible and you can find out how to unlock the devices. Sprint is not that way. Jul 30 18:00:42 oh right Jul 30 18:00:58 but all the carriers have 30 day satisfaction guarantees to avoid early termination feeds Jul 30 18:01:01 im going to abuse that :) Jul 30 18:01:14 haha Jul 30 18:01:53 i'd prefer to get a Vogue permanently (buy it form my co-worker), then just use the 30 day guarantee to get service Jul 30 18:01:56 it's simpler that way Jul 30 18:02:07 but im not sure if i'll be able to pull that off Jul 30 18:02:14 he probably will want $200 or more for it, which i'm not willing to spend. Jul 30 18:02:29 if i "rent" it from Sprint, it'll be about $80 out of pocket for amonth. Jul 30 18:02:33 why can't you wait a bit? Jul 30 18:02:39 yea I like the vogue Jul 30 18:02:50 i'll be running android on this when it comes out Jul 30 18:02:51 because it's fun to play with it. if i wait until handsets launch it won't be that fun to play with a vogue. Jul 30 18:03:04 agree Jul 30 18:03:07 michaelnovakjr: lol, really? the vogue is a goofy phone. Jul 30 18:03:15 i dont like not having a hardware keyboard. Jul 30 18:03:18 android runs nicely on it Jul 30 18:03:23 that's true. Jul 30 18:03:27 oh, i don't mind the on screen keyboard Jul 30 18:03:28 android runs smoother than windows mobile hehe Jul 30 18:03:33 definitely Jul 30 18:03:36 and it doesnt even have the 3D acceleration enabled Jul 30 18:03:42 windows mobile menus and stuff is much smaller Jul 30 18:03:53 3d is enabled in the sdk, yes? Jul 30 18:03:55 harder to use with touch screen Jul 30 18:03:58 umdk1d4: No. Jul 30 18:04:14 Well, assuming you mean acceleration, no. The emulator is using a software renderer. Jul 30 18:04:22 seriously?? Jul 30 18:04:23 wow Jul 30 18:04:38 mmm i still dont believe it ;P Jul 30 18:04:53 read the logcat during boot :) Jul 30 18:05:45 jasta_: what's the best way to show progress for a background task? Jul 30 18:07:05 ? Jul 30 18:07:11 muthu: uhh, probably a progress bar? Jul 30 18:07:17 or a title progress bar Jul 30 18:07:20 :) Jul 30 18:07:20 or a progress dialog Jul 30 18:07:25 by "best", what exactly do you mean? Jul 30 18:08:06 umdk1d4: Well, a) they don't package the 3D acceleration library, and b) qemu doesn't support OpenGL acceleration from the host. Jul 30 18:08:09 so, yeah, it's not enbaled. Jul 30 18:08:11 i'd say the title progress indicator is a good choice for background Jul 30 18:08:23 michaelnovakjr: good choice Jul 30 18:08:33 yeah, that's the best way Jul 30 18:08:40 if something is running in the background it must be for a reason Jul 30 18:08:56 so it defeats the purpose to interrupt the main ui thread to let you know what's working Jul 30 18:09:01 muthu: why would you ask a question and then confirm the answer with your own prejudice? did you even intend to ask a question or did you just want to talk? Jul 30 18:09:05 something subtle in the title bar should do the trick? Jul 30 18:09:32 jasta_: i wanted to get you started ;) Jul 30 18:09:58 muthu, you are definitely an odd fellow Jul 30 18:09:59 ok? Jul 30 18:10:22 jasta_: you know about handlers? Jul 30 18:10:29 jasta: ah good point, i wasnt sure about what qemu offered Jul 30 18:10:34 umdk1d4: and it's therefore not enabled on the vogue, because a) ... and b) the driver doesn't exist for the vogue :) Jul 30 18:10:55 muthu: as in android.os.Handler? Yes, quite a lot. Jul 30 18:11:12 so can you start a thread from an handler? Jul 30 18:11:42 sure, probably not using the handler right if you're doing so though Jul 30 18:11:54 zhobbs_: can you start a thread? Jul 30 18:12:00 I would think so Jul 30 18:12:16 you won't be in the UI thread anymore Jul 30 18:12:29 yeah, then post back to another handler.. Jul 30 18:12:56 so the question is.. can you start a thread which posts back to a handler from an handler? Jul 30 18:13:28 muthu: what would the advantage to starting a thread from a handler? a handler is used to synchronize against the main UI thread. there is no reason to synchronize thread invocation against the main UI thread. Jul 30 18:14:02 muthu: Uhm, handler's are threadsafe handles. that's the point. They attach to the thread on which they were created and are accessible by any thread to post messages back to the attached thread. Jul 30 18:14:21 right Jul 30 18:14:36 yeah, like I said, you might be able to do that, but why you'd want to I don't know Jul 30 18:14:50 zhobbs_: you can't Jul 30 18:14:57 ok Jul 30 18:15:05 it cannot nest like that Jul 30 18:15:26 but there's something called Looper which might do that Jul 30 18:15:55 but looper is for the same thread, i guess Jul 30 18:16:04 there's no need to use the looper Jul 30 18:16:13 but when you create your handle you have to create it on the UI thread Jul 30 18:16:31 muthu, you should read up on handlers :) Jul 30 18:17:01 romainguy_: where's the seperation? Jul 30 18:17:16 what separation? Jul 30 18:17:31 between a main thread, and a ui thread.. Jul 30 18:17:38 the UI thread is the main thrad Jul 30 18:17:39 thread Jul 30 18:17:40 same thing Jul 30 18:17:47 gahhhhh its wednesday Jul 30 18:18:04 yeah.. so the handler is getting created in the ui thread then Jul 30 18:18:35 handlers give exceptions when you create them outside the UI thread I think Jul 30 18:18:50 only when you create them from a thread that is not associated with a looper Jul 30 18:19:05 you can make associate any thread with the looper Jul 30 18:19:15 but it's more work for something you don't need to do in the first place Jul 30 18:20:09 thread ==> handler ==> thread ==> handler is not a problem? Jul 30 18:20:45 no but why would you do that? Jul 30 18:20:54 what is the problem you are trying to solve? Jul 30 18:20:57 it gave me error Jul 30 18:21:19 :) Jul 30 18:21:26 research Jul 30 18:21:33 what error? Jul 30 18:21:40 what are you trying to achieve? Jul 30 18:22:20 trying to get some background stuff done Jul 30 18:22:27 while the UI is being responsive Jul 30 18:23:05 when the thread is done with one thing why not have it start the next thing instead of going to the handler and back Jul 30 18:23:48 no, but i want it this way Jul 30 18:24:01 jasta and michaelnovakjr thanks for your help I got it now. :-) Jul 30 18:29:53 muthu: why are you trying to force a poor design? Jul 30 18:30:31 i know.. but its fun to try Jul 30 18:31:17 hmm question while we are all here Jul 30 18:31:33 i have an activity that starts, and i start a few processing threads in onCreate() Jul 30 18:31:47 if those threads immediately begin hard cpu crunching stuff, it will delay the activity showing up Jul 30 18:31:52 yes Jul 30 18:32:03 however, if they Thread.sleep(500), then view shows up fine, and then the threads continue on their way Jul 30 18:32:15 nice Jul 30 18:32:32 i was thinking about toying around with onResume() or something Jul 30 18:32:36 *starting the threads in there Jul 30 18:32:53 onResume might be a good place Jul 30 18:32:54 to see if i dont have to .sleep(), but still have the view show up right away Jul 30 18:33:15 if the user switches apps umdk1d4 what do your threads do? Jul 30 18:33:30 but make sure, you want it that way Jul 30 18:33:40 muthu that doesn't make much sense Jul 30 18:33:41 they are some background fetching processes Jul 30 18:33:55 onResume also is called when your app is brought back to the front Jul 30 18:34:02 if they swtich apps, i suppose letting the threads finish is alright Jul 30 18:34:05 true Jul 30 18:34:13 michaelnovakjr: the threads are "smart" and keep a cache of things Jul 30 18:34:23 so the onResume() second time would be much faster Jul 30 18:34:48 i meant if they were already created when you hit onResume().... Jul 30 18:35:15 well, the method im calling inside each thread is synchronized Jul 30 18:35:18 not sure of the outcome, i haven't done it that way Jul 30 18:35:34 so the second "thread" would block while the first one finishes, then it would find the cache Jul 30 18:35:35 its pretty easy to find out :) Jul 30 18:35:46 is that what you want Jul 30 18:35:52 if you have it syncd then np Jul 30 18:36:47 im thinking onResume() will let the GUI thread in onCreate() finish shwoing the activity before starting the threads Jul 30 18:36:50 ill give it a try tho Jul 30 18:36:52 give it a try and watch closely to what the threads are doing, making sure they aren't running more than they have to Jul 30 18:51:44 umdk1d4: onResume and onCreate are called from the same thread. Jul 30 18:52:10 the entire application lifecycle is managed by the UI thread, which is also the main thread your activity receives. Jul 30 18:52:12 aww :/ Jul 30 18:52:21 yea i just played around with that and onStart Jul 30 18:52:22 do note that in any operating environment, 1 thread is always implied. Jul 30 18:52:27 that is the thread you are *GIVEN* to execute on. Jul 30 18:52:48 is there any reliable way to set priority on newly-created Thread s? Jul 30 18:52:52 it is not different than any other program starting on any other operating system :) Jul 30 18:52:54 umdk1d4: I've never had any problems starting a new thread in onCreate() Jul 30 18:53:02 you must have at least 1 thread of execution, and it is provided for you. Jul 30 18:53:13 its like the GUI thread and my background thread begin fighting for CPU Jul 30 18:53:14 umdk1d4: Thread priority on Linux is usually ignored. Jul 30 18:53:24 which prevents the gui thread from finishing until the background thread is done Jul 30 18:53:27 since the scheduler thinks you are stupid, and it is right. Jul 30 18:53:31 (yes, im doing threading right ;) Jul 30 18:54:00 umdk1d4: That is called starvation. Break one or both of the threads in a debugger and observe their state. Jul 30 18:54:06 It is likely one is waiting for a lock from the other. Jul 30 18:54:14 (not knowing anything about your design, this is my most likely guess) Jul 30 18:54:52 also, your thread may be idle looping in a really inefficient fashion, hogging the CPU for itself that wya. Jul 30 18:56:16 also, do realize that you can actually release your background thread from your main thread, to get it to stop doing whatever it's doing. Jul 30 18:56:28 but there is no general strategy for this, as it depends entirely on what your thread is busy doing, and how it is busy doing it. Jul 30 18:56:50 if you can create a small test case, i can certainly help you identify specifically what is wrong. Jul 30 18:57:10 there arent any locks between them Jul 30 18:57:18 its just very cpu intensive Jul 30 18:57:23 good ideas tho Jul 30 18:57:32 ill play around with breaking it Jul 30 18:57:34 well, then you would want the main thread to halt it. Jul 30 18:57:56 but please, listen to me when i say that you can't always just test concurrency problems to determine correctness. Jul 30 18:58:32 concurrency is a tricky subject, and can lead to some of the most complicated bugs out there. in a simple test if it works as you expect that offers you no guarantee that your code is correct or will behave as you expect in all possible situations. Jul 30 18:58:52 it is a far better strategy to try to understand the problem and attack it precisely, as opposed to tinkering and trial and error. Jul 30 18:58:59 note that java.util.concurrent offers excellent tools to make concurrency code easier and safer Jul 30 19:00:19 umdk1d4: If your thread is busy looping some calculations and is not otherwise blocking on I/O or waiting/sleeping, you will need to dissect your algorithm in such a way that it can be interrupted at certain points. Jul 30 19:00:49 For example, if it's busying doing an MD5 sum, you will need to decompose the MD5 operation to have hooks at various stages to check if the thread has been interrupted and back out gracefully, yielding no result. Jul 30 19:01:13 jasta: yeah that's usually the most annoying part of threading code :) Jul 30 19:01:15 Often the Java language and its supporting libraries do not make this especially easy to do, so your solution can sometimes feel clumsy. Jul 30 19:01:32 true true Jul 30 19:01:58 But it is the only correct way to behave in this case. You don't want a terminated thread to just keep pounding the CPU and wasting resources when you no you don't care what result it will eventually have. Jul 30 19:02:27 and by terminated I mean simply that you know you're done with it, and wish it to die. Not that it has been terminated by the operating system, which is a much different story. Jul 30 19:02:45 The operating system actually does exactly as I'm describing. It breaks apart programs and adds hooks to check with the scheduler to allow other programs the chance to run. Jul 30 19:02:56 And as a result, it can easily and abruptly kill any process or thread that it wants. Jul 30 19:03:21 So only small sets of instructions execute in between this scheduling check. Jul 30 19:03:40 But you have to balance the efficiency of the check against the algorithm and the likelihood that this interrupt case will occur. Jul 30 19:04:00 For example, you don't want to interleave a check for termination after every instruction, as this would radically degrade performance for the common case. Jul 30 19:04:34 None of this applies if your thread is gracefully sleeping, waiting, or blocking on I/O though. Those cases are far simpler to terminate, as again the platform aids you. Jul 30 19:05:10 hmm Jul 30 19:05:12 The latter case is something I have been researching in depth, and have arrived at a satisfactory solution. Jul 30 19:08:15 romainguy___: If you are curious, by the way, the latest HttpClient does in fact utilize Java 1.4 functionality in such a way that allows you to gracefully break out of a blocking connect, read, or write. The one distributed with Android M5 has a simple omission which prevents backing out of a blocking connect, however. Jul 30 19:08:34 what is this functionality? Jul 30 19:08:38 I would be happy to code up a "best practices" example of this and offer it to the team for inclusion in the next SDK release. Jul 30 19:09:10 romainguy___: Previously, the socket API composed the connect operation such that the socket creation and platform connect call were executed in the same function. Jul 30 19:09:28 And there was no way to run code in between the two, given the socket fd but where the connect call blocks Jul 30 19:09:31 for example... Jul 30 19:09:32 int fd = socket(...); Jul 30 19:09:37 connect(fd, ...); Jul 30 19:09:50 ah yes I see Jul 30 19:09:52 if the connect call blocked, the fd was not exposed in any way through Java's API, and so you couldn't simply close it. Jul 30 19:10:05 But in java 1.4, they fixed this, separating the two calls allowing you the chance to abort a blocking connec tby closing the socket. Jul 30 19:10:17 good to know Jul 30 19:10:29 http://groups.google.com/group/android-freeware Jul 30 19:10:33 HttpClient 4 alpha 4 takes advantage of this ability, allowing you the chance to close the socket which on Linux, Windows, and OS X, will interrupt the blocking connect. Jul 30 19:10:39 Also, it will interrupt a blocking read, write, etc. Jul 30 19:11:21 It is platform-specific, though, it just so happens that every platform does the Right Thing (TM) in this case. That is, if the socket being blocked is closed somehow, the blocking I/O call will abruprtly terminate. Jul 30 19:11:57 I am certain that it is reliably behaviour on any POSIX host, which Android of course satisfies ;) This behaviour is defined by POSIX (through BSD sockets), in fact. Jul 30 19:12:42 The process for doing this with HttpClient is simple. Just call method.abort(); from another thread and it will simply close the socket, releasing any threads blocking on I/O from that socket. Jul 30 19:13:47 It is an especially clean way to release resources from a background download thread. It will also work if you implement the application layer yourself as well (layered on top of the Socket class). Jul 30 19:13:51 or for any other library that does this. Jul 30 19:14:03 The basic approach is simple: close the socket, not the input or outputstream. Jul 30 19:14:49 There are some nuances, of course, and you need to carefully consider the state of your thread at initialization and termination to avoid jittery corner cases, but I believe my example does that correctly. Jul 30 19:15:17 muthu, what about it? Jul 30 19:15:29 that's yours? Jul 30 19:15:33 nope Jul 30 19:15:43 http://android-random.googlecode.com Jul 30 19:16:35 cuil Jul 30 19:16:55 jasta_: write a book on threads Jul 30 19:17:05 even the java apis are not sure about them Jul 30 19:17:10 why? many good ones are already written Jul 30 19:17:17 threads in android Jul 30 19:17:25 the java apis remain vague for portability. Jul 30 19:17:41 with android, we have the luxury of assuming a posix host, linux. Jul 30 19:18:22 and this is fortunate, as linux is especially sensible in this area :) Jul 30 19:19:12 threads are not that difficult in android Jul 30 19:21:19 agreed, but its never a good idea to apply hubris to concurrent problems. Jul 30 19:22:20 they are often nuanced and when you do screw up can be unbelievably painful to fix. Jul 30 19:22:29 they can be* Jul 30 19:23:33 definitely, its hard to fix a problem that can have a different behavior each time :) Jul 30 19:23:43 mmmm posix Jul 30 19:24:04 posix, part of a balanced breakfast ^.^ Jul 30 19:25:13 * jasta_ adamently defends posix as one of the few great blessings of the software engineering world :) Jul 30 19:25:32 :) agreed Jul 30 19:28:20 boy, glance and the newly dubbed scribble are really helpful :) Jul 30 19:28:32 i bet. i can't wait to get a device :) Jul 30 19:29:09 in /etc/ppp there's files for the connection Jul 30 19:29:25 they got reset and messed up.... i can fix them from the device now :) Jul 30 19:30:04 nice, i may finally go ahead and make a real terminal :) Jul 30 19:30:32 :) Jul 30 19:30:34 and by real i mean it will allocate a pt. Jul 30 19:30:36 pty* Jul 30 19:31:54 sweet Jul 30 19:49:00 i never did figure out quite what /system/bin/ioctl expected, so i'll just write a JNI layer Jul 30 19:49:15 also, using /system/bin/ioctl to allocate a pty would have been very clumsy :) Jul 30 19:53:16 michaelnovakjr: btw, martin claims that he's having trouble getting my older binder driver working in his build. Jul 30 19:53:20 Not sure what's going on with that. Jul 30 19:53:30 he hasn't responded to my latest e-mail Jul 30 19:53:42 hm, i had a few questions for him too Jul 30 19:53:49 ? Jul 30 19:54:13 for one the timezone file in /data/timezone gets rewritten every boot to say GMT Jul 30 19:54:24 there's got to be a way to set your timezone Jul 30 19:54:31 it probably is being written by Google's init. Jul 30 19:54:40 it shouldn't be hard seeing the clock works Jul 30 19:54:54 it might be very hard, if google has hardcoded it in their init :) Jul 30 19:54:56 let me check actually Jul 30 19:56:17 well, it doesn't seem to directly. Jul 30 19:56:24 no easy way to tell if some other process does, though Jul 30 19:56:38 is /data/timezone even being observed anywhere? Jul 30 19:57:04 or is it just a way to determine what timezone was set at boot? Jul 30 19:57:38 i think the latter Jul 30 19:57:56 it seems to write the timezone to file and not do anything with it Jul 30 19:58:01 yeah, probably, so writing to it is pointless Jul 30 19:58:07 yea Jul 30 19:58:46 it'd be nice to know where that's being done :) Jul 30 19:59:39 on the emulator mine is EST Jul 30 19:59:49 so its obviously something google does Jul 30 20:11:59 michaelnovakjr: this is gonna be a waste of time to try to figure out :) Jul 30 20:12:03 its all closed source hehe Jul 30 20:12:20 yep :) Jul 30 20:13:14 or be patient :) Jul 30 20:14:56 romain is just no fun ;) Jul 30 20:15:01 no sense of adventure hehe Jul 30 20:17:26 romainguy__ we could go join the bunch crying foul and complaining all day instead Jul 30 20:21:38 hey, i'm still in that group. Jul 30 20:21:51 i've just been slapped by the futility of it all a little bit :) Jul 30 20:22:10 they really seem not to be moved by what i say ;) Jul 30 20:22:19 :) Jul 30 20:22:30 i stay busy to keep away from the negative energy flow Jul 30 20:22:41 yeah, a good idea. Jul 30 20:23:03 i'm anxiously awaiting the next SDK so i can plow through my code and redesign a few things. Jul 30 20:23:18 i figure the best time to do it is when the project's state is crippled by a changed API anyway Jul 30 20:23:52 yea Jul 30 20:23:57 definitely Jul 30 20:24:43 How much of the api are they changing anywho ? Jul 30 20:24:59 not publicly known Jul 30 20:25:48 sayers: i would not eb surprised to find it is quite significant. i'm sure the core concepts will sitll be there, but lots of stuff will shift around. Jul 30 20:26:06 for the better I assume. Jul 30 20:26:15 that's just based on my experience of how things like this tend to go. when they get a license to relaly fuck with the API, they do :) Jul 30 20:26:18 Obviously Jul 30 20:26:31 they being developers Jul 30 20:26:52 :) Jul 30 20:27:02 sayers: you can expect the change to be equivalent to M3 -> M5 Jul 30 20:27:09 in terms of % of API changes Jul 30 20:27:11 I wasn't here then :) Jul 30 20:27:30 I don't have the exact number but it should be something like 30+% Jul 30 20:28:23 that i see is a good thing Jul 30 20:28:27 improving :) Jul 30 20:28:28 that'll be fun Jul 30 20:28:39 yea, but i'm sure it'll be worth it Jul 30 20:29:08 the UI won't change like it did from M3 to M5 though Jul 30 20:29:27 i like the m5 UI Jul 30 20:31:24 well we made many changes Jul 30 20:33:20 i actually have some big problems with the M5 UI, but i suspect they will make it into 1.0 :( Jul 30 20:33:59 but i have a narrow view of the platform as a whole, so i'm uncertain how it will fit in with other applications google is writing. Jul 30 20:34:04 #include Jul 30 20:34:06 jasta: What are the problems? Jul 30 20:34:09 i'm very anxious to see what sort of UI guidelines we get handed down from the google apps Jul 30 20:34:23 ttuttle: well, the notification tray for example i think is very clumsy Jul 30 20:34:30 jasta: Awww, I like it ;-) Jul 30 20:34:33 its strange how you have to "draw" it down when it otherwise doesn't resemble a tray Jul 30 20:34:42 jasta: eh. Jul 30 20:34:42 and the layout seems crude once inside of it. it's too general. Jul 30 20:35:03 jasta: Well, it's supposed to be general, as it can hold any sort of notification ;-) Jul 30 20:35:07 on a device though its really smooth Jul 30 20:35:25 michaelnovakjr: it animates fluidly, but it doesn't make it any more logical or useful. Jul 30 20:35:25 michaelnovakjr: Do you have one? Jul 30 20:35:46 i feel it's just awkward, but as i sadi we'll have to see how google makes use of it. Jul 30 20:35:52 well, jasta it does organize multiple notifications well Jul 30 20:36:06 also, the notification area seems particular and sepcialized, so it is hard for example to think of a way to integrate for applications that don't strictly follow the prompted notification Jul 30 20:36:30 i use the notification manager with my sms application Jul 30 20:36:31 like my music player. i want an icon to let the user know its running/playing/downloading, and let them tap something up there to get back to the playback screen Jul 30 20:36:34 michaelnovakjr: how's your sms app/ Jul 30 20:36:41 but the notification area is not that. it feels all wrong to do it that wya. Jul 30 20:36:50 its coming along AttractiveApe Jul 30 20:36:56 it doesn't interrupt you Jul 30 20:36:59 is Glance finished? Jul 30 20:37:08 yes :) its a version 0.0.1 Jul 30 20:37:15 also it'll be interesting to see how built-in applications work together to make the experience work well. Jul 30 20:37:22 true Jul 30 20:37:33 AttractiveApe: i just wrote a quick little app called Scribble Jul 30 20:37:51 one thing i've always wanted to see that i think google can do well is something like an sms coming in saying "sure, dinner at 7?" and letting you translate that to a calendar event/notification. Jul 30 20:37:52 its a notepad like app that lets you write files Jul 30 20:38:56 jasta, that would be nice Jul 30 20:39:20 i steered clear of calendar apps because i'm sure google will have a nice calendar/email/docs/sms system Jul 30 20:40:09 as i said, im jut not sure how it will come togehter. we all have a very limited scope here. Jul 30 20:40:16 really hard to see what google has built so far. Jul 30 20:40:25 but im excited to get handed down some UI best practices finally Jul 30 20:40:33 that has been a constant struggle with android development Jul 30 20:40:33 yea Jul 30 20:40:52 i'd like to think my apps aren't too far off Jul 30 20:41:09 probably will be hehe Jul 30 20:41:11 who knows ;) Jul 30 20:41:19 :) Jul 30 20:43:44 even at I/O they only showed us freaking pac man :) Jul 30 20:43:51 :) Jul 30 20:44:00 i have plans to make a simple game Jul 30 20:44:11 i am going to make a solitaire engine if no one else does Jul 30 20:44:12 jasta: were you at I/O? Jul 30 20:44:12 haven't done one at all so it should be fun :) Jul 30 20:44:12 jasta: But it's Pacman! =D Jul 30 20:44:14 i like klondike Jul 30 20:44:16 SanMehat: yes. Jul 30 20:44:21 jasta: you should have come and said hey Jul 30 20:44:27 we've been over this ;) Jul 30 20:44:38 shut up i'm sick and on cold medicine :( Jul 30 20:44:41 i sat in on the fireside chat and couldn't quite figure out how i knew your name Jul 30 20:44:51 only after i left did it connect hehe Jul 30 20:45:06 lol Jul 30 20:45:13 actually, i was reading a news recap of the event the next day and noticed "from left to right: ..., San Mehat, ..." Jul 30 20:45:21 and was like "ohhhhh.." :) Jul 30 20:45:45 oh... that's a name I know... I used to have a netwinder Jul 30 20:45:51 i wish i would have figured it out much sooner. was heat there too? Jul 30 20:46:10 davidw: yeah thats my baby... or was Jul 30 20:46:22 jasta: he wasn't at the event Jul 30 20:46:25 but he was around Jul 30 20:46:26 it was pretty cool, I learned a lot from it Jul 30 20:46:33 davidw: so did I.. :) Jul 30 20:47:00 "THE developer of ARM Linux" Jul 30 20:47:01 SanMehat: i would've liked to meet him too. i was hanging out with another friend from giFT... Jul 30 20:47:13 hahaha Jul 30 20:47:20 SanMehat: he's occassionally in here as pawalls, used to be malverian, if you recognize any of those names :) Jul 30 20:47:23 that was RMK Jul 30 20:47:50 yeah, then there was the guy "THE author of NUMEROUS perl scripts" Jul 30 20:47:57 oh yeah... zac Jul 30 20:47:58 hahaha Jul 30 20:49:15 SanMehat: fyi, i might be up in the bay area in october... Jul 30 20:49:21 AttractiveApe: i wrote Scribble into Glance too... so if you pull the context menu up on a file you can open it in Scribble Jul 30 20:49:26 jasta: cool, look me up. Jul 30 20:49:33 but warning, i'm getting married in october. Jul 30 20:49:37 so i might be busy Jul 30 20:49:53 /s/might/will Jul 30 20:49:57 nice :) Jul 30 20:50:33 :) Jul 30 20:50:39 excited or nervous? :) Jul 30 20:50:52 michaelnovakjr: cool, I'll have to grab that android update and put glance in it :P Jul 30 20:50:57 It's all good Jul 30 20:51:03 i mostly have avoided marriage because it seems like a lot of owrk and i'm super lazy Jul 30 20:51:29 my gf is basically my personal assistant. she pays all my bills, takes care of traffic tickets and other beauracratic business :) Jul 30 20:51:42 hahaha Jul 30 20:52:14 i'm not joking. i really can't manage anything on my own. Jul 30 20:52:22 i once had a warrant out for my arrest for 3 months becuase i hate reading my mail Jul 30 20:52:26 jasta: same here, my gf thinks I'm a little kid Jul 30 20:52:36 probably for good reason, cause I always pay late, etc Jul 30 20:52:37 i missed a court date i never bothered to write on my calendar, and then let the warrant go because i never opened the letter informing me Jul 30 20:52:55 wow, you guys actually *need* Android to *survive*... Jul 30 20:52:55 that was before my girlfriend hehe. life's better now ;) Jul 30 20:53:24 otherwise your lives will devolve into a crazy disorganized catastrophy :) Jul 30 20:56:21 AttractiveApe: i committed the Glance update but didn't put the apk on the downloads page. Scribble i have one more thing i want to do to it then I'll post that too Jul 30 20:56:48 AttractiveApe: and of course, still plugging away at the SMS app, I have the threaded bit working :) Jul 30 20:58:30 michaelnovakjr: cool cool Jul 30 21:12:30 michaelnovakjr: What would you like to drin? :D Jul 30 21:12:34 drink Jul 30 21:12:41 ? Jul 30 21:12:49 I'm so happy now having a working micro app Jul 30 21:12:49 :D Jul 30 21:13:38 what app? Jul 30 21:14:07 downloading the images in a background thread and getting the images popping up in the grid view one after the other Jul 30 21:14:21 (haha yeah nothing special but for me it is :D) Jul 30 21:14:42 cool Jul 30 21:15:50 with that mini app I have learnt a lot about Views, my own Adapter, Message Handling, Threads and http work and consuming and converting of images via http Jul 30 21:16:24 that's good stuff Jul 30 21:18:01 How is the turning wheel called? (the progress widget) Jul 30 21:19:37 ? Jul 30 21:19:51 forget it :D Jul 30 21:20:00 (I'm too tired now :) ) Jul 30 21:34:37 AttractiveApe: when i get home i'll be adding those two apk's to the download page Jul 30 21:34:45 Glance and Scribble that is :) Jul 30 21:34:51 Cool. Jul 30 21:35:03 I finished what I've broken today. Jul 30 21:35:06 * AttractiveApe feels proud. Jul 30 21:35:12 I'll let you know when its up.... probably in about two hours Jul 30 21:35:15 Better yet, I fixed what I broke ;) Jul 30 21:35:20 :) **** BEGIN LOGGING AT Wed Jul 30 22:09:09 2008 Jul 30 22:28:50 romainguy___: do you know how to interpret this: Jul 30 22:29:18 E/AndroidRuntime( 605): Uncaught handler: thread Thread-7 exiting due to uncaught exception Jul 30 22:29:21 E/AndroidRuntime( 605): java.lang.NoSuchMethodError: Jul 30 22:29:24 E/AndroidRuntime( 605): at org.devtcg.demo.cancelhttpget.StoppableDownloadThread.getClient(StoppableDownloadThread.java:66) Jul 30 22:29:38 that line is: Jul 30 22:29:38 somehow you're calling a constructor that doesn't exist? Jul 30 22:29:41 SingleClientConnManager cm = Jul 30 22:29:41 new SingleClientConnManager(params, schemeRegistry); Jul 30 22:30:39 romainguy___: how could it compile but then not exist at runtime? mustn't that be a dalvik or aapt bug? Jul 30 22:30:52 different versions of the api? Jul 30 22:30:53 i'm including newer httpclient/httpcore jars... Jul 30 22:31:04 to override the ones bundled with android. Jul 30 22:31:26 I guess dalvik resolves the Android HttpClient first Jul 30 22:31:27 SingleClientConnManager is in a different package space in my bundled jars. Jul 30 22:31:49 romainguy___: well, i'm not so sure about that... Jul 30 22:31:52 because the lines above it are: Jul 30 22:31:57 SchemeRegistry schemeRegistry = new SchemeRegistry(); Jul 30 22:31:57 schemeRegistry.register(new Scheme("http", Jul 30 22:31:57 PlainSocketFactory.getSocketFactory(), 80)); Jul 30 22:32:06 SchemeRegistry and Scheme are also both in different package scopes. Jul 30 22:32:35 in Android's HttpClient, they are in org.apache.http.conn.* Jul 30 22:32:46 in alpha4, as i've included, they are in org.apache.http.conn.scheme.*; Jul 30 22:33:05 then I don't know :) Jul 30 22:33:07 so it should also be croaking there too, then? Jul 30 22:33:21 * jasta experiments. this must somehow be a bug, though. Jul 30 22:35:39 clean? Jul 30 22:36:05 duey: i doubt that, i tried on two different machines :) Jul 30 22:36:13 ah ok Jul 30 22:58:44 hmm, weird. def looks like a bug. if i work around that class i can get it to kind of work. Jul 30 22:58:51 but it seems to mix classes at runtime? Jul 30 22:59:12 im gonna work out a way to sign one of the classes and figure out what its doing. Jul 30 23:18:35 lame, work party... Jul 30 23:35:50 howdy folks Jul 31 00:03:31 hows it going michaelnovakjr? Jul 31 00:03:53 not bad yourself? Jul 31 00:04:00 pretty good Jul 31 00:05:13 good stuff Jul 31 00:05:29 yeah Jul 31 00:05:33 hows everything been? Jul 31 00:05:39 you working on any android projects? Jul 31 00:05:48 oh yea :) Jul 31 00:06:06 have you seen http://android-random.googlecode.com ? Jul 31 00:06:11 nope. Jul 31 00:06:25 i've got projects there Jul 31 00:06:41 thats cool Jul 31 00:06:47 i wrote the RemoteLogger, Glance, and the one I am about to put up there Scribble Jul 31 00:07:28 nice Jul 31 00:07:41 do you have android running on your HTC? Jul 31 00:07:41 woo, just went to the bank with my bonus check Jul 31 00:07:49 sweet :) Jul 31 00:07:52 Dougie187: yep Jul 31 00:07:58 nice Jul 31 00:08:01 hows it working for you? Jul 31 00:08:18 awesome, that's what i am writing the software for :) Jul 31 00:08:22 heh Jul 31 00:08:27 can you make calls on it? Jul 31 00:08:31 yep Jul 31 00:08:35 thats awesome. Jul 31 00:08:39 i'm writing a threaded text messaging app too Jul 31 00:08:41 was it easy to get on it? Jul 31 00:08:46 its coming along nicely Jul 31 00:08:48 thats a sweet idea. Jul 31 00:08:51 very easy Jul 31 00:09:06 when its not such an eye sore i'm going to put screenshots up :) Jul 31 00:09:10 heh Jul 31 00:09:16 i should go get a htc touch now. Jul 31 00:10:00 do you have sprint? Jul 31 00:10:14 yup Jul 31 00:10:21 oh nice :) Jul 31 00:10:45 is it a good phone? Jul 31 00:10:51 i dont think so :) Jul 31 00:10:59 but it sure is fun running android on it :) Jul 31 00:11:03 nice and smooth feeling Jul 31 00:11:23 is it better with android on it? Jul 31 00:11:24 windows mobile isn't the most appealing Jul 31 00:11:29 but android is great on it Jul 31 00:15:03 Dougie187: no of cours enot. the Android SDK as released is hardly a working phone. Jul 31 00:15:13 lol Jul 31 00:15:18 true. Jul 31 00:15:30 there's no e-mail app, terrible call management, no built-in SMS, etc. it makes a god awful phone, but a really fun toy and development testbed :) Jul 31 00:15:35 obviously, but for playing around with apps its great Jul 31 00:15:57 michaelnovakjr_: what does scribble do? Jul 31 00:16:18 its a way too simple little notepad Jul 31 00:16:30 it reads files and allows you to write files Jul 31 00:16:42 cool Jul 31 00:16:50 i tied it in with the Glance app I wrote so as you are browsing files you can open them with Scribble Jul 31 00:23:27 jasta, want to put a line in about the Scribble app on the project homepage? Jul 31 00:24:44 ill just make you an admin :) Jul 31 00:24:50 ok :) Jul 31 00:24:58 youve certainly committed enough code by now :) Jul 31 00:25:39 :) Jul 31 00:25:46 i've got some more too :) Jul 31 00:25:58 android is a very pleasant platform to code for Jul 31 00:26:40 absolutely Jul 31 00:29:12 writing software for your computer is one thing, but your mobile phone.... that's always with you Jul 31 00:29:28 there's a certain degree more appreciation from my point of view for that. Jul 31 00:35:00 jasta, let me know when you updated the project... thanks! Jul 31 00:37:25 its not connecting to googlecode.com for some reason Jul 31 00:37:27 hanging Jul 31 00:37:48 yea, its ridiculously slow again Jul 31 00:38:01 i was uploading apk's and it was hanging Jul 31 00:45:10 hey AttractiveApe, I put the two apk's on the android-random page Jul 31 00:46:25 Cool, cool. Jul 31 00:46:43 I realized I didn't bring my usb microsd card reader today... so I'll have to wait till tomorrow Jul 31 00:46:45 bah :( Jul 31 00:47:04 your data connection not working? Jul 31 00:47:27 I wanted to put on the latest android release from martin :) Jul 31 00:48:21 oh yea, i just did that last night Jul 31 00:49:35 i'm itching to finish the sms app Jul 31 01:07:55 jasta, any luck with googlecode Jul 31 01:27:09 CNET Buzz Report talking a bit about Android http://www.youtube.com/watch?v=DiR8Ho7joPs Jul 31 01:27:46 Mostly not nice things about all involved parties. Jul 31 01:29:46 jasta: can you set breakpoints in your service? I sweat I used to be able to... Jul 31 01:30:16 bdjnk: its funny because the android emulator image they use is from M3 :) Jul 31 01:30:51 Yeah, it's more then a little absurd. Jul 31 01:39:11 around jasta? Jul 31 01:39:34 yes Jul 31 01:39:55 zhobbs_: Yes, but remember that if you impelment your service using a remote process you will need to manually attach to that process in DDMS Jul 31 01:40:16 the debug button in the Eclipse plugin only attaches to the process hosting the activity that you configured to start. Jul 31 01:40:23 which may or may not be the same process as the service Jul 31 01:40:53 michaelnovakjr_: i just retried, still not connecting. i'm surprised google can't keep this service working right :) Jul 31 01:41:30 yea, its slow pretty often Jul 31 01:42:21 weird that code.google.com/p/android-random works fine Jul 31 01:42:25 but android-random.googlecode.com doesn't. Jul 31 01:43:01 i just added yo Jul 31 01:43:01 u Jul 31 01:43:19 appreciate it Jul 31 01:43:41 jasta: how do you manually attach it? Jul 31 01:44:13 i recall it being sort of obvious Jul 31 01:44:20 just switch to ddms, click the process, and there is like an attach button or something Jul 31 01:44:37 yeah, there's a debug button Jul 31 01:50:19 thanks Jul 31 02:52:26 good evening Jul 31 02:52:36 howdy Jul 31 02:54:40 how goes it Jul 31 02:55:56 not too bad yourself? Jul 31 02:56:21 good...just got back from a ride Jul 31 02:56:41 nice Jul 31 02:57:36 sitting around twiddling my thumbs waiting to hear about a job Jul 31 02:57:46 programming job? Jul 31 02:57:50 nah Jul 31 02:57:51 data center Jul 31 02:57:57 cool Jul 31 02:57:59 I'm not there yet. Baby steps :) Jul 31 02:58:02 hey i keep getting pestered about this guy who needs a J2ME dev :) Jul 31 02:58:16 why j2me ? Jul 31 02:59:28 I hope next time I remember to switch jobs before I'm this tired of the current one **** ENDING LOGGING AT Thu Jul 31 02:59:57 2008