**** BEGIN LOGGING AT Wed Mar 05 10:59:56 2008 Mar 05 11:35:56 anyone have an example of the extended version of this? "@[+][package:]type:name" Mar 05 11:51:24 is there no more default LocationProvider? Mar 05 11:51:31 gps that is? Mar 05 11:52:01 LocationProvider provider = this.myLocationManager.getProvider("gps"); // ??? Mar 05 11:52:18 yes Mar 05 11:52:23 does it work? Mar 05 11:52:35 LocationManager lm =(LocationManager) this.getSystemService(Context.LOCATION_SERVICE); Mar 05 11:52:35 Log.i("MyLog", lm.getProviders().toString()); Mar 05 11:52:44 returns an empty array Mar 05 11:53:25 yes it works Mar 05 11:54:22 latest sdk Mar 05 11:54:40 yes I have the latest sdk... Mar 05 11:54:44 strange... Mar 05 11:55:57 do you use android.permission.ACCESS_LOCATION? Mar 05 12:07:34 or better ... does anyone know where in the docs the different bits of "@[+][package:]type:name" are explained? Mar 05 12:09:49 I must say I am confused as well about the notation Mar 05 12:11:02 style="?android:attr/progressBarStyleHorizontal" Mar 05 12:11:47 it should be in the resources section Mar 05 12:12:54 or may be the theme Mar 05 12:13:53 ok bug in documentation, android.Manifest.permission.ACCESS_LOCATION should be android.permission.ACCESS_LOCATION Mar 05 12:14:00 ... Mar 05 12:55:58 ascia: no its probably no documentation bug Mar 05 12:56:09 the constant is named "android.Manifest.permission.ACCESS_LOCATION" Mar 05 12:56:21 but "the value behind" is: "android.permission.ACCESS_LOCATION" Mar 05 12:56:33 but yes, its confusing ;) Mar 05 13:00:04 public TabSpec setContent(Intent intent) Mar 05 13:00:10 any tried above? Mar 05 13:00:31 setting a tab content to an intent, instead of a view Mar 05 13:00:59 nope just done with resID Mar 05 13:01:31 yeah that works Mar 05 13:01:44 tried to clean up code Mar 05 13:02:00 but throwing NPE Mar 05 13:02:19 my idea is to have a separate activity per tab Mar 05 13:02:39 dunno, sorry Mar 05 13:03:27 ok.. i'm going back to the hacky but working code Mar 05 13:27:53 JUnit works no more since m5-rc15 :( Mar 05 13:27:55 Error occurred during initialization of VM Mar 05 13:28:00 java/lang/NoClassDefFoundError: java/lang/ref/FinalReference Mar 05 13:55:25 hi Mar 05 14:06:42 good evening Mar 05 14:14:11 I try to get my UID with android.os.Process.myPid() but it gives me a null pointer... Any ideas? Mar 05 14:16:35 can you get the process from the context? Mar 05 14:17:58 how would you do so? Mar 05 14:18:16 I am trying to get the User ID of the running application Mar 05 14:23:02 may be only your process available with a context..not sure Mar 05 14:43:41 * davidw swears at the damn icon things Mar 05 14:45:23 http://code.google.com/p/apps-for-android/ Mar 05 15:14:37 hello Mar 05 15:16:11 hey Mar 05 15:16:20 YES! I got it...it worked Mar 05 15:16:25 this icon stuff is psychotic Mar 05 15:19:04 anyone trying to port android to the iphone? Mar 05 15:22:20 davidw: what did you do? :-O Mar 05 15:22:47 notjohn, sounds kind of backwards to me Mar 05 15:22:57 davidw: i understand... just curious Mar 05 15:23:00 Lede, replaced the application icon with zip Mar 05 15:23:08 notjohn, you'd want to get linux running first Mar 05 15:23:17 davidw: with zip? Mar 05 15:23:35 yeah Mar 05 15:23:40 but it's really weird how it works Mar 05 15:24:01 i have no idea what you mean with "replaced with zip" Mar 05 15:24:16 i just like the form factor of the iphone Mar 05 15:25:53 lede zip Foo.apk res/drawable/icon.png Mar 05 15:26:10 easy ... right? apparently not. Mar 05 15:40:11 davidw: oh ok you mean that Mar 05 15:40:20 davidw: sorry, was afk for a sec Mar 05 16:40:17 are there any specs on android phones coming to market? Mar 05 16:55:13 notjohn: no Mar 05 17:08:40 anyone tried adding Intents as a tab content? Mar 05 17:09:36 tabhost tabspec works ok with views as contents, but not for intents Mar 05 17:09:43 NPE is thrown Mar 05 17:11:18 TabHost.TabSpec#public TabSpec setContent(Intent intent) Mar 05 17:11:57 ? Mar 05 17:12:05 ?? Mar 05 17:12:08 ??? Mar 05 17:12:10 ???? Mar 05 17:12:21 ????? Mar 05 17:12:35 eih....? Mar 05 17:12:37 di casa? Mar 05 17:13:08 is there anyone? Mar 05 17:14:25 hi Mar 05 17:22:16 Can the screen orientation be already toggled ? Mar 05 17:22:28 try ctrl-pagedown Mar 05 17:25:02 huh nice, I only remember that adb-command :) thx Mar 05 17:29:25 if there are several resources identifying LandScape or Protrait mode, which will be used after toggling? Mar 05 17:29:36 the same as before? Mar 05 17:29:41 ? Mar 05 17:29:59 there's no to have a resource that switches is there? Mar 05 17:30:05 no way to* Mar 05 17:30:13 argh... g2g Mar 05 17:30:25 ./afk Mar 05 17:32:58 when you toggle, your activity is restarted Mar 05 17:33:03 and it wil pick up the resources for the new orientation Mar 05 17:33:13 I guess that's an easy way to test activity lifecycle Mar 05 17:42:45 oh shit Mar 05 17:42:53 i went to bed at 2:30am last nighta nd forgot to set an alarm ;) Mar 05 17:43:04 i am so lucky i woke up when i did :) Mar 05 17:59:10 Hi all, i installed the eclipse plugin, specified the SDK location in eclipse prefs but when i create a project i get an error "nature does not exist" ... any ideas ? I have no idea where to go from here.... Mar 05 18:02:34 the exact error i get is "Problems encountered while setting project description. Mar 05 18:02:34 Nature does not exist: com.android.ide.eclipse.adt.AndroidNature. Mar 05 18:02:34 " Mar 05 18:02:41 anyone know what that means ? Mar 05 18:04:01 do you have the latest version of plugin? Mar 05 18:04:11 yes i just installed it Mar 05 18:04:20 using he update wizard in eclipse Mar 05 18:04:24 or the update installer i should say Mar 05 18:04:33 hmm Mar 05 18:04:42 you have to uninstall/reinstall for update Mar 05 18:04:52 don't think you can just use the normal update feature Mar 05 18:04:59 ver 0.4.0.200802... Mar 05 18:05:23 i used this link - https://dl-ssl.google.com/android/eclipse/ in the eclipse plugin manager Mar 05 18:05:41 so your saying uninstall and reinstall manually ? Mar 05 18:05:51 did you install both plugins? Mar 05 18:06:24 both plugins ? i follwed this instruction set - http://code.google.com/android/intro/installing.html#installingplugin Mar 05 18:06:55 it looks like it installed 3 things Mar 05 18:07:00 hmm, not sure Mar 05 18:07:02 ddms, common and adt Mar 05 18:17:09 ohhh, what is this new apps for android thing? Mar 05 18:18:15 jasta: we wanted to publish some projects that were more complex than what's bundled in the SDK Mar 05 18:18:44 does android have any charting packages for graphing sometime like a timeseries graph ? Mar 05 18:18:50 that's great Mar 05 18:18:56 jasta: so we decided to create a single project on google code project hosting Mar 05 18:19:37 jasta: we'll be adding additional apps soon, hopefully Mar 05 18:20:27 very nice. i've been eager to find out some of the "best practices" for Android, and this seems like a great way Mar 05 18:21:25 cool; that's exactly the sort of thing we were hoping to convey Mar 05 18:22:28 although sadly i feel like i've learned a lot of this the hard way already :) Mar 05 18:23:08 well, i think we might be looking for contributors to the project as well :-) Mar 05 18:23:30 jasonchen: One small comment, I think it would be good to distribute an Ant build environment with these apps. Mar 05 18:25:29 i don't have time to dig into the rest, but i like what i see anyway :) Mar 05 18:26:33 jasta: the activityCreator utility can do that for you Mar 05 18:26:55 but good to hear that you like it so far Mar 05 18:27:34 does it install and run? Mar 05 18:27:52 muthu: you mean the WikiNotes for Android app? Mar 05 18:27:57 yes jason Mar 05 18:28:01 yep Mar 05 18:28:20 it's a fully functioning and somewhat useful app Mar 05 18:28:33 hmm.. i'm not seeing it in the emulator Mar 05 18:28:42 are you on m5? Mar 05 18:28:53 yes r15 Mar 05 18:29:55 what is the best way for a developer to get started with android developement (i have 5 years java and adobe flex dev experience) ? I'm looking for some kind of newbie doc itherwise I'll resort to reading the api... Mar 05 18:30:02 adb install is fine Mar 05 18:30:08 but not showing up in emulator Mar 05 18:30:32 nkbreau: looking at the samples is a good way to quickly familiarize yourself. they are distributed with the SDK. Mar 05 18:30:53 nkbreau: APIDemos samples will help Mar 05 18:30:54 yup that's the best way Mar 05 18:31:02 ok, I'll open that up, thanks. Mar 05 18:31:15 Notepad is good for content providers Mar 05 18:31:46 my I suggest www.anddev.org ? oops ;) Mar 05 18:31:54 oh yeah !! Mar 05 18:32:04 anddev definitely :) Mar 05 18:32:24 great job +- Mar 05 18:32:38 you're welcome :) Mar 05 18:33:42 muthu: what happens if you restart the emulator? Mar 05 18:34:03 let me try Mar 05 18:35:39 now it shows up Mar 05 18:36:00 restarting the emulator did it Mar 05 18:36:43 muthu: cool; let me know if you continue to see a problem like that with apps not showing up in the emulator when they're first installed Mar 05 18:36:44 jasonchen: is that WikiNotes application available? Mar 05 18:37:18 zhobbs: it sure is; you can check it out from the svn repo for the apps-for-android project on Google Code Mar 05 18:38:00 hmm, this page is empty for me so I thought there wasn't anything in svn: http://code.google.com/p/apps-for-android/source/browse Mar 05 18:38:42 ohh...just doesn't work with opera Mar 05 18:38:44 there's a directory in trunk called WikiNotes Mar 05 18:39:32 damn, where can I report the bug with that page and opera? Mar 05 18:39:33 zhobbs: you don't want to do a full checkout? :-) Mar 05 18:39:46 what version of opera are you running? Mar 05 18:39:54 jasonchen: deletepage throws CursorIndexOutOfBounds Mar 05 18:40:04 jasonchen: no, I will...just initially hit browse svn to see if anything was in there and it looked empty so I thought it wasn't up yet Mar 05 18:40:17 jasonchen: 9.50 Mar 05 18:40:38 muthu: feel free to file a bug in the Issue Tracker for the project Mar 05 18:40:58 ok.. not functional Mar 05 18:42:01 muthu: i'll let dickwall know; he wrote this initial version Mar 05 18:42:07 sure, thx Mar 05 18:42:16 but best thing is to file it as an issue so we capture and track it Mar 05 18:42:40 ok Mar 05 18:44:19 done Mar 05 18:46:48 muthu: thanks Mar 05 18:47:53 now that i'm in the mood, entered a couple of issues Mar 05 18:48:06 good night folks Mar 05 18:48:17 good evening! Mar 05 18:49:06 anyone know where i can find an exmaple that uses android.util.xml ? i want to make a servlet request and parse some xml Mar 05 18:56:43 "View.android.policiy.PhoneWindow$DecorView@40071b58 must be attached to a window." happens when runOnUIThread() is called and Activity is not yet/no more visible, right? Mar 05 18:58:03 that's when I've gotten it Mar 05 18:58:18 k thx. Mar 05 19:04:13 should log.d be outputing to the console in eclipse if verbose is specified in the plugin settings ? Mar 05 19:04:40 verbose shows everything Mar 05 19:04:45 nkbreau: should log to logcat Mar 05 19:05:01 to logcat ;) Mar 05 19:05:03 logcat ? never heard of logcat before... Mar 05 19:05:15 Android-specific Mar 05 19:05:17 yeah, it's a view built into the adt Mar 05 19:05:29 ok, so how do i see the contents of it ? Mar 05 19:05:34 pretty useful but a bit buggy(crashes from time to time). Mar 05 19:05:42 window -> add view -> other Mar 05 19:05:46 android -> logcat Mar 05 19:05:48 ah, duh Mar 05 19:06:01 http://anddev.org/images/help/open_ddms_view.png Mar 05 19:06:24 if A isnÄt visible, do it the B way Mar 05 19:06:27 http://anddev.org/images/help/open_ddms_view.png Mar 05 19:06:42 here you see the LogCat in the very bottom. Mar 05 19:07:19 very nice. Mar 05 19:07:52 and useful :) Mar 05 19:11:21 fun stuff :) Mar 05 19:13:55 sorry for the newb questoins... but can an imageView be directed to a url image or would you have to write the code to download the image then point it to the image locally ? Mar 05 19:14:21 gotta save it I think Mar 05 19:14:46 so if you were writting a twitter client you would have to download and save the images for each profile locally ? Mar 05 19:14:49 or use BitmapFactory Mar 05 19:15:22 you can pass an input stream into BitmapFactory to get the bitmap in memory and then set the image for the ImageView using that bitmap Mar 05 19:15:59 ok I"ll see if i can figure that out :P I'm use to adobe flex/flash which i guess is more web oriented Mar 05 19:16:46 yawn Mar 05 19:17:15 nkbreau: keep in mind that phone's have very slow internet connections Mar 05 19:17:27 so you would want to save persistent data instead of download it on demand every time Mar 05 19:17:51 so use a separate thread and keep the user in the loop on the progress Mar 05 19:17:55 that's the main advantage of native applications versus mobile-friendly web sites. Mar 05 19:18:47 right. Mar 05 19:25:43 nkbreau: Gallery with remote images: http://www.anddev.org/gallery_with_remote_images-t769.html Mar 05 19:25:52 and http://www.anddev.org/loading_images_from_remote_server-web-t673.html Mar 05 19:25:55 might help you Mar 05 19:26:16 awesome, thanks. Mar 05 19:39:47 sorry, another newb Q but do you have to stop and restart the emulator after every code change, or is there a quick way to refresh the emulator with the latest sourecode in eclipse ? Mar 05 19:41:42 don't close the emulator Mar 05 19:41:50 eclipse will reuse it Mar 05 19:42:05 ok, how do i tell the emul;ator to reload my application ? Mar 05 19:42:30 just run your app it will get overridden Mar 05 19:43:28 hmmm not sure i follow... when i launch the emulator the app is loaded, if i click on a button like the phone or home button my app goes away and I cant seem to get it back without closing the emulator and starting it again Mar 05 19:43:47 just hit run in eclipse Mar 05 19:44:05 it is also listed on the home screen Mar 05 19:44:26 clicking the arrow-icon in the lower right corner should show all installed apps Mar 05 19:44:41 ah there we go Mar 05 19:44:44 had to click all first Mar 05 19:59:13 will all android phones have gps positioning enabled so that you always know what the coordinates of the phone are ? Mar 05 19:59:37 afaik current cell phones all have the ability but it's usually locked by the provider, correct ? Mar 05 20:10:39 all phones should have some way to get the position, there will be different accuracies (gps, triangulation) Mar 05 20:18:38 <_avatar> i'm looking to decode some base64 data in my application. http://code.google.com/android/reference/android/util/package-summary.html mentions base64 encoders and decoders, but I can't find them to save my life. maybe I'm just blind... can anyone point me in the right direction? :) Mar 05 20:33:12 * jasta scratches his head Mar 05 20:33:45 Of all the XML files to break my parser, it's gtalkservice's xmpp_settings_screen.xml? Mar 05 20:33:56 huh. Mar 05 20:36:10 of all the xml files in all the programs in the world, she walks into my parser Mar 05 20:37:32 hehe Mar 05 20:37:33 nice ;) Mar 05 20:39:28 _avatar: http://www.source-code.biz/snippets/java/2.htm Mar 05 20:40:39 <_avatar> zhobbs: thanks, looks like its LGPL though. i can't use it :/ Mar 05 20:40:57 _avatar: why? LGPL means you can use it and not open your stuff Mar 05 20:42:28 <_avatar> yeah, I know. last time I tried to use LGPL the legal department threw a fit, though. i was hoping to use part of the android platform or the JDK. Mar 05 20:42:56 <_avatar> maybe its time to try my luck again. thanks:) Mar 05 20:42:57 oh ok...legal departments suck the life out of everything Mar 05 20:43:06 <_avatar> yeah, really Mar 05 20:43:16 <_avatar> I guess I could just reimplement the RFC, blah Mar 05 21:00:21 hmm. Mar 05 21:22:46 not really android related but does anyone know a method to remove characters from the beginning/end of a string... like trim() but for arbitary characters? Mar 05 21:27:06 kurzum: look at String.java in JDK source Mar 05 21:29:16 i can reimplement it myself, just wanted to make sure i really have to :) Mar 05 21:29:33 charAt kinda makes me feel like in the old C days :P Mar 05 21:29:33 substring ? Mar 05 21:29:51 indexOf, lastIndexOf Mar 05 21:30:00 cya all Mar 05 21:30:25 *indexOf is not really gonna work Mar 05 21:36:12 replace? Mar 05 21:36:34 replace would replace all characters in the string i guess Mar 05 21:37:10 not if you use the String version Mar 05 21:37:23 which takes a regular expression Mar 05 21:37:45 so you can do something like replaceFirst("^lalalal", "") Mar 05 21:39:51 ah thats a good idea Mar 05 21:39:51 thx Mar 05 22:15:45 romainguy_: when will we get to see the soft keyboard? :) Mar 05 23:00:26 romainguy_: found your xmlns:home reference :) Mar 05 23:00:45 com.google.android.home.ApplicationsStackLayout? :) Mar 05 23:25:59 jasta: yes Mar 05 23:26:07 jasta: romainguy_: when will we get to see the soft keyboard? << what soft keyboard? Mar 05 23:28:32 the first device to market is expected to be a touch screen phone with no physical keyboard, right? Mar 05 23:28:52 as the hvga skin suggests. Mar 05 23:33:45 it's just a skin for the emulator Mar 05 23:34:17 * jasta scratches his head Mar 05 23:34:45 so the Dream isn't a rumor? :) Mar 05 23:34:58 uh ? Mar 05 23:35:35 the rumored HTC Dream was said to have a large touch screen like the iPhone but also a full qwerty keyboard that flips out Mar 05 23:36:07 if there are no plans to make a soft keyboard, we could reasonably assume that the device is not a rumor, but will exist ;) Mar 05 23:36:23 I didn't say there are no plans :) Mar 05 23:36:34 then when do we get to see it!? :) Mar 05 23:36:45 I didn't say there are plans either Mar 05 23:36:53 I don't know anything about such a thing Mar 05 23:36:53 ahhh ;) Mar 05 23:36:55 hence my question Mar 05 23:37:10 well in other news... Mar 05 23:37:32 http://android-random.googlecode.com/files/axml2xml.pl Mar 05 23:37:34 it works Mar 05 23:37:39 cool Mar 05 23:38:02 i'm drafting up a blog entry as we speak :) Mar 05 23:38:31 nice Mar 05 23:38:34 gotos \o/ Mar 05 23:46:25 there's *ONE*, and i just added that :) Mar 05 23:46:49 and it only exists because you guys have a very bizarre handling of xmlns that i didn't feel like supporting correctly Mar 05 23:47:21 anyone using android.graphics.PointF.length() ? Mar 05 23:49:21 romainguy_: did you see my notes scattered around? :) Mar 05 23:50:43 i'm certain i didn't handle xmlns correctly, but it seems to work still Mar 05 23:51:07 in all the files in /system/*.apk, i found only 5 that failed to parse. Mar 05 23:51:12 and i ignored them for now :) Mar 05 23:52:29 jasta: there's *ONE*, and i just added that << I do like goto Mar 05 23:52:45 after all break and continue are just disguised gotos :) Mar 05 23:52:52 (not so disguised when you do a break label though) Mar 05 23:55:45 nevermind, known issue http://code.google.com/p/android/issues/detail?id=230 Mar 05 23:59:51 errr... ApiDemo for GTalk is kind of buggy. f00t, have you been experimenting? Mar 06 00:24:37 does anyone know why Bundles are so often named "icicle"? Mar 06 00:25:11 because of onFreeze/onThaw Mar 06 01:34:41 romainguy_: i dislike goto's, but i permit them in certin cases. Mar 06 01:34:48 they're useful Mar 06 01:34:53 in very specific situations Mar 06 01:34:58 there is usually a better way to avoid them by refactoring your functions to more logically match your program's flow. Mar 06 01:35:07 but not always, and in that case, goto's are nice. Mar 06 01:35:57 a lot of programmers factor their code very poorly. long functions with awkwardly large indentations, for example. Mar 06 01:40:55 just like Android's UI toolkit's source code :)) Mar 06 01:40:58 but we have reasons for that Mar 06 01:41:26 lol Mar 06 01:41:31 you'd better :) Mar 06 01:41:36 it's quite easy Mar 06 01:41:53 that's your reason? Mar 06 01:41:55 no Mar 06 01:41:58 the reason is performance Mar 06 01:43:11 i assume you've profiled those cases? i have not done much performance analysis with Java, but i have done lots with C and i can say that hand-optimizing your code is ill-advised sometimes resulting in worse performance; usually resulting in identical performance. Mar 06 01:43:38 ... Mar 06 01:43:44 thanks for the lesson :) Mar 06 01:43:51 things like unrolling your loops, avoiding natural function factorizations, etc. Mar 06 01:44:03 the fact is a java compiler is dumb Mar 06 01:44:08 and rely on the VM to optimize the code Mar 06 01:44:14 our VM does not have a JIT Mar 06 01:44:18 and yes, we do profile our code Mar 06 01:44:46 and removing method calls in the source code of performance critical code paths results in thousands (or hundreds of thousands) less method calls at runtime Mar 06 01:44:50 which does impact performance Mar 06 01:45:19 would dx not be a more appropriate place to inline code? Mar 06 01:47:23 because we don't necessarily want to do the inlining everywhere Mar 06 01:47:35 I talked about "performance critical code paths" Mar 06 01:47:46 i really hate to see a poor pairing of runtime VM and compiler be the reason programmers are forced to write terribly unmaintainable code. we should be passed those days :\ Mar 06 01:47:47 which is basically drawing Mar 06 01:47:54 fair enough Mar 06 01:48:04 jasta, we're writing software for cell phones Mar 06 01:48:31 even with a good compiler and or VM you still have manual work to do Mar 06 01:48:40 some, but certainly not inlining ;) Mar 06 01:48:54 and certainly not unrolling loops, minimizing iteration variables, etc etc :) Mar 06 01:49:29 you could list a hundred easy opts a compiler should definitely be doing. i'm just pained to see this ;) Mar 06 01:50:52 oh well, Java has a major disadvantage in that it is not an old language. Perhaps some day... ;) Mar 06 01:51:34 I won't explain you again why the Java compiler is the way it is Mar 06 01:51:49 nor am i asking you to restart that dialogue. Mar 06 01:53:32 many other much older languages have multiple very sophisticated implementations of both runtime and compiler, well suited for different targets and applications. Mar 06 01:53:35 that is all i was saying. Mar 06 01:54:03 that will happen organically as Java ages, so, perhaps some day... Mar 06 01:54:16 again, there's no need for Java to do this Mar 06 01:54:17 it' Mar 06 01:54:22 it's the VM's role Mar 06 01:54:47 i am specifically calling out "both runtime and compiler", you know. Mar 06 01:54:48 and besides, on similar hardware I've seen Android perform a lost faster than Windows Mobile Mar 06 01:55:01 speaks highly of old languages with very smart compilers ;-)) Mar 06 01:55:18 many parts of Windows Mobile are written in C#, but still, not a fair test. Mar 06 01:55:36 Microsoft is in a bubble. They don't count as programmers, engineers, or even thinking individuals. Mar 06 01:55:48 :) Mar 06 01:56:35 as an aside, what the hell is the deal with Windows Mobile? Why does it look and run like Windows 95? Mar 06 01:57:42 I have been using WM for my personal phones for years now and I have hated every minute of it. I am so ready to throw this piece of crap out the window and pick up an Android phone. Mar 06 02:06:25 i can have a VideoView in a RelativeLayout right? Mar 06 02:06:33 it kind of screws up the whole layout Mar 06 02:07:44 if i explicitly set the width and height parts of it are transparent, i.e. i can see the default checker board background Mar 06 02:07:52 if not then its just a thin line Mar 06 02:08:29 and it always stays on the same absolute position despite of being in a ScrollLayout Mar 06 02:09:53 what happens if you replace the VideoView with some other sort of View to make sure its not just your layout that's broken? Mar 06 02:10:56 before that i had an ImageView and it worked fine Mar 06 02:11:30 i can't speak to your specific case then. haven't tried it. Mar 06 02:11:55 all right, just wanted to know if anyone has encountered any similar issues Mar 06 03:03:34 Hello! Can anybody tell me how to make a TextView foricbly refresh its contents? I'm adding text to it and I need to scroll to the 'new bottom' of the view. However it doesn't yet know the new bottom because it hasn't yet updated. Mar 06 03:05:26 not sure that you need to refresh the textview (maybe it's container?), but view.invalidate() would do it Mar 06 03:05:58 I'll give invalidate() a go Mar 06 03:06:19 like I said though, you shouldn't have to invalidate the text view, should do that when you setText() Mar 06 03:06:22 I'm literally calling messageBox.append("blah"); ScrollView.fullScroll(ScrollView.FOCUS_DOWN) Mar 06 03:06:42 ok Mar 06 03:07:01 so scrollview might need the invalidate() Mar 06 03:07:10 I did both =P Mar 06 03:07:28 Nope :/ Mar 06 03:07:33 Still not recognizing the new line Mar 06 03:09:01 It scrolls to the bottom of the view before the new line. Mar 06 03:10:10 zgold: could be a bug, I've noticed some buggy behavior in a ScrollView I'm using Mar 06 03:10:38 I had this same issue in m3, was hoping it was fixed in m5 Mar 06 03:11:14 I'm writing a messenger... i can't imagine i'm the only one doing so and i cant imagine im the only one using a TextView ad a conversation pane =P Mar 06 03:17:08 romainguy_: ah, of course. duh Mar 06 03:25:36 Tried the TextWatcher route; no go :/ Mar 06 05:26:32 jasta: the perl guru :) Mar 06 05:30:14 my cpan is messed up..weird Mar 06 05:30:25 i know many languages. Mar 06 05:31:52 yeah.. that's why you are the guru ;) Mar 06 05:32:09 i dont know that that qualifies, but thanks :) Mar 06 05:32:58 Can't locate object method "new" via package "Net::FTP" at /usr/lib/perl5/5.8.8/CPAN.pm line 2250. Mar 06 05:33:12 jasta: any ideas? Mar 06 05:33:25 that happens when i run cpan Mar 06 05:33:25 what distro do you use? Mar 06 05:33:31 fc6 Mar 06 05:33:37 you're on your own then ;) Mar 06 05:33:44 yeah time to upgrade Mar 06 05:33:50 in debian/ubuntu, perl packages are mostly in apt Mar 06 05:34:02 its yum here Mar 06 05:34:09 and cpan for modules Mar 06 05:35:22 there's no base or anything? Mar 06 05:35:28 perl-base? or perl-net or something? Mar 06 05:36:01 has anyone noticed you can just start typing from the android home screen to bring up a contact search? Mar 06 05:36:46 my $ftp = Net::FTP->new($host); Mar 06 05:36:54 that's the line throwing the error Mar 06 05:37:07 right, because Net::FTP hasn't been used or it doesn't exist. Mar 06 05:37:20 and only the latter if Net::FTP was conditionally required. Mar 06 05:37:27 yeah.. underneath its looking for a particular ftp binary Mar 06 05:37:31 which is what CPAN would do when it was configured. Mar 06 05:37:46 one thing you could try is just wiping out .cpan and firing up perl -MCPAN -e 'install whatever' Mar 06 05:37:56 ok Mar 06 05:37:57 that way, CPAN would go through configuration again and search for a suitable package delivery method Mar 06 05:38:08 right Mar 06 05:38:21 i had all this setup before.. oh well Mar 06 05:38:38 CPAN.pm is very flexible. It can work in lots of environments Mar 06 05:38:53 what do you need CPAN for though? Mar 06 05:39:12 i noticed you were using certain modules Mar 06 05:39:33 i use Unicode::String Mar 06 05:39:45 used* Mar 06 05:39:47 [sara@notebookws114 android-system-apks]$ ./axml2xml.pl AndroidManifest.xml Mar 06 05:39:47 Can't locate Unicode/String.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-lin Mar 06 05:39:47 BEGIN failed--compilation aborted at ./axml2xml.pl line 24. Mar 06 05:39:57 sorry for the mess Mar 06 05:40:01 right, so just provide that. you could just go download it, or i bet there is an RPM for it. Mar 06 05:40:11 true Mar 06 05:40:20 but if you blow out .cpan and start again it should also work Mar 06 05:40:24 unless your perl install is completely hosed Mar 06 05:40:32 i guess so Mar 06 05:40:42 not surprising considering you use RedHat ;) Mar 06 05:40:49 he he Mar 06 05:41:06 Ubuntu.. is attractive Mar 06 05:41:15 yes, i did apt-get install libunicode-string-perl Mar 06 05:41:15 ;) Mar 06 05:41:29 ok Mar 06 05:41:53 i'm telling you.. it was working great Mar 06 05:41:55 but, on my blog you can find a tarball with all the system APKs that I operated on with the script Mar 06 05:41:59 so you don't need to run it yourself, necessarily Mar 06 05:42:11 yeah i got that too Mar 06 05:42:48 tried to put your perl to a field test ;) Mar 06 05:43:06 i'd say it's putting you to a field test :) Mar 06 05:43:14 true Mar 06 05:43:41 i found out my perl is hosed, when i couldn't compile that opensource icons library Mar 06 05:44:02 the name.. tangodesktop icons Mar 06 05:44:22 i really couldn't help you. i know not what evil things your rh-based distro has done to perl :) Mar 06 05:45:03 its the updates for sure Mar 06 05:45:22 ok no issues Mar 06 05:49:20 got it working? Mar 06 05:49:59 (11:14:51 AM) Muthu Ramadoss @ Yahoo: [sara@notebookws114 android-system-apks]$ perldoc cpan Mar 06 05:49:59 Errno architecture (i386-linux-thread-multi-2.6.9-34.elsmp) does not match executable architecture (i386-linux-thread-multi-2.6.9-55.0.9.elsmp) at /usr/lib/perl5/site_perl/5.8.8/Errno.pm line 11. Mar 06 05:50:16 i'm sure its do with updates Mar 06 05:50:19 hehe Mar 06 05:50:22 looks like it ;) Mar 06 05:50:33 yeah.. i'm checking out the yum repository configs Mar 06 05:53:48 http://gigaom.com/2008/03/05/google%E2%80%99s-dan-morrill-on-android/ Mar 06 05:55:42 Google grapes? Mar 06 05:57:28 interesting ;0 Mar 06 05:58:56 probably coming soon to apps-for-android Mar 06 05:59:18 Will receiving an intent automatically thaw a frozen process? Mar 06 06:00:06 it will bring the activity to focus Mar 06 06:01:18 which I guess is thawing Mar 06 06:01:55 So as long as I'm using intents to communicate between processes, I don't have to worry about things like DeadObjectException? Mar 06 06:02:11 DeadObjectException is only for service interfaces Mar 06 06:02:50 you only use intents for communication when starting or finishing an activity Mar 06 06:04:42 Part of the difficulty I'm having with Android is that where I come from, there isn't a difference between messaging between services and clients. The only difference is that clients render a UI. Mar 06 06:05:44 And an actual running server is not as important if you have some action driven invocation like intents. Mar 06 06:06:26 In fact, the only thing I can see a server being useful for is in support functions like transactions, and recording/playing media. Mar 06 06:06:39 I assume you mean service Mar 06 06:06:56 yes. Mar 06 06:07:12 yeah, I don't even use a service for an app that polls for data...I just use an AlarmManager and IntentReceiver Mar 06 06:08:00 but back and forth data exchange or like you said media playing services are nice Mar 06 06:08:30 AlarmManger - is this not a service? Mar 06 06:08:46 Yep. The IDL and synchronous server communication model is a mess. I actually think that's what threw me the most, and that's what I started learning Android with -_- Mar 06 06:08:57 also anytime work is being done and you don't have to keep the user from switching from one activity to another without disturbing the work Mar 06 06:09:11 chaosvoyager: I completely disagree. Mar 06 06:09:17 muthu: a system service Mar 06 06:09:22 chaosvoyager: Android's IPC is impressively superb. Mar 06 06:09:41 For what? Mar 06 06:10:36 I see 3 things Mar 06 06:10:40 1. Messaging Mar 06 06:10:44 2. Service Mar 06 06:10:47 3. IPC Mar 06 06:11:25 is there more? Mar 06 06:11:37 Why do you distinguish messaging from IPC? Mar 06 06:11:53 because its different ;) Mar 06 06:12:02 In what way? Mar 06 06:12:32 I can do all those things with the equavalent of 'intents' in other systems like Smalltalk. In addition, the 'service' is not taking up processor resources while not being called. Mar 06 06:12:57 chaosvoyager: Your service doesn't persist indefinitely. It starts when you ask for it, and it stops when you ask it to. Mar 06 06:13:02 Or when it's done doing something. Mar 06 06:13:16 It need only be alive while an application is going to interact with it. Mar 06 06:13:23 or when it has something to do Mar 06 06:14:00 jasta: ipc is sync, messaging is async Mar 06 06:14:07 And that can all be event/message/intent driven. Mar 06 06:14:23 muthu: Uhm, what? Mar 06 06:15:45 jasta: am i missing something? Mar 06 06:15:45 That's the problem I have with Android's IPC (in addition to the fact that it has an added IDL language and doesn't completely work yet) it's a synchronous communication model applied to an asynchronous process model. Mar 06 06:15:49 muthu: Yes, a lot. Mar 06 06:16:22 muthu: IPC is an abstract device to allow synchronized communication between threads or processes. Mar 06 06:16:32 Messaging is one concrete way to do that. Mar 06 06:16:52 threads and/or processes, of course. Mar 06 06:16:56 so you differ on the messaging Mar 06 06:17:12 it might be concrete.. but its always async Mar 06 06:17:15 muthu: Messaging and IPC do not have a sibling relationship, though. Mar 06 06:17:32 yeah.. my point was ipc and messaging were different Mar 06 06:17:49 IPC is a more general topic of discussion, messaging is one such way to do it. Message passing is an example of IPC. Mar 06 06:18:06 same with sockets, semaphores, etc. Mar 06 06:18:10 And normally, those threads are expected to be available when called synchronously, at least on every other platform I have used them on. Mar 06 06:19:29 we all agree it seems Mar 06 06:19:51 muthu: IPC is usually designed specifically to handle the problem of synchronizing multiple concurrent execution paths to colloborate on common goals. In that way, it is almost always found to be concretely implemented in a way that is capable of asynchronous communication. Mar 06 06:20:52 And to do that on Android, every one of those processes has to catch DeadObjectException :P Mar 06 06:21:33 chaosvoyager: As any other system would. What does IPC do when one of the processes or threads disappears unexpectedly? What does a network service do when a client disconnects? It *handles it*. Mar 06 06:22:16 Network services are asynchronous. IPC here is synchronous. Mar 06 06:22:29 chaosvoyager: No, a network service is an instance of IPC. Mar 06 06:22:47 In fact, on many synchronous systems, not finding a process alive is a 'shutdown' level error. Mar 06 06:22:57 No, it isn't. Mar 06 06:23:08 I'm talking design level there, not Android, sorry. Mar 06 06:23:21 I know that you are, and you are also talking out of your ass. Mar 06 06:23:42 Can you please define IPC for me. Let's try an exercise. Mar 06 06:23:43 jasta: let me try this way Mar 06 06:23:50 is messaging, ipc? Mar 06 06:24:09 muthu: Yes. Mar 06 06:24:20 In the same way that an apple is a fruit :) Mar 06 06:24:26 ha ha Mar 06 06:24:39 ok.. now we need apples and oranges :) Mar 06 06:24:47 ok, how about a file? Mar 06 06:24:57 a file can be your orange, if you'd like. Mar 06 06:25:12 or how about POSIX signals? Mar 06 06:25:16 In general, it's any kind of communication between processes. On Andriod, it's specifically the kind of synchronous communication facilitated through IDL. Mar 06 06:25:59 chaosvoyager: Let's ignore that second sentence for a minute because it's wrong. The first sentence is correct. Good. Mar 06 06:26:23 Now, what is Android's IPC mechanism? Mar 06 06:26:40 What would you define the latter as? Mar 06 06:27:34 Android's IPC system is a message-passing mechanism supported at the kernel level called OpenBinder that permits very robust and efficient communication between one (very important) or more threads and/or processes. Mar 06 06:27:54 This mechanism is fully asynchronous. Mar 06 06:28:26 Android's IPC system, btw, is not logically associated with a service. Or an activity, or any of that. Mar 06 06:29:08 Android's IPC system is underlying all of the application components. It hides itself well. Mar 06 06:30:07 services, activities, content providers, etc are simply user-contributed end-points for OpenBinder. Mar 06 06:31:01 That's excellent. So OpenBinder underlies intents as well I assume? Mar 06 06:31:07 the AIDL files are totally irrelevant. All they do is generate [de/]serialization methods to facilitate object passing through the OpenBinder. Mar 06 06:31:11 chaosvoyager: Yes. Mar 06 06:31:51 i wish hackbod was here, she'd probably chomp your head off :) Mar 06 06:32:12 :P Mar 06 06:33:37 If the two of you are doing saying silly things, I'll be going back to coding now ;) Mar 06 06:33:59 i went back to coding a while ago ;) Mar 06 06:35:04 i certainly won't force you to learn. at least, i won't over the internet ;P Mar 06 06:35:57 if i win the challenge, i'll visit you :) Mar 06 06:36:16 i have a partner in SF Mar 06 06:36:37 i don't live in SF. Mar 06 06:36:37 if we win, the next round fun will have to be in SF! Mar 06 06:36:40 So technically, I CAN use intents as a general form of messaging, It's just not made easy. Mar 06 06:37:14 chaosvoyager: You can, but it's not advisable. Why abuse one system not intended for that purpose when you have another much easier and reliable right in front of you? Mar 06 06:37:32 jasta: you live in denver Mar 06 06:37:54 i do? Mar 06 06:38:47 yup.. based on my clues Mar 06 06:38:52 :) Mar 06 06:38:54 well, i live in seattle, wa, so sorry :) Mar 06 06:39:12 you could've at least looked at my hostname and guessed tukwila, wa :) Mar 06 06:39:33 i'm yet to check your flickr stream Mar 06 06:39:38 i guess you posted it somewhere Mar 06 06:40:09 saw a few snaps Mar 06 06:40:20 i did Mar 06 06:40:48 it's only of me camping, i think. it also demonstrates one of my ... erm, hobbies ;) Mar 06 06:41:09 cool Mar 06 06:41:57 ok, ok, i really must get back to coding Mar 06 06:42:10 i am ironically working on my very elaborate asynchronous service :) Mar 06 06:43:26 i thought so.. after you were printing huge chunks of manual ;) Mar 06 06:43:56 "asynchronous service" :) Mar 06 06:44:20 is there a synchronous service? Mar 06 06:44:33 not really, wouldn't be very useful. Mar 06 06:44:47 i mean, if you had one, why not just make a library? :) Mar 06 06:44:53 yup Mar 06 06:45:02 But what advantage is there is treating intents and server messages so differently? The only added facilty to the latter is you can check if a process is dead, which wouldn't be necessary if an intent would just wake it up. Mar 06 06:47:06 chaosvoyager: are you suggesting we do with intents and not do service? Mar 06 06:47:56 chaosvoyager: For one, services offer flexibility across multiple clients whereas intents would not support such a one-to-many arrangement. Mar 06 06:48:35 Second, services offer reliable communication, with meaningful guarantees of message delivery and response. Mar 06 06:49:22 jasta: can you not have many receivers for intents? Mar 06 06:49:31 muthu: Well, the only reason you need a service is if you're doing some kind of polling or cleanup. Mar 06 06:50:03 muthu: Not sure, actually. I thought Intents were designed to resolve to just one implementor? Mar 06 06:50:13 oh well i guess with broadcastIntent that's not the case? Mar 06 06:50:18 yup Mar 06 06:50:46 Then yes, that would work. However, how would you have multiple clients that are all interested in different things? Mar 06 06:50:56 intents should prompt the user if multiple activities can handle the intent Mar 06 06:51:13 Using broadcastIntent, you'd constantly wake them all up whenever something happens, even if only 1 or even none care about the message at all. Mar 06 06:51:33 you have an option to stop the broadcast Mar 06 06:51:54 muthu: How would you have that option if you don't know if the intent is meaningful or not? Mar 06 06:52:04 You'd only know if you got it, looked at it, and discarded it. Mar 06 06:52:19 correct Mar 06 06:52:29 Which means your activity got woken up for nothing. What's the point? Mar 06 06:52:36 agreed Mar 06 06:52:44 might be a queing system Mar 06 06:53:01 I think this whole conversation is nonsense....the api's were designed to be used in a specific way Mar 06 06:53:13 Like I said, intents could facilitate this type of interaction in many cases, but why? Why abuse that system just because you don't want to learn how to use services? Mar 06 06:53:32 zhobbs: Totally agreed. chaosvoyager seems to think ignorance is a useful design tool. Mar 06 06:53:51 zhobss: we need to flush out the junk Mar 06 06:55:48 man i wish you could throw exceptions across process boundaries currently. my service would benefit from that design i think. Mar 06 06:58:44 jasta: There are actually several languages that can do that, only they're called 'continuations'. Mar 06 06:59:31 chaosvoyager: Android is designed to do it as well, it just hasn't implemented it yet. Mar 06 07:00:58 jasta: Is there a way to set a timeout on a service call? Mar 06 07:01:22 Services are not supposed to block in such a way that would make a timeout meaningful. Mar 06 07:01:42 But they do on Android. Mar 06 07:01:48 no, they most certainly do not. Mar 06 07:02:30 if your service is to take some length of time to perform a request it should offer a callback mechanism and let the calling client know when it is done. Mar 06 07:03:13 as in the following prototype: void downloadStuff(String uri, IContentReady callback); Mar 06 07:04:00 the client invokes downloadStuff("http://foo", new IContentReady.Stub() { public void yourDownloadIsDone(String data) { /* handle downloaded file */ } }); Mar 06 07:04:44 In other words, through asynchronous communication. Mar 06 07:04:52 Yes. Mar 06 07:05:38 therefore, your service doesn't block long enough to need a timeout. Mar 06 07:05:51 if you wanted a timeout on that callback, you could set one in your interface, and implement it in your service. Mar 06 07:06:16 that if some timeout elapses and you still dont have the file, invoke IContentReady#yourHosed or something. Mar 06 07:06:20 youre* :) Mar 06 07:06:24 And that's my point. Treating IPC synchronously only adds confusion. Mar 06 07:06:50 it's no different than TCP. Mar 06 07:07:06 which, last i checked, is a very popular and easy to use protocol :) Mar 06 07:11:04 Difference is that there has been a lot of effort put into designing TCP stacks. And TCP session negotiation is not simple given how many bad stacks I've encountered. Mar 06 07:11:38 Ok? The OpenBinder is certainly not trivial either. Mar 06 07:12:25 Yes, I'm readiing up on that now. First link on Google is an interview with Dianne Hackborn :) Mar 06 07:18:04 Ultimately, I think Android should make it very clear that ALL communication between processes is ASYNCHRONOUS. At the very least this would eliminate having to write applications which require an additional thread to manage synchronous communication with a service, which in the end is just a long winded and resource consuming way of reimplementing asynchronous communication. Mar 06 07:18:23 With that, I'm done. Mar 06 07:37:56 any one working in maps????????????????? Mar 06 07:38:08 anyone have any luck with a sound notification? Mar 06 07:38:21 sandesh: I've used maps in some apps Mar 06 07:40:08 ok see zhobbs i m a beginer developing JOSM application for android and API of josm is in javascript... tell me if u know how to go abt it Mar 06 07:41:07 sorry, don't know anything about JOSM Mar 06 07:41:16 zhobbs: JOSM is java openstreetmap editor Mar 06 07:41:46 its an editor with javascript API Mar 06 07:42:39 so you'll probably want to be drawing overlays onto maps? Mar 06 07:43:17 I believe that the only Javascript support Android comes with is in WebKit, and I'm not sure how good it is. If you have to port Rhino, it may be a little too big. Mar 06 07:45:49 grr, fucking parcelable bug Mar 06 07:57:13 ya Zhobbs Mar 06 10:46:07 morning Mar 06 10:47:05 m Mar 06 10:48:57 zup **** ENDING LOGGING AT Thu Mar 06 10:59:56 2008