**** BEGIN LOGGING AT Sun Apr 06 02:59:56 2008 Apr 06 03:41:55 clearly, for it to be fair, they must at least look at the first few paragraphs of the documentation :) Apr 06 03:42:48 whats crackin f00f-? Apr 06 03:43:39 trying to work hard on finishing up my app Apr 06 03:43:43 having some view problems now Apr 06 03:43:47 i think i need to learn about ViewInflate Apr 06 03:44:08 i will be so relieved after the 14th Apr 06 03:44:17 aye Apr 06 03:44:32 im just finishing up the documentation for my submission Apr 06 03:44:43 i'm making this wizard, with different layouts depending on which page you're on Apr 06 03:44:51 and it seems visibility=gone,invisible,visible Apr 06 03:44:54 totally mucks things up Apr 06 03:45:01 NPE madness ensues :) Apr 06 03:46:06 well, maybe it's not what i need to do Apr 06 03:46:09 this is what is happening Apr 06 03:46:41 in my layout file i have a RelativeLayout which contains 2 RadioGroups, both of which are set to 'invisible' in visibility Apr 06 03:47:02 only one is 'visible' at any time Apr 06 03:47:08 so setting the first one to visible works Apr 06 03:47:22 when i try to set the first one back to 'invisible' and set the 2nd one to 'visible' Apr 06 03:47:29 it claims it can't find the 2nd RadioGroup Apr 06 03:47:34 that is, it gives a NPE Apr 06 03:47:35 what gives? Apr 06 03:48:29 *shrug* Apr 06 03:48:38 i didn't even bother using android's UI stuff Apr 06 03:49:09 what does your app do? Apr 06 03:49:20 i'll post it up after i submit it Apr 06 03:49:44 which shuold be any time now Apr 06 03:57:56 is it possible to open a webkit view and then have access to the cookie that is generated via the browse session in my application? Apr 06 04:29:25 anyone want to proof this submission doc for me? Apr 06 05:08:47 jerkface03: sure Apr 06 05:22:26 does anyone know what I can use for writing/reading jpeg exif metadata? Apr 06 05:22:30 jtoy, check your pm Apr 06 05:22:43 raidfive: There is a good open source Java library for this Apr 06 05:23:13 hey romain Apr 06 05:23:14 im downloading it now Apr 06 05:23:32 romainguy, I've looked at a few ... which do you recommend? Apr 06 05:23:42 I don't remember the exact name unfortunately Apr 06 05:23:54 let me check Apr 06 05:24:03 I think it was this one http://www.drewnoakes.com/code/exif/ Apr 06 05:24:22 hmm, it looks like javax.imageio even has support Apr 06 05:24:26 you can also use the ImageIO library Apr 06 05:24:28 yes Apr 06 05:24:29 it does Apr 06 05:24:38 but it's not as nice to use Apr 06 05:24:53 and I don't think it shows the EXIF Apr 06 05:25:01 and IPTC... Apr 06 05:26:47 jtoy: how's it looking? Apr 06 05:26:49 I'd really prefer a solution that didn't rely on 3rd party code but that is going to require me to look into the jpeg exif specification :/ Apr 06 05:26:59 Im reading it now Apr 06 05:27:04 it's proabbly not difficult to read the exif Apr 06 05:28:09 yea I guess I'll look into it more Apr 06 05:30:42 jerkface03: that seems like a lot of work you got done Apr 06 05:31:09 jtoy: yep, problem is i have almost no sample code to show for it Apr 06 05:31:12 are you planning on porting some games yourself? Apr 06 05:31:23 jtoy: yep, thats the idea Apr 06 05:31:28 jtoy: but this was written for a class Apr 06 05:31:38 jerkface03: what is your project? Apr 06 05:32:04 romainguy: i'll submit it and post it up in a few mins Apr 06 05:32:09 jtoy: did you notice any glaring errors? Apr 06 05:32:11 jerkface03: cool Apr 06 05:32:31 no, its a fairly long document, i wonder if other people are submitting docs as long as yours Apr 06 05:32:55 aye. do you think the lead-in is descriptive enough? Apr 06 05:34:21 ahhh fuck it. i don't want to work on this anymore Apr 06 05:34:23 submitting Apr 06 05:34:31 2-3 pages tops Apr 06 05:34:45 yeah, it would probably help though if you showed some small snippets of your api code Apr 06 05:34:52 I wish they didn't extend the deadline Apr 06 05:35:03 i'm so glad they did :) Apr 06 05:35:08 wait what? Apr 06 05:35:11 dateline got extended? Apr 06 05:35:12 i would have never been ready if they hadn't, but i didn't realize :) Apr 06 05:35:12 to when? Apr 06 05:35:15 the judges wont look at code. many won't even know how to read code. Apr 06 05:35:36 jerkface03: ...to Apr 14th. Apr 06 05:35:41 haha Apr 06 05:35:43 from like Mar 34d. Apr 06 05:35:44 oh, haha Apr 06 05:35:44 3rd* Apr 06 05:35:52 i didn't realize that was the extended date Apr 06 05:35:53 can somone help me with a service problem real quick Apr 06 05:35:58 ya k submitting Apr 06 05:36:22 I cant et my service to run with the alarm manger Apr 06 05:36:31 if I run it manually like so, it runs: startService(new Intent(this,FileUploadService.class), null); Apr 06 05:37:01 you can't run a service with an alarm manager. you need an intermediate IntentReceiver to start the service. Apr 06 05:37:20 but if I run :Intent intent = new Intent(this, FileUploadService.class); long firstTime = SystemClock.elapsedRealtime(); firstTime += 15*1000; AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); Integer interval = 15*1000; am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,firstTime, interval, intent); /// it never runs Apr 06 05:37:36 like i said... Apr 06 05:37:41 oh... Apr 06 05:38:32 jasta is there some place that explains this topic clearly/ or example code!, I dont remember seeing that in the docs Apr 06 05:38:53 i'm sure it is somewhere, since i learned it somehow. Apr 06 05:39:14 quite probably in the apidemos Apr 06 05:39:28 yup, sure enough Apr 06 05:40:43 which one are you referring to? I thought I read all of them Apr 06 05:40:50 the alarm one, of course. Apr 06 05:41:31 ok, I'l reread that, I did reference it before, must have missed it somehow Apr 06 05:43:49 doh, I had been referencing the Alarm Controller one! Apr 06 06:25:19 how can I get a result from a service I call? is there some kind of lifecycle like activity has with onActivityResult ? Apr 06 06:36:41 hmm, guess now: If the service is started with Context.startService then it is a long-running background task whose lifecycle is not related to the lifecycle of the application that started it. Beside passing a start-up parameter bundle to this kind of service, Android platform does not provide any means of communicating with the service. Apr 06 06:36:45 that sucks Apr 06 06:43:11 jtoy: that's not even true Apr 06 06:43:31 Android provides a very robust mechanism for communicating with the service, through the OpenBinder. Apr 06 06:43:50 look at any of the .aidl files found in the ApiDemos. Apr 06 06:44:02 Specifically, RemoteService which defines the most complex example. Apr 06 06:44:22 right, you need Context.bindService for that though Apr 06 06:44:29 I can tell you confidently that Android provides a very robust model for communication between activities and services, as this is central to my ADC project. Apr 06 06:44:42 jtoy: Yes, but you can use startService and bindService together. Apr 06 06:44:54 oh, I didnt know that Apr 06 06:44:55 that separation makes perfect sense to me. Apr 06 06:45:06 yes, start it, check that it started, then bind to it with BIND_AUTO_CREATE Apr 06 06:45:23 then you may unbind from it and let it continue running Apr 06 06:45:38 remember though, if you don't want the service to run forever, you need to make sure it calls stopSelf() at some point. Apr 06 06:46:09 stopSelf() has a side-effect though. It will sever any bound activities that did not bind with BIND_AUTO_CREATE. Otherwise, it will wait until they unbind, then stop. Apr 06 06:46:31 While that is a side-effect, it happens to be ideal behaviour. Apr 06 06:47:04 nearly every activity in my project interacts with services in very elaborate ways, so i have explored this quite a bit. Apr 06 06:47:16 ok, I see, I hope i have enough time to learn all the aidl/OpenBinder stuff, I still have a million things to finish in my project :( Apr 06 06:47:36 Perhaps you waited too long to participate in the challenge. Apr 06 06:47:51 I am confident that most of the winning applications will have been started months ago. Apr 06 06:48:21 Why would Google be interested in paying out for projects that anybody could slap together in a short amount of time? Apr 06 06:48:45 jasta: I started in January, I'm just doing polishing touches Apr 06 06:49:13 and you're just now exploring services 1 week before the challenge? heeh, good luck. Apr 06 06:49:26 I don't explicitly need the binders, but i jsut want to return some status messages for some of the services I have running in the background Apr 06 06:49:38 that will require openbinder. Apr 06 06:50:28 jasta: plus, a lot of the work for my project is on the website side, which is mostly done also Apr 06 06:50:36 as an aside, if any Google folks are listening, you guys need to write up a general purpose reference on what OpenBinder is, how it is implemented in Android, and why ignoring it is a terrible idea ;) Apr 06 06:50:55 jtoy: what's the project? Apr 06 06:52:15 its an app that gives your communication statistics and help manages your communications with people Apr 06 06:52:36 what do you mean? can you give an example? Apr 06 06:52:46 its very useful for me! I think other people will find it useful Apr 06 06:54:05 also, how have you managed the latency problem of accessing the mobile web? most people won't want to use a productivity-based application that is noticably unresponsive. Apr 06 06:54:45 the current beta version has a bunch of different reports, so for example, I can lists of who i call most frequently, last time I called my friends, I have alarm system that notifies me if i havent called my cousin in more than 1 month for example Apr 06 06:55:04 you can use it without the web, but it much better if you use the web component Apr 06 06:55:16 interesting. how do you deal with privacy issues? Apr 06 06:56:18 currently like other web apps, everything is encrptyed, there is a level of trust that needs to be given to the site as the data is uploaded to the site (optionally) Apr 06 06:56:36 hmm, what reason would someone have to trust you, and your site? Apr 06 06:56:53 I was thinking of adding some kind of per user encryption so we couldnt see the data either, but i dont know if that is viable Apr 06 06:57:12 how could you have a web service report on the data without knowing what the data was? Apr 06 06:57:28 also, why is this even web-based? what does the web component offer that couldn't be integrated natively in Android? Apr 06 06:57:50 its up to the user ifthey trust us or not Apr 06 06:58:09 but thats the same issue with any site like facebook,gmail,etc Apr 06 06:58:14 but you're saying that if they don't, the apps functionality is significantly reduced? Apr 06 06:58:30 well, not reduced on the phone, but expanded on the site Apr 06 06:58:47 yes, but Facebook, Gmail, etc have corporate backing with well-defined privacy policies. They are legal targets should they violate their policies. Apr 06 06:58:50 so for example, data can be exported to csv via a click of a button from the site Apr 06 06:59:11 why wouldn't the phone be able to generate CSV? Apr 06 06:59:12 which wouldnt be useful to have on the phone Apr 06 06:59:30 you could, but what would you do with csv on your phone? Apr 06 06:59:35 why not? if you are already supposing that the user will have a data plan, why not suppose they also have e-mail on their phone? Apr 06 07:00:12 My point is, the privacy issue seems to be entirely avoidable, and I think your users would appreciate that. Apr 06 07:00:27 jasta: the gui on the web is also full screened, so you can do things faster on the web if you wish Apr 06 07:01:20 Hmm, well, I personally am intrigued by your idea, and think there is quite a lot of practical benefit in a sort of call pattern analysis tool. Apr 06 07:01:20 jasta: the way its built, the web part is optionally, but I would like to expand the web part, one reason is becuase I can write the code several times faster than in java Apr 06 07:01:28 But I would never submit my call pattern data to your web site. Ever. Apr 06 07:01:46 jasta: right, a lot of people wont, but some will Apr 06 07:02:31 One application I am curious about is if you could implement a generalized algorithm to detect changes in your call patterns and automatically optimize your phones contact list accordingly. Apr 06 07:02:53 i cant wait for it to be done, I am going to force all my friends to try it out, haha Apr 06 07:03:02 So for example you get a new girlfriend, the system could detect that you call a new number very frequently, and an old one hardly ever, automatically adjusting your favorites list. Apr 06 07:03:24 jasta: yeah, that is one part i have, it is very crude right now though, you can view your contacts via call minutes/call freq sorted order for example Apr 06 07:03:34 Though I suppose if I've learned anything it's that machines have no business predicting human behaviour. It mostly frustrates the humans :) Apr 06 07:04:22 anyway, i gotta get back to my project :) Apr 06 07:04:38 it's a music player of sorts and i haven't even finished my playlist management interface. Apr 06 07:04:48 that is, naturally, an important component :) Apr 06 07:04:48 me too, I'll keep you informed on the progress, i plan to make a company from this Apr 06 07:05:10 jtoy: That sounds like it would be very tough. Good luck anyway. Apr 06 07:05:12 you seem to have a lot left laos! Apr 06 07:05:16 also Apr 06 07:05:28 I wouldn't say a lot, at least not to satisfy my requirements for the challenge. Apr 06 07:05:28 you too, thanks! Apr 06 07:05:38 the biggest and most complicated pieces of my app are done, and have been for a while now. Apr 06 07:05:47 one problem with mine is that it is currently extremely ugly Apr 06 07:06:03 My app doesn't just play music, it actually synchronizes meta data passively and dynamically streams and caches content to your phone from your home machine. Apr 06 07:06:11 That part all works great :) Apr 06 07:06:44 Eliminating the need to physically connect your phone to your computer to update the music collection on the device. Apr 06 07:06:46 oh, you told me about this before, that seems hard with dynamic ips and such Apr 06 07:07:09 Actually, I'm hoping to utilize GTalk to facilitate communication between phone and server. Apr 06 07:07:23 though that is not a priority for this round. Apr 06 07:07:36 thats a huge data bill! Apr 06 07:08:17 It is clear to me at least that Android is targeting only markets with sensible data rate plans. So, no, it wouldn't be a huge data bill. Apr 06 07:08:42 Most of the US enjoys a reasonably fast (about 300kbps or more) cellular data network with unlimited usage for about $20/mo. Apr 06 07:09:01 I pay about 75 cents US for 100 mb per month right now Apr 06 07:09:03 With that speed only expanding in the coming years as a result of the 700MHz auction. Apr 06 07:09:49 true Apr 06 07:10:27 anyway, i really must work Apr 06 07:13:39 jtoy: My big concern, actually, is battery life for my app. Apr 06 07:14:04 yeah, I would like to test some real devices out Apr 06 07:14:12 I suspect downloading at 3G speeds simultaneously streaming high quality MP3 files will be a major drain fro the device. Apr 06 07:14:36 Though I hope to personally use it in my car a lot, which I will be able to plug in. Apr 06 07:15:45 have you written any code on the iphone? Apr 06 07:15:59 No, I have thus far ignored it. Apr 06 07:16:17 I do not have any time to explore the iPhone SDK. Also, I dislike their terms and conditions and platform restriction. Apr 06 07:18:28 I've written a bit, i like coding in objective c more so far, but i cant stand dealing with linking issues and all those other c errors that happen Apr 06 07:18:50 C's definitely nicer in some ways Apr 06 07:19:07 but I agree with jasta... being under apple's thumb is not where I want to be Apr 06 07:20:16 davidw: i hope eventually they become more open Apr 06 07:20:44 i definetly like android's platform design better, but the iphone so polished Apr 06 07:29:23 i wouldn't count google out just yet. they aren't even done. Apr 06 07:29:43 they have already hinted that even the redesigned UI in m5 is going to change again before launch. Apr 06 07:30:33 yeah, they aren't out yet, they didnt even launch! Apr 06 07:38:18 hola androiders Apr 06 07:42:50 hello Apr 06 07:43:11 good ole' jasta, I can always count on you being here Apr 06 07:43:14 :) Apr 06 07:43:41 I added some graphics to my app against the advice of this channel, and I think it makes my app look a lot better Apr 06 07:43:56 k? Apr 06 07:44:17 oh, just commenting Apr 06 07:44:27 why would it be against the advice of this channel? Apr 06 07:44:40 some people here said not to worry about it Apr 06 07:44:59 well, one of the judging criteria is "Polish and Appeal", so I would suggest worrying about it if you have time. Apr 06 07:45:06 since the default background will change with new sdk versions etc. Apr 06 07:45:17 yeah, that's what I figured Apr 06 07:45:27 I have been wrestling with changing the default drawables and theme a bit myself. Ultimately, I don't have the time, but I want to. Apr 06 07:45:28 a few extra points in that category couldn't hurt Apr 06 07:45:39 and my app doesn't look bad with it, I just suspect it could be made to look more appropriate. Apr 06 07:47:04 my app never uses the menue button Apr 06 07:47:18 someone on the google groups board says some devices won't even have a menue button Apr 06 07:47:33 I don't use the menu system at all either. I think it's kind of klunky right now. Apr 06 07:47:53 I'm willing to adjust my app as the SDK advances, though. I think that's essential. Apr 06 07:49:26 rhett: Honestly, I think a lot of the folks in this channel are very misguided as to the depth of the ADC. Apr 06 07:49:41 what do you mean? Apr 06 07:49:46 i read the rules Apr 06 07:49:53 you mean, people advising nto to worry about the looks? Apr 06 07:51:12 rhett: I mean about a lot of things regarding the scope of the challenge. Lots of folks here are producing very incomplete, unpolished applications that barely demonstrate a poorly thought out idea. Apr 06 07:51:23 That, I think, is not the direction Google was hoping to take with the ADC. Apr 06 07:52:46 My understanding is that they are attempting to capture more conventional software projects being developed for Android, complete with a thoughtfully designed UI, efficient and stable framework, etc. Apr 06 07:53:12 yeah, good point, I would hope mine stands out a bit from those, but since only 3 judges will review my app, that creates quite a bit of uncertainty Apr 06 07:53:30 And that the challenge is broken up into two rounds is merely a way for them to weed out the crap and focus their judging on a smaller set of appropriate projects. Apr 06 07:53:50 someone uncharitable might point out that, well android is well thought out, it could also be described as incomplete and unpolished;-) Apr 06 07:53:58 well/while Apr 06 07:54:35 davidw: I can't imagine that the point is relevant to the OHA, though. Apr 06 07:54:36 One really anoying part of my app is that I didn't figure out how to get the datepicker widget to focus if you touch it Apr 06 07:54:43 your point* Apr 06 07:54:52 rhett: focus doesn't exist in touch mode Apr 06 07:54:56 this requestFocus() function seems to be flakey, or maybe I dont' get it Apr 06 07:55:12 if you touch something on the screen, focus and selection disappear Apr 06 07:55:39 rhett: As Romain said, "just create an app that rocks." Not a proof-of-concept ;) Apr 06 07:55:43 my spinner widgets focus if you touch them, don't they? Apr 06 07:55:50 rhett: they should not Apr 06 07:55:51 jasta, well, I don't think producing a polished and good looking app is going to hurt, for certain! Apr 06 07:55:55 they react to press, but they don't focus Apr 06 07:56:11 hmm, i must not understand focus Apr 06 07:56:14 davidw: I think that since it is even part of the official challenge rules, it matters quite a lot. Apr 06 07:56:24 rhett: a focused view is the view that gets the key events Apr 06 07:56:26 i just want the datepicker to be active when it is touched Apr 06 07:56:44 right, I want the datepicker to take key events after it is touched Apr 06 07:56:53 rhett: you mean to react to touch events? Apr 06 07:56:54 we just didn't have time to make date picker fully support touch mode Apr 06 07:56:58 ah no Apr 06 07:57:01 that won't happen Apr 06 07:57:09 as I said, in touch mode, nothing is supposed to have focus Apr 06 07:57:27 you *can* force the opposite behavior with setFocusableInTouchMode Apr 06 07:57:31 but I strongly advise against it Apr 06 07:58:11 romainguy, I don't want it to select a date that you touch, but I want it to take dpad key events after it is touched Apr 06 07:58:40 couldn't I hack up some rule, like if a certain spot on the screen is touched, set the datepicker to be focused? Apr 06 07:59:24 i wonder if the judging will occur in the emulator or on a real device Apr 06 07:59:31 I just told you, you can use setFocusableInTouchMode Apr 06 07:59:38 but that's against the whole design of the UI toolkit Apr 06 07:59:48 and doing so would just make your app behave differently than any other app Apr 06 08:00:06 good UI design is pretty simple: keep things simple, stick with the default behaviors Apr 06 08:00:07 :) Apr 06 08:02:04 I tried setFocusableInTouchMode, but it gave me some wierd behavior where the dpad didn't work any more Apr 06 08:02:34 because focus doesn't exist in touch mode :) Apr 06 08:02:48 setFocusableInTouchMode is meant for widgets like EditText Apr 06 08:03:05 you want this widget to receive key events (to type a login for instance) even when in touch mode Apr 06 08:05:45 I needed a calendar that was scrollable, with dates color coded on them, so I extended the DatePicker to set color coded dates in a hash, and mark dates onDraw. Also, I keep track of when the cursor is moved to update views in an activity that is passed to it Apr 06 08:05:58 I could have made my own calendar, but mostly the DatePicker had what I wanted Apr 06 08:06:20 it sounds like maybe I should have just made my own calendar for this purpose so people don't get confused Apr 06 08:07:42 is there some way I could say if the actvity catches a touch screen event with a certain x,y value, to force the datepicker to be active? Apr 06 08:08:17 rhett: again, don't do this Apr 06 08:08:26 the framework enforces the non-existence of focus in touch mode Apr 06 08:08:40 if you try to force it to behave differently, you can expect weird things to happen Apr 06 08:09:09 so, what should I do if I want a calendar widget that you can touch? Apr 06 08:09:16 and has a cursor, etc.? Apr 06 08:09:44 any widget you want Apr 06 08:09:50 just know that focus does not exist in touch mode Apr 06 08:09:55 that does not mean you cannot react to touch events Apr 06 08:10:09 just that after a widget is touched, it does not receive key events Apr 06 08:11:33 the interface that makes sense of for may app is that a user touches a box with a calendar in it, and then she can scroll around the dates with the dpad. I don't understand how you're suggesting I accomplish that Apr 06 08:11:57 all I understand is that you're telling me not to make that interface Apr 06 08:12:29 yes, that is correct :) Apr 06 08:12:49 when the user presses a key after having touched the screen, the focus is resurrected Apr 06 08:13:07 what? Apr 06 08:13:30 oh focus is not enabled until a user touches the screen and then touches a key Apr 06 08:13:45 focus is enabled as soon as the user presses a key Apr 06 08:13:51 and disappears when the user touches the screen Apr 06 08:13:55 so, i could fake a keypress, but you're telling me not to Apr 06 08:14:01 exactly Apr 06 08:14:11 but, it's how everyone wants to use my app Apr 06 08:14:25 if the user touches the screen, then you should let them scroll with a gesture Apr 06 08:14:33 instead of forcing the user to use the keys Apr 06 08:14:43 rhett: and how would that work on a device with no keys? Apr 06 08:15:09 how can they scroll to the datepicker? Apr 06 08:15:10 romainguy: What romain is saying is that once in touch mode, your entire interface should be possible through touch only. Apr 06 08:15:15 i thought all devices would have dpad keys Apr 06 08:15:15 it's pretty simple really, if the user touches the screen, assume the device does not have keys anymore Apr 06 08:15:20 rhett: not necessarily Apr 06 08:15:39 Android supports keys and touch screens and any combination of the two Apr 06 08:16:17 ahh, let me check the datepicker demo, and see you can select a new date without using keys Apr 06 08:17:16 ok, there is no way for me to use it without using the keypad Apr 06 08:17:36 all that tells you is that you should not be using the datepicker :) Apr 06 08:17:48 because, as I said, we didn't have time to finish adding support for touch in date picker :) Apr 06 08:18:19 you can use date picker, we'll fix it in a later version of the SDK Apr 06 08:18:33 oh ok, well that would be dandy for me Apr 06 08:18:52 it's just that when the judges see it, it would be nice if touched seemed to work for it now Apr 06 08:18:55 romainguy_: is it possible to get rid of the Set button in the time picker? Apr 06 08:19:05 f00f-: let me check Apr 06 08:19:29 rhett: I agree, but I'm sure the judges will be aware that our platform has its own bugs, quirks and limitations :) Apr 06 08:20:47 i don't understand the notification tray thing. Apr 06 08:21:04 f00f-: picker.findViewById(android.R.id.setButton).setVisibility(View.GONE) Apr 06 08:21:05 i really just dont get it. i feel like when i touch the icon, i should be brought to the intent it launches. Apr 06 08:21:32 instead of having to click and drag it all the way down Apr 06 08:21:35 does anyone know how I get my app to schedule an SMS to be sent next friday, even if a user doesn't go back to my app by then? Apr 06 08:21:43 jasta: that feature was developed late in M5 cycle (*very* late) Apr 06 08:21:54 it has been vastly improved in the next SDK Apr 06 08:21:58 thank god Apr 06 08:22:26 i'm using it now as somewhat central to my design, but it sucks so it feels weird doing that Apr 06 08:22:30 i had imagined it would be improved though Apr 06 08:22:50 now the icons are stuck to the bottom of the drawer Apr 06 08:23:02 but when the first icon shows up, it sticks to the status bar Apr 06 08:23:15 hahaha. thanks romainguy_ i'll check it out :) Apr 06 08:23:43 jasta: also note that it's a lot better on an actual device since you can fling the drawer down Apr 06 08:24:51 romainguy_: i hope i'm using it correctly. right now, i have it so that when the user selects a track or album to play, it informs them if it's been enqueued or is actively buffering/playing right there from the selection interface Apr 06 08:25:07 but also throws up a notification indicating that the playlist is now active, and music is either playing now, or will be playing soon Apr 06 08:25:22 and the user can select the notification icon to be brought ot the playlist management screen, showing more info about the current song, offering pause, back, forward, etc. Apr 06 08:25:35 to me this notifications drawer is meant for calendar events, mails, sms, alarms, etc. Apr 06 08:25:46 if you feel like it's a good idea, sure... Apr 06 08:25:51 also, they are brought there if they tap the song or album twice Apr 06 08:26:08 but as far as I am concerned, I'd annoyed to get a new notifications every time I play another song Apr 06 08:26:13 romainguy_: Well, it seemed appropriate to indicate that music is playing Apr 06 08:26:16 hopefully, intents can see the phone number that is calling when an incoming call occurs in the next sdk Apr 06 08:26:30 jasta: maybe if your player supports music downloads you could notify when a download has completed :P Apr 06 08:26:32 jasta: I could see that as a status bar icon Apr 06 08:26:43 but not really as a notification Apr 06 08:26:50 romainguy_: Right, but I thought they were one in the same? Apr 06 08:26:51 rah fuck you IntelliJ Apr 06 08:27:17 jasta: can't you put an icon in the status bar without having a notification in the drawer? Apr 06 08:27:19 Really what I want is just a status bar icon that if you touch it, you are brought to the player screen. Is there are a better way to do that? Apr 06 08:27:22 I haven't looked at this part in a long time Apr 06 08:27:28 romainguy_: Not as far as I know? Apr 06 08:27:29 I have no idea :( Apr 06 08:27:41 None of the demos seem to have that. Apr 06 08:29:32 yeah, it looks like they go together Apr 06 08:29:51 Is there some possibility that will change? I think it makes a lot of sense to separate them. Apr 06 08:31:31 romainguy, got any advice on the right widget to use for a countdown timer? Apr 06 08:33:00 TextSwitcher? Apr 06 08:35:23 cool! thanks Apr 06 08:57:01 hmm, i can't seem to get ProgressDialog to show a percentage, it's just spinning around. Apr 06 08:57:24 yeah, that's a bug Apr 06 08:57:43 so no workaround? Apr 06 08:57:55 there's an easy one Apr 06 08:57:59 i like the choice of 1 to 10000 as the progress values :P Apr 06 08:57:59 create your own progress dialog :) Apr 06 08:58:02 it's pretty simple Apr 06 09:01:02 * romainguy_ hates running into VM bugs Apr 06 09:17:47 such as? Apr 06 09:19:06 is intent delivery guaranteed? Apr 06 09:19:44 i am calling broadcastIntent() from a Thread in a Service targeted at an Activity... is this considered good? Apr 06 11:22:04 hey, does someone have an workling example for a contextmenu? Apr 06 11:22:08 getListView().setOnPopulateContextMenuListener(new OnPopulateContextMenuListener() { Apr 06 11:22:11 public void onPopulateContextMenu(ContextMenu pContextMenu, View pView, Object pMenuInfo) { Apr 06 11:22:14 pContextMenu.add(0, 0, "test"); Apr 06 11:22:17 } Apr 06 11:22:19 }); Apr 06 11:22:35 i have no clue whats wrong with this Apr 06 11:44:17 how does the from array get called on the List data in public SimpleAdapter(Context context, List data, int resource, String[] from, int[] to) ? isnt that some kind of metaprogramming? Apr 06 11:44:55 i have a bunch of objects that have an instance variable named foo, but the simpleAdapter can't call it for some reason Apr 06 11:55:06 anyone know? Apr 06 12:00:30 I see the answer, simpleadapter must use a hashmap for the data list Apr 06 12:16:42 I'm struggling with the decision to change the buttons or not. Apr 06 12:17:30 Do I replace them with something nicer or do I keep them for (the hope of increased) accessibility Apr 06 12:18:26 Because I can bet I haven't done nearly as much usability testing as google will have with their buttons Apr 06 12:18:35 SO maybe I should just leave them? Apr 06 13:09:18 to compare objects do you really need to implement a comparator class? Apr 06 13:13:29 well depends what you want to do Apr 06 13:14:05 for String.compareTo will return different values depending on both string while the equal is boolean (true or not) Apr 06 13:14:37 do you want to get further information about the comparison or not... if it is just same object then no Apr 06 13:18:20 the objects are the same, but I will be doing different comparisons based on what is clicked in the ui Apr 06 13:18:33 sometimes it compares strings, but mostly its comparing integers Apr 06 13:20:17 well I would suggest to implement comparable then Apr 06 13:20:26 not very complicated and easire to maintain Apr 06 13:22:28 acsia: from reading around, it seems comparable is only for 1 kind of sort, meaning you cant do different sorts on the same set of objects, is that correct? Apr 06 13:24:47 the main usage for comparable is for collections... if you have specific idea of what you want to compare, the easiest IMO would be something like public Class A { ... public int compareTo(Class A); ... } Apr 06 13:25:09 and return an int that can help you to know what the difference are Apr 06 13:25:47 it will really depend on the usage Apr 06 14:41:54 By the way, I know no one answered earlier when I was asking about the buttons, but just for others in future, it is possible to specify your own resizable buttons in android by making and specifuying "9 patch stretchable images" these are png images with black pixel lines that specify the stretchable areas. Apr 06 14:45:18 * davidw would be kind of irritated if every app on my phone had different buttons Apr 06 14:46:41 yeah that is the trade off. Apr 06 14:47:16 I'm leaning towards leaving it for just now Apr 06 15:12:19 Anyone any ideas how I programmatically set the gravity of an image? Apr 06 15:15:13 is there a setGravity? Apr 06 15:15:29 I've tried just passing in the Gravity.Right in my Layout params but that doesn't seem to take affect Apr 06 15:15:45 most of the attrs are in R.styelable Apr 06 15:16:00 look in android.R Apr 06 15:17:09 if you are not getting the desired effect then the particular view might not making use of gravity Apr 06 15:17:44 Its a list view, i presumed that all views had a gravity and that you could override it. Apr 06 17:02:56 hey jasta, have you had any problems with nested views in the tabactivity? Apr 06 17:03:44 i'm having an issue where only the first nested view gets displayed, even though i am programatically adding more than one. and also data on that first view doesn't get refreshed and redisplayed like it was doing before i put it in a tabactivity Apr 06 17:05:55 I just noticed that the emulator locks my sound device if it crashes... Apr 06 17:09:16 acsia, yeah, there's some weirdness there Apr 06 17:52:29 acsia: the emulators sound support doesn't play nicely with Linux, at least. Apr 06 17:52:40 it should support ALSA, but seems not to. Apr 06 17:52:47 i wonder if alsaoss will work Apr 06 18:27:52 can the priority of an app be set on the system to prevent it from being killed? Apr 06 18:28:30 not as such, but you can create a service which never dies and bind to it to arbitrarily keep your activity alive. Apr 06 18:31:29 can a service be started on its own or does it have to be by an activity? Apr 06 18:31:59 it can be started by an intentreceiver. under such an arrangement, it could be started without the users intervention. Apr 06 18:39:38 Hmm, why isn't List supported in AIDL? Apr 06 18:39:51 List passes the aidl compiler, but then generates invalid code of course. Apr 06 18:39:56 List says that Long is not a valid type. Apr 06 19:04:20 what's an easy way to center a view horizontally? Apr 06 19:04:54 i guess i need a LinearLayout just to do this Apr 06 19:09:07 f00f-: LinearLayout is the easiest thing yes Apr 06 19:10:03 jasta thanks Apr 06 19:10:40 jasta: Have you tried with a List instead? (with no generic type) Apr 06 19:26:09 is it possible to return an Uri with several ids? Apr 06 19:26:24 like content://.../[1,2,5,6] Apr 06 19:26:30 something along those lines? Apr 06 19:41:49 romainguy: yes, and that works, i'm just curious why it would not be supported this way. List works. Apr 06 19:42:00 the documentation specifically states taht generics are supported. Apr 06 20:13:07 anyone have experience playing with DrivingDirection ? Apr 06 20:28:35 romainguy: what is the correct way to cause a list view to repopulate? requestLayout or invalidate? Apr 06 20:36:06 actually maybe i'll tackle this a differently Apr 06 20:48:04 jasta: requestLayout Apr 06 20:48:06 invalidate just repaints Apr 06 20:48:22 you can force a full list reset with invalidateViews() Apr 06 20:48:24 (bad name) Apr 06 20:48:52 i'm thinking it might be better for me to just dynamically adjust the view for the rows i know i will be manipulating. Apr 06 20:49:19 and not go through the list adapter or anything Apr 06 20:50:36 sure but the next layout might screw up your adjustments Apr 06 20:51:06 true, perhaps i will have to implement this both in the adapter and using the views directly Apr 06 20:51:52 it won't be much more costly to go through the adapter Apr 06 20:57:19 how'd you guys implement that cool background progress bar in the title bar (as seen in the browser app)? Apr 06 20:57:32 is that just a framelayout or something? Apr 06 20:59:29 nm, i forgot i reverse engineered this stuff. it's a relativelayout with two views aligned to parent left so they overlap each other Apr 06 21:17:14 i want to do vodeo streaming and audio streaming for video i used VideoView and works like magic now i want something for mp3 streaming is there something lile videoview but for audio ? Apr 06 21:20:21 mp3 streaming appears to be entirely broken in M5. Apr 06 21:20:40 the class you'd use would be MediaPlayer, but it has numerous unavoidable problems. Apr 06 21:21:14 i stumbled across one very clumsy work-around that will definitely need to be replaced when the next SDK is released. Apr 06 21:21:21 so if you're not trying to do this for the challenge, then I suggest waiting. Apr 06 21:22:26 ok Apr 06 21:22:32 i have to use it for some project Apr 06 21:22:38 ok ill use this way than Apr 06 21:22:39 http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/ Apr 06 21:22:41 it works Apr 06 21:22:51 homebrewed streaming Apr 06 21:23:13 it really doesn't. if you analyze the way that the code demonstrated there works you will realize it has numerous disasterous possibilities. Apr 06 21:23:37 yes ur right Apr 06 21:23:44 it assumes a lot of things Apr 06 21:24:00 but its enough for demonstration Apr 06 21:24:37 i ultimately concluded that it would be better to leave my project broken and submit to the ADC judges that MediaPlayer is the cause, not my code. Apr 06 21:32:12 people, I'm at my wits end. Could someone spell out to me the steps I need to take in order to pass extras to an activity? Apr 06 21:32:36 I'm passing the intent and starting the activity Apr 06 21:32:58 but when I do a getIntent().getExtras() it always seems to be null Apr 06 21:33:18 It seems to work fine in the notepad example, I'm not sure what I am missing Apr 06 21:38:21 i = new Intent(self, nMap.class); Apr 06 21:38:21 i.putExtra("foo", "bar"); Apr 06 21:38:21 startSubActivity(i, 0); Apr 06 21:39:39 retreive with: Apr 06 21:39:41 category = (String) i.getExtra("category", ""); Apr 06 21:39:44 thats what I am doing. The only difference being that instead of self I'm passing a reference to an activity Apr 06 21:40:30 i don't use the conglomerate getExtras() though Apr 06 21:40:35 so i dont know  Apr 06 21:41:06 hmm I'm also calling it like activity.startSubActivity(Activity, ACTION); Apr 06 21:41:26 well, i use 'self' in place of 'this' since it's being called out of context Apr 06 21:41:34 but should work similarly for you Apr 06 21:41:56 private MyACtivity self = this; Apr 06 21:41:57 etc. Apr 06 21:42:21 or you can do Apr 06 21:42:27 MyActivity.this i think Apr 06 21:42:29 i dont remember if it works Apr 06 21:42:33 probably the same thing :) Apr 06 21:44:55 yes, MyActivity.this will work Apr 06 21:49:55 jasta: how'd you guys implement that cool background progress bar in the title bar (as seen in the browser app)? << it's just a window feature Apr 06 21:50:01 you just need to request it in your activity Apr 06 21:50:18 i meant how was it implemented, i am gonna use the idea elsewhere in my app Apr 06 21:50:24 but i already figured it out from screen_progress.xml :) Apr 06 21:50:34 it's just a progressbar Apr 06 21:50:47 i meant the layout. Apr 06 21:51:01 but again, already figured out its a relativelayout with two views aligned with parent left Apr 06 21:51:09 i found an interesting thing about using a TabActivity... if you're defining your own activities on each tab (like in jasta's tutorial), all activities must use the same ContentView. Apr 06 21:51:14 i keep forgetting that relativelayouts permit overlapping Apr 06 21:51:34 If you don't, every tab other than the first tab will only display the first View, and will not repaint properly Apr 06 21:51:39 tmcneal: that isn't true, nor is it even how my sample works. Apr 06 21:52:11 sure it is, when you click on each tab, it launches it's own activity Apr 06 21:52:23 Yes, and each activity uses setContentView with a different layout XML file. Apr 06 21:52:43 that's also how my real app works, which borrows from my sample. Apr 06 21:53:10 yes in your tutorial it does, but it looks like when i try using different layout XML files for each tab "view" only the first one works Apr 06 21:53:42 then your layouts are incorrect, because i did precisely that in the sample, and i also use that in my much larger app. Apr 06 21:54:04 my first thought is: are you sure you are using a FrameLayout for tabcontent? Apr 06 21:54:12 i don't think they're incorrect, but i am adding the views programmatically so maybe that's what's causing it Apr 06 21:54:45 unlikely Apr 06 21:54:47 yeah i am. i solved the problem by using the same layout xml for each tabview, which is fine for my implementation Apr 06 21:55:42 ViewInflate.inflate() also adds views programmatically, so again, no. Apr 06 21:56:45 I suspect you are going to encounter other unusual bugs unless you examine how your usage differs from mine. Apr 06 21:57:15 i don't anticipate i'll have anymore problems, but who's to say... Apr 06 21:58:50 although.. one thing i did notice is that when I set up menu options on the TabActivity, they display but never call onMenuItemSelected(), so I have to set the menu options in the Activities for each Tab.. have you noticed this? Apr 06 21:59:10 no, i actually don't use menus in my application. Apr 06 21:59:50 romain would you happen to know if that's intended functionality for TabActivities? Apr 06 22:01:32 what is the purpose of the Handler while instantiating an ContentObserver? Apr 06 22:01:45 is there any way to gather further info within the onChange? Apr 06 22:02:06 presumably because the content observer is running in another thread Apr 06 22:03:02 acsia: I doubt it. Apr 06 22:03:54 arf, well I have a modified column so currently I am querying the last modified row Apr 06 22:04:17 but I will need to query quite a lot of tables for just one value... Apr 06 22:04:44 is there anything I could hook into by any chance?... Apr 06 22:05:11 not sure what it is you're trying to accomplish. Apr 06 22:08:40 well I have several applications that have their own Uri and 1 other that observes all Uris Apr 06 22:08:53 now I am not sure which one is being observed within the onChange Apr 06 22:09:31 i remember this conversation vaguely. is it that you have some unusual fear of extending classes? :) Apr 06 22:09:46 the registerContentObserver takes an Uri which I can not access within the onChange... Apr 06 22:09:52 haha Apr 06 22:10:12 ? Apr 06 22:11:52 well I might see it the wrong way but I would assume that you could gather the Uri for which you register the observer Apr 06 22:12:09 but clearly, you cannot. Apr 06 22:12:10 and you are probably right regarding extending Apr 06 22:12:53 the content observer was not designed with your usage in mind. but you can easily extend it. Apr 06 22:12:56 I am working actually on a similar problem to what I tryed last time but with a content observer this time Apr 06 22:13:57 I ll give it a try Apr 06 22:14:24 i must admit that i don't fully understand your intention. Apr 06 22:15:39 well I am currently working on a pluggable framework Apr 06 22:15:52 a super simplified version of OSGI Apr 06 22:16:20 so i have plugins and each time a new plugin is installed, I observe its Uri Apr 06 22:16:37 I want to be the less intrusif as possible within the plugins Apr 06 22:17:56 I must admit that before android, I had not touch java for 2 years Apr 06 22:18:14 been playing with ruby and erlang... you loose a bit your way of thinking Apr 06 22:18:25 i don't agree Apr 06 22:18:44 but regardless, i can't help you without further exploring your problem and i am too busy with my own problems :) Apr 06 22:20:10 understandable... I think we ll have a restless week ahead Apr 06 22:20:39 are you submitting your project for the ADC? Apr 06 22:21:33 yes, but it will be a very early look Apr 06 22:21:41 more of a POC Apr 06 22:22:26 according to the challenge rules, it seems unlikely that any library or framework is able to win. Apr 06 22:22:49 2 of the categories of judging relate directly to the UI. Apr 06 22:23:33 aaa that s not good... should have red the rules in more details :) but I am not giving up Apr 06 22:24:03 the 4 criteria for judging are: originality of concept, effective use of the android platform, polish and appeal, and indispensibility. Apr 06 22:24:18 your app would really only satisfy "effective use of the android platform". Apr 06 22:24:20 I think the UI should not be that important Apr 06 22:24:34 not really, indispensibility as well Apr 06 22:24:41 acsia: Yes, but what you think is not consistent with the challenge rules. Apr 06 22:25:52 The UI is directly applied to two of the four: polish and appeal, and indispensibility. Apr 06 22:25:56 you really should read the rules :) Apr 06 22:26:16 and your app certainly doesn't sound original, since you related it to me as a subset of another more robust system. Apr 06 22:26:22 (which also was ported to Android) Apr 06 22:27:00 that is discussable... UI IMO should not matter that much at first.. I would only read polish and appeal for UI... Apr 06 22:27:14 I don t want to have a different UI for every application that I installed Apr 06 22:27:33 well, if it "doesn't matter that much", then why it is even 1 of the 4? That's still 25% of your grade, which I'd say is significant. Apr 06 22:27:56 I guess so Apr 06 22:28:05 acsia: Every application must have a user interface or it is not usable by users. Obviously. Apr 06 22:28:16 So what do you mean by a "different" UI for every app? Apr 06 22:29:09 well I have been dll a couple of app from helloandroid and each app has its own UI designed with different icons and buttons etc Apr 06 22:30:00 So too does every app that Google has published for Android. Apr 06 22:30:13 true Apr 06 22:30:35 Regardless, I would strongly advise you go back and read the challenge rules. Hopefully it will give you some insight into a specific area you should be focusing on leading up to the deadline. Apr 06 22:30:49 Personally, I am working on the "polish and appeal" criteria from now until then :) Apr 06 22:32:22 yes well I am not sure I have time for that now... :( Apr 06 22:32:31 I keep the spirit up thought Apr 06 22:33:42 and the criteria discuss a lot about developer tool which my app could be classified in as well Apr 06 22:33:59 in what way? Apr 06 22:35:20 OMG. Apr 06 22:35:26 Tell me you all know this feeling Apr 06 22:35:31 what? Apr 06 22:35:37 That feeling of dread Apr 06 22:35:46 Yeah, been there. Why? :) Apr 06 22:35:52 where your heart drops right down into the pit of your stomach Apr 06 22:36:13 your skin turns cold and you feel very sick Apr 06 22:36:23 Did your girlfriend dump you? :) Apr 06 22:36:30 well jasta just achieved that upon me ;) Apr 06 22:37:07 That moment where you realize that the problem you have been struggling over for hours is because you have been calling the wrong method. Apr 06 22:37:30 acsia: I didn't mean to, it's just that the challenge rules are not terribly ambiguous. A lot of folks have been making ridiculous claims as of late regarding the 4 simple criteria simply because they haven't read them. Apr 06 22:37:50 chomchom: at least it's fixed :) Apr 06 22:37:53 In fact, the general consesus in this channel seems to be that "UI doesn't matter", when, in fact, polish and appeal is one of the four criteria. Apr 06 22:37:57 I HATE how down right stupid I feel right at this minute. Damn Damn Damn Apr 06 22:38:15 well just use the built-in UI widgets, no need for anything fancy Apr 06 22:38:17 jasta: I am just joking, I am still very confident with my project. Apr 06 22:38:28 and a couple of icons from the tango desktop project, and boom, you got something sexy Apr 06 22:38:29 chomchom: That's nothing. Try following a design for weeks only to realize that it will never, ever work :) Apr 06 22:39:03 f00f-: I suspect that "easy to use" is harder to accomplish than slapping some icons on your app :) Apr 06 22:39:24 yeah, that's the other part :) Apr 06 22:39:36 UI is very tricky, *especially* on such a small form factor. Ignoring it is an easy way to get your application a low score. Apr 06 22:40:00 Trust me, I've built a lot of terrible UIs in my day :) Apr 06 22:40:50 hehe Apr 06 22:41:33 what do you think about AndNav's UI, http://www.anddev.org/andnav/ ? Apr 06 22:41:54 i thought plusminus wrote this? Apr 06 22:41:59 yes he did Apr 06 22:42:13 well, i like the skateboarding android. Apr 06 22:42:15 ;) Apr 06 22:43:10 i like http://sadko.mobi/droidstor/screen.html also Apr 06 22:43:20 nice large buttons for touchscreen Apr 06 22:43:22 i can't really speak to his UI though, since it is so dependant on real driving conditions. Apr 06 22:43:58 well actually i find that UI a bit cramped. Apr 06 22:44:05 there needs to be more padding, and less information. Apr 06 22:44:43 yes, it's a very busy UI Apr 06 22:45:03 designing good UIs is pretty easy Apr 06 22:45:08 keep it simple, stick to the default Apr 06 22:45:08 on a mobile device, less is more. Apr 06 22:45:15 jasta: even on a desktop Apr 06 22:45:28 romainguy: Yes but on an entirely different scale :) Apr 06 22:45:51 jasta: it's harder, but if desktop apps were more often designed like cell phone's, it'd be awesome Apr 06 22:46:03 consistency is also extremely important, again especially on a mobile device. the app should be predictable and should need little exploration. Apr 06 22:46:07 would you say http://io.karibra.com/img/2008/04/06/2008-03-28-115755_335x497_scrotKDDK.png is too simple? Apr 06 22:46:42 well, again i would put more padding there, but i assume there is more to the interface than that? Apr 06 22:46:42 f00f-: that s a nice and simple IMO Apr 06 22:47:25 yes, certainly is :) Apr 06 22:47:39 I can't reach the image Apr 06 22:48:34 hmm Apr 06 22:48:35 well back to under siege (yes the one with steven seagal) for 15 minutes (my break for the night) Apr 06 22:48:55 :) Apr 06 22:49:00 romainguy: how about http://img222.imageshack.us/img222/7411/20080328115755335x497sclt9.png ? Apr 06 22:49:44 the other site is dual ipv4-ipv6 so might have issues Apr 06 22:50:59 f00f-: that's the kind of UI I would expect on a phone Apr 06 22:51:03 except with more white space Apr 06 22:51:06 and bigger items Apr 06 22:51:07 http://picasaweb.google.com/jasta00/Test/photo#5186268422489938898 Apr 06 22:51:10 i like it Apr 06 22:51:12 that's part of my ADC submission Apr 06 22:51:23 never hesitate to use a lot of whitespace when you design a UI Apr 06 22:51:27 not sure the distince does something for me, but i like the rest of it Apr 06 22:51:29 be it on a mobile device or on a desktop Apr 06 22:51:38 hmm, ok my other screens have more of it. thx for the tip Apr 06 22:51:54 nice jasta! does it scroll really smoothly? Apr 06 22:52:00 Yes Apr 06 22:52:25 is there a GUI for 'now playing' ? Apr 06 22:52:31 that little icon in the upper left is part of my app too Apr 06 22:52:41 a service :) Apr 06 22:52:47 f00f-: Yes, although I don't want to show it yet. I'm working on that now. Apr 06 22:53:04 I'm polishing a lot of this stuff, although the UI I am "borrowing" is here: Apr 06 22:53:15 http://www.treocentral.com/images/admin_uploaded/1171394847.gif -- but please, take that with a grain of salt. Apr 06 22:53:30 I just like the basic approach of song/artist/album at the top, with progress info below it Apr 06 22:53:50 i am replacing their cluttered playlist screen with just a simple preview of what songs are coming up next in the playlist, with buttons to open up more advanced playlist management Apr 06 22:53:54 cool. although this one seems a bit busy Apr 06 22:54:12 f00f-: yeah like i said, take that with a grain of salt. i am only inspired by the *basic* layout :) Apr 06 22:55:02 the favorites tab in the screenshot i just posted is also being worked on. i plan to show more of like a grid view of your favorite albums (based on last.fm listening statistics) Apr 06 22:56:23 the track listing screen will be done today too. i have some cool flare to toss in there when songs are being buffered and stuff :) Apr 06 22:56:43 since my music player is OTA, it is very tricky to let the user know what's going on if their music isn't readily available Apr 06 22:57:02 though in my tests, a typical first-time listen buffer time is usually only about 4 seconds. Apr 06 22:57:21 so you're using the last.fm API? Apr 06 22:57:36 yeah, their web services. my player also scrobbles. Apr 06 22:57:42 sweet Apr 06 22:58:01 so that it not only takes last.fm data, it also contributes it right back. Apr 06 22:59:57 last.fm, though, is mostly used to provide playlist options. Apr 06 23:00:32 like, from my playlist manager, you can set your playlist to the last 50 tracks you scrobbled, the top 50 tracks of all time, last 3 months, 6 months, etc. Apr 06 23:00:55 you can also filter the artist and album screens by music acquired in the last 3, 6, and 12 months. Apr 06 23:01:45 this approach is closely aligned to how i like to listen to my music. i frequently bounce back and forth between my all-time favorites and my new favorites :) Apr 06 23:01:48 can you listen to last.fm radio stations? Apr 06 23:02:12 I intend to support last.fm tag and neighbor radio, though given the streaming brokenness, i am not going to include that in the ADC submission. Apr 06 23:02:20 ok Apr 06 23:02:23 i'll put the UI in there, but i'll just note that it doesn't work yet Apr 06 23:03:08 my app is going to make wireless carriers cry :) Apr 06 23:03:19 i will easily be able to push my data usage to gigs per month with this :) Apr 06 23:03:35 why? they love data overages :P Apr 06 23:03:47 really getting all you can with the unlimited data huh Apr 06 23:03:49 i think most people in the US either don't use data, or hav eunlimited plans. Apr 06 23:04:05 its stupid not to get unlimited data Apr 06 23:04:19 that way you don't have to worry about overages Apr 06 23:04:31 i have unlimited with AT&T but if you read the fine print, it says 2 GB per month Apr 06 23:04:54 oh really? Apr 06 23:04:55 i have unlimited with AT&T as well, but have never pushed my usage beyond 2GB i don't think. Apr 06 23:05:09 that is not unlimited then Apr 06 23:05:19 though actually i don't think my app will likely use more than that. Apr 06 23:05:34 that should be against the law Apr 06 23:05:38 it caches, of course, and most albums are like 60MB to download. Apr 06 23:10:35 the download engine i wrote is pre-emptive though, so it will download your entire playlist even if you interrupt it. Apr 06 23:11:32 i should probably make it bounded though, so it won't download more than 2 songs ahead of time or something Apr 06 23:12:00 interesting, so it's a bandwidth hog Apr 06 23:13:03 yeah, ideally maybe 1-2 songs ahead Apr 06 23:13:04 oh yeah :) Apr 06 23:13:14 but you still keep old songs on board? Apr 06 23:13:17 i mean, the pre-emption engine could easily be bounded, it just isn't right now Apr 06 23:13:18 ie. played Apr 06 23:13:28 ya Apr 06 23:13:37 f00f-: Yeah, it uses your storage card for cache and automatically deletes stuff to make room for new content. Apr 06 23:13:57 The real challenge (not to be solved yet) will be figuring out how not to fill up the user's storage card so that every other app has no space for things hehe Apr 06 23:14:13 i might need to let the user define a %age buffer to always leave available for other apps. Apr 06 23:17:59 i fully expect users of my app to get a 2GB or more storage card. Apr 06 23:18:50 I notice the tabs are on the bottom Apr 06 23:18:58 of the screen shots Apr 06 23:19:13 yeah Apr 06 23:19:15 ANyone any thoughts of bottom or top with tabs? Apr 06 23:19:26 i think they are better down there Apr 06 23:19:28 top is for IDE's :) Apr 06 23:19:31 more like the iPhone :) Apr 06 23:19:42 mine are at the top but I just had them there because of the convention Apr 06 23:19:56 i think more people look at the bottom, since keypad is closer to the bottom Apr 06 23:20:01 you want them to have high visibility Apr 06 23:20:07 i agree f00f- Apr 06 23:21:28 I personally like them down the bottom as well. Apr 06 23:24:54 putting at the bottom makes sense for usability Apr 06 23:25:09 because with a touch screen you are likely to try to use it with one hand, the one holding the phone Apr 06 23:25:14 and therefore with your thumb Apr 06 23:25:16 yep Apr 06 23:25:20 and reaching the top of the screen is hard ^^ Apr 06 23:28:24 romainguy: can i define a viewswitcher's in and out animation in XML? Apr 06 23:28:48 lemme check Apr 06 23:28:58 it doesnt look like it from the docs, but.. Apr 06 23:29:31 nope you can't Apr 06 23:29:36 lame :) Apr 06 23:29:43 I'll file a RFE Apr 06 23:30:44 cool Apr 06 23:31:13 it would be useful when you have a viewswitcher as a row in a list, since the only efficient way to set the animation at that point would be to extend your own adapter and set the animation by overriding newView Apr 06 23:36:38 damn, ran into that animation cache bug again that i reported a month ago Apr 06 23:45:42 i want to bundle a .zip file with my app, do i put it into res/raw ? Apr 06 23:46:04 raw Apr 06 23:46:13 or actually, maybe assets. Apr 06 23:46:14 or assets Apr 06 23:47:35 thx Apr 06 23:52:41 have anyone managed to use 3d api on m5 ? Apr 07 00:18:30 is there a widget similar to the landing desktop, type of grid view? Apr 07 00:26:24 has anyone got any links to a demonstration of the expandable list view? Apr 07 00:29:10 never mind, seem to have muddled through it Apr 07 00:32:05 i must say i hated the idea of having to work with xml for the UI, but after doing a lot of work with it I think it works out very well Apr 07 00:32:43 ^ i gree Apr 07 00:32:46 i agree Apr 07 00:32:49 i was like sif xml Apr 07 00:38:07 has anybody had problems with selectionArgs from DBhelper.query? Apr 07 00:58:30 if using an ImageView in xml and i am trying to set the source that is in the /res/drawable directory, what should the src value be? Apr 07 00:59:20 michaelnovakjr: @drawable/resource_name Apr 07 00:59:28 cool, thanks Apr 07 00:59:58 is that also the same for ImageButton? Apr 07 01:00:23 be right back Apr 07 01:01:32 michaelnovakjr: yea, you might want to set android:padding="0px" too, so the button doesn't get really big Apr 07 01:02:27 dammit he just left huh, oh well Apr 07 01:06:47 michaelnovakjr: yea it's the same for imagebutton, you might want to set android:padding="0px" too if you want to imag to go all the way to the edges of the button Apr 07 01:08:45 i saw a sample file that had @android:drawable/resource_nam Apr 07 01:13:27 I/DEBUG ( 495): pid: 565, tid: 2872 >>> com.google.process.content <<< Apr 07 01:13:27 I/DEBUG ( 495): signal 11 (SIGSEGV), fault addr 000000e8 Apr 07 01:21:55 michaelnovakjr: the android: prefix is there to use Android's resources, as opposed to your application's resources Apr 07 01:22:14 ah, romainguy, thanks for clearing that up Apr 07 01:42:52 is there a way to start an app automatically from adb? Apr 07 01:43:00 eg. after issuing adb install x.apk Apr 07 01:44:32 try the adb shell am command Apr 07 01:49:59 thanks! Apr 07 02:06:13 omg Apr 07 02:06:16 this is freaking fast Apr 07 02:06:33 @ 2.17 GHz Apr 07 02:13:41 what is? Apr 07 02:13:59 yea, what is? Apr 07 02:15:34 keeping us in suspense? Apr 07 02:27:46 romainguy: what is am? Apr 07 02:28:30 activity manager Apr 07 02:28:38 it lets you start and broadcast intents Apr 07 02:28:56 we (the UI framework team) use it to run our unit tests Apr 07 02:28:57 interesting Apr 07 02:29:08 cool Apr 07 02:29:19 that is really useful actually Apr 07 02:30:59 another pretty cool command is adb shell monkey Apr 07 02:31:27 for instance, adb shell monkey 500 Apr 07 02:33:18 what does that do? Apr 07 02:33:45 it sends N events to the system or specific apps Apr 07 02:33:54 just like a bunch of monkeys banging on the device Apr 07 02:34:22 like touch/keypress events? Apr 07 02:34:22 why is that useful? detecting race conditions? Apr 07 02:34:29 zhobbs: yes Apr 07 02:34:45 jasta: because it can expose bugs in your application Apr 07 02:42:59 romainguy_: the emulator runs really fast on my other machine; it has no cpu throttling Apr 07 02:43:06 :) Apr 07 02:43:15 probably as fast as your os x :) Apr 07 02:44:36 that's funny. i left it idle for a bit and it just black screend on me :/ Apr 07 02:45:02 this is yet another testament of why developers should get the best latest-and-greatest machines Apr 07 02:47:33 depends on what dev work you do Apr 07 02:48:33 well in particular emulators such as android :P **** ENDING LOGGING AT Mon Apr 07 02:59:56 2008