**** BEGIN LOGGING AT Fri Apr 13 02:59:58 2012 Apr 13 03:02:01 is sdk 19 only available through the sdk manager ? Apr 13 03:08:25 I wish like fuck android ui stuff was like silverlight Apr 13 03:08:27 er Apr 13 03:08:28 xaml Apr 13 03:09:15 i bet the android xml stuff came way before xaml did Apr 13 03:10:03 I just check busybox, looks like it also doesn't take -p param for top and ps command Apr 13 03:10:14 thats what I am saying Apr 13 03:10:25 busybox is aliased out to most of linux userland Apr 13 03:10:41 you cant really count on that stuff because its diff on every device Apr 13 03:10:44 UNLESS like he said Apr 13 03:11:02 you compile it and include it along with Apr 13 03:11:04 ndk style Apr 13 03:11:09 g00s undoubtedly Apr 13 03:11:19 but as far as frameworks go, they are similar Apr 13 03:11:30 actually, looks like xaml goes back to 2003/2004 Apr 13 03:11:53 oh well Apr 13 03:11:58 I had to build some apps with it Apr 13 03:12:07 man its so much easier to whip something nice up Apr 13 03:14:04 thanks, do you mean I can do this through ndk? Apr 13 03:14:38 should be able to yes Apr 13 03:14:50 cross compile another busy box, or specifically ps Apr 13 03:15:57 but there might be the same problem, will not work on every device as you said, isn't it? Apr 13 03:16:06 JakeWharton: Does ABS affect styling of ListView, or is it the ActionBar only? Apr 13 03:16:12 action bar Apr 13 03:16:47 only Apr 13 03:16:51 Alright. Apr 13 03:18:13 Hm, I wonder why isn't styling the ListView using the default components not working. Using ?android:attr/textAppearanceListItemSmall for textAppearance makes it be black/invisible, but textAppearanceItemSmall works albeit with a smaller font. Using any of the ?android:attr/listPreferred* crashes it outright. Apr 13 03:21:54 meh, fuck everything about this http://www.informit.com/store/product.aspx?isbn=013304047X Apr 13 03:26:00 Just because it's specialized? Apr 13 03:26:37 vadi2: when we need books for each variant of android, its over Apr 13 03:26:57 its just a gimmick to sell a book Apr 13 03:27:00 I don't think it's necessary, but it sure does sell and appeal directly to an audience/. Apr 13 03:27:02 ^ Apr 13 03:27:43 anybody get a blank DDMS file explore while using physical device? Apr 13 03:27:43 ron_frown: yeah, i guess. i can't tell offhand what the api diffs are between the kindle fire and regular android. Apr 13 03:28:02 radioact1ve: you will if you don't have permission to read a dir Apr 13 03:28:07 honestly I'd bet none Apr 13 03:28:14 MAYBE extra stuff to deal with amazon store Apr 13 03:28:16 ron_frown: there are apis missing Apr 13 03:28:34 the iab apis obviously different Apr 13 03:28:46 in app payments Apr 13 03:29:17 g00s: not sure i understand. Just want to see the files my app created on a physical device internal memory. works great with an emulator Apr 13 03:29:34 radioact1ve: yeah, you can't do that on an unrooted phone Apr 13 03:29:51 g00s: ahhh interesting... Apr 13 03:30:06 i wish it was possible w/o rooting; like developer perms for an app you installed Apr 13 03:30:10 its completely lame Apr 13 03:30:11 adb pull works though Apr 13 03:30:22 definitely Apr 13 03:30:37 seeing as mine is rooted any suggestions? Apr 13 03:30:44 adb shell Apr 13 03:30:45 su Apr 13 03:30:47 done Apr 13 03:30:54 nice Apr 13 03:41:00 hm... the JNI docs say "The JNIEnv provides most of the JNI functions. Your native functions all receive a JNIEnv as the first argument." but I get "env=0x0, obj=0x0" passed to my function. Has anyone every experienced this? Apr 13 03:52:01 something borked in JNI, probably on the caller side? Apr 13 03:54:36 how do I disable the fading on a HorizontalScrollView? Apr 13 03:54:38 edge fading Apr 13 03:54:41 on pre-HC Apr 13 04:03:03 hi Apr 13 04:03:49 how can I wait for this: findViewById(R.id.progressBar2) to be set so I can run setVisibility(View.INVISIBLE) on it in my AsyncTask ? Apr 13 04:05:01 start your task after calling findviewbyid? Apr 13 04:05:50 also, I don't think you can use setVisibility from async task Apr 13 04:05:50 Seems spinner_black_20 isn't available in API 15 Apr 13 04:05:55 unless you post it to the UI thread Apr 13 04:06:02 Is there another default image to use for the spinning-loading thing? Apr 13 04:06:23 you mean indeterminite progress bar? Apr 13 04:06:34 never even heard of spinner_black_20 Apr 13 04:07:11 Yeah, that Apr 13 04:09:39 not sure what the system default is Apr 13 04:09:44 but I think it varies by device Apr 13 04:24:51 seriously? Apr 13 04:27:38 ?android:attr/progressBarIndeterminateStyleSmall Apr 13 04:27:43 or something Apr 13 04:31:07 yep, thank you (http://developer.android.com/reference/android/R.attr.html#progressBarStyleSmall) Apr 13 04:31:45 anyone here have an opinion on amazon kindle books vs iBooks ? Apr 13 04:32:00 (which is a better experience) Apr 13 04:32:16 the formatting on the kindle books is often the suck Apr 13 04:33:37 sorry Apr 13 04:33:39 i read epubs Apr 13 04:34:02 most of the things i have found are not available in pubs :( Apr 13 04:34:07 *epubs Apr 13 04:34:14 not looking hard enough Apr 13 04:36:05 no … really, if there is no digital master its hard to find the book in any format, unless its ocr'd which sucks balls Apr 13 04:47:47 are here any ldpi devices out there ? Apr 13 04:48:01 i'm wondering if i should just get rid of my drawable-ldpi Apr 13 04:48:22 haha I have a bunch of ldpi devices =) Apr 13 04:48:30 but that wont affect anything you are working on Apr 13 04:48:31 :O Apr 13 04:48:33 fixed software =) Apr 13 04:49:43 g00s: kindle's format is just mobi with a bit flipped Apr 13 04:50:11 which is a subset of HTML in Palm resource database format. Which should tell you something about time it was designed for. Apr 13 04:51:26 g00s: get rid of it Apr 13 04:51:59 JakeWharton: awesome :) Apr 13 04:52:02 mind you, the effect was that the same books works without problems on old 240x320 ~4" screen, 2" 480x640, 3.2" 320x490 etc :) Apr 13 04:52:02 ldpi devices largely look like crap anyways unless you're designing the whole application around it Apr 13 04:52:06 they won't notice mdpi downscaled Apr 13 04:53:29 p_l: i purchased a photography book in kindle that was so f%$% bad, i got into an argument with the publisher Apr 13 04:54:09 so little effort went into the formatting, it was impossible to tell what was text, what was caption, what was sidebar, etc Apr 13 04:54:38 return it Apr 13 04:54:39 tables, images were not labeled so the text just said 'and n this picture …' and i had no idea what picture they were talking about. Apr 13 04:54:51 anyhow, they came back and said it was because the kindle format is so limited Apr 13 04:54:56 JakeWharton: yeah Apr 13 04:55:04 isn't there like a 3-day window? Apr 13 04:55:10 7 Apr 13 04:55:14 wow Apr 13 04:57:07 g00s: there's a new format available now, I think, and even then... what you described sounds like piss-poor PDF conversion (which is pure dumbfuckery for a publisher) or truly shitty automated conversion from Word Apr 13 04:57:30 yeah, it was probably shitty automated conversion Apr 13 04:57:47 but then again, the editor was like 'whats wrong with this?' Apr 13 05:24:15 i just thought of something Apr 13 05:24:36 google should have a statistic of the words that are floating around the irc Apr 13 05:25:19 so by the end of the month, they could prioritize what to work on based on the most frequently occuring words that are involved in a question Apr 13 05:25:24 such as actionbar Apr 13 05:25:52 it'll give them a clue that they should improve their actionbar tutorials/api Apr 13 05:26:28 why not just use ABS? Apr 13 05:26:59 abs would float to the top also Apr 13 05:27:01 :) Apr 13 05:27:11 then they might decide to create #android-abs Apr 13 05:29:43 Is a ListViews onScroll event supposed to be going off tens of times a second while I'm scrolling (before I even let go of it)? It's spamming so much. Apr 13 05:30:04 probably goes off for every pixel Apr 13 05:30:28 fucking cats http://www.nih.gov/news/health/apr2012/niaid-12.htm Apr 13 05:30:30 Heh, yeah Apr 13 05:31:22 g00s: ya, thats why they tell pregnant women not to handle kitty litter clean-up Apr 13 05:31:35 i always clean my cat's litter anyhow so no prob for her Apr 13 05:31:46 btw, i became a first time father on Saturday =) Apr 13 05:31:53 QubeZ: so you have t-gondii instead :D Apr 13 05:32:03 QubeZ: congrats !! Apr 13 05:32:04 g00s: i might :\ Apr 13 05:32:25 QubeZ: does the smell of cat urine seem appealing to you :? :) Apr 13 05:32:36 i remember the rats infected with t-gondii did Apr 13 05:32:50 (so they actually went to the cats to be eaten) Apr 13 05:32:55 g00s: no clue, i have too much newborn pee and poop on me to smell anything from the cat Apr 13 05:33:01 haha Apr 13 05:40:42 has onclicklistener been remove in android 4.0 ? Apr 13 05:40:58 no Apr 13 05:41:37 this is my code Apr 13 05:41:38 http://pastebin.com/QdPf27Ke Apr 13 05:41:47 I'm getting an error on the onClickListener Apr 13 05:42:04 and the error is...? Apr 13 05:42:31 Error 640: More Burritos Needed Apr 13 05:43:18 the type new view.OnClickListener must implement the inherited abstract method View.OnClickListener(View) Apr 13 05:44:02 what does that mean Apr 13 05:44:56 Are you sure that's the error message you get? Apr 13 05:45:04 yes Apr 13 05:45:12 it makes no sense Apr 13 05:45:25 i know Apr 13 05:45:39 i copied it from this page Apr 13 05:45:40 http://www.mkyong.com/android/android-button-example/ Apr 13 05:47:59 any idea Apr 13 05:48:56 did you copy it 1:1? Apr 13 05:49:13 yes Apr 13 05:49:49 i just want to display a message on a button click. i don't understand why its so difficult to do that Apr 13 05:50:01 it's not Apr 13 05:50:08 can you show us your entire source? Apr 13 05:50:52 http://pastebin.com/UQQpe9M6 Apr 13 05:51:31 I'm getting the error on line 27 Apr 13 05:51:38 the onClick method is commented out Apr 13 05:51:39 that's why Apr 13 05:51:44 no it snot Apr 13 05:51:48 yes it is Apr 13 05:51:49 its not the reason why Apr 13 05:51:59 if i uncomment it i get even more errors Apr 13 05:52:13 you don't import Intent Apr 13 05:52:16 nor Uri Apr 13 05:52:39 (you also never invoke addListenerOnButton) Apr 13 05:53:00 how do i do that Apr 13 05:53:29 lol, so much errors in such a small file Apr 13 05:53:44 why didn't you copy it 1:1 and test it first? ;) Apr 13 05:53:45 look at the example you linked to earlier Apr 13 05:53:47 devslash: don't doubt romainguy! Apr 13 05:53:56 yea the sample code i copied it from is full of errors Apr 13 05:54:01 onScroll is going off without me touching it even, just with the footer showing. So it all loops. Rah. Apr 13 05:54:15 devslash: no it's not Apr 13 05:54:17 its only full of errors because you didn't Import the classes you need Apr 13 05:54:22 devslash: your copy is not the same Apr 13 05:54:39 are you using eclipse? Apr 13 05:54:47 Ctrl+Shift+O and be happy Apr 13 05:55:02 Or Cmd+Shift+O on Mac Apr 13 05:56:33 yea Apr 13 05:56:38 romainguy: since you did that listview talk. what should i use if i want a big tablelayout, 2d scrollable and mabye pinch to zoom? html5? ;D Apr 13 05:56:52 tobib: a good code editor Apr 13 05:56:53 ok it runs. this is my code: http://pastebin.com/uZd0yLr3 now I'm back to my original problem. the toast never appears Apr 13 05:57:08 you never call the addListenerOnButton() method Apr 13 05:57:13 so the listener is never added Apr 13 05:57:45 how? Apr 13 05:57:46 romainguy: how do you mean that? Apr 13 05:57:55 If I only want to show a footer in my listview when it's loading more items - would it be good practice to call addfooterview/removefooterview, or is there a way to disable them from showing? Apr 13 05:58:00 devslash: call your function! Apr 13 05:58:03 devslash: you need to call addListenerOnButton(); like on line 21 Apr 13 05:58:06 from where ? Apr 13 05:58:11 oncreate Apr 13 05:58:13 devslash: look at the example you linked to... Apr 13 05:58:44 doesn't setOnClickListener link the button and the click event ? Apr 13 05:58:51 it does Apr 13 05:58:55 heh Apr 13 05:58:59 devslash: it does but you never call the method to actual do it Apr 13 05:59:00 but it doesn't work Apr 13 05:59:05 how ? Apr 13 05:59:07 im confused Apr 13 05:59:09 because you do not call the method addListenerOnButton() anywhere Apr 13 05:59:16 read the example you linked to ealier Apr 13 05:59:21 it shows you exactly what to do Apr 13 05:59:22 devslash: fucking shit man, just put this on line 21: addListenerOnButton(); Apr 13 05:59:23 but that code doesn't have that method Apr 13 05:59:24 \ Apr 13 05:59:28 $ adb install package.apk Apr 13 05:59:28 Failure [INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING] Apr 13 05:59:29 lol Apr 13 05:59:35 what have i done? Apr 13 05:59:42 you created that addListenerOnButton() method and you need to invoke it from oncreate Apr 13 05:59:47 devslash: yes it does Apr 13 05:59:53 read it carefully Apr 13 05:59:53 devslash has to be trolling :/ Apr 13 06:00:01 tobib: at this point I hope so Apr 13 06:01:02 $10 says he calls it before setContentView() Apr 13 06:01:42 but my question. my tablelayout has like 1k textviews. should i keep the refs in memory if i want to change the data? it's probably much less expensive than calling on create again, eh? Apr 13 06:02:28 tobib: 1,000 TextViews? Apr 13 06:02:29 wtf :) Apr 13 06:02:37 well how would you display a table? :( Apr 13 06:02:42 with 100 rows Apr 13 06:02:46 i tried listview Apr 13 06:02:50 virtualize it Apr 13 06:02:55 like ListView Apr 13 06:02:57 but then i have the width prob Apr 13 06:03:25 somewhere on SO you said one shouldn't bother to implement something like listview for tables Apr 13 06:03:27 lol Apr 13 06:03:44 either I was drunk Apr 13 06:03:46 or you are lying :) Apr 13 06:03:57 or I was talking about a small set of data Apr 13 06:04:07 but the problem is Apr 13 06:04:13 i could use listview, BUT Apr 13 06:04:24 i'm, relying on the auto width thing Apr 13 06:04:36 so every column is same width Apr 13 06:04:46 i would need to render every tv anyway Apr 13 06:04:52 to get the maxwidth Apr 13 06:05:28 if i knew the columnwidths beforehand i would just use listview Apr 13 06:05:44 take the easy way out -- use a webview :) Apr 13 06:06:06 yeah as i said before that would also solve the 2d scrolling and pinchtozoom problem Apr 13 06:06:07 ;P Apr 13 06:07:27 it's a proof of concept anyway and i'd recommend to use something like phonegap instead of a native app Apr 13 06:08:36 i guess we fixed devslash's problem, apparently not a troll Apr 13 06:09:08 Morning gents (assuming anyone is even here :P) I'm having a small problem where my longclick call back isn't happening, my on click handler is instead Apr 13 06:09:13 It's really impressive Apr 13 06:09:21 how you can mess up a small copy&paste Apr 13 06:09:28 and don't see the difference Apr 13 06:11:18 we were all inexperienced once Apr 13 06:11:45 http://pastebin.ca/2135587 here's the code Apr 13 06:13:50 Is it the order I put them in? Or can I not specify both or something? Apr 13 06:14:02 LocationManager.PROVIDERS_CHANGED_ACTION -- What change does this correspond to, the set of providers (from [String] getAllProviders()) or when the LocationProvider for a provider type changes? Apr 13 06:22:25 edude03: is it working if you don't add the onclick? Apr 13 06:22:44 About to try that, but I think I figured out why Apr 13 06:23:10 I just spent two hours debugging a Guice problem Apr 13 06:23:23 turns out I was using standard Guice instead of the no_aop variant Apr 13 06:23:27 total fail Apr 13 06:24:53 JakeWharton: are you using juice on android ? Apr 13 06:25:03 guice Apr 13 06:25:05 yes Apr 13 06:25:09 everywhere Apr 13 06:25:10 OK got it! Apr 13 06:25:22 I had to use AdapterView not view Apr 13 06:25:34 we have to use Guice Apr 13 06:25:39 just like we have to use ABS Apr 13 06:25:42 :) Apr 13 06:25:46 heh Apr 13 06:26:09 for some reason, i never thought ' i could use an ion container' when doing android Apr 13 06:26:12 no idea why Apr 13 06:26:13 I used Guava in one of my hack week apps Apr 13 06:26:18 *ioc Apr 13 06:26:38 Guava + Guice + ABS + Fragments + Loaders Apr 13 06:26:40 pure bliss Apr 13 06:27:22 except I used Jackson over GSON and was chastised Apr 13 06:27:30 OK, another small issue, I'm using @android:style/Theme.Black.NoTitleBar.Fullscreen in my splash manifest, but it looks like this http://dl.dropbox.com/u/9720998/2012-04-13%2002.25.49.png Apr 13 06:27:37 How can I get it full screen? Apr 13 06:28:43 does android support multiple gps providers? Apr 13 06:29:32 aren't cell location and gps location technically two providers? Apr 13 06:29:43 yes Apr 13 06:30:08 but i'm wondering if it is possible to have multiple providers for one type Apr 13 06:30:26 JakeWharton: what parts of guava did you use ? Apr 13 06:30:43 the EventBus Apr 13 06:30:47 mostly Apr 13 06:30:55 yeah, me too. i filed a bug, but it was never fixed Apr 13 06:30:59 and some of the collections and their helper Apr 13 06:31:02 WeakReference? Apr 13 06:31:08 no Apr 13 06:31:13 it's open source you know... Apr 13 06:31:14 messing around with it I can see the backing LocationProvider for each type changes frequently, but I'm wondering what if a device has multiple gps hardware Apr 13 06:31:22 fix it yo self! Apr 13 06:31:35 JakeWharton: uh, have you tried submitting a patch to them ? Apr 13 06:31:41 not yet Apr 13 06:31:42 it amounts to 'ok, thx; Apr 13 06:32:06 send me your fix Apr 13 06:32:33 anyhow, i wanted my event bus to not depend on the rest of guava, although now i really don't care. the main thing really was providing an unregister (which guava event bus did not have) and caching the reflection operations Apr 13 06:33:00 romainguy: Do you know if Android supports multiple GPS hardware? Apr 13 06:33:06 i'm going to do the weak reference patch when I get a chance Apr 13 06:33:13 have a lot on my personal library plate at the moment Apr 13 06:33:25 i have an ever-growing list of OSS contributions I need to make/finish Apr 13 06:35:06 JakeWharton: are you using vanilla guide, or roboguice or something ? Apr 13 06:35:21 just guice Apr 13 06:37:00 does anyone know how I can define a JNI method of a subclass? I got "public class myClass { public class subClass { private native int foo(); } }" and "JNIEXPORT jint JNICALL Java_org_my_app_myClass_subClass_foo(...);"... Apr 13 06:38:03 but I keep getting "No implementation found for native Lorg/my/app/myClass$subClass;.foo (Ljava/lang/String;)I" Apr 13 06:39:05 JakeWharton: have you seen any presentations on how places where guice makes android dev easier? i understand ioc, but i guess i tend to 'inject manually' using ctors Apr 13 06:39:22 on android, anyhow. loved spring Apr 13 06:39:34 i tried spring once Apr 13 06:39:34 well, i liked the concept, but spring got out of control Apr 13 06:39:54 felt like wearing cement boots while trying to sprint Apr 13 06:40:11 also, XML configs suck Apr 13 06:40:18 * JakeWharton glares at ant Apr 13 06:40:24 hehe Apr 13 06:40:45 man, when you fuck up that spring xml config file and it blows up creating its beans Apr 13 06:40:52 its a pitAAAA Apr 13 06:45:38 anyways, no i haven't seen anything specific about Guice on Android making things easier Apr 13 06:45:58 * g00s is looking around and keep pulling up roboguice Apr 13 06:46:09 I just think of it like dependency management Apr 13 06:46:54 Rather than me managing reps manually (like shitty ant) I just specify what I want and let the module figure it out Apr 13 06:46:59 *deps Apr 13 06:47:41 perfect for testing Apr 13 06:52:54 my object graphs haven't gotten complicated enough to think about DI with a tool. i just manually instantiate everything using new and 'constructor injection'. Apr 13 06:53:13 if it got more complicated i would think about using guice Apr 13 06:53:42 ant copy doesn't overwrite files?!? Apr 13 06:54:03 seriously Apr 13 06:54:07 why don't people just use bash?!? Apr 13 06:58:14 interesting, sounds like google is focusing on the low end tablet market Apr 13 06:58:55 I *love* it how the play store allows you to interact with your customers... "Worthless! I know where I am! Wanted to track other stations and search for a specific call. Money back?" Apr 13 06:59:05 (a 1-star review I can not do anything about) Apr 13 06:59:29 cat Ge0rG > /dev/null Apr 13 07:00:08 JakeWharton mv Ge0rG /dev/null Apr 13 07:00:29 harsh! Apr 13 07:00:35 at least I let him live :) Apr 13 07:00:36 now would you please stop playing with my inodes? I have a real problem here! Apr 13 07:00:58 dd if= Ge0rG of =/dev/null bs=4096 Apr 13 07:01:28 shred -n 200 edude03 :D Apr 13 07:01:33 edude03: you need to turn the bullshit parameter to at least 1MB to make it effective. Apr 13 07:02:13 gp, dd if=/dev/zero of= Ge0rG BS=4M Apr 13 07:02:18 yeah! Apr 13 07:04:37 Hello there :) Apr 13 07:04:51 I need recommendations for default memory and disk caching solutions for image downloads Apr 13 07:05:21 for broad, generalized cases Apr 13 07:05:26 the impl is pluggable for more specific needs Apr 13 07:05:47 but the default case should be good enough for any and every use case Apr 13 07:07:59 I'm thinking 5MB Disk LRU Apr 13 07:08:54 not sure about mem Apr 13 07:10:39 actually I may do time-based for default Apr 13 07:11:44 JakeWharton: has anyone from google submitted patches to abs ? Apr 13 07:12:02 mrenouf|away has Apr 13 07:12:06 just curious. wondering how big the community involvement is nowadays Apr 13 07:12:21 abs? Apr 13 07:12:30 abs, min, max Apr 13 07:12:32 http://abs.io Apr 13 07:12:33 :) Apr 13 07:12:33 AcionBar Sherlock Apr 13 07:12:36 floatmath Apr 13 07:12:43 ah Apr 13 07:12:47 floatmath is horribly slow. Apr 13 07:12:52 Only the single greatest library for android. Apr 13 07:16:32 it's rubbish really Apr 13 07:19:41 hello I m building an Android OS 2.3 .... can I able to knew... how we can select our own apps.... while building Android FS? Apr 13 07:22:57 boom Apr 13 07:23:41 one day I'm just going to fully mavenize our build and alias 'ant clean dist' to 'mvn clean verify' Apr 13 07:23:58 is there a RDP client on android to control my windows? Apr 13 07:24:08 yes Apr 13 07:24:11 search RDP in Play Store Apr 13 07:24:55 what do you recommend? JakeWharton Apr 13 07:25:06 I don't use Windows Apr 13 07:25:17 there are many RDP in there Apr 13 07:25:24 ask around in #android Apr 13 07:25:45 ok, thank you Apr 13 07:30:28 I set a property in ant to true Apr 13 07:30:33 how do I skip something if it's true Apr 13 07:30:52 i hate ant Apr 13 07:31:12 Apr 13 07:31:15 every time i have to fuck with it, i have to reread the whole damn manual Apr 13 07:31:28 i'm learning via IntelliJ's autocomplete :) Apr 13 07:31:44 ? Apr 13 07:31:49 that was supposed to be a question Apr 13 07:32:34 nope Apr 13 07:36:18 JakeWharton: do you guys all use git at square ? Apr 13 07:36:23 yeah Apr 13 07:36:26 we have GitHub enterprise Apr 13 07:36:44 did you see the 'm' key on github now :) Apr 13 07:37:03 I did not Apr 13 07:37:12 go to guthum.com and press m Apr 13 07:37:14 I know Markdown and GFM by heart now though Apr 13 07:37:17 *github Apr 13 07:37:21 hehe Apr 13 07:37:23 I write emails in markdown by accident somethmes Apr 13 07:39:15 supposedly JIRA has markdown support but ours isn't enabled or something Apr 13 07:39:26 but I write ticket descriptions using it anyways Apr 13 07:43:36 ant is insane Apr 13 07:43:50 I hated it without ever using it Apr 13 07:44:04 now that I use it, it's like my hatred has grown by an order of magnitude Apr 13 07:44:27 he mad Apr 13 07:44:33 are you a maven fan then Apr 13 07:44:41 maven and sbt Apr 13 07:44:48 or bash Apr 13 07:44:50 or python Apr 13 07:44:56 or anything Apr 13 07:45:09 but ant is just so easy Apr 13 07:45:11 sorta Apr 13 07:45:14 yeah, no Apr 13 07:45:33 if it had a nice del, i would like it better Apr 13 07:45:36 *dsl Apr 13 07:45:59 all our build.xmls are probably a few hundred lines Apr 13 07:46:10 i'm wiling to bet they could be consolidated to 50-75 lines in bash Apr 13 07:46:56 i might argue that it'd kinda a) leave windows users in the shit, b) be less maintainable, and c) not integrate well with any ide Apr 13 07:47:14 but i can't really argue with the guy who made abs :< Apr 13 07:47:53 a. fuck windows, we don't use it :), b. it's the same commands as the build.xml's but not bastardized into xml, and c. our IDE doesn't use ant to build Apr 13 07:48:02 i'm not saying I ever would do this (because I wouldn't) Apr 13 07:48:08 but it would be an interesting comparison just to see Apr 13 07:48:31 I'd rather move to maven or sbt where you don't have to tell the build system how to do its job Apr 13 07:48:43 with bash you'd still be telling it what to do Apr 13 07:48:48 what os do you use for dev? Apr 13 07:48:57 OS X now... Apr 13 07:49:00 used to be linux Apr 13 07:49:03 fair enough Apr 13 07:49:24 you're right about the portability of a bash script though Apr 13 07:49:26 heh, i was on linux for over 10 years then switched to os x, and i'm thinking about switching again back to windows 8 Apr 13 07:49:29 i understand why it was chosen Apr 13 07:49:37 i just loathe it with a passion Apr 13 07:49:47 windows 8 is horrid Apr 13 07:49:57 i'll have to wait to see more about it Apr 13 07:50:08 i mean, i think os x is a working linux, but still horid Apr 13 07:50:14 I have been using the consumer preview as my main os for a while Apr 13 07:50:31 of course os x has nothing to do with linux :) Apr 13 07:50:55 they both… have a shell! Apr 13 07:51:03 heh Apr 13 07:51:05 indeed Apr 13 07:51:35 i would have just stayed on linux, but wanted to try things like adobe lightroom Apr 13 07:51:50 and ubuntu just seemed to be getting more and more unstable Apr 13 07:52:10 i would sorta like to move to linux, but I figure it'd take a while for me to get it set up like I have windows atm (shortcut keys and such) so I just use cygwin when i need grep/vim Apr 13 07:52:32 storkme: you can use ack on windows i think Apr 13 07:52:38 i prefer it to grep any day Apr 13 07:52:44 i used cygwin when on windows Apr 13 07:52:52 cygwin + Console 2 Apr 13 07:53:42 never used ack Apr 13 07:56:19 i need to go home Apr 13 07:56:33 and to the gym Apr 13 07:57:17 JakeWharton: gym ? Apr 13 07:57:21 are you serious ? Apr 13 07:57:33 there is food here 24/7 Apr 13 07:57:38 and beer Apr 13 07:58:06 need to drop some el-bees Apr 13 07:58:42 simple, go to the gym and do aerobics on a fasting stomach Apr 13 07:58:54 at least 8 hours no food in th ebelly Apr 13 07:59:01 so, mornings? Apr 13 07:59:06 yeah Apr 13 07:59:17 stop eating at midnight, go to gym when I wake up Apr 13 07:59:39 yep Apr 13 07:59:40 right. a few times do interval training , like hiit Apr 13 08:00:01 i dunno about aerobics though, sounds pretty gay Apr 13 08:00:06 (in b4 readme) Apr 13 08:00:14 lift some weights Apr 13 08:00:21 i'm actually not sure if hiit will matter if on empty stomach or not Apr 13 08:01:14 i need a way to be able to jog and read Apr 13 08:01:15 or job and program Apr 13 08:01:18 jog Apr 13 08:01:54 its scary, but it doesn't matter how much you exercise it seems; even if fit; if you sit most of the day, its an early death it seems Apr 13 08:02:07 http://www.wired.com/underwire/2012/04/breaking-bad-gifs/ Apr 13 08:02:17 g00s: i stand a lot Apr 13 08:02:31 we have a lot of standing desks Apr 13 08:02:38 i still haven't watched that show Apr 13 08:03:08 JakeWharton: http://well.blogs.nytimes.com/2010/12/15/phys-ed-the-benefits-of-exercising-before-breakfast/?src=me&ref=general Apr 13 08:03:24 I eat breakfast at work Apr 13 08:03:26 so that would be perfect Apr 13 08:04:13 starting next week i'll do that Apr 13 08:04:51 asleep at midnight(ish), up at 7:30, gym for a half hour, shower, work by 9 for breakfast Apr 13 08:04:56 i used to run 9 miles before breakfast Apr 13 08:05:05 f that Apr 13 08:05:09 i'll walk 2 Apr 13 08:05:11 or 3 Apr 13 08:05:14 hehe Apr 13 08:05:26 only took 1:15 and i was slow :) Apr 13 08:05:38 I should just walk to the bay and back or something Apr 13 08:05:42 rather than in a gym Apr 13 08:06:08 stressful aerobics is required to shunt telomerase shortening Apr 13 08:06:23 O_o Apr 13 08:06:54 * Ge0rG is walking down to the bakery for some sweets as an excercise. brb. Apr 13 08:07:43 lol Apr 13 08:07:51 JakeWharton: http://www.ncbi.nlm.nih.gov/pubmed/19948976 :) Apr 13 08:08:44 anyhow, i wish i had some sort of walking desk Apr 13 08:09:50 i don't understand this 'git does not track directories' thing Apr 13 08:09:57 git tracks files Apr 13 08:10:08 if the file is in the directory then it knows about the directory Apr 13 08:10:13 if you mkdir lkahwdflhaweflha Apr 13 08:10:22 there are no files in it so git doesn't know about it Apr 13 08:10:29 ooooh Apr 13 08:10:30 if you want empty dirs in git put an empty .gitignore file in it Apr 13 08:10:43 ok, as a placeholder, interesting Apr 13 08:10:46 thx Apr 13 08:11:26 'put a .gitignore file in this dir so git does not ignore' … lol Apr 13 08:11:34 git init; mkdir test; git status; touch test/hello.txt; git status Apr 13 08:12:07 ok, thanks Apr 13 08:12:32 alright Apr 13 08:12:33 time to go home Apr 13 08:12:39 gnight Apr 13 08:12:46 night Apr 13 08:14:10 leaving my laptop to promote sleep Apr 13 08:22:19 * hackkitten glomps g00s~ Apr 13 08:22:29 hi hackkitten :) Apr 13 08:22:35 hi :D Apr 13 08:22:43 * hackkitten wonders whether g00s bought her game :o Apr 13 08:22:46 *^-^* Apr 13 08:23:52 O . O Apr 13 08:23:59 :o Apr 13 08:24:03 i just made up an emoticon i think Apr 13 08:24:08 yay~ Apr 13 08:24:13 what game Apr 13 08:24:19 http://www.nyanko.ws/game_heimen_no_heiwa.php Apr 13 08:24:21 that game~ Apr 13 08:24:45 i keep thinking hymen Apr 13 08:24:56 or himen :) Apr 13 08:25:07 that makes no sense to me Apr 13 08:25:20 :3 Apr 13 08:25:33 * hackkitten apologizes for speaking Japanese Apr 13 08:25:34 :P Apr 13 08:28:07 for what reason would log cat make a line break? Apr 13 08:28:20 i have a string and want to log it but it separates on to 3 lines Apr 13 08:28:25 if the string it's displaying has a \n ? Apr 13 08:28:30 its the same when I step through the code Apr 13 08:28:45 \n Apr 13 08:28:49 there is no \n Apr 13 08:29:13 It probably has newlines Apr 13 08:29:44 jiduvah: i have noticed that also, not sure what you can do Apr 13 08:30:00 and it wraps really weirdly Apr 13 08:30:05 its actually a header I am sending to authenticate with oAuth 2.0 but I think that is the problem some how Apr 13 08:30:10 its not wrapping Apr 13 08:30:25 it splits it into 3 Apr 13 08:30:40 at different points as well Apr 13 08:30:52 yeah, that sounds about what i see sometimes Apr 13 08:35:29 hey guys i need to rename packages in eclipse but when i refractor im running to some errors where it wont let me refractor Apr 13 08:36:15 refactoring the package name in the adt was (the last time i tried) a total fucking diaster Apr 13 08:36:19 *disaster Apr 13 08:36:41 it seriously munged the manifest and fucked up java code Apr 13 08:36:54 i had to pull a backup Apr 13 08:37:08 g00s: its saying files are out of sync Apr 13 08:37:19 im wondering if a simple refresh on the .java files will solve the problem Apr 13 08:37:25 oh, go to the root of the project and press f5 Apr 13 08:37:29 yeah, refresh Apr 13 08:49:27 Hello, what sorcery do you guys use to wrap text around an image? Apr 13 08:56:25 hi..ö Apr 13 08:56:27 oh! Apr 13 08:57:27 hi Apr 13 08:57:50 why can i have this in my *Oncreate method..but not in my method thats been called on in the oncreate method? Apr 13 08:57:51 Intent lVideoIntent = new Intent(null, Uri.parse("ytpl://"+"E4B292D1FF5583DD"), this, OpenYouTubePlayerActivity.class); Apr 13 08:58:16 I wont find a parameter matching intent.. Apr 13 08:58:26 but it will in the oncreate method.. Apr 13 08:58:30 wierd..? Apr 13 08:58:31 you have to specify an action? Apr 13 08:59:10 i try to set it in a: listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { Apr 13 08:59:42 so if the user clicks on the listitem, an intent will fire up.. Apr 13 09:00:15 jellenagels did that answer your question? Apr 13 09:01:14 no, not that action Apr 13 09:01:15 i mean Apr 13 09:01:22 new Intent(String action, Uri data); Apr 13 09:03:34 jellenagels i dont know why they use intent like this it not my code.. but they use intent like that: new Intent(null, Uri.parse("ytpl://"+"E4B292D1FF5583DD"), this, OpenYouTubePlayerActivity.class); Apr 13 09:05:50 is it possible to set an imageview to be a percentage in size of the screen ? Apr 13 09:06:18 yeah. RTFM Apr 13 09:19:13 63% percent of my users are using android 2.3.3 Apr 13 09:20:47 NotificationObject.number doesn't work with Android 4.x ? Apr 13 09:23:14 Hi all, I have a question. I have a list activity and I need to update the list items when I receive a broadcast Intent. Infact I need to receive updates both when the activity is in foreground and in background. If it is in foreground, I want to update the list with Intent.data. Apr 13 09:23:20 how can I achieve this? Apr 13 09:35:12 I am using base64 to encode a byte array but it seems to be adding line breaks Apr 13 09:35:18 anybody know how I would stop this? Apr 13 09:35:54 jiduvah: strip the line breaks away or check if your encoder supports a text width parameter? Apr 13 09:36:53 GeoOrG: how do I strip line breaks away? Apr 13 09:37:43 jiduvah: you use yo momma Apr 13 09:38:59 jiduvah: http://lmgtfy.com/?q=java+strip+away+line+breaks Apr 13 09:39:21 Base.NO_WRAP is what I needed Apr 13 09:39:36 I was using Base.DEFAULT Apr 13 09:39:48 pragma-:good one Apr 13 09:40:16 "your momma is so fat, she line-breaks base64"? Apr 13 09:40:52 :| Apr 13 09:50:15 hi Apr 13 09:50:48 I want to synchronize pictures to Picasa, but the problem is that if user doesn't have profile created, I get an error. Does AccountManager have a function for that? Apr 13 09:52:21 Hi all, I have a question. I have a list activity and I need to update the list items when I receive a broadcast Intent. Infact I need to receive updates both when the activity is in foreground and in background. If it is in foreground, I want to update the list with Intent.data. Apr 13 09:52:23 how can I achieve this? Apr 13 09:59:54 how do i pull/push files with adb which are in a root directory like /data ? Apr 13 10:08:12 hi everybody Apr 13 10:08:28 is adobe air installed on an android 2.3? Apr 13 10:09:09 native installed Apr 13 10:16:07 hi, why can i do this: Uri.parse("ytv://"+ "R-yX3l_zRcw&hd=1") but not:Uri.parse("ytv://"+ myVideoString) Apr 13 10:16:16 so wierrd.. Apr 13 10:17:30 must i use concat.. Apr 13 10:17:38 beStKodeReveR: why wouldn't you be able to use the latter? Apr 13 10:19:45 maraz i dont know.. but when i use concat it works.. Apr 13 10:19:57 it must be some hardware issue ;-) Apr 13 10:22:42 beStKodeReveR: well, concat is faster, too. Apr 13 10:35:10 *bets it's a missing final-modifier* Apr 13 10:35:58 My activity's onResume doesn't seem to be getting called if I background the process, kill it, and start the app from the ICS recent apps list... Apr 13 10:36:01 any ideas? Apr 13 11:04:31 hackkitten: poke? Apr 13 11:05:11 Anyone know any good ways to change the highlight style with Gallery when using textviews instead of imageviews? Apr 13 11:26:08 What is the recommended setup for developing android apps? Apr 13 11:26:41 eclipsification Apr 13 11:46:35 big as desktop Apr 13 11:46:39 ass Apr 13 11:47:35 no, YOU'RE big as desktop, ass Apr 13 12:37:22 when I trying to download many multiple images(about 20 images at once) that has https url using AsyncTask, response was too slow. what's the problem? Apr 13 12:42:19 hjpark, queue the downloads in stead of doing them all in parallel Apr 13 12:42:42 and know when to cancel downloads (e.g. in a listview) Apr 13 12:43:23 and of course cache whenever possible Apr 13 12:47:51 use an thread pool with like 100 threads in it and do it all at once!! Apr 13 12:49:59 helo Apr 13 12:50:16 is I roteate the device is the Application destroyed ? Apr 13 12:52:09 no Apr 13 12:53:02 hjpark: your question answered itself. Try limiting your network connection thread pool to like 4 threads, or less if you're on mobile instead of wifi Apr 13 12:53:58 is the lcd_density unload read once from the build.prop file or does every app query it on boot. i.e, can i change the density at run time? Apr 13 12:54:19 .... please don't do that. Apr 13 12:54:50 no? Apr 13 12:55:30 is there an android shell available? Apr 13 12:55:38 Sometimes, someone thinks "Hmm, android is really not acting on my program in a way that I expect." Most people choose to fix their program. Some people decide to fix android instead. Apr 13 12:55:50 99% of the time, they're not fixing it, they're "fixing" it Apr 13 12:55:54 diverdude: adb shell Apr 13 12:56:08 lov: how do i access that? Apr 13 12:56:11 .... Apr 13 12:56:18 through... adb... Apr 13 12:56:28 sorry. Apr 13 12:56:31 Use the command line Apr 13 12:56:42 ensure that your android tools and platform-tools folders are in your paths Apr 13 12:56:45 hrm, i made a folder res/drawable-nodpi/blah/foo , when i reference it with @drawable/blah/foo - it doesnt work, is that normal? Apr 13 12:56:48 hmm on the phone or what do you mean? Apr 13 12:56:50 there is no gui tab for the ADT to do this. Apr 13 12:56:53 agree with you there. i, however, just want to change the dpi for certain apps on my note. i.e. set the dpi to 210 for gmail to get the tablet interface. and some apps works best with higher dpi. i can't change all apps out there Apr 13 12:56:53 on your computer. Apr 13 12:56:58 on your computer open up a console and use adb Apr 13 12:57:06 ahh Apr 13 12:57:19 i meant if there is a shell available on the phone Apr 13 12:57:21 Bao: #android-root is your best bet for this question. Apr 13 12:57:27 anyone ? Apr 13 12:57:40 diverdude: https://play.google.com/store/search?q=Terminal Apr 13 12:58:02 Insayne: right, you can't create subdirs Apr 13 12:58:21 it's unfortunate and it makes things more ugly but there's no workaround, sorry Apr 13 12:58:30 lov: so this channel is just for developing apps and not anything related to android itself? Apr 13 12:58:46 Bao: this channel is for people developing apps, yes. Apr 13 12:58:46 #android Apr 13 12:58:53 You might want to go to #android or #android-root Apr 13 12:59:02 ill try, thanks Apr 13 12:59:16 if you're developing apps, great, stick around, but please ask app dev related questions instead of "hay guys how 2 facebok" Apr 13 12:59:22 hi low Apr 13 12:59:28 and the services ? Apr 13 12:59:30 and/or please spend 2 minutes on google first before asking Apr 13 12:59:36 aLeSD: why don't you try it and see? Apr 13 12:59:54 hmm it cannot ssh :/ Apr 13 12:59:55 Insayne: is your R class build correctly Apr 13 12:59:55 I lov to chat with you Apr 13 13:00:38 lol Apr 13 13:00:44 lov, why are you telling my that in an insulting way when i obviously just did the opposite? :( Apr 13 13:01:14 ok Apr 13 13:01:21 I have a very strange behaviour Apr 13 13:01:32 Bao: sorry, I'm probably being rude. Apr 13 13:01:53 it's okay, it's the internet after all :) Apr 13 13:02:48 I am storing a reference of a View in the Application and if I rotate I can see it Apr 13 13:03:01 the prob is that I created that view at runtime Apr 13 13:03:04 aLeSD: wut. Broken. Please don't do that. Apr 13 13:03:32 Android is serializing the views ? Apr 13 13:03:39 no Apr 13 13:03:45 is the only way I see it can refind it Apr 13 13:03:54 or well, eh, maybe. Their state can be saved and restored automatically. Apr 13 13:04:10 aLeSD: please don't do this. Apr 13 13:04:21 aLeSD: use your activity's onSaveInstanceState method to store the state of the activity Apr 13 13:04:29 I'm not going to do it: I am refactoring my app Apr 13 13:04:29 and then use that information in your onCreate to set it appropriately Apr 13 13:04:56 please do not cache views anywhere outside of their activity; they are bound to a particular instance of an activity and should not be reused. Apr 13 13:05:12 lov : I am storing a graph in the Application cause it will be shared by many ... but the Leaf of the graph are views Apr 13 13:05:24 ..... don't do this please don't do this. Apr 13 13:05:35 or at least if you do this please don't ask us for help Apr 13 13:05:38 when it inevitably breaks Apr 13 13:05:39 so I have to find a way to not store the activity in the graph Apr 13 13:05:43 AGH Apr 13 13:05:46 what ? Apr 13 13:05:49 YOU SHOULD NOT BE CACHING ACTIVITIES Apr 13 13:05:49 CHRIST Apr 13 13:05:56 I am not ? Apr 13 13:06:05 I am storing a graph Apr 13 13:06:13 you're storing a graph that has references to contexts Apr 13 13:06:14 and now I want to remove the activity part Apr 13 13:06:18 which means that you are LEAKING CONTEXTS. Apr 13 13:06:24 ah Apr 13 13:06:29 it is hard to leak memory in java but you are doing it just fine! Apr 13 13:06:46 I am not sure whether to congratulate you or just leave Apr 13 13:06:46 * aLeSD rocks! Apr 13 13:06:57 I've two broadcast receivers, one is global registered via the manifest and the other as an inner class of an activity. Both of them receives broadcasts perfectly. But in the global one, I want to check if the activity is in foreground so that I can "Do nothing" since the local reciever will do what I want, and if the activity is not in foreground, I want to show a notification. How can I achieve this? Apr 13 13:07:06 lov I am usual to find the end of a framework Apr 13 13:07:32 hold on, does that mean i should get rid of my ActivityCache class?! Apr 13 13:07:32 napster: a trick for this is to use ordered broadcasts, and give the one you register dynamically a higher priority Apr 13 13:07:49 I think that CommonsWare has an exact sample for this Apr 13 13:07:58 so now I ask something to refactor the stuff Apr 13 13:08:38 I want the graph in the Application and "something" that has a View in the Activity Apr 13 13:08:51 the "something" is an observer of the graph Apr 13 13:08:54 lov: ok, let me digg on it, is there any other work arounds for this? Apr 13 13:08:55 suggestions ? Apr 13 13:09:57 napster: are these receivers for broadcasts that your app sends, or for something else? Apr 13 13:10:13 lov: It is coming from a webservice Apr 13 13:10:21 not from my app Apr 13 13:10:25 .... Apr 13 13:10:32 your webservice is sending a broadcast intent in android? Apr 13 13:10:38 or part of your app that talks to your webservice? Apr 13 13:10:39 yes Apr 13 13:10:43 or part of SOMEONE ELSE'S app? Apr 13 13:10:52 wait, you're actually running a webservice on the device? Apr 13 13:10:55 O_O Apr 13 13:12:26 Is it this, or is it that? -Yes Apr 13 13:13:08 napster: which is it? Is the webservice running on your phone? Is your app talking to a remote webservice? Is some OTHER app talking to a remote webservice? Please state one. Apr 13 13:13:24 Actually, on my device I run a service which is someone else's app's part. That service may be listening to a webservice (probably), anyway, it broadcasts. I wanted to receive those broadcasts Apr 13 13:14:15 lov: sorry for my English, (if there is any mistake) :) Apr 13 13:14:53 napster, I think you have to declare in the manifest the broadcast receivere and the Intent you want to recive Apr 13 13:15:33 aLeSD: hey, actually it is little more than that, can you scroll up? Apr 13 13:15:48 lol Apr 13 13:15:52 :) Apr 13 13:15:57 * aLeSD shut up Apr 13 13:16:36 I think I can't store my graph in the Application ... Apr 13 13:17:02 there's no way that it will not have a reference to something of the activity Apr 13 13:17:25 lov: It looks like priority is a good solution Apr 13 13:19:15 how big is the payload in c2dm/ Apr 13 13:19:17 in the end a good and right sentence could be: Apr 13 13:19:54 "Do not store references of Services, Activities etc etc in the Application" Apr 13 13:20:01 is it ? Apr 13 13:22:23 canadiancow|work: http://code.google.com/android/c2dm/ Apr 13 13:22:37 yea yea Apr 13 13:22:44 i was hoping someon ewould have the answer in 2 secs Apr 13 13:22:58 but they didnt, so i looked it up and wrote an email in the time it took for you to post that link :P Apr 13 13:23:03 canadiancow|work: funnily enough it took me about 2 seconds to google for c2dm and find it on that page ;) Apr 13 13:23:18 =D Apr 13 13:23:54 lov: wow 5 thread pooling performance is great. thanks. Apr 13 13:24:42 09:19:58 < aLeSD> "Do not store references of Services, Activities etc etc in the Application" Apr 13 13:24:45 this is correct. Apr 13 13:24:52 unless you really know what you're doing (and you absolutely do not) don't do this. Apr 13 13:25:02 lol Apr 13 13:25:04 ok Apr 13 13:25:14 I returned back to my old design Apr 13 13:25:39 napster: ok, the only problem is when you're relying on someone else's app, you can't just make changes to what they do :) Apr 13 13:26:05 however I think that all inside the Application can be garbaged and if I am storing referencies it can't Apr 13 13:26:53 lov: hmm, thanks bro Apr 13 13:28:03 aLeSD: I hesitate to point you to it but consider http://developer.android.com/reference/java/lang/ref/WeakReference.html Apr 13 13:28:06 TabActivity stores my views in rotations ... I promise I am not storing views outside the Activity Apr 13 13:28:28 lov: is there any other way to do this anyway? Apr 13 13:29:06 napster: technically you could keep a reference to your most recent activity and query it, but that's prone to a wide variety of PEBKAC development errors. Apr 13 13:29:26 hmm Apr 13 13:29:28 You could have your activity set a flag when it it pauses/resumes Apr 13 13:29:36 in a static variable somewhere Apr 13 13:29:43 which is probably safer Apr 13 13:30:00 but you'll need all of your activities which register the receiver to do this Apr 13 13:30:44 lov really why tabactivity is recreating automatically my runtime created views ? Apr 13 13:30:58 I honestly don't care. Apr 13 13:31:04 lol Apr 13 13:31:10 your app is probably so filled with failure at this point I don't even want to look anywhere near your code. Apr 13 13:33:21 I found the bug Apr 13 13:42:09 Welcome to Logitech Revue with Google TV. Apr 13 13:42:13 i get those emials like weekly Apr 13 13:42:14 wtf Apr 13 13:42:43 :o Apr 13 13:42:48 spam~ Apr 13 13:43:18 heh Apr 13 13:47:48 * abaratican ponders whether cows in canada say "eh" Apr 13 13:47:56 moo, eh Apr 13 13:48:28 sigh Apr 13 13:55:16 JakeWharton Apr 13 13:55:31 ....is your daddy. Apr 13 13:55:35 basically Apr 13 13:55:50 pretty much Apr 13 14:03:37 so in ABS, sometimes you need actionBarStyle and android:actionBarStyle (for ICS and pre-ICS) Apr 13 14:03:48 but other times you just need android:popupBackground Apr 13 14:03:49 s/sometimes/always/ Apr 13 14:03:59 should always specify both Apr 13 14:04:17 Apr 13 14:04:18 error Apr 13 14:04:21 no such popupBackground Apr 13 14:05:00 do you see docs for that value on android's docs? Apr 13 14:05:06 yes Apr 13 14:05:09 link? Apr 13 14:05:11 android:popupBackground works Apr 13 14:05:16 http://android-developers.blogspot.ca/2011/04/customizing-action-bar.html Apr 13 14:05:55 and it works Apr 13 14:06:03 ./res/values/abs__attrs.xml: Apr 13 14:06:05 ^ from ABS Apr 13 14:06:08 you using 4.0? Apr 13 14:08:02 it looks like you're supposed to specify it with android: to me Apr 13 14:08:32 if you look at that attrs xml file, for SherlockTheme it specifies attributes without a namespace... like name="actionBarTabStyle" Apr 13 14:08:46 but for SherlockSpinner, it uses name="android:popupBackground" Apr 13 14:09:07 so I'm guessing just using android:popupBackground is correct in this case. Apr 13 14:09:21 Though running it on a < 3.0 device and seeing if it works would confirm. Apr 13 14:11:44 well right now im just doing a mock, so as long as it works on 4.0, im good Apr 13 14:12:44 >_> Apr 13 14:12:46 <_< Apr 13 14:12:51 ^_^ Apr 13 14:12:59 i wonder is there way to get the menu object of Action Bar Sherlock at any time , from any method ? To click the action bar menu item (collapsible) programmatically Apr 13 14:13:18 uuratar: not one you can rely upon Apr 13 14:13:21 um what? Apr 13 14:13:33 you can programatically expand/collapise collapisble action items Apr 13 14:13:43 that's what i'm looking for Apr 13 14:14:04 though that's not the same thing as "programatically clicking it" necessarily Apr 13 14:14:31 yes maybe i misexpressed it Apr 13 14:14:34 MenuItem#collapseActionView() Apr 13 14:14:47 and #expandActionView() Apr 13 14:15:23 is it a method of SherlockActivity ? Apr 13 14:15:34 its a method of MenuItem... Apr 13 14:15:38 [10:14:33] MenuItem#collapseActionView() Apr 13 14:16:06 okay, in this case how can i reach the menuitem out of "onOptionsItemSelected" Apr 13 14:16:32 are you fucking serious? Apr 13 14:16:40 Well, if you create a variable in a method, and you need it outside that method.. What do you do? Apr 13 14:16:42 look at the method signature Apr 13 14:16:52 boolean onOptionsItemSelected(MenuItem) Apr 13 14:17:24 hi, I've got a question about using actionbar Sherlock Apr 13 14:17:48 man, all the kids are doing ABS these days... it's all the rage Apr 13 14:17:56 it's awesome. Apr 13 14:17:57 canadiancow|work: ok i get it , i can set it as a property i know, but what happens if user never called onOptionsItemSelected Apr 13 14:18:00 for the first time Apr 13 14:18:13 then do it when you create it? Apr 13 14:18:14 I used the Gauges app as an example to set it up neatly. Apr 13 14:18:14 i dunno Apr 13 14:18:16 ABS is turning kids into mass murderers Apr 13 14:18:18 and psychotics Apr 13 14:18:21 can we open #actionbarsherlock Apr 13 14:18:36 you mean: onCreateOptionsMenu Apr 13 14:18:38 I can build with maven, but Intellij keeps complaining Apr 13 14:19:28 uuratar: http://developer.android.com/reference/android/view/Menu.html#findItem(int) Apr 13 14:19:45 rtfm Apr 13 14:20:21 thank you guys, i'll give it a try. sorry for noob questions Apr 13 14:28:35 canadiancow|work && wongk thank you; i handled the situation in the onCreateOptionsMenu. Searched keyword is availble now when I rotate the device. Apr 13 14:30:34 so mister cow Apr 13 14:30:44 you working on anything interesting, or just reskinned games Apr 13 14:31:09 a lot of interesting stuff Apr 13 14:31:18 the funny thing is, im more able to talk about the interesting stuff than the non-interesting :P Apr 13 14:31:39 my job is to make the android stuff awesome Apr 13 14:31:48 better frameworks for faster/easier/better/more stable products Apr 13 14:32:06 and im trying to push android design paradigms into android versions Apr 13 14:32:14 hence why im working with ABS Apr 13 14:32:25 also trying some stuff on GTV Apr 13 14:32:44 another interesting thing I noticed of wharton's in ViewPagerIndicator, btw Apr 13 14:38:24 one thing I'm curious of is if there's a way to get the View for an actionbar item if it happens to be in the bar rather than the overflow menu Apr 13 14:38:36 .. in order to get its position on the screen Apr 13 14:45:59 lov: so WeakReference is the right way to handle a reference to a View in the code Apr 13 14:46:19 auto_ptr!? Apr 13 14:46:45 std::auto_ptr Apr 13 14:51:27 has anyone used Mono to develop native android apps? i am asking because the director at our sister company is proposing to use it, and im curious what the community thinks Apr 13 14:53:24 never heard of it Apr 13 14:53:53 http://xamarin.com/monoforandroid Apr 13 14:54:07 I'm unsure why people would even use mono on a desktop, much less android. Apr 13 14:54:25 i completely agree Apr 13 14:54:34 they have a nice website, so i'm guessing it's really really good Apr 13 14:54:39 im just trying to find a concrete argument as to why not use it Apr 13 14:54:44 why even care about mono Apr 13 14:54:51 tell them it's mono, that should work. Apr 13 14:54:57 lol.. Apr 13 14:55:41 well.. some points im thinking is that mono has been around for a long time, promising a platform to developing desktop apps across mac, linux and desktop.. and really, i dont know of a single successful commercial app written with it. it will be no different on mobile Apr 13 14:55:52 I don't see how they can promise "native code and full API access" at the same time as cross-platform portability. Apr 13 14:56:11 and also.. in general, writing a cross-platform dev framework is a near-impossible feat. there could be reusable components.. bu to have an application that will work the same across both isnt at all realistic Apr 13 14:56:48 if you want to make a good app for god's sake, just go straight to the native apis Apr 13 14:56:50 but then... they could say "well this is just for the android specificaly" .. then the question comes to.. why not use the native language (Java) .. and my argument would be for developer and community access to support the product Apr 13 14:57:51 elux: no third-party framework will give you the flexibility and the nativeness of native development. Apr 13 14:58:52 this is true. but, depends on how evolved the framework is.. from an old software director, he might say "well it's enough flexibility for the product we envision to build" Apr 13 14:59:02 and other business-types may nod their head.. because they dont know Apr 13 15:00:12 I don't know. I haven't written mono android apps. Apr 13 15:00:17 aLeSD: no, weakreference is vaguely acceptable to handle a reference to an activity (and it is still the wrong thing to do) Apr 13 15:00:19 my apps are all stereo. Apr 13 15:00:27 aLeSD: DO NOT CACHE REFERENCES TO VIEWS OUTSIDE OF ITS PARENT ACTIVITY. Apr 13 15:00:30 aLeSD: DO NOT CACHE REFERENCES TO VIEWS OUTSIDE OF ITS PARENT ACTIVITY. Apr 13 15:00:32 aLeSD: DO NOT CACHE REFERENCES TO VIEWS OUTSIDE OF ITS PARENT ACTIVITY. Apr 13 15:00:44 I don't know how many times I have to say it Apr 13 15:00:48 so I said it three times and bolded it Apr 13 15:01:10 those views are only valid for their parent context, and they KEEP A REFERENCE TO THEIR PARENT CONTEXT. Apr 13 15:02:05 ...and you always have to ask yourself: what happens if my parents get killed? Apr 13 15:02:27 that would be sad Apr 13 15:02:31 i like my parents Apr 13 15:02:59 so you are keeping a cached reference to them? Apr 13 15:03:13 guys Apr 13 15:03:18 oes a picture count? :P Apr 13 15:03:19 why did google change the name of the market to google play Apr 13 15:03:37 because google you to have fun Apr 13 15:03:42 now go have fun, damnit Apr 13 15:03:47 android is not a game Apr 13 15:03:47 because they are becoming hipsters Apr 13 15:03:49 *wants Apr 13 15:03:51 Shamisen: harebrained marketing in the middle of spring Apr 13 15:04:12 ): Apr 13 15:06:02 *beginning of spring Apr 13 15:06:07 It's just a brand name.. Apr 13 15:11:11 :) Apr 13 15:11:20 lov: I promise I will not do it Apr 13 15:12:38 I have a view that is an observer of the model. the model call notifyObservers() ... and I call postInvalidate() in the View Apr 13 15:13:30 than the ui thread get the values from the model in an Overriden draw(Canvas) . Apr 13 15:14:07 This is an elementary question: How does one add an image to an Android Eclipse project so that they can use the image as a resource? Apr 13 15:14:09 Hoping the design is good ... is there another place where to get the values ? I think draw has only to draw Apr 13 15:14:19 Also, does it have to be a jpg/png or bitmap? Apr 13 15:14:57 Jonathan_Eyre, I usually copy it inside the tree Apr 13 15:15:08 I tried just putting my pngs in the res folder and running project->clean, but that just made my project all angry. Apr 13 15:15:09 then F5 to refresh the tree in Eclipse Apr 13 15:15:19 F5 Apr 13 15:15:34 It saw the images, but it marked them all with red X's. Apr 13 15:15:39 iDoes it not allow PNG? Apr 13 15:15:45 it allows Apr 13 15:15:56 put it under res/drawable Apr 13 15:16:26 and I think that you have to use lowcase Apr 13 15:16:56 I have five folders in res: drawable-hdpi,drawable-ldpi,drawable-mdpi,layout,values Apr 13 15:17:11 one of the drawable* Apr 13 15:17:13 Do I need just a "drawable" folder? Apr 13 15:17:17 no Apr 13 15:17:20 not really Apr 13 15:17:44 drawable* deopends on the display features ... dpi resolution etc Apr 13 15:18:11 Hi guys, there is anyway to take picture without setting preview ? Apr 13 15:18:25 hmm, is there a reason the name "default.png" automatically should throw an error? Apr 13 15:18:38 the framework searchs for drawable* of the display is running on... if it doesn't find the right one ... thake from the other folder and resize Apr 13 15:19:04 strange Apr 13 15:19:32 So should I put all the images in all the folders? Apr 13 15:19:38 no Apr 13 15:19:50 or maybe ... it's better Apr 13 15:20:14 you can work with one image in only one folder Apr 13 15:20:26 res\drawable-hdpi\default.png:0: error: invalid symbol: 'default' Apr 13 15:20:30 :( Apr 13 15:20:41 if oyu want to optimize create different images with different dpi for each display Apr 13 15:20:50 change the name ? Apr 13 15:20:56 I guess... Apr 13 15:21:05 I need a small bit of advice, I want to make a widget that logs into the wifi's login page that you get redirected to when you connect to the wifi Apr 13 15:21:14 how would I make such a widget so it can store the individual's login information and then when they click the widget they can login automatically Apr 13 15:24:24 eddi3x3, is it to steal the password of your boss ? Apr 13 15:25:34 eddi3x3, maybe you can avoid to store the login info ... you ,maybe, can tell android to connect to a net Apr 13 15:25:53 it takes care about login infos Apr 13 15:26:02 no no no lol my school has a log in when you connect to the wifi, students find it very tedious to go into the web browser and log in every time so I thought I would make a widget that would store each student's username and password on their device Apr 13 15:26:04 eddi3x3: Logging into a wifi captive portal is a HTTP operation, so you'd need to do a http client; there's examples Apr 13 15:26:18 aLeSD: He's not talking about wifi auth, he's talking about post-wifi captive portal Apr 13 15:26:26 lol Apr 13 15:26:37 eddi3x3: That's a security nightmare however Apr 13 15:26:54 and when they click it it starts a service that will keep them logged in because sometimes when they move from building to building you have to re log in again Apr 13 15:27:03 eddi3x3: but, that's how you'd do it. org.apache.httpclient or somesuch, it's easily findable Apr 13 15:27:12 I'd really suggest you don't store their credentials Apr 13 15:27:26 why not? Apr 13 15:27:30 unless their wifi creds are different than their user account creds Apr 13 15:28:09 they are different, its a username and password specifically for logging into the wifi Apr 13 15:28:13 oh! Apr 13 15:28:16 Well go nuts then Apr 13 15:28:19 that's great actually Apr 13 15:29:07 Sounds like your IT dept has a clue; that's the way to do it. So those creds are FAR less sensitive than the students actual login creds. Apr 13 15:29:44 well anyhow - you don't need to make it a widget, you can have an app that starts on boot, runs a background service and catches the wifi connection event, and can determine if its connected to a SSID matching your campus network Apr 13 15:30:16 I'd catch the network event too, to wait until you get an IP. then you can just do a http (or preferably, https) client and do the appropriate POST command to log them in Apr 13 15:30:55 if i share somethign with an intent and they select say twitter, is there a way for me to detect that? i want to add some hashtags to the tweet Apr 13 15:31:02 For some reason, I can't seem to use a dark theme for the ActionBar but a light theme for everything else. I figured it should be possible since you can define your own styles for the ActionBar. I'm using ABS and I tried setting the actionBarStyle to the regular Widget.Sherlock.ActionBar but it's still using the Light theme for the AB. Apr 13 15:31:27 gaz`: I don't think so? Apr 13 15:31:40 http://stackoverflow.com/questions/5194209/android-r-java-doesnt-regenerate-in-eclipse-after-sdk-adt-update Apr 13 15:31:43 damn Apr 13 15:31:55 This person is trying to add an image just like I am. Apr 13 15:32:00 gaz`: Maybe startactivityforresult would get you something, but after the fact Apr 13 15:32:06 gaz`: so probably not useful Apr 13 15:32:06 yep Apr 13 15:32:10 oh wow...its the holo theme itself that controls which side of a dialog the positive button appears on? Apr 13 15:32:11 32GB cards are now $23 on amazon Apr 13 15:32:13 They say that it is a problem with the Android SDK... is this confirmed? Apr 13 15:32:13 time to buy one Apr 13 15:32:54 Do I really need to downgrade the SDK to add an image resource? Apr 13 15:33:02 no Apr 13 15:33:16 Jonathan_Eyre, default is a java keyword Apr 13 15:33:23 Jonathan_Eyre, you cannot use it as an identifier Apr 13 15:33:40 Jonathan_Eyre, resources cannot be named with any java keywords Apr 13 15:33:50 That does make some sense. Apr 13 15:33:56 *some*? Apr 13 15:33:56 Shamisen: Beware very slow cards Apr 13 15:34:05 Are numbers out as well? "57.png" Apr 13 15:34:19 Jonathan_Eyre, only valid java identifiers may be used Apr 13 15:34:28 Shamisen: and beware lexar, I've had 2 die on me Apr 13 15:35:14 Shamisen: I have an adata one sitting on the table I haven't used yet which got reviews Apr 13 15:36:10 "some" sense... for.jpg,default.bmp,while.png... these image names work in every other language I have tried. That Java cannot work with them seems like a hilarious oversight of the language. Apr 13 15:37:14 ok so my main activity for my app should be a service? or an activity that starts a service? Apr 13 15:37:17 Jonathan_Eyre: not at all. Apr 13 15:37:32 Jonathan_Eyre: you have to understand how the resource system is used. Any resources that you create get turned into R.drawable.filename Apr 13 15:37:37 Jonathan_Eyre, has nothing to do with the language Apr 13 15:37:40 You can then reference that value at runtime Apr 13 15:37:41 Jonathan_Eyre, it's how the sdk works Apr 13 15:37:54 That means that any keywords that would be bogus in Java can't be used in this case Apr 13 15:37:55 if you want to use image names that are not valid identifier names, put them in assets/ Apr 13 15:38:13 if you want to access them through R, and new resource filtering, put them in res/drawable* Apr 13 15:38:16 really, it's not a huge imposition. Just prepend the filename with "ic_" or something Apr 13 15:38:51 Jonathan_Eyre, if you don't understand why it doesn't work... you need to figure out how R allows you to access things better Apr 13 15:38:55 Don't just throw up your arms and say "Android doesn't do things exactly as I want it to at this minute, obviously the entire ecosystem is fundamentally broken" Apr 13 15:38:57 It is not a huge imposition, but is not/poorly documented. Apr 13 15:39:07 is not? Apr 13 15:39:23 when it compiles, it tells you that it can't be named after a keyword; that it is an invalid identifier Apr 13 15:39:31 that's quite clear documentation Apr 13 15:40:19 True, but it just blew up without any message on "57.png". That, I think, is less clear. Apr 13 15:40:50 without any message? Apr 13 15:41:03 Anyway, numbers and "default" and possibly some other names... "They don't work and don't complain about it." Apr 13 15:41:06 window -> preferences -> android -> build Apr 13 15:41:11 set that from "silent" to "verbose" Apr 13 15:41:19 you'll be told explicitly what went wrong and why Apr 13 15:43:18 is anyone having issues with the 3.x emulators and the new Eclipse plugin / SDK tools? every time i try to launch an application on the tablet emulator I get an EOF exception and the emulator disconnect Apr 13 15:46:06 lov: No cigar on "57.png". Verbose output describes the errors on "default.png" well, but has absolutely nothing to say about "57.png" failing. It just pops up saying that there were build errors. Without knowing that the "57.png" was the only change, there is nothing in the verbose compile output to say that it is bad. Apr 13 15:46:49 So yeah, no/poor documentation on that little tidbit. Apr 13 15:49:45 how can I make text bold (only 1 word) in a TextView ? Apr 13 15:50:24 i.e, text="blah blahbold" - is this possible ? Apr 13 15:51:29 Insayne: did you try that? Apr 13 15:51:30 Insayne, Html.fromHtml Apr 13 15:51:57 Insayne, alternatively, you can twiddle with Spannable by hand Apr 13 15:52:12 i was able to use with no issues Apr 13 15:52:38 Jonathan_Eyre: where are you looking? Apr 13 15:52:38 nah, I didn't try it, its not HTML :P Apr 13 15:52:43 Jonathan_Eyre: look at the console tab Apr 13 15:52:59 Jonathan_Eyre, eclipse sucks Apr 13 15:53:01 Jonathan_Eyre: make sure that it says "Android". If it says "DDMS" click the button that looks like a monitor, and change it to "Android" Apr 13 15:53:03 if you run ant builds Apr 13 15:53:05 it's pretty clear Apr 13 15:53:09 :| Apr 13 15:53:16 (eclipse basically does this in the background) Apr 13 15:53:19 eclipse tends to hide errors Apr 13 15:53:23 which is ultimately annoying Apr 13 15:53:29 easier for the newbie user my ass Apr 13 15:53:32 otoh, verbose output shows you the results of all of the commands it does Apr 13 15:53:47 so if you're not seeing ANY output, something is wrong with the environment, not the tools Apr 13 15:54:01 well, i meant more from within the XML that i can stylize only 1 word Apr 13 15:54:40 Yes, I looked at console. Yes, eclipse is a vacuum. Yes, it said Android. Yes, I saw some spectacular verbosity when compiling. No, it did not say anything was wrong with "57.png", but it failed anyway. Apr 13 15:55:00 example: I want to Bold This? for example Apr 13 15:55:08 is that possible ? Apr 13 15:55:16 Insayne, can't do it directly from xml Apr 13 15:55:25 ah, thats stupid Apr 13 15:55:35 you need to textview.setText(Html.fromHtml(R.string.myid)) Apr 13 15:56:05 I suppose you need a context reference in there as well Apr 13 15:56:07 and then my string can have HTML in it? Apr 13 15:56:09 with getString Apr 13 15:56:11 Insayne, yes Apr 13 15:56:16 ugh Apr 13 15:56:28 thats silly Apr 13 15:57:35 pfn: so are anchor tags treated specially then? Apr 13 15:58:51 is there something special i need to do for an onCancelListener in a dialogfragment? Apr 13 15:58:57 mines not being triggered Apr 13 16:01:15 wongk, no idea Apr 13 16:01:29 Jonathan_Eyre: I created a test project, and copied ic_icon.png to 57.png Apr 13 16:01:30 Description Resource Path Location Type Apr 13 16:01:30 Syntax error on token "57", invalid VariableDeclaratorId R.java /Testproject/gen/com/audible/testing line 14 Java Problem Apr 13 16:01:45 Double clicked the error Apr 13 16:01:49 took me to the line in the R.java file Apr 13 16:01:56 seems pretty reasonable to me. Apr 13 16:01:57 pfn: they work with no need for Html.fromHtml Apr 13 16:02:09 wongk, no idea Apr 13 16:02:24 wongk, so you have your tags escaped in string.xml? Apr 13 16:02:30 or in a cdata? Apr 13 16:02:34 nope Apr 13 16:02:40 and they just worked? that's odd Apr 13 16:02:44 yup Apr 13 16:02:46 Which editor/os are your working with? Apr 13 16:03:47 s/your/you/ Apr 13 16:03:53 http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling Apr 13 16:03:59 wongk, oh, I guess tags do work automatically Apr 13 16:04:12 really? Apr 13 16:04:54 lots of discussion to confirm something that could have been tried in ~30 seconds :P Apr 13 16:05:32 fwiw, i just tried it, it works Apr 13 16:06:18 pfn, thank you for the solution (I don't like it, but it works :D) Apr 13 16:06:33 Insayne, actually, review the last few lines here Apr 13 16:06:44 okay, sorry i went off to edit it Apr 13 16:07:57 hrm, doesnt work for me Apr 13 16:08:33 but anyhow, the other question I had, was i made myself a background using shapes, is there a way to include an image as backdrop ? Apr 13 16:08:46 keeping my gradient stuff as overlay ofc Apr 13 16:13:21 lov: In any case, it's an inconsistant bug. Apr 13 16:14:35 kk Apr 13 16:14:41 hi? Apr 13 16:17:58 can you inspect a theme at runtime? i feel like im not getting the right oen (i have a -v11 theme) Apr 13 16:18:16 anyone know about flashing sbf? Apr 13 16:19:21 i dont know what sbf is, but that quesitons sounds recovery/root related Apr 13 16:21:38 try #android-root, yeah. Apr 13 16:21:47 thanks Apr 13 16:22:05 wongk: SBF is the motorola flash image for re-imaging phones to factory from the bootloader Apr 13 16:22:57 tried to mess around installing a ubunto on top of my android, somehow bricked my MIUI ROM -_- Apr 13 16:23:24 hackkitten: oi, you there? :) Apr 13 16:26:00 Zider: OI! Apr 13 16:26:08 pragma-: oi! Apr 13 16:26:17 Zider: mate, banger the mash! Apr 13 16:26:27 wut? Apr 13 16:26:32 mash the bangers? Apr 13 16:26:45 wut? Apr 13 16:26:50 hi Zider o/ Apr 13 16:26:50 nevermind, OI! Apr 13 16:26:57 OI! Apr 13 16:26:57 :D Apr 13 16:27:06 hackkitten: I tried that there app today! Apr 13 16:27:21 hackkitten: that hiragana memory thingamajig Apr 13 16:27:50 try this here app: https://play.google.com/store/apps/details?id=com.googlecode.iptableslog Apr 13 16:27:57 I needs beta testers Apr 13 16:28:29 I'm getting an IllegalArgument exception error report, but no contact information or details on how to reproduce it Apr 13 16:28:51 Zider > and, like it? :) Apr 13 16:29:30 I mean, I don't get the IllegalArgument exception on my end, works fine for me, but I woudln't mind if it worked for some other people too! Apr 13 16:29:39 hackkitten: yeah, however it's not really optimized for large screens :) Apr 13 16:29:48 large screens are over-powered Apr 13 16:30:12 Zider > no doubt, it was my first game ever... designed it for HVGA screens :) Apr 13 16:30:35 hackkitten: well, just as a FYI; on a 10" it looks kinda odd.. ;) Apr 13 16:30:52 hackkitten: also, I dunno if it's meant to be, but it seems a bit.. sluggish when you press the tiles Apr 13 16:31:16 Zider > it was pretty zippy on the emulator, even, back last year :) Apr 13 16:31:30 I imagine it looks kinda weird on a 5"+ screen :D Apr 13 16:31:38 hackkitten: hum.. not so zippy on my tab tho.. :P Apr 13 16:31:49 that's your tab, then :o Apr 13 16:31:53 hackkitten: your game is nice and all, yeah. now back to my app. Apr 13 16:31:54 pragma-: looks useful, ill try it Apr 13 16:31:54 I should try it on my phone Apr 13 16:32:03 wongk: that's the spirit! Apr 13 16:32:13 * wongk pumps his fist Apr 13 16:32:17 hackkitten: it's not really a low-spec tab tho, so it seems a bit odd Apr 13 16:32:21 * pragma- fists his pump. Apr 13 16:32:24 snap Apr 13 16:32:51 anyone here works with unity? Apr 13 16:32:57 Zider > definitely... it uses a basic setup.... don't see why it'd be slow Apr 13 16:33:47 Zider > which version of android is your tab? Apr 13 16:33:56 hackkitten: 3.1 I believe it is Apr 13 16:34:02 ah Apr 13 16:34:14 never tested it on those :) Apr 13 16:34:19 I'll look into it... Apr 13 16:34:20 3.2 actually Apr 13 16:34:27 maybe try to profile it somehow Apr 13 16:34:30 eagerly awaiting ICS :P Apr 13 16:34:33 :) Apr 13 16:34:37 good luck on that one :D Apr 13 16:34:50 thanks, I guess? :P Apr 13 16:34:54 * hackkitten is grateful she just upgraded to a 2.3.5 phone Apr 13 16:34:55 ;) Apr 13 16:35:09 my phone got ICS several weeks ago Apr 13 16:35:13 * pragma- is at 2.3.9 Apr 13 16:35:17 ICS sux Apr 13 16:35:25 does not Apr 13 16:35:27 does too Apr 13 16:35:30 does not Apr 13 16:35:36 pragma-: no exceptions Apr 13 16:35:41 are there noticable speed improvements between gingerbread and ics? Apr 13 16:35:43 does too * infinity + infinity divided by infinity Apr 13 16:35:51 pragma-: *kicks* Apr 13 16:35:58 then divided by zero. Apr 13 16:37:13 TomDude: depends. ICS mandates full hw acceleration as available Apr 13 16:37:32 ICS is nice for developers Apr 13 16:37:55 shame it'll take 2+ years before 2.2 stops becoming the target for new development Apr 13 16:37:56 :D Apr 13 16:37:57 so no imporvments on single core devices? Apr 13 16:38:25 I think I still set my minSdk to 4 Apr 13 16:38:37 * pragma- supports 1.6 devices! Apr 13 16:38:43 ew Apr 13 16:38:51 * hackkitten now has minSDK 8 Apr 13 16:38:53 used to be 7 Apr 13 16:39:09 * abaratican supports 1.0+, but on pre-4.0 only shows splash screen that makes fun of the user before exiting. Apr 13 16:39:11 Active device installs: Android 1.6 == 2 Apr 13 16:39:15 hackkitten: very slow on the phone as well Apr 13 16:39:16 I have 2 users still using 1.6 Apr 13 16:39:25 That's 2 statistics that make my app more famous Apr 13 16:39:30 TomDude: ... what does single core do in this case? the improvements were among using the gpu etc. Apr 13 16:39:42 14 are still on 2.1 Apr 13 16:39:57 hackkitten: I can press all over the place, and then just sit and wait for them to be "clicked" one by one.. :P Apr 13 16:40:20 I can only wonder what version "others" is using Apr 13 16:41:00 I wish dev console would allow Daily User Installs and Daily User Uninstalls to be superimposed over each other Apr 13 16:41:15 have to toggle back and forth between those and interpolate some statistics Apr 13 16:41:32 is there anyway to upgrade Motorola Defy+ (plus) to android 4? Apr 13 16:42:24 api version 4 is a downgrade Apr 13 16:45:48 Zider > that's way slower than it's for me on 2.1 emulator and 2.2.1 device... Apr 13 16:46:15 are the benchmarks accurate? Apr 13 16:46:52 like quadrant standard? Apr 13 16:48:28 lol Apr 13 16:48:35 benchmarks are retarded Apr 13 16:49:44 y Apr 13 16:52:23 hackkitten: weird.. something odd about 3.x and up maybe? Apr 13 16:54:04 I am writing an app that is supposed to be able to update a collection of images that it has stored locally, and at the moment it has them stored in the /assets folder. I am trying to updated the database and that is going smoothly but I've now come to the point where I need to delete image that should no longer be in the app. Can I delete files from the assets folder? At the moment my only choices seem to be to write/delete to/from the sd Apr 13 16:54:04 card or store the images as binary in the sqlite database and neither seemed particularly appetizing. Apr 13 16:54:05 Zider > could be... the game uses an update thread, maybe stuff changed in 3.x which affects that Apr 13 16:54:16 *trying to update Apr 13 16:54:53 have stack overflowed the heck out of this but the standard answer seems to be "the /assets folder is part of the APK and can't be changed" Apr 13 16:55:04 which is stupid Apr 13 16:55:09 no unity developers? Apr 13 16:55:14 is the API really designed that way? Apr 13 16:55:33 TomDude: this sin't #ubuntu Apr 13 16:55:35 make a nice low-level directory for an app and then don't let the SAME app write to it? o_O Apr 13 16:56:50 the sdcard might not be even in the phone at the moment, and then I have to deal with that failure case and try to rebuild the database from scratch, or worse.... fall back to the old data and leave the app in a gross state Apr 13 16:57:11 which....is just sad really Apr 13 16:57:20 james541: you can save the images to the phone's internal storage Apr 13 16:57:40 even if an image has been downloaded at runtime? Apr 13 16:58:14 that *is* the user case for saving to internal storage Apr 13 16:58:14 if so that will bloat the app's storage usage, but that's at least doable Apr 13 16:58:49 some users would prefer the sd card, but that's your call Apr 13 16:59:04 right, but internal storage make a lot more sense Apr 13 16:59:08 *makes Apr 13 16:59:33 so how would I save an image to internal storage that has been downloaded at runtime? Apr 13 17:00:00 can't tell you the right API for that, i haven't needed to do it Apr 13 17:00:00 I came up with the dirty hack of saving it to the db, but that will probably be a terrible performance hit for attaching the image to say an ImageView Apr 13 17:00:11 am awful to code Apr 13 17:00:13 *and Apr 13 17:00:58 fair enough, thanks anyway wongk Apr 13 17:01:11 I'm just at a point where I'm not sure what to google for Apr 13 17:01:51 I could aimlessly browse the API...and then realize after a couple days that saving it to the DB approach is the only sensible approach for using internal storage and have wasted a lot of time Apr 13 17:02:03 this is related but not exactly what you're looking for, it seems: Apr 13 17:02:05 http://developer.android.com/reference/android/os/Environment.html Apr 13 17:03:17 storm here last night… http://i.dailymail.co.uk/i/pix/2012/04/13/article-2129246-1294184D000005DC-223_964x694.jpg Apr 13 17:03:45 http://developer.android.com/guide/topics/data/data-storage.html#filesInternal Apr 13 17:03:57 james541: ^^ Apr 13 17:04:07 right, and that seems to be the way to manipulate the SDCard/external storage, reading the second link now Apr 13 17:04:32 hackkitten: lemme know if you need any testing, I'd be happy to help Apr 13 17:05:01 Zider: wtf, test my app Apr 13 17:05:12 discrimination Apr 13 17:05:20 racist Apr 13 17:05:20 ooooh Apr 13 17:05:28 the second link might be gold Apr 13 17:05:42 Zider: you won't test my app because I'm black, right? Apr 13 17:06:12 that's *exactly* what I'm looking for.... can I make directories in that folder? what's the path on the android device to that directory? Apr 13 17:06:13 pragma-: you're grey. :P Apr 13 17:06:32 pragma-: and occasionally yellow Apr 13 17:07:08 /data/data/com.package.name Apr 13 17:07:18 * james541 hugs wongk Apr 13 17:07:19 typically Apr 13 17:07:23 thanks Apr 13 17:07:24 ah! Apr 13 17:07:31 oh? Apr 13 17:07:39 Zider > if you could do profiling that'd be awesome. I do not have a 3.x device so I'd have to try and see what I can do with the emulator Apr 13 17:07:47 pragma-: your app at least starts on my phone, but then it crashes Apr 13 17:08:02 hackkitten: how do I do that? Apr 13 17:08:21 Zider > dunno, haven't looked into Android app profiling yet :) Apr 13 17:08:29 Zider: do you has a root? Apr 13 17:08:44 pragma-: no, do I need that? Apr 13 17:08:45 Does anyone know if theres a way to make an HTTP GET request on Android while only asking for the HTTP headers to be returned ? Apr 13 17:08:57 Zider: the app description says so :( Apr 13 17:09:17 at the very bottom, where no one makes it to :P Apr 13 17:09:20 pragma-: sorry, I didn't think about that.. I'll see what the tablet says Apr 13 17:09:35 but, ideally, it ought to not crash Apr 13 17:10:01 Zider: can has logcat? Apr 13 17:10:20 kwazi: you can stop the requedt immediately one the initial call to send the request returns, but i don't think so otherwise Apr 13 17:10:21 pragma-: crash on the tablet too Apr 13 17:10:27 pragma-: how do I do that? :P Apr 13 17:11:17 Zider > apparently DDMS can be used for profiling: http://www.barebonescoder.com/2010/07/using-ddms-to-profile-android-apps/ Apr 13 17:11:18 :) Apr 13 17:11:21 adb logcat > logfile.txt; paste logfile.txt somewhere Apr 13 17:11:24 * hackkitten will try an emulator instance Apr 13 17:11:46 or install alogcat from the market Apr 13 17:11:57 * james541 thinks hackkitten has a sweet nick Apr 13 17:12:04 pragma-: I assume that's part of the android devkit stuff or the computer? Apr 13 17:12:08 pragma-: ah Apr 13 17:13:19 omnom pizza Apr 13 17:14:22 pragma-: I take it I'm supposed to run that in the background when the app crashes? Apr 13 17:14:26 * hackkitten runs off with half of canadiancow|work's pizza~ Apr 13 17:14:49 Zider > yup :) Apr 13 17:14:51 i got a large, so sure :P Apr 13 17:14:54 :D Apr 13 17:15:07 * hackkitten is hungry and tired after her interview today~ Apr 13 17:15:10 Zider: start alogcat so it's gathering logs, then start the app, then alogcat should log the crash and stuff, then email the log to pragma78@gmail.com or upload it to a pastebin Apr 13 17:15:16 interview with whom? Apr 13 17:15:24 canadiancow|work > Dutch magazine :) Apr 13 17:16:26 interview for a job, or interview for an app you made? Apr 13 17:17:08 cause thats all she is Apr 13 17:17:10 a dev Apr 13 17:17:11 :P Apr 13 17:17:56 well when i interview for a publication, its not because im looking for a job Apr 13 17:18:05 but i dont know anything about her Apr 13 17:18:22 i mean it could be unrelated to anything dev/work related Apr 13 17:18:23 birbeck > interview about my story Apr 13 17:18:34 www.mayaposch.com <<-- my site Apr 13 17:18:35 :) Apr 13 17:18:45 your site needs more http:// Apr 13 17:18:52 why> Apr 13 17:18:59 pragma- > get a real URL parser Apr 13 17:19:01 :P Apr 13 17:19:02 client too dumb to parse that? Apr 13 17:19:05 whats your story? Apr 13 17:19:06 because real programmers use protocols Apr 13 17:19:14 lol Apr 13 17:19:20 every point and laugh at pragma- Apr 13 17:19:22 and not every address is a HTTP Apr 13 17:19:23 pragma-: real programmers _write_ protocols. Apr 13 17:19:40 birbeck > I'm the first hermaphrodite to be legally recognized as such in the Netherlands and probably the EU Apr 13 17:19:44 lern2internet Apr 13 17:19:47 yo dawg, I herd you liek protocols Apr 13 17:19:54 :) Apr 13 17:20:09 hackkitten: yeah i read that :) Apr 13 17:20:15 :) Apr 13 17:20:45 * Ge0rG is somehow inclined to say that there are no girls (on the internet|on irc|in android software development)... Apr 13 17:21:16 * hackkitten does really have girl bits, though Apr 13 17:21:17 :P Apr 13 17:21:21 sick Apr 13 17:21:23 except there are. there are women on the android team at google. Apr 13 17:21:25 and I was even born with them~ (o/ Apr 13 17:21:36 hackkitten: you should stick to the porn industry, you'll probably have more success there Apr 13 17:21:36 there do not work any people at Google Apr 13 17:21:38 just droids Apr 13 17:21:39 :D Apr 13 17:21:49 * hackkitten stares at pragma- Apr 13 17:22:09 ... Apr 13 17:22:14 wow, someone thinks that women are stupid Apr 13 17:22:19 women are stupid. Apr 13 17:22:27 * hackkitten gives pragma- a cookie Apr 13 17:22:32 there is a reason why men rule the universe. Apr 13 17:22:45 pragma-: u haz mailz Apr 13 17:22:46 what is that reason Apr 13 17:22:48 my wife is a programmer Apr 13 17:22:53 readme: women are stupid. Apr 13 17:22:54 though shes not on irc Apr 13 17:22:58 ... Apr 13 17:23:07 pragma-: oh, i was hoping you'd substantiate that with some kind of evidence. Apr 13 17:23:12 I'm trying to figure if troll or just that bigoted Apr 13 17:23:25 p_l > maybe a bit of both? I dunno... Apr 13 17:23:27 p_l is obviously a woman. Apr 13 17:23:29 it's always both Apr 13 17:23:40 pragma-: my dick disagrees Apr 13 17:23:52 Typical female dick, always disagreeing. Apr 13 17:24:02 *plonk* Apr 13 17:24:26 pragma-: so, if women are stupid, I suppose you're a nobel prize winning physicist? Apr 13 17:24:35 http://en.wikipedia.org/wiki/Marie_Curie herp derp Apr 13 17:25:32 readme: "On 19 April 1906 Pierre was killed in a street accident. She was too dumb to cross a street properly and she died." Apr 13 17:26:03 I thought Pierre was a mans name Apr 13 17:26:09 pragma-: thats her husband, idiot Apr 13 17:26:14 can someone PM me if they have experience with network programming using Java....I'm having speed issues on Windows while it runs excellent on OSX Apr 13 17:26:15 lol Apr 13 17:26:27 "Curie was devastated by the death of her husband. She noted that, as of that moment she suddenly had become "an incurably and wretchedly lonely person"" -- see, typical woman breaks down and becomes inept and useless without her man. Apr 13 17:26:51 pragma- thinks that emotions are useless and stupid Apr 13 17:27:03 pragma- thinks that emotional attachment to a loved one is retarded Apr 13 17:27:19 It is a horrible weakness, yes. Apr 13 17:27:23 * hackkitten isn't sure what to add to that Apr 13 17:28:02 "on 4 July 1934, Curie died at the Sancellemoz Sanatorium in Passy, in Haute-Savoie, eastern France, from aplastic anemia contracted from her long-term exposure to radiation." Apr 13 17:28:18 because she was too dumb to properly do the thing she was supposed to be famous for doing Apr 13 17:28:23 and it killed her Apr 13 17:28:24 [13:21:15] * hackkitten does really have girl bits, though Apr 13 17:28:25 wut Apr 13 17:28:40 mew? Apr 13 17:28:54 The offtopic is strong right now. Apr 13 17:28:54 girls have bits, men have bytes Apr 13 17:29:17 pragma- > the effects of ionizing radiation were still poorly understood back then Apr 13 17:29:29 it wasn't until the 1940s that serious research was done into this Apr 13 17:30:00 because Marie Curie wasn't considered serious research due to being a famel Apr 13 17:30:03 female Apr 13 17:30:11 * pragma- nods with understanding. Apr 13 17:30:19 "serious research" = exposing people to death rays... Apr 13 17:30:31 pew pew Apr 13 17:30:42 [13:28:54] girls have bits, men have bytes Apr 13 17:30:46 my byte is bigger than your bit Apr 13 17:31:01 hmm, what do you guys think of a beta app that updates itself? Apr 13 17:31:02 pragma-: Marie Curie discovered radioactivity. In 30s, people still though putting radon into toothpaste was a good idea Apr 13 17:31:06 8 times bigger I imagine Apr 13 17:31:10 no no, girls have nybbles Apr 13 17:31:13 Ge0rG > well, yeah. Blame the US Army, I guess :P Apr 13 17:31:15 * readme drum roll Apr 13 17:31:19 or just show a notification that a new version is available Apr 13 17:31:24 p_l: it's a shame they stopped putting cocaine in toothpaste Apr 13 17:31:29 p_l: it's not?! Apr 13 17:31:34 birbeck: "updates itself" ? Apr 13 17:31:37 anyhoo, this is #android-dev not #android-genitals Apr 13 17:31:44 my petabyte is bigger than your byte Apr 13 17:31:47 Zider: good if you want to loose your teeth Apr 13 17:31:53 canadiancow: i was thinking it could download and install the latest apk Apr 13 17:31:57 if it's beta, i'd be tempted to show a dialog with two options: update and quit Apr 13 17:31:58 lern the difference between lose and loose Apr 13 17:31:59 canadiancow: silently Apr 13 17:32:06 that needs some interesting permissions Apr 13 17:32:13 pragma-: misspelling Apr 13 17:32:16 yeah, thats fine though for a beta app Apr 13 17:32:25 p_l: are you sure you're not a woman? Apr 13 17:32:32 pragma-: did you get the mail? Apr 13 17:32:41 pragma-: are you sure you're not a small script? Apr 13 17:33:02 Zider: aren't you a little old for your girlfriend? Apr 13 17:33:07 also, english isn't everyone's first language, and lags on wireless links promote *weird* misspellings Apr 13 17:33:09 Hi. Apr 13 17:33:16 I have my new android device. Apr 13 17:33:23 it is a galaxy s2 Apr 13 17:33:23 pragma-: sorrywhut? Apr 13 17:33:23 (because I have to often type blind due to latency) Apr 13 17:33:30 OFFTOPIC, TAKE IT TO #ANDROID Apr 13 17:33:32 Zider: the picture, she seems kind of young for you Apr 13 17:33:33 I gots it doing all kinds of nice stuff Apr 13 17:33:35 ;) Apr 13 17:33:44 pragma-: what are you talking about? Apr 13 17:33:54 https://mail.google.com/mail/c/photos/public/AIbEiAIAAABECNSaup6Er6-vvAEiC3ZjYXJkX3Bob3RvKihhOTFhNjZlZjc4MmJkMzUyMjU2YThkYjIwNjUzMmZkYjA5ZTgzZjllMAEnZ2DtlLBTLT4wBLxfmlmUbmXTSg?sz=96 Apr 13 17:33:55 ... I don't know why I unignored him Apr 13 17:33:58 ummm, java does not have #pragma Apr 13 17:34:04 java does not have preprocessor Apr 13 17:34:08 p_l: entertainment Apr 13 17:34:09 they need to add it Apr 13 17:34:13 pragma-: it's called a "daughter" :P Apr 13 17:34:14 readme: maybe Apr 13 17:34:26 how does she have a daughter already? Apr 13 17:34:31 * pragma- recoils in horror. Apr 13 17:34:32 *sigh* Apr 13 17:34:41 readme: Or I needed a blood pressure spike to get over drowsiness Apr 13 17:34:44 pragma-: you're not getting any more app testing from me! Apr 13 17:35:00 Zider: i've got an app that needs testing... :P Apr 13 17:35:19 readme: I'm sure a lot of people do :P Apr 13 17:35:27 Detergentizer: you've got my vote Apr 13 17:35:30 mine is useful Apr 13 17:35:31 Zider: why is your media provider removing so many objects all the time? Apr 13 17:35:38 /ignore pragma- Apr 13 17:35:40 :) Apr 13 17:36:02 pragma-: I have no idea what that even means.. I just booted it, started alogcat and ran your app Apr 13 17:36:09 pragma-: then I mailed you :P Apr 13 17:36:16 Caused by: java.io.IOException: Permission denied Apr 13 17:36:30 Zider: well done Apr 13 17:36:48 thank you. do I get a cookie now? Apr 13 17:36:49 Zider: You have contributed to the improvement of a popular open-source Android application. Apr 13 17:36:57 pragma-: yay me! Apr 13 17:36:59 hackkitten: btw, I didn't pass the interview as well :P Apr 13 17:37:00 Zider: You have earned +1 rep. Apr 13 17:37:09 p_l > welcome to the club :) Apr 13 17:37:41 Good day everyone! Apr 13 17:37:42 though I *do* agree with their comments, as I did bungle one of the programming interviews (out of five total) Apr 13 17:38:06 what company, google? Apr 13 17:38:07 Real programmers don't go to interviews. They just hack the payroll system and add themselves. Apr 13 17:38:17 yep Apr 13 17:38:21 i created a listview and I'm trying to attach it to an array that i created in my strings.xml. i did this: setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(),R.array.listArray, R.layout.main)); it compiles and runs but it immediately force closes. what am i doing wrong ? Apr 13 17:38:29 pragma-: applying for welfare doesn't count as hacking the payroll system, try again Apr 13 17:38:45 lol, you can tell who the clueless wanna-be "developers" are by their interest in google. Apr 13 17:38:45 missed a bit on the SWE score (had I applied for pure SRE, I'd get in) Apr 13 17:38:55 devslash stacktrace... Apr 13 17:38:58 pastebin i Apr 13 17:39:00 t Apr 13 17:39:11 readme haha Apr 13 17:39:46 Is JakeWharton here. Apr 13 17:39:54 always Apr 13 17:39:55 …and never Apr 13 17:39:58 I mean, I know he's here.. but is he here. :) Apr 13 17:40:15 he only shows up for at least 144 Apr 13 17:40:16 electronically or mentally Apr 13 17:40:17 ElevenSquared: if you are asking that question, you still have much to learn. Apr 13 17:40:18 readme: actually, I think it does Apr 13 17:40:19 p_l, didn't pass meaning they're passing on you? bummer Apr 13 17:40:27 Awesome. Was wondering if you'd be interested in helping me out with that repeating-background with rounded corners thing. Apr 13 17:40:30 readme: when I'm on welfare, it means that everyone else who is on payroll is paying me out of their taxes Apr 13 17:40:37 readme: thus, i've hacked all your payrolls Apr 13 17:40:40 pfn: nah, I was strongly urged to reapply within a year :) Apr 13 17:40:51 pragma-: it is good to share your feelings, keep going. Apr 13 17:41:12 * pragma- is a winrar Apr 13 17:41:13 p_l, why reapply within a year... that's weird Apr 13 17:41:23 why reapply at all Apr 13 17:41:27 I tried, but failed. Assuming its affordable, I was hoping I could pay you to do it, and then I'd learn from it. Apr 13 17:41:29 heres the paste bin: http://pastebin.com/ierC2A4E Apr 13 17:41:49 A/B testing ftl Apr 13 17:41:56 devslash pastebin ur stacktrace Apr 13 17:41:58 Honestly though, im not sure how complicated it is, and dont want to take up too much of your time. Apr 13 17:42:01 support tickets: why do i have this, but my friend does not Apr 13 17:42:05 Jug6ernaut: how ? Apr 13 17:42:07 canadiancow|work: haha Apr 13 17:42:15 devslash copy it from logcat Apr 13 17:42:18 pfn: that's how google recruitement works. Apr 13 17:42:20 canadiancow|work: do you guys have an internal framework for that, or is there something public? Apr 13 17:42:36 ours is internal Apr 13 17:42:42 Jug6ernaut: well, I've got friends there, and it can be great learning opportunity and springboard Apr 13 17:43:07 welfare? Apr 13 17:43:19 * Jug6ernaut is confused Apr 13 17:43:19 Guys I have a newb question (just starting to look into android dev): is there any benefit in starting to learn using vim + command line over using Eclipse? Apr 13 17:43:25 not that that isnt normal Apr 13 17:43:44 Eisn non lol, eclipse imo Apr 13 17:43:56 Eisn: knowing how to build from the command line is good, but not necessary to get started. Apr 13 17:43:56 unless u like looking up methods manually Apr 13 17:44:13 readme knowing commandline @ all is good imo Apr 13 17:44:17 google is highly overrated, and their stock going down and down shows that more and more people are becoming aware of this Apr 13 17:44:27 I don't think that the issue Jug6ernaut. I suppose there must be some plugin for vim to get autocomplete Apr 13 17:44:29 Eisn: if you talk to pfn, yes. imo, no. Apr 13 17:44:32 Eisn: you can use Vim in eclipse with Eclim, but you lose some of the nice eclipse features and it's a bit complicated. Apr 13 17:44:37 it's the google summer of code high school interns that are more valuable than google itself Apr 13 17:44:39 Eisn: ViM/Emacs *and* commandline-fu will be useful over all, but for just android *coding* you'll be mostly sitting in some IDE Apr 13 17:44:39 pragma- and apples going up shows they are going up? YEA Apr 13 17:44:45 Eisn: there's also a plugin for eclipse that emulates vi, but it's buggy. Apr 13 17:44:51 Eisn: if you're very comfortable with vim, and you really hate Eclipse and other IDEs, you can absolutely just use vim. Apr 13 17:44:58 just bear in mind that you lose the benefits of using an IDE Apr 13 17:45:00 even as hardcode vim user, I just use eclipse. Apr 13 17:45:01 google just takes the high school kids' work and botches it up Apr 13 17:45:01 of which there are many Apr 13 17:45:19 the refactoring features and such are worth it, autocomplete, integrated docs, and all that Apr 13 17:45:28 vim doesn't have code completion, only autocomplete Apr 13 17:45:32 *code completion, above. Apr 13 17:45:42 vim has a million plugins Apr 13 17:45:47 not to mention static analysis Apr 13 17:46:02 Ok. I was just curios to know. Because if I'm just starting I'd rather do it the best way. Apr 13 17:46:09 I use vim for python with pyflakes and smarttab, but it's not even close to what I get with eclipse for my java development. Apr 13 17:46:26 eclipse is just going to fuck up your project with its auto-code-generation and auto-this-and-that crap Apr 13 17:46:47 or its going to save you from carpal tunnel Apr 13 17:46:55 no, vim does that Apr 13 17:46:55 the paintbrush doesn't make the artist. Apr 13 17:47:10 hjkl to move around for less carpal Apr 13 17:47:21 plus all the modal shortcuts Apr 13 17:47:25 haha, try creating an anonymous class in vim. you will type every character. Doing the same in eclipse is 2-3 keystrokes and pulls in all the methods you need to override automatically. Apr 13 17:47:51 then you spend 3-4 hours figuring out why eclipse generated shitty code Apr 13 17:47:57 I'm not a lazy typer so that's not such a big issue to me. Apr 13 17:48:07 pragma-: what kind of shitty code? method stubs with //TODO in them? Apr 13 17:48:16 It's an anonymous inner class Apr 13 17:48:25 the hell do you want :X Apr 13 17:48:27 the //TODO comments are bad style....not minimalist #suckless Apr 13 17:48:41 gotta code on plan9 if you want to be 1337 Apr 13 17:48:55 ggggggggggggggg Apr 13 17:48:56 I like the //TODO comments because when I see them in an app's source, i immediately realize that this is an app to be avoided Apr 13 17:49:10 I'm actually running Slackware 13.37 and Fluxbox so I'm close. :) Apr 13 17:49:19 slackware still exists? Apr 13 17:49:19 wow Apr 13 17:49:27 anyway Apr 13 17:49:28 lol slackware 13.37 Apr 13 17:49:36 * readme nostalgia Apr 13 17:49:40 if you're a fuddy duddy, be like pragma and write everything by flipping bits w/ a magnet. Apr 13 17:49:49 you can always use ant to build the project Apr 13 17:50:12 lov: the caveat i see is how do you preview a layout without running the app? Apr 13 17:50:19 if you're on the cmdline Apr 13 17:50:29 right, and that's another thing. the ADT gives you a lot of neat tools for that kind of stuff. Apr 13 17:50:35 real programmers can visualize xml and layouts without any need for emulators Apr 13 17:50:36 high level overviews of xml files, previews for layouts, etc Apr 13 17:50:41 noobs Apr 13 17:50:48 pragma-: i bet your layouts look....awesome Apr 13 17:50:52 indeed Apr 13 17:50:55 yes, quite. Apr 13 17:51:20 consistently voted top 3 by my mother Apr 13 17:51:26 I can visualize a basic layout, but if you're working with designers you're going to need to plug in their graphics and stuff.. not going to be fun without a good tool Apr 13 17:51:41 pff, real users don't use GUI's anyway Apr 13 17:51:43 I can't start the AVD from command-line? Apr 13 17:51:50 Eisn: yes, you can. Apr 13 17:51:52 I only use command-line interfaces in my android apps Apr 13 17:52:19 I'm a single guy and I will not be part of a development team so that's not needed anyway. Apr 13 17:52:27 You can certainly do it from the command line Apr 13 17:52:31 Eisn: you'll be surprised how fast that changes. Apr 13 17:52:51 Yeah, you could turn into a girl *snap* just like that. Apr 13 17:53:02 more like *snip* Apr 13 17:53:35 I'm working as something completely different at the moment (IT Security Specialist) so I don't think that I'll be developing Android apps in a corporate environment any time soon. Apr 13 17:53:36 just learn both and do what is comfortable Apr 13 17:53:51 I'm just trying to educate myself, maybe I can publish something on my own. Apr 13 17:54:01 IT and security are oxymorons. Apr 13 17:54:21 * lov rolls his eyes Apr 13 17:54:38 i just wish eclipse wasnt such a resource hog Apr 13 17:54:41 Especially in the company I work. Indian-based outsourcing machine. Apr 13 17:54:49 Eisn: Just please, for me, don't publish any "ZOMG ANDROID SI INSECUR" articles. That's all I ask. Apr 13 17:54:51 takes up around 2GB's of ram on my machine lol Apr 13 17:54:59 lov lol Apr 13 17:55:14 Android's whole permission system is whack. Apr 13 17:55:26 live is whack, get over it Apr 13 17:55:34 Eisn: Do definitely play around with android, though. It's totally different from a lot of other OSs and has different methods of interaction. Apr 13 17:55:37 lol. everything is insecure. Unless you plugit out, but then you're left with usbs. a hammer is your best bet to be 100% safe. Apr 13 17:55:55 any good tutorial activities out there, not tutorial for an activity, but a tutorial activity Apr 13 17:56:04 If you're looking at this to try to do security audits and find new and exciting ways to break apps, a little dev experience will go a very long way. Apr 13 17:56:13 Eisn: there is this thing that passes data through air, so it can only go one way Apr 13 17:56:23 trying to remember what its called Apr 13 17:56:27 Jug6ernaut: y u no write clear and sensible UI? y u need tutorial? Apr 13 17:56:51 It doesn't use rf, just blows the air. Apr 13 17:57:00 bc my apps arnt about UI, services. Apr 13 17:57:06 readme: probably called RFC-April-1st Apr 13 17:57:23 which in some case do need tutorials, but thats above big apps...like say..dropbox...o wait they use a tutorial activity Apr 13 17:57:27 nah, I'm fairly certain its a real device Apr 13 17:58:04 Theme.Dialog has @android:color/secondary_text_dark Apr 13 17:58:08 can that be overridden? Apr 13 17:58:25 do i just prefix it with android: Apr 13 17:59:05 yeah Apr 13 18:00:13 grr someone made all our xml colors drawables Apr 13 18:00:19 which means i cant use them as colors everywhere Apr 13 18:00:27 how good is the documentation on developer.android.com? should I use that as reference for best practices (not for info about classes etc.) or should I look out for a book to get started? Apr 13 18:00:28 this is why I work alone Apr 13 18:00:51 Eisn: it sucks horribly. Apr 13 18:01:22 Eisn not 2 bad for reference Apr 13 18:01:28 if u want tutorials just google things Apr 13 18:01:31 documentation is full of errors that haven't been fixed in 2+ years Apr 13 18:01:40 and woefully missing useful information Apr 13 18:01:42 But the references are ok at least, right? Apr 13 18:02:13 yes should be Apr 13 18:02:29 for subjective and dubious definition of "ok" Apr 13 18:02:42 Ok. Thank you very much guys. I'll probably drop by a lot when I'll be coding. :) Apr 13 18:02:52 maybe we should define ok for you then pragma- Apr 13 18:02:53 great, look forward to it! Apr 13 18:02:57 I enjoy IRC these days. So insecure! lol Apr 13 18:03:13 It's even more insecure if you're IRCing from an android app Apr 13 18:03:44 y? Apr 13 18:03:59 because of the Higgs boson Apr 13 18:05:18 when using enqueue in openSLES I have to give the size in bytes as a parameter, but when my setup has 2 channels, do I need to multiply the bytesize with two, or is this a per channel parameter? Apr 13 18:05:58 Hello. Is it possible to insert more apps in the "unlock circle" in my galaxy nexus? So that besides dragging the unlock icon to the camera icon i can drag it to apps of my own choice other places on the circle? Apr 13 18:06:40 diverdude, no Apr 13 18:06:51 diverdude: root phone and install better rom which can do this Apr 13 18:06:52 diverdude, you can check out widget locker though, its an alternate lock screen Apr 13 18:06:54 they're called air-gaps. apparently they are more often not implemented using actual air, though. Apr 13 18:07:09 Insayne: its a downloadable app? Apr 13 18:07:12 also, question fromy my end, how can I scroll to a certain ID within a scrollview? Apr 13 18:07:17 diverdude, yea Apr 13 18:08:49 Insayne: "Lock Screen Widget" (Free) or "WidgetLocker Lockscreen" (Not free) Apr 13 18:12:08 diverdude, not free one Apr 13 18:12:21 this is crazy Apr 13 18:12:22 http://www.theverge.com/2012/4/13/2944440/google-oracle-lawsuit-programming-language-copyright Apr 13 18:12:36 I thing both sides have bad argument Apr 13 18:12:41 *think Apr 13 18:13:14 ok the docs said size of the buffer, and indeed when decoding stereo files your buffer will be twice the size of the size of the samples per channel decoded Apr 13 18:13:51 azm: all these lawsuits are getting ridiculous, they should use their resources to improving their products instead.. Apr 13 18:14:01 exactly Apr 13 18:14:04 :) Apr 13 18:14:43 Google should just have gone with C++ instead of Java Apr 13 18:14:59 hackkitten: Try the NDK :) Apr 13 18:15:07 fifarunnerr > I use the NDK regularly Apr 13 18:15:09 JNI is evil Apr 13 18:15:09 as if java isn't bad enough Apr 13 18:15:27 but can you imagine apps in bad C++ ? Apr 13 18:15:29 .. Apr 13 18:15:31 I would have liked to see them do more of a javascript/html approach Apr 13 18:15:47 azm > I can imagine bad apps in any language :D Apr 13 18:16:00 then you are brave kitten indeed Apr 13 18:16:01 bad apps come form bad developers, and flash Apr 13 18:16:22 * hackkitten has seen horrible apps in any language ;_; Apr 13 18:16:30 yes but C++ is much harder then java to write well Apr 13 18:16:36 nah Apr 13 18:16:42 then you didn´t see my java code Apr 13 18:16:43 anybody knows if there is a linux app for connecting to a connected android device and look at the file system etc? Apr 13 18:16:44 * hackkitten is primarily a C++ programmer Apr 13 18:16:52 azm i dont agree with that... Apr 13 18:17:09 C++ just gives bad programmers lot of rope to hang themselves with Apr 13 18:17:15 lol Apr 13 18:17:20 * Jug6ernaut agree's with that Apr 13 18:17:21 yes Apr 13 18:17:22 Java less so, but also makes life hell for good devs Apr 13 18:17:27 well that is what I mean Apr 13 18:17:31 tho a bad programmer can drown in a puddle Apr 13 18:17:31 * hackkitten hates how Java hides details Apr 13 18:17:36 like what is a reference and what isn't Apr 13 18:17:43 bad programmers just suck Apr 13 18:17:51 how are samples deinterleaved with openSLES, can the hardware work with interleaved samples? Apr 13 18:18:06 (it deinterleaves for me, that´s what I noticed) Apr 13 18:18:10 * Jug6ernaut has no idea wha tu just said Apr 13 18:18:20 because java hides stuff you have higher chance that you dont hang yourself by accident. Apr 13 18:18:27 * hackkitten doesn't use OSL yet Apr 13 18:18:38 only OAL, and that's iOS :D Apr 13 18:18:43 and everything else but Android Apr 13 18:18:46 * hackkitten stares at Google Apr 13 18:18:49 * hackkitten snorts Apr 13 18:19:44 helix seems to use like 3% of the cpu here, is that considered bad already or is it normal performance for a software (mp3) decoder on android? Apr 13 18:21:08 * Jug6ernaut would consider 3% nothing Apr 13 18:21:56 I can of course compile it for armv7 instead of armv5 Apr 13 18:22:02 maybe it will improve a bit Apr 13 18:22:47 How can I get the X/Y position of a button ? Apr 13 18:27:35 Insayne @ runtime? Apr 13 18:31:40 Jug6ernaut, yeah, but i figured it out :D Apr 13 18:31:53 its just .getY() or X, heh Apr 13 18:32:23 happy friday the 13th everyone Apr 13 18:33:14 oh, awesome day to release my app Apr 13 18:34:03 Insayne hehe Apr 13 18:34:14 readme whatcha working on Apr 13 18:34:32 Jug6ernaut: want to alpha test? Apr 13 18:34:38 depends :P Apr 13 18:38:29 what do you guys think of Page saying at the quarterly results conference that Google is focused on low end Android tablets ? Apr 13 18:38:52 to me it kinda sounds like they are giving up on the high end Apr 13 18:38:59 (at least for now) Apr 13 18:39:15 maybe tablets will go the way of netbooks and mp3 players Apr 13 18:40:11 :3 Apr 13 18:40:21 Microsoft shareholders are cheering~ Apr 13 18:40:58 google doesn't have to focus on high or low end tablets Apr 13 18:41:10 it need only focus on the android OS, vendors focus on high or low. Apr 13 18:41:17 Google wants market saturation Apr 13 18:41:17 Tablets always seem like an over indulgence that have no real point to have Apr 13 18:41:23 abaratican: then why would page waste his breath with that statement ? Apr 13 18:41:52 i agree with pfn Apr 13 18:41:55 g00s: simple. Get people on board who can't go for iPad, and grassroot it Apr 13 18:41:57 high end is not how you get saturation Apr 13 18:41:58 abaratican agreed Apr 13 18:41:59 Most people I talk to who have one that I talk to, all they use it for is web surfing on the sofa. Apr 13 18:42:02 g00s: i don't know/care who page is, i just know that google makes the OS and others make the devices. Apr 13 18:42:18 abaratican: Page = Google CEO Apr 13 18:42:23 abaratican: bwhaha are you serious Apr 13 18:42:34 as a heart attack. Apr 13 18:43:02 * g00s uses abaratican chest as drum set, tries to bring him back Apr 13 18:43:09 abaratican: also, Google has at least *some* input on devices. In the form of deep cooperation in pushing out "next gen" stuff Apr 13 18:43:31 I use my tablet to consume streaming media and ebooks and the occasional game Apr 13 18:43:40 very little web Apr 13 18:43:46 I use my tablet to develop for my phone becaus emy phone sucks as a development platform Apr 13 18:43:51 but apple can always put out a $199 tablet if they want, so this could be a tough thing for google to compete with Apr 13 18:44:02 oh well, its always interesting :) Apr 13 18:44:05 g00s: well, there is a floor Apr 13 18:44:18 actual production cost of the iPad, for example, is well over $199 Apr 13 18:44:33 well not really Apr 13 18:44:36 #android-blags Apr 13 18:44:36 they have 100 billion Apr 13 18:44:40 If I had a tablet I would probably go for something for notetaking, and use it as reference reading device Apr 13 18:44:50 IS THIS A SIGN THAT SERGEI BRIN IS GOING TO SHAVE USING NORELCO???? Apr 13 18:45:00 if it costs them 500 to make, they could give out like 200 million for free Apr 13 18:45:04 STAY TUNED FOR ANDROIDRAZORBLOG.COM FOR UPDATES Apr 13 18:45:23 ctate: sure, but with their great supply chain, i bet the generation or 2nd generation prior to the current is very cheap to produce Apr 13 18:45:32 canadiancow|work: not that easy Apr 13 18:45:33 p_l i want the galaxy note 10.1 Apr 13 18:45:44 and shareholders want dividend :) Apr 13 18:45:44 p_l, i know, but they COULD sell at a loss if they wanted Apr 13 18:45:51 yes, they could Apr 13 18:46:02 if they gave out enough such that everyone had one, they'd corner the market and make billions Apr 13 18:46:04 I think they like the "price = exclusivity" thing too much for that Apr 13 18:46:15 g00s: e.g. make the *original* cost only $199? Apr 13 18:46:21 ofc you have to worry about poaching sales of the new one Apr 13 18:47:43 especially since the new iPad isnt all that great Apr 13 18:48:07 ctate: yeah, i expect when the iPad 3 comes out, if they are threatened by the low end they will keep the iPad 2 around at a much reduced cost Apr 13 18:48:09 ok how the heck do you theme a DialogFragment/Dialog Apr 13 18:48:12 err, iPad 4 Apr 13 18:48:25 does the theme go in the DialogFragment or the Dialog? Apr 13 18:48:37 canadiancow|work: is asking an android question :D Apr 13 18:48:53 JakeWharton: would know this Apr 13 18:49:00 SimonVT might too Apr 13 18:49:10 DialogFragment just manages showing a dialog Apr 13 18:49:19 it's still a normal dialog, just managed by a fragment Apr 13 18:49:36 I agree Apr 13 18:49:50 so i dont touch the DF's theme, but i set the D's? Apr 13 18:50:23 call setStyle in the dialogfragment ? Apr 13 18:50:35 rtfm :p Apr 13 18:50:42 ive been reading this shit all day Apr 13 18:50:44 it's not clear Apr 13 18:50:56 i find with anddroid rtfm doesn't always work Apr 13 18:51:38 The first example on the page sets a theme for the dialog Apr 13 18:51:51 if i set a theme on the dialog, i get a double border Apr 13 18:51:55 if my theme extends @android:style/Theme.Dialog Apr 13 18:52:05 I have a RotateAnimation that's set to repeat forever. A parent view has a translate animation. When the translate animation ends, the rotate animation also stops. Any idea how to fix that/ Apr 13 18:52:41 and if i set a tehme on the DialogFragment, it doesnt affect the text Apr 13 18:53:34 i vaguely remember having the same problem. Apr 13 18:57:24 fuck this Apr 13 18:57:27 i guess im going with custom layouts Apr 13 18:59:28 Is there a way to temporarily change the background color of an EditText without having to modify ninepatches? Apr 13 18:59:29 canadiancow|work: i have solved the dark text on dark bg with dialog fragments if you want some code Apr 13 19:06:32 do you guys add a .gitignore explicitly stating which files are binary; git tries to determine this but its not foolproof Apr 13 19:06:45 * g00s is still n00bis with git Apr 13 19:07:36 g00s: yes, i add "bin/" to .gitignore Apr 13 19:08:10 oh, i am sorry Apr 13 19:08:15 i mean .gitattributes Apr 13 19:08:26 duh Apr 13 19:08:55 like this https://github.com/mono/mono/blob/master/.gitattributes Apr 13 19:11:03 I just let git figure it out on its own Apr 13 19:11:16 pfn: ok, thanks Apr 13 19:13:32 if there's some file it can't figure out, then set it manually Apr 13 19:13:37 but I haven't run into that Apr 13 19:14:04 pfn: is there a way to determine how git 'sees' the file ? Apr 13 19:14:23 when you commit it Apr 13 19:14:27 or if you diff it Apr 13 19:14:33 maybe there's other ways Apr 13 19:14:36 haven't really cared to see Apr 13 19:15:56 hm, so sdk 19 must only be available through the updater, not via the web page Apr 13 19:18:38 Are there any negative consequences in choosing a high targetSdkVersion? Apr 13 19:18:50 As long as I still keep the minSdkVersion to 4 Apr 13 19:19:12 * g00s cues SimonVT Apr 13 19:19:42 http://simonvt.net/2012/02/07/what-api-level-should-i-target/ Apr 13 19:20:01 i have to admit though, i still have target = min = 8 Apr 13 19:20:22 but i'm thinking about using abs so that might change Apr 13 19:20:29 because you don't want to use any post-Froyo features? Apr 13 19:20:33 how quaint! :) Apr 13 19:20:57 skfax: set the target to be the most up-to-date feature set that you want to be able to use in your app Apr 13 19:20:59 <- target 14, min 7, ABS Apr 13 19:21:01 kapow Apr 13 19:21:11 set the min to be the earliest version you promise to run cleanly on Apr 13 19:21:26 ABS makes implementing the Actionbar on all versions so damned easy ;P Apr 13 19:21:30 the support libs and ABS and so on will help enormously for being able to manage feature skew like that Apr 13 19:21:58 I've been doing some development of a new release now on my Gnex, but when I wanted to try it in the emulator it suddenly crashed due to using a couple of Froyo features etc.. I guess I just have to manually avoid using any post 1.6 features? Apr 13 19:22:09 ctate: Are you a dev? Being an op. Apr 13 19:22:11 ctate: hehe. the device i am testing on for blueooth is 8. i am too lazy to say (if sdk > blah then enable fob ) … and i am just now considering using abs Apr 13 19:23:07 Ah in that sense, so I can check for Android version in my app and use features up to the targetSdkLevel, but I need to make sure that I will not be using any high-version API calls on a 1.6 device Apr 13 19:23:23 skfaxthe newest lint should help there Apr 13 19:23:37 Cool, I might try that Apr 13 19:23:56 skfax: Yes, but beware that on 1.6 you need to wrap new APIs in a static class Apr 13 19:24:10 It was just a "Pair" class I used, and the executeUpdateDelete() in SQLiteStatement class which were causing issues Apr 13 19:24:11 i'm not sure if there are any corner cases it does not pick up, like say i reference some style or attribute that exists in target but not below that Apr 13 19:28:45 Knossos: yes, i work at google on Android Apr 13 19:30:48 ctate: do you see any danger then, if the only device i have available for testing is 8, setting target > 8 ? Apr 13 19:31:17 i understand to some extent lint can help with this, just wondering if there is ever a justification to not go with the highest permissible targetSdk Apr 13 19:32:13 also it would be great if lints's shortcomings in detecting the minsdk/targetsdk things were clearly documented, or maybe i have not found that Apr 13 19:32:28 or even if there are any shortcomings Apr 13 19:32:39 g00s: I test mostly on my 2.3.3 device, and I run into no issues really targetting 4.0.3 Apr 13 19:33:13 thanks Knossos Apr 13 19:33:39 Works tablet just updated to 4.0.3 though, so I'm happy :P Apr 13 19:35:16 g00s: that's pretty safe, actually Apr 13 19:36:13 As long as you are aware of what works on various versions. Example, if you use non-support versions of Fragment by accident. Apr 13 19:36:26 since you're pretty much guaranteed in testing to catch any problems where you're using > 8 APIs accidentally Apr 13 19:36:36 But even then you'll know you have messed up because your low version device will crash on it. Apr 13 19:36:57 i certainly recommend that people go with the highest target they can manage Apr 13 19:37:11 since that will be the most featureful and look and act best on newer and future devices Apr 13 19:37:21 again, the support lib and things like ABS are hugely useful here Apr 13 19:37:39 ctate: ok, thanks … but what does "they can manage" mean ? Apr 13 19:37:46 I wish my phone would upgrade to 4 :( The tablet at work has really spoilt me. Apr 13 19:38:12 g00s: well, that they are comfortable tackling via support libs or their own version backoff or whatever Apr 13 19:38:31 ok Apr 13 19:43:53 http://www.quickmeme.com/meme/3orp5p/ Apr 13 19:44:29 ctate dont know what aspect you deal with there... you guys should roll a lot of the sdk8+ stuff into common lib Apr 13 19:44:47 so you can add functionality and it doesnt matter as much if they are on the absolute latest os Apr 13 19:45:22 rest assured we understand that having a really great support lib is important :) Apr 13 19:45:46 http://imgur.com/N2AV6 Apr 13 19:47:06 oh sweet we're #android-meme now Apr 13 19:47:08 thanks g00s Apr 13 19:47:21 yes, ctate started :D Apr 13 19:47:43 hey mine was more relevant :) Apr 13 19:48:28 ctate: well it applies to a lot of devs also :D Apr 13 19:48:42 fair enough Apr 13 19:48:51 at the moment i am experiencing failure to lunch Apr 13 19:48:53 bbiab Apr 13 19:49:28 * g00s wonders if the rocket guidance used android XD Apr 13 19:50:06 I'm experiencing failure to launch.. If I enable hw accel and run it in the gpu accel emulator Apr 13 19:50:37 SimonVT: did you get sdk 19 ? Apr 13 19:50:47 Yes Apr 13 19:50:52 It's my app that wont launch Apr 13 19:51:46 Empty activity for 10 seconds.. Then just killed.. No crash dialog Apr 13 19:54:03 g00s: in that picture, sarah jessica parker's face looks more super-imposed than kim jong eun. Apr 13 19:59:42 https://play.google.com/store/apps/details?id=com.tomdignan.android.LEDCallerID \o/ RELEASE! Apr 13 19:59:57 anyone know how to troubleshoot issues with searches on Google Play? My app will not return in the top of the search if I have spaces in the string. App name is "To Do Mapr", searching for that makes it like 80th on the list of apps. Trying "todomapr" returns instantly and accurately. It's kinda annoying. Apr 13 20:00:02 readme: nice! Apr 13 20:00:34 :) Apr 13 20:00:46 will be sending you a build shortly :) Apr 13 20:01:11 i dont mind buying it Apr 13 20:01:19 get you rolling Apr 13 20:01:24 QubeZ: pick a name with less common words in it? :) Apr 13 20:01:48 this is my code: http://pastebin.com/JfAMmE1u line 56 is causing my app to crash. can someone help me understand what I am doing wrong ? Apr 13 20:01:51 ctate: ya unfortunately thats the name of the app. Why "mapr" in the string doesn't suffice? Apr 13 20:01:54 readme: congrats \o/ Apr 13 20:02:11 QubeZ: thanks man :) Apr 13 20:02:30 anyone who buys it please know you have a 24/7 support contract with me not only on my app but on any of your apps Apr 13 20:02:31 ok im your first customer, treat me good! Apr 13 20:02:35 readme: bought! Apr 13 20:02:38 :) Apr 13 20:02:44 QubeZ: whats your carrier? Apr 13 20:02:53 Verizon, of course ;) Apr 13 20:02:58 this is my code: http://pastebin.com/JfAMmE1u line 56 is causing my app to crash. can someone help me understand what I am doing wrong ? Apr 13 20:03:00 devslash get ur stacktrace lol Apr 13 20:03:14 i duno how I'm new to android development Apr 13 20:03:22 you in eclipse? Apr 13 20:03:25 use* Apr 13 20:03:30 yea Apr 13 20:03:45 window/show view/other logcat Apr 13 20:03:53 may be under other/android/logcat Apr 13 20:03:57 QubeZ: oh, make sure wifi is on then Apr 13 20:04:00 Anyone here have experience using the NFC library in Android? Apr 13 20:04:09 QubeZ: unless you've got 4G LTE Apr 13 20:04:12 then it *may* work without wifi Apr 13 20:04:52 anyone familiar with getting git/repo to use .netrc for login credentials? tryimg to sync aosp having issues Apr 13 20:05:16 Jug6ernaut: http://pastebin.com/ksAYuu1i Apr 13 20:05:18 readme: I have RAZR w/ 4G LTE Apr 13 20:05:36 readme, prepare a legal defense, CityID owns patents on that and is very aggressive Apr 13 20:05:44 i did a similar projects ~2yrs ago Apr 13 20:05:48 from start to release ready Apr 13 20:05:51 and had to abandon it Apr 13 20:05:58 jcase: thanks for the warning Apr 13 20:06:01 hmm Apr 13 20:06:09 readme, and im entirely serious Apr 13 20:06:09 array adapter needs textview resource id Apr 13 20:06:13 jcase: i believe you Apr 13 20:06:20 Jug6ernaut: is that the cause of the problem ? Apr 13 20:06:21 devslash yep, can use ur layouts id Apr 13 20:06:22 yes Apr 13 20:06:25 but why would a database be available to query against if someone owns a patent to it? Apr 13 20:06:44 cant* Apr 13 20:06:57 jcase: any public records about your previous lawsuit? Apr 13 20:07:10 readme, i wasnt sued another deverloper was Apr 13 20:07:13 hold on Apr 13 20:07:16 lookign for said patents Apr 13 20:07:21 how do i refer to it in the call to setListAdapter? Apr 13 20:07:27 i jumped ship right before release, after seeing the court stuff Apr 13 20:07:48 I'm going to read all I can and start calling lawyers Monday Apr 13 20:07:55 devslash: I think you need a good Java and Android book. Please dont use this channel as your live operator question session. Apr 13 20:07:58 I have big plans for this, this isn't even my only product in the works Apr 13 20:08:27 readme, http://www.google.com/patents/about?id=ZWUKAAAAEBAJ&dq=6353664 http://www.google.com/patents/about?id=QIR_AAAAEBAJ&dq=7200212 Apr 13 20:08:39 devslash 1 sec Apr 13 20:08:46 http://phandroid.com/2010/02/23/lawsuit-city-caller-id-application-pulled-from-market/ Apr 13 20:08:50 Can "void SQLiteStatement.execute()" be used for Insert / Update statements if I don't care about the output? Apr 13 20:09:08 devslash the second param is used for the layout of the listview rows Apr 13 20:09:13 right Apr 13 20:09:16 readme, would love to see it invalidated, i didnt have the funds to even start to defend myself, so i pulled the plug Apr 13 20:09:23 jcase: thanks a lot. I am going to try like hell to fight it with what I can Apr 13 20:09:28 devslash: so for example you could use android.R.layout.simple_expandable_list_item_1 Apr 13 20:09:33 there are other default ones Apr 13 20:09:34 I have no funds either, but I will start begging lawyers to help me pro-bono monday. Apr 13 20:09:41 if I get a good head start, maybe I can find someone Apr 13 20:09:58 its some nonsense bullshit of a lawsuti Apr 13 20:10:07 yeah, patent trolls Apr 13 20:10:14 Jug6ernaut: i see ok thanks Apr 13 20:10:15 I should have realized if I had a good idea I'd face something like this bullshit. Apr 13 20:10:54 devslash np, let me know how it works Apr 13 20:11:00 works great now Apr 13 20:11:31 Jug6ernaut: I've developed for iOS using Xcode but Android development is very different.. Apr 13 20:12:04 readme, i was really tempted to anonymous opensource mine Apr 13 20:12:17 readme, why repeat the phone number? Apr 13 20:12:33 pfn: that's a good question. in a future release it will be optional definitely. Apr 13 20:12:42 readme, looks cool though Apr 13 20:12:45 thanks :) Apr 13 20:12:53 Hi there, I'm trying to build my application with Proguard but no proguard/ folder is ever created? Apr 13 20:13:02 I owe the cool look to evancharlton for helping me with the WindowManager idea Apr 13 20:13:06 ziroday, debug doesn't proguard Apr 13 20:13:14 jcase: i've open sourced parts of my code Apr 13 20:13:18 pfn, this was created by running File -> Export in Eclipse Apr 13 20:13:22 readme, transparent system overlay view? Apr 13 20:13:29 ziroday, dunno, I don't use eclipse to build Apr 13 20:13:32 yeah, system alert, overlay, transparent Apr 13 20:13:33 tely. Apr 13 20:13:39 here's the open part https://github.com/tom-dignan/Android-OpenCNAM-Library Apr 13 20:13:45 Anyone else use Eclipse to build with proguard? Apr 13 20:13:54 readme, yeah, system alert transparent overlay is pretty cool Apr 13 20:13:57 the SSL is a mess, so if anyone's good.. contrib very appreciated. Apr 13 20:14:01 ziroday, yes, its done on release builds Apr 13 20:14:02 readme, the technique is catching on Apr 13 20:14:04 pfn: i've got so many ideas for overlay stuff now :) Apr 13 20:14:13 readme, ah it queries a remote db? Apr 13 20:14:16 i was doing it all local Apr 13 20:14:17 jcase, by release I assume you mean File -> Export right? Apr 13 20:14:19 lots of videoplayers are using the transparent overlay to cover the system ui bar on honeycomb Apr 13 20:14:22 jcase: local is planned for future releases Apr 13 20:14:22 which is cool Apr 13 20:14:24 ziroday, yes Apr 13 20:14:27 jcase: first i've got to build a new database Apr 13 20:14:32 what cheap phones would be good purely for android devel testing? Apr 13 20:14:38 jcase, okay, I do that - but no proguard folder is created... Apr 13 20:14:43 mahamoti, nexus s Apr 13 20:15:02 devslash yea its pretty different Apr 13 20:15:14 once u get the hang of it its pretty easy Apr 13 20:15:49 Jug6ernaut: well the concept and mindset is very different. plus, I haven't used Java in a while so Im getting back into it again Apr 13 20:16:10 ziroday, documentaion on it is 100% accurate Apr 13 20:17:04 once u get a good understnading of activity/process/service lifecycles and views everything else is cake Apr 13 20:18:09 jcase, you're referring to http://developer.android.com/guide/developing/tools/proguard.html ? I'm following that but as far as I can tell proguard is still not being run. Of note if I remove the proguard.cfg file everything runs without errors but no new proguard.cfg is generated. Apr 13 20:18:22 proguard.cfg doesn't get generated... Apr 13 20:18:26 if it helps I'm using Eclipse Indigo, on Ubuntu 11.10 Apr 13 20:18:39 ziroday, set it in your projuect properties Apr 13 20:18:40 build it Apr 13 20:18:42 disasemble it Apr 13 20:18:49 see if it worked Apr 13 20:19:04 i gotta go, just got a package of toys from a vendor Apr 13 20:19:08 must play with new toys Apr 13 20:19:25 ziroday, try setting proguard.config in build.properties Apr 13 20:19:31 dunno if adt reads from it Apr 13 20:19:40 http://snipurl.com/23199ip <- my project.properties Apr 13 20:19:53 ziroday, exploit the app Apr 13 20:19:59 pfn, I don't have a build.properties so I take that as a no Apr 13 20:20:06 jcase, exploit? Apr 13 20:20:09 export Apr 13 20:20:21 sorry lol mixing words from conversations Apr 13 20:20:21 jcase, okay I do that (File -> Export)... Apr 13 20:20:26 no worries :) Apr 13 20:20:28 ziroday, and the app is not proguarded? Apr 13 20:20:43 jcase, AFAICT no, nor is there a proguard folder with mappings or anything Apr 13 20:20:55 ziroday, run the apk through baksmali or something Apr 13 20:20:59 check the class names Apr 13 20:22:31 * pfn shrugs Apr 13 20:22:33 jcase, k Apr 13 20:22:37 * pfn doesn't care about building from eclipse Apr 13 20:22:55 if you wanna build it from commandline, I can show you Apr 13 20:24:42 jcase, Okay baksmali returns a zip file with the complete source unobsufucated. Apr 13 20:24:45 pfn, sure! Apr 13 20:24:56 ziroday, are you on windows or linux or mac? Apr 13 20:25:05 mac comes with ant; windows and linux may need to install it Apr 13 20:25:06 Ubuntu 11.10 (so linux) Apr 13 20:25:07 baksmali shouldnt return a zip but ok Apr 13 20:25:09 intresting Apr 13 20:25:12 apt-get install ant maybe Apr 13 20:25:19 or apache-ant Apr 13 20:25:21 whatever they call it Apr 13 20:25:30 pfn, i had problems with the one in apt Apr 13 20:25:34 grab it from apache Apr 13 20:25:34 jcase, this is what I ran java -jar ~/Downloads/baksmali-1.3.2.jar ~/SimpleGame.apk Apr 13 20:25:36 ziroday, run android update project -p /path/to/your/project Apr 13 20:25:42 smali eww Apr 13 20:25:50 ziroday, set proguard.config in your build.properties Apr 13 20:25:52 ziroday, then ant release Apr 13 20:25:54 done Apr 13 20:26:29 proguard.config=proguard.cfg Apr 13 20:26:42 I guess sdktools r18 changes it a little bit Apr 13 20:27:17 Okay downloading ant Apr 13 20:27:29 just uncomment the proguard.config line in project.properties Apr 13 20:27:30 ant release Apr 13 20:27:34 et voila Apr 13 20:27:49 hi, i am trying to load an sdcard in the avd emulator, i followed this gd tutorial : http://www.streamhead.com/android-tutorial-sd-card/ but i am still no able to see the sdcard in the emulator, and like someone's comment thru File Explorer the sdcard permissions are d—— ? Apr 13 20:28:30 the funny part is that i have uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" defined in my xml , and on my phone it is working correctly (writing to the sdcard/0 Apr 13 20:28:35 pfn, sorry set proguard.config=proguard.cfg in both project.properties and build.properties? Apr 13 20:28:38 sdcard)* Apr 13 20:29:05 in sdk tools r18 it's no longer proguard.cfg but proguard-config.txt Apr 13 20:29:12 or proguard-project.txt Apr 13 20:29:13 whatever Apr 13 20:29:30 If he has a proguard.cfg that will work as well Apr 13 20:29:38 yeah, just point it there appropriately Apr 13 20:29:43 okay well I'm using 16 Apr 13 20:30:40 anyway, do the above Apr 13 20:30:42 report back with results Apr 13 20:31:13 doing so doubletime! Apr 13 20:31:41 g00s, any idea how to fix that double frame problem with dialogfragmetns with custom themes? Apr 13 20:32:51 pfn, that worked! Apr 13 20:33:08 yeah, you should always be able to build from commandline Apr 13 20:33:13 thank's for that! Any idea why Eclipse hates me? Apr 13 20:33:17 dunno Apr 13 20:33:19 I don't use eclipse Apr 13 20:33:20 pfn, completely agree, thank you once again Apr 13 20:33:22 I have some ListActivity which uses Theme.Dialog, how can I set custom title? Apr 13 20:33:33 relying upon an ide to build is pretty stupid.... Apr 13 20:33:36 so yeah Apr 13 20:33:46 gravity and font size is what I want to change Apr 13 20:33:48 if it's a build you're gonna release, you're gonna want to build it from commandline Apr 13 20:33:55 In Eclipse, I've noticed that you ahve a Custom & Library Views tab...does anyone know where I can get custom widgets? I'd like to have a container that I can place things on Apr 13 20:34:00 and since proguard works from commandline, it's a done deal Apr 13 20:34:33 pfn: why is it stupid to rely on the IDE? It's a short Wizard process with Eclipse. I do it all the time. Apr 13 20:34:36 you mean for speed? Apr 13 20:34:55 QubeZ, for automation, and reproduceability Apr 13 20:35:02 * alankila hasn't been burnt yet by relying on eclipse to build Apr 13 20:35:19 I also need eclipse to be able build things to develop, so I see no reason not to generate the final product with it Apr 13 20:35:47 speaking of which, I need to try and figure out MonkeyTalk... i want to be able to automate mouse clicks and typing so I can run each release through my standard regression tests. Apr 13 20:35:51 QubeZ, also when you're working on a larger team where you are not the person responsible for the release Apr 13 20:35:53 damn thing breaks when building Apr 13 20:36:01 pfn: makes sense Apr 13 20:37:17 hey all, might anyone have a way to stop this crash from happening on my emulator?: http://nopaste.dk/p4993 Apr 13 20:38:49 canadiancow: no i don't :( Apr 13 20:39:17 No one ever got java.lang.NoSuchMethodError while developing Android stuff in Eclipse? This is painful. I can't seem to introduce any new methods whatsoever to this particular Android project. Apr 13 20:39:33 shoerain: show us the code Apr 13 20:40:20 Most of it isn't relevant, and I haven't been able to isolate this to a new project. It's this particular project that it's stickied to, really... Apr 13 20:40:43 shoerain: Clean -> Build || restart Eclipse Apr 13 20:40:52 even && Apr 13 20:41:23 shoerain, simple, you're missing a library in your build Apr 13 20:41:32 QubeZ: I'm aware of those. They don't work for this, but helps with other Eclipse-y problems I encounter, like res/ and R.java not being rebuilt properly. Apr 13 20:43:17 Hmm, where would be the best place to ask about proguard errors? Apr 13 20:43:33 here is not altogether bad... Apr 13 20:43:47 assuming that your'e proguarding an Android app Apr 13 20:44:23 Can I have a graphic and then place a button on the graphic? Apr 13 20:44:38 ziroday: also make sure you are using the latest sdk 17 + template, as some things were changed Apr 13 20:44:46 ImageButton? Apr 13 20:44:47 and i think they bundle pro guard 4.7 now Apr 13 20:44:54 I'll upgrade now Apr 13 20:44:59 4.8 beta is out if you want to try that Apr 13 20:45:30 yea they include proguard 4.7 :) Apr 13 20:45:37 pro guard makes me feel pretty stupid; ultimately when using some 3rd party lib i wind up just trying random shit Apr 13 20:45:41 yes we snapped up to 4.7 :) Apr 13 20:45:56 I believe that's the issue - it's whining about a 3rd party lib Apr 13 20:46:09 read the proguard docs about dealing with jars Apr 13 20:46:26 it's got a lot of knobs but it's not terrible Apr 13 20:46:35 (to configure) Apr 13 20:46:37 3rd party libs, i'll usually allow it to just keep/ignore everything Apr 13 20:46:45 4.7 now? Apr 13 20:46:46 if they're closed-source Apr 13 20:46:50 * pfn updates his plugin to use 4.7 as well then Apr 13 20:46:55 but for something liek ABS, i actually figure out what it NEEDS Apr 13 20:47:04 which means instead of keeping everything in ABS, i only keep one or two classes Apr 13 20:47:04 :) Apr 13 20:47:32 yeah, for something like guava i would want ti tho strip out everything i wasn't using Apr 13 20:47:54 Here's the build log http://sebsauvage.net/paste/ Apr 13 20:48:16 ive been thinking of making some kidn of app to dynamically write a better proguard config based on your manfiest Apr 13 20:48:18 and the proguard.cfg http://paste.ubuntu.com/928502/ Apr 13 20:48:22 so it can strip unused activities Apr 13 20:48:28 and maybe also views, based on what you use in xml Apr 13 20:48:44 and pro guard can spew out thousands of lines of nonsense, rivaled only by c++ template instantiation errors Apr 13 20:48:55 lol Apr 13 20:49:02 i understand proguard's output Apr 13 20:49:05 my proguard output usually isn't so long... Apr 13 20:49:09 im our resident expert on all kinds of obscure things Apr 13 20:49:12 proguard being one of them Apr 13 20:49:16 and my proguard is trimming out like 10mb of code Apr 13 20:49:22 o.O Apr 13 20:49:22 WTF Apr 13 20:49:33 have you tried not linking the world? ) Apr 13 20:49:34 scala = bloat :D Apr 13 20:49:35 i thought words with friends was bloated Apr 13 20:49:37 * g00s runs Apr 13 20:49:40 but it's nowhere near that Apr 13 20:49:46 * pfn shrugs Apr 13 20:49:52 If my app is already small enough and I don't care if others r/e my code, it it okay to skip proguard ? Apr 13 20:49:54 cost of using a pleasant language Apr 13 20:50:00 * ziroday feels like he's done something wrong Apr 13 20:50:00 Beket: sure i guess Apr 13 20:50:03 Beket, proguard isn't at all required Apr 13 20:50:19 unless you link in lots of libraries Apr 13 20:50:31 yea how do you define "small enough" Apr 13 20:50:33 someone here loaded up on like 27mb of libraries or something Apr 13 20:50:40 400 kbytes Apr 13 20:50:50 you sure someone wont complain it's not 300? Apr 13 20:50:51 and the dexer failed, heh Apr 13 20:51:57 So any ideas on how to fix it? Apr 13 20:52:16 fix what? Apr 13 20:52:38 you never pasted a log Apr 13 20:52:44 oh woops Apr 13 20:53:13 http://paste.ubuntu.com/928508/ Apr 13 20:53:43 ziroday, you have kiip-1.0.13.jar being proguarded twice Apr 13 20:53:46 pfn: not sure what you mean by a missing library. It's literally like, some of the classes in a different package (that I created) are not getting updated with the new class (not static) methods I add. Just not cool... Apr 13 20:53:47 aren't those just awnings ? Apr 13 20:53:50 *warnings Apr 13 20:54:10 shoerain, be specific what are the methods, where are the classes in question Apr 13 20:54:18 warnings kill proguard by default Apr 13 20:54:45 g00s any idea what i should even search for wrt my dialog issue? Apr 13 20:54:50 Sorry for some reason that didn't include the whole output http://pastebin.com/KF6Zn64N Apr 13 20:55:12 canadiancow dialog issue? Apr 13 20:55:21 so i have a DialogFragment Apr 13 20:55:27 and i override onCreateDialog Apr 13 20:55:27 pfn, I only have it defined once in my proguard.cfg, do I need to define it? Apr 13 20:55:34 and if i specify a custom theme, i get like a double border Apr 13 20:55:50 its like the "dialog" has a background, and its in the dialogfragment which has another, bigger background Apr 13 20:55:51 ziroday, you're specifying -libraryjar while it's also in libs Apr 13 20:55:57 ziroday, take out the -libraryjar arg Apr 13 20:56:40 pfn, I can't explain anymore without giving an example. I guess if this problem persists I'll swing by again. Apr 13 20:56:53 Okay, now I get http://pastebin.com/PHU6dsMP Apr 13 20:57:03 I have two listfragments in action bar tabs, i select items from list2 to add to list1. they are added but they only show up if i restart the activity or if data already exists in list1 (don't understand that). Right now I am calling getLoaderManager().restartLoader in onResume. Is that overkill? Apr 13 20:57:29 Lest say I want a return or
tag in my string that is on a button...how would I do that in the strings.xml file? Apr 13 20:57:38 hmm Apr 13 20:57:41 \n Apr 13 20:57:42 ziroday, target a higher android version Apr 13 20:57:55 pfn, in my project.properties? Apr 13 20:58:08 ziroday, android update project -t android-15 -p . Apr 13 20:59:09 john_doe_jr: Try "First\nSecond" Apr 13 20:59:10 pfn, I would love to send you a box of cookies right now Apr 13 20:59:19 omnomnom Apr 13 21:01:44 canadiancow ive neve used a fragmentdialog :\ sry Apr 13 21:01:49 why would u use one? Apr 13 21:02:31 so you can manage it in the fragment backstack Apr 13 21:03:08 Okay pfn, QubeZ, and whomever else: how about this (non-example, still): if I even refactor an existing method like `Item#createItem(JSONObject)` to `Item#createItemzers(JSONObject)` , I'll still get NoSuchMethodError. The former works, but after refactoring, it doesn't. Apr 13 21:03:13 ahh. only fragment work ive done is with abs, and viewpager, which i think is different then normal fragment stuff Apr 13 21:03:16 skfax: I've got a linear_layout with table_rows inside it...why would the button (after putting the 'Test \nCompleted') automatically be shaped incorrectly? Apr 13 21:04:12 * Jug6ernaut has a problem with a linear layout in a tableview not showing correctly Apr 13 21:04:12 fuck i hate these dumb as .DS_Store things Apr 13 21:04:20 tho im petty sure its somehow my fault lol Apr 13 21:04:28 Jug6ernaut: probably :) Apr 13 21:04:36 hehe Apr 13 21:04:38 * Jug6ernaut knows Apr 13 21:04:46 the naut knows Apr 13 21:05:25 * Jug6ernaut should probably post a screenshot Apr 13 21:05:27 g00s: apple's fault Apr 13 21:05:35 john_doe_jr: indeed Apr 13 21:06:22 when u have a layout with 3 textviews, and u set weight 1,1,2 so the views take up 25%,25% and 50% respectively, are they supposed to follow that weight or can they change dynamically? Apr 13 21:06:24 shoerain, needs a clean rebuild Apr 13 21:06:32 * Jug6ernaut wants them to stay that size all the time Apr 13 21:07:43 john_doe_jr: Could you pastebin your layout? Apr 13 21:08:02 skfax: I figured it out Apr 13 21:08:07 thank you though Apr 13 21:08:15 nobody lol? Apr 13 21:08:19 * Jug6ernaut fails again Apr 13 21:08:24 I don't understand the question Apr 13 21:09:08 SimonVT i have a linearlayout, with 3 textviews, i want the textviews to always take up 25%,25%,50% of that linearlayout always. Apr 13 21:09:20 Jug6ernaut: the weights are used to distribute spare space Apr 13 21:09:20 so i set the weight of htem to 1,1,2 Apr 13 21:09:33 only spare space? Apr 13 21:09:36 yes Apr 13 21:09:45 ok Apr 13 21:09:49 so if you use wrap_content, they will be the width of the content + 25/50% of the spare space Apr 13 21:10:06 k ic Apr 13 21:10:12 if you want fixed distribution, set the width of each element to 0dp Apr 13 21:10:18 I should make a "How weight works" post :p Apr 13 21:10:25 then they will always be 25/25/50 Apr 13 21:10:29 SimonVT yes you should ;) Apr 13 21:10:31 I am trying to install ADT, when i do it i get this error: Cannot complete the install because one or more required items could not be found. Software being installed: Android Development Tools... I guess the SDK is missing, but how do i set that up? I downloaded it and unpacked it to ~/src/android... Apr 13 21:10:41 gsteinert ic, ill try that thx Apr 13 21:10:49 np Apr 13 21:11:33 any1? Apr 13 21:13:02 arrg its not explained how to setup the SDK Apr 13 21:14:04 you...download it...you extract it...u link it to eclipse Apr 13 21:14:22 bamb Apr 13 21:14:29 diverdude: the ADT tools are standalone executables... no need to install Apr 13 21:14:37 just tell eclipse where they are Apr 13 21:14:54 Can we all stop typing in AOL, please? Apr 13 21:15:19 diverdude: http://developer.android.com/sdk/installing.html http://developer.android.com/sdk/eclipse-adt.html Apr 13 21:15:26 gsteinert: where do i tell it that Apr 13 21:15:46 freecandy? Apr 13 21:16:26 in a uri that is "package:your.app.package", how do you get "your.app.package"? Apr 13 21:16:39 gsteinert: ? Apr 13 21:16:42 the scheme is package, but there is no host or path Apr 13 21:17:31 diverdude: http://developer.android.com/sdk/installing.html http://developer.android.com/sdk/eclipse-adt.html Apr 13 21:21:03 gsteinert: those pages just say add the path to eclipse...does not say how Apr 13 21:21:25 http://www.marco.org/2012/04/10/useless-mug Apr 13 21:22:56 Hi my table row width doesnt fit in the emulator Apr 13 21:23:15 Any ideas? Apr 13 21:23:20 diverdude: its right there in the second link under the configuring the adt plugin header RTFM Apr 13 21:23:23 Sorry it doesnt fit in the designer Apr 13 21:23:25 widen your emulator Apr 13 21:24:01 how do I widen the designer Apr 13 21:24:10 luyang: if it doesn't fit in the designer then it likely wont fit in a device of the same size Apr 13 21:24:19 you may want to think about your layout again Apr 13 21:24:32 gsteinert: true, but I have made very simple layout so I bet there is a bug in my xml Apr 13 21:24:32 http://youtu.be/DTxkOWyE1eg Apr 13 21:24:45 gsteinert: I am doing a book tutorial Apr 13 21:24:59 if you need to widen the designer though, choose a different screen size in the combo boxes at the top of the screen Apr 13 21:25:28 http://pastebin.com/LbnJGJiw Apr 13 21:25:31 That is my XML Apr 13 21:25:42 the designer isn't perfect either, it may display fine in the emulator Apr 13 21:26:48 I will check that Apr 13 21:27:41 it shows up the same in the emulator Apr 13 21:27:57 Could it be the android:ems="10" thing Apr 13 21:28:10 Aaah that made the trick Apr 13 21:28:13 removed them Apr 13 21:28:25 Dunno why the emulator insists adding them Apr 13 21:28:28 hello Apr 13 21:28:31 I mean the designer Apr 13 21:29:14 luyang: do your editing in XML Apr 13 21:29:37 wongk: I prefer to learn the designer... It is getting QUITE good actually! Apr 13 21:29:37 hello samsonjs Apr 13 21:29:52 luyang: last time i used it was terrible Apr 13 21:29:55 speeds things up a lot. Like multiselect text items and edit their properties as a group Apr 13 21:30:04 wongk: then you should check it out again Apr 13 21:30:18 I just stumbled upon a post on SO about Android Beam is the only way to push NDEF, is that true? - I'm just about finished coding the foreground / onnewintent / tag filtering way Apr 13 21:30:43 Can't seriously be true that the user has to do "tap on screen" right? Apr 13 21:30:45 wongk: it was terrible a year ago or so but now I think it is quite usable... following these instructions from my book and it works well Apr 13 21:31:20 luyang: at this point i can work more efficiently in XML anyway :P Apr 13 21:33:06 wongk: whatever Apr 13 21:34:12 wongk is doing it right. Apr 13 21:35:23 hello Apr 13 21:36:51 gsteinert: well it seems to be a chicken and the egg thing Apr 13 21:37:13 gsteinert: or else the error im getting when installing adt is something else than sdk missing Apr 13 21:37:54 i dont see my device in the list of supported devices on http://www.cyanogenmod.com/devices ... how hard do you think it would be to get it working on my devices? Apr 13 21:38:27 crackerjackz: #android-root, xda-developers.com, rootzwiki.com Apr 13 21:42:27 http://www.fiercedeveloper.com/story/openstreetmap-may-offer-cheaper-alternative-google-maps/2012-04-13 Apr 13 21:45:02 http://www.theverge.com/2012/4/13/2943141/android-no-permissions-app-gallery-security-issues Apr 13 21:48:02 wongk: im looking for a way to limit permissions, if cyanogen mod will not work on my devices will i have to develop something? Apr 13 21:48:18 define "limit permissions" Apr 13 21:48:23 g00s: the guy who made that app just reproduced work that was done over 2 years ago and presented at defcon :| Apr 13 21:48:25 i mean, the built-in way works quite well Apr 13 21:48:29 the web browser hack has been around for a while Apr 13 21:48:38 (i.e. don't install the app if you don't want to grant it the permission) Apr 13 21:48:51 on an unrelated note, once my APK is signed and uploaded to the market, it's fine to distribute it, right? by sending others the apk, if I wish? Apr 13 21:49:00 if you mean selectively removing/restoring granted permissions on the fly Apr 13 21:49:06 the CM people implemented that at one point Apr 13 21:49:07 a Apr 13 21:49:07 nd Apr 13 21:49:09 dis Apr 13 21:49:09 c Apr 13 21:49:19 and discovered that everything was wildly broken as a result, so they took it out again Apr 13 21:49:36 readme: err, why wouldn't it be okay? Apr 13 21:49:48 You can distribute the debug apk if you want :P Apr 13 21:50:01 ctate: i don't know. but it helps to ask others instead of just trusting yourself all the time and then finding out you were wrong. Apr 13 21:50:16 Why would Google care, you can't update it on the market if it's not downloaded from there anyway Apr 13 21:50:34 ctate: I'd still like to see *optional* permissions, that is, application has to ask user to engage some stuff Apr 13 21:50:44 You have to re-install it even if it's a free version Apr 13 21:50:45 better safe than sorry :| Apr 13 21:51:02 p_l: i agree. and i should be able to turn on and off permissions when i want Apr 13 21:51:14 g00s: well, the optional ones, yes. Apr 13 21:51:21 ctate: well my friend has a restaurant we're going to be developing a custom app for the menus and pos system and connect the menus to the pos system. when someone orders something from the menu itll send the order to a screen in the kitchen. Apr 13 21:51:30 i suspect that if flexibility in this dimension were to appear in Android, it would be in the form of manifest-declared-"optional" permissions Apr 13 21:51:43 also we are going to develop some sort of web interface for managing the tablets Apr 13 21:51:46 Would like Apr 13 21:51:50 so that you can update the menus Apr 13 21:51:52 if the app is not written to be aware of the possibility, in practice it turns out to be very bad Apr 13 21:52:02 crackerjackz: that sounds pretty cool; i have heard of an iOS version of your idea Apr 13 21:52:06 *some* of the existing ones can be disabled, but to avoid *crashes* would require either going around the framework, or modding the framework to simulate normal failure Apr 13 21:52:26 g00s: i am aware of their idea we are gonna do the same idea but make it better and proivde it for cheaper Apr 13 21:52:42 the CM people also did stuff like mocking GPS APIs to return fake results, rather than yanking the permission outright and crashing the apps Apr 13 21:52:46 There's already an app for that, that has the lowest payment available - it's called PayDragon Apr 13 21:52:46 hmm im getting: Still no compatible AVDs with target 'Android 4.0.3': Aborting launch. Should i have to somehow add an ADT device first? Apr 13 21:52:51 and discovered that this made the app authors extremely unhappy Apr 13 21:52:53 For example, an app that was banned from using FineLocation would simply always think that the GPS is disabled Apr 13 21:53:32 g00s: right now it cost around 13k for 20 ipads with all of the software and they charge you for a yearly license Apr 13 21:54:17 crackerjackz: sounds like a great opportunity to use a low end android device to save costs Apr 13 21:54:33 huh, what you described reminds me of somewhere I ate Apr 13 21:54:40 the dude used an old samsung galaxy tab to take orders Apr 13 21:54:49 I can't remember where this was, oh, nevermind, I do remember Apr 13 21:54:55 it was either lyons or cocos Apr 13 21:55:00 (diner chains) Apr 13 21:55:00 oh, the version i saw - everyone at the table got a tablet Apr 13 21:55:08 hi, quick question (hopefully not too dumb) : if the ddms clears the thread for your package , does that mean you have no memory leak? Apr 13 21:55:09 probably cocos, I think Apr 13 21:55:21 g00s: precisely, but there are some things i need to work out we contemplated developing our own mod but i thought about cyanogen mod. we need a way to limit permissions i want to restrict the evioronment to just the restraunt menu app Apr 13 21:55:24 drinkstoomuch, threads have nothing to do with memory leaks Apr 13 21:55:35 well, threads can cause memory leaks Apr 13 21:55:48 but a thread going doesn't mean your app doesn't have memory leaks Apr 13 21:55:58 pfn: true, i'm more refering to the fact that you can't hprof dump if your thread isn't on the list :) Apr 13 21:56:07 enable StrictMode.VmPolicy for leaking activities and stuff Apr 13 21:56:20 drinkstoomuch, you're confusing thread vs. process Apr 13 21:56:29 drinkstoomuch, and you can only get a heapdump if your app is running Apr 13 21:56:33 and it's debuggable Apr 13 21:56:42 i am going to intergrate a web browser and tip calculator into the app as well along with some social networking stuff that will allow people to make comments on the food and chat with other customers Apr 13 21:57:00 thank you pfn, you are correct, i didn't use the right terminology Apr 13 21:57:00 chat with other customers ? Apr 13 21:57:18 basically make it a very localized twitter Apr 13 21:57:27 chat using your mouth :) Apr 13 21:57:36 and yeah, it's a lot easier to chat with strangers than to go and disturb someone else in a booth Apr 13 21:57:43 chat online, that is Apr 13 21:57:45 g00s: yes i think it's a great idea, i've heard stories about back in the day there were restraunts that had a telephone at every table and you could call other tables and chat with them Apr 13 21:58:01 huh Apr 13 21:58:10 never heard of that Apr 13 21:58:25 sounds like some social fad Apr 13 21:58:28 crackerjackz: Sounds like you're strectching too far - sounds like it's getting more complex by the minute Apr 13 21:58:47 also going to make it to where you can see what other people are eating and for the people who do not like the idea of social networking i am going to include an option for disabling it on the main screen Apr 13 21:59:28 crackerjackz: also, if your app has pictures of the meals, consider that a good food photographer could cost quite a bit in relation to the app / setup; it might not make much difference if you are a little cheaper than your competitor Apr 13 22:00:26 in order for people to chat, the tablets would have to stay at the table; and the restaurant would have to have a lot more of them likely Apr 13 22:00:42 g00s: we're also going to develop an app for your phone where people can continue talking to the people that they met with out having to give them their phone number Apr 13 22:00:50 How would you write a "<" in an xml? I've tried esaping it but it doesn't work Apr 13 22:00:57 i guess, if your market research showed that was promising great - but don't guess it will be a useful feature Apr 13 22:01:20 g00s: well my friend wants to buy 100 of them at a time and premod them with the software and then sell the premodded tablets Apr 13 22:01:39 john_doe_jr: < Apr 13 22:01:45 then im going to set up all of the pos and cms stuff on a vps Apr 13 22:02:38 skfax: that didn't work.... Apr 13 22:02:55 skfax: never mind ...I forgot to include the ';' Apr 13 22:03:48 is 4.03 out ? Is it possible to update my nexus from 4.02? Apr 13 22:04:26 john_doe_jr: < might look prettier Apr 13 22:04:42 i added a switch to my view and added this line in the code: android:onClick="switchClick". it works if you click anywhere on the switch but not if you toggle its value. how do I make it activate when the value changes Apr 13 22:05:39 ? Apr 13 22:06:24 crackerjackz: i think it would be pretty cool, if the app had a flag next to each meal that someone else nearby was eating, so you could see that meal for real - that is, if the other patron didn't mind Apr 13 22:06:36 usually pictures are good enough though Apr 13 22:07:08 heh Apr 13 22:08:30 need to figure out a cost effective way to secure all of the devices though Apr 13 22:08:31 skfax: what is greater than symbol ? Apr 13 22:08:43 anyone know ? Apr 13 22:08:45 maybe i could build something Apr 13 22:09:26 Hey guys, is there a way to build gpu-accelerated system images from source? Apr 13 22:10:09 john_doe_jr: > Apr 13 22:10:28 john_doe_jr: http://designerstoolbox.com/designresources/html/ Apr 13 22:10:44 crackerjackz: maybe another useful feature (again, market research) is to see popular changes to a dish Apr 13 22:11:02 (x people like to add foo to this) Apr 13 22:11:04 skfax: awesome thanks Apr 13 22:11:24 I have two listfragments in action bar tabs, i select items from list2 to add to list1. they are added but they only show up if i restart the activity. Right now I am calling getLoaderManager().restartLoader in onResume to refresh list1. Is that overkill? notifydatasetchanged doesnt work. http://pastebin.com/UeMFUzw8 Apr 13 22:16:15 if i want to store small mp3s to be played in my android app, they have to be added as a resource right ? Apr 13 22:20:13 * g00s contemplates putting screenshots and market description under version control to Apr 13 22:20:24 *too Apr 13 22:20:25 * SimonVT does Apr 13 22:20:32 :) Apr 13 22:20:49 that might sway me Apr 13 22:25:54 has anyone here used the media player class ? Apr 13 22:34:07 * g00s just groomed his old chocolate lab; seemed like 58 lbs of furr came off a dog that weighs 59 lbs :) Apr 13 22:35:15 caring for an old dog is chicken soup for the soul Apr 13 22:35:53 is there a way to have a multidimensional array in the string resources ? Apr 13 22:36:09 devslash: you can make parallel arrays Apr 13 22:37:03 * pfn ponders Apr 13 22:37:34 how do you do that exactly Apr 13 22:37:38 I wonder what a good way to make an event object which has a "large" number of fields, and only a subset of fields will be set/updated on any given time Apr 13 22:37:50 and how to communicate that to the user of the event object Apr 13 22:38:04 devslash, you can't make multi-dim arrays Apr 13 22:38:09 devslash, just create two arrays Apr 13 22:38:15 and access them at the same time with same indexes Apr 13 22:38:19 hmm. Apr 13 22:39:05 thats an ugly way Apr 13 22:40:13 pfn: why not make the event an object hierarchy; base classes define common fields that will be filled in; subclasses specialize Apr 13 22:40:29 thats how i use guava event bus anyhow Apr 13 22:40:32 g00s, that'd take far too much object composition to make happen Apr 13 22:41:06 i have a taxonomy of events like, a taxonomy of exceptions Apr 13 22:41:13 ok Apr 13 22:41:24 especially since this is only for one particular event type Apr 13 22:42:53 63% of my users are on GB, i thought that was interesting Apr 13 22:45:37 devslash: assets, not resources Apr 13 22:45:52 for MP3s Apr 13 22:46:01 unless you're going to be doing localization on them Apr 13 22:46:14 then res/raw/ Apr 13 22:46:25 yea i got that part Apr 13 22:47:01 but i want to have a multidimensional array so that the first value is the displayed name and the second is the associated assest Apr 13 22:47:56 I have an OpenGL view embeded on top of camera preview. The strangest things is OpenGLView (a simple cube) is only visible if i either set it as a MainActivity or set the orientation LandScape. Any idea? Apr 13 22:51:38 Any idea on why OpenGL embdeded on Camera will work only when I set the view as main activity (Starting Point), Otherwise it only renders Camera. Apr 13 22:53:00 g00s: perhaps not coincidentally, 63% of *Android device users* are on Gingerbread Apr 13 22:53:14 http://developer.android.com/resources/dashboard/platform-versions.html Apr 13 22:53:37 :O Apr 13 22:53:56 well wuddha know Apr 13 22:58:47 ctate: is git growing on you at all ? Apr 13 23:00:04 i think i read 3 books on git and still find it uncomfortable Apr 13 23:04:02 git is awesome Apr 13 23:04:12 I think the biggest diff from others Apr 13 23:04:23 just remember init/clone just create a local repo Apr 13 23:04:37 you can check in and out all you want, and push origin to push to the original Apr 13 23:05:25 g00s: i can deal with it okay in the very limited ways that i use it (gerrit/repo workflows) Apr 13 23:05:42 if things go wrong i go get an expert Apr 13 23:06:13 i still desperately yearn for decent support tooling Apr 13 23:06:14 ctate: what kind of jams have you gotten yourself into so far ? Apr 13 23:06:23 notably a good merge tool and a good file-history browser Apr 13 23:06:25 I just burn everything and start again. Apr 13 23:06:40 I used to use Meld for merging Apr 13 23:06:41 err... if things go wrong, I mean, but it looks kind of dumb with that much lag. Apr 13 23:06:42 it was amazing Apr 13 23:06:51 i use diffmerge, its pretty good also Apr 13 23:06:52 Can't find a good one for this Mactop Apr 13 23:07:05 g00s: rebasing the wrong tree/branch, which doesnt' happen to me now that there's "repo rebase" Apr 13 23:07:09 JakeWharton tower? Apr 13 23:07:11 JakeWharton: diffmerge works for mac Apr 13 23:07:24 Beyond Compare 3 Pro. Apr 13 23:07:33 and i can muddle my way out of accidentally committing to detached head now, i think Apr 13 23:07:36 i have diffmerge Apr 13 23:07:38 it's meh Apr 13 23:07:48 Every other diff tool I've tried is only capable of solving the problems that git can already take care of itself. Apr 13 23:07:50 i own Git Tower Apr 13 23:08:03 afaict it's the best there is Apr 13 23:08:06 BC3pro actually gives you the tools to do something that git couldn't figure out. Apr 13 23:08:06 ctate: yeah, its things like that - i don't think i would be able to fix myself. seems like a lot of ways to screw yourself up with git Apr 13 23:08:07 Is tower a merge tool too? Apr 13 23:08:11 it does Apr 13 23:08:12 but there's still no good merge tool or file history viewer Apr 13 23:08:18 but not crazy in the diffing Apr 13 23:08:34 I need merge tools for just random directory trees and stuff Apr 13 23:08:41 not always git Apr 13 23:08:55 http://www.kaleidoscopeapp.com/ Apr 13 23:08:56 g00s: Git is a swiss army knife with twelve thousand blades and a chainsaw for a handle. But at least it includes a time machine. Apr 13 23:09:03 [paraphrasing one of my orkers] Apr 13 23:09:08 ha Apr 13 23:09:19 kaleidoscopeapp looks nice Apr 13 23:09:46 git is nothing short of amazing Apr 13 23:09:49 http://www.kaleidoscopeapp.com/static/img/screen_text_unified.jpg Apr 13 23:09:53 git is quite nice Apr 13 23:10:01 git is extraordinarily capable Apr 13 23:10:05 flexible, powerful, all that Apr 13 23:10:13 it's just a really shitty *tool* in terms of usability Apr 13 23:10:13 git weirds me out because whenever I ask how to do something hard I get responses that look a lot like they're just stripping off some layers and hand-coding it in some lower-level language. Apr 13 23:10:15 I like how you can clone android source and see entire commit history Apr 13 23:10:36 Kind of like how when you google for trivial problems in Linux you find people that solve it by hacking the kernel module load order or something stupid like that. Apr 13 23:10:36 I never bothered with any tooling/GUIs Apr 13 23:10:58 honestly wher eI normally find ide integrations easier in any other scm Apr 13 23:11:09 git for easy stuff makes a lot of sense Apr 13 23:11:22 command line tools work good Apr 13 23:11:24 managing merges/integrations is one of the areas where git's sheer power is worth a lot Apr 13 23:11:39 iirc jbq's job managing AOSP would be pretty much untenable in any other SCM system Apr 13 23:12:26 JakeWharton: it's hard to convey just how awesome a really good 3-way merge tool is to work with Apr 13 23:12:37 Yes that's something I lack Apr 13 23:13:05 I think I used one on Windows called WinMerge back in the day Apr 13 23:13:24 Why isn't everyone talking about BC3? Apr 13 23:13:42 hm, i bet it's possible to use p4merge with git, if you jigger things right Apr 13 23:13:43 t Apr 13 23:13:44 hat' Apr 13 23:13:45 d Apr 13 23:13:45 be Apr 13 23:13:46 that'd be rad Apr 13 23:13:49 [gr stupid client] Apr 13 23:13:53 because I have no idea what it is and as such I probably don't' care about it (re: BC3) Apr 13 23:13:56 How'd you do that? Apr 13 23:14:03 Gumboot: type too fast :( Apr 13 23:14:21 And the linefeeds come from where? Apr 13 23:14:24 i have an array where each value is stored in name|value i want to split each name and store that in a string array. how can i do that Apr 13 23:14:27 it's fscking simultaneous keypresses, i think Apr 13 23:14:27 d Apr 13 23:14:28 u Apr 13 23:14:29 nn Apr 13 23:14:30 arhrkjhga Apr 13 23:14:34 dunno if it's the keyboard or the client Apr 13 23:14:39 pebkac Apr 13 23:14:47 pen15 Apr 13 23:15:00 i suspect the client because it doesn't seem to happen in other apps Apr 13 23:15:04 id10t Apr 13 23:15:06 I spent some time trying to make p4merge do something useful, but it's just terrible. Apr 13 23:15:21 Maybe it is the best of the things that aren't BC3. I didn't spend so much time on many of the others. Apr 13 23:15:22 brb beer Apr 13 23:15:42 I googled BC3 Apr 13 23:15:47 nothing on the first page was relevant to my interest Apr 13 23:15:49 BeyondCompare Apr 13 23:15:51 wut is bc3 Apr 13 23:15:53 is very, very good Apr 13 23:15:54 I had a bit of a "OMG! Closed source commercial software? There's no precedent for such a thing being good", but I got over that. Apr 13 23:15:58 it is for-pay Apr 13 23:16:05 and not availble for the Mac, hence not relevant to my interests Apr 13 23:16:16 Gumboot: uhhhhhhhh Apr 13 23:16:42 afaict, there are maaaaaybe a half dozen OSS products that are competitive with commercial alternatives Apr 13 23:17:04 ctate: To be honest I doubt I could name that many. Apr 13 23:17:06 maybe none if you exclude developer tools Apr 13 23:17:19 okay, one: Apache Apr 13 23:17:36 and Android Apr 13 23:17:38 oh, i thought there were a half dozen oss merge tools :) Apr 13 23:17:49 g00s: i'm sure there are. and they all blow. :) Apr 13 23:17:59 (actually p4merge might be OSS) Apr 13 23:18:05 iirc it's written in Qt Apr 13 23:18:18 But in that category I've seen a lot of timewasting software that not only wanted to waste my time but also wanted me to pay for it. Apr 13 23:18:23 most of the time when i merge, in my own project, it amounts to "use this file, all of it" Apr 13 23:19:29 * g00s imagines everyone collectively rolling their eyes Apr 13 23:19:43 heh, yeah Apr 13 23:19:53 "git add -i" is a wonder to behold Apr 13 23:19:59 git add --patch Apr 13 23:20:00 beautiful and terrible as the night Apr 13 23:20:01 is my fav Apr 13 23:20:17 Wow. Yeah. No OSX. The step from 2 to 3 involved changing to a really slow, clumsy toolkit. I would have thought that must be something more portable than Win+Lin. Apr 13 23:20:43 Less work for you, JakeWharton :p Apr 13 23:20:43 How can I adjust an image's size (via XML) to scale (keeping aspect ratio) and that within it's parent views (in this case, a table) size constraint? Apr 13 23:21:49 cd jake; cp /Users/fridge/beer . ; git commit -am "Gulp gulp gulp"; git push stomach Apr 13 23:22:25 Is anyone else having issues with compiz after the latest nvidia-current update? Apr 13 23:22:42 #linux #ubuntu #compiz #notandroid Apr 13 23:23:01 sorry wrong chat Apr 13 23:23:12 * g00s doesn't miss all that wonderful X stuff :D Apr 13 23:23:22 can anybody suggest any good 9patch image editors besides the one that is package with android? Apr 13 23:23:29 Photoshop Apr 13 23:23:37 paint! Apr 13 23:23:39 really? Apr 13 23:23:44 sweet thanks! Apr 13 23:23:54 9-patches are just .pngs with a 1px border of solid black or transparent pixels Apr 13 23:23:57 the one packaged with Android isn't an image editor Apr 13 23:24:04 it's for turning the images into 9patches Apr 13 23:24:12 i have a string array that I'm trying to split. Code: http://pastebin.com/f2S3g1U4 the output is some random text can anyone help me Apr 13 23:24:21 It's for drawing a black line :p Apr 13 23:24:39 k thx guys Apr 13 23:24:40 devslash: you're calling .toString() on a String[] Apr 13 23:24:52 SimonVT: and it can't even do that well. i had problems with the preview crapping out unless i resized it Apr 13 23:25:13 JakeWharton: i want to refer to the individual item Apr 13 23:25:18 and split it Apr 13 23:25:25 yes Apr 13 23:25:28 and that split returns an array Apr 13 23:25:41 so what do i do ? Apr 13 23:25:47 [0].toString() Apr 13 23:26:03 gross Apr 13 23:26:35 can i do it all in one shot like [0].toString().Split(":") ? Apr 13 23:28:39 hrm, if i got more than 80 views - should I reconsider the flow of my application? I would like this activity to scroll a lot , but it seems bad , when lint warns me 80 is the max :P Apr 13 23:28:45 JakeWharton: ? Apr 13 23:29:09 devslash: You might want to go back and do this one step at a time instead of chaining method calls if you don't understand what they do Apr 13 23:29:21 OK, I'm still at zero, here. Apr 13 23:29:26 i am Apr 13 23:29:26 devslash: split returns an array Apr 13 23:29:55 i did this: String[]tmp=keys[a].split("|"); Apr 13 23:29:58 The only open-source software I can think of which I don't have issues with is software for which there is _no_ commercial alternative. That is, software which isn't some half-arsed knockoff of something proper. Apr 13 23:30:10 Insayne: Lots of scrolling is for lists.. use a listview or something Apr 13 23:30:39 80 views is.. a lot Apr 13 23:30:46 yeah Apr 13 23:30:57 well i will just add navigation to it Apr 13 23:31:02 pft, my app has 150,000 views Apr 13 23:31:10 but i only end up displaying about 30 at a time Apr 13 23:31:14 pragma, really? and how is performance ? Apr 13 23:31:26 yeah... i display all of them Apr 13 23:31:29 over nine-thousand views Apr 13 23:31:42 or does showing mean whats on-screen ? Apr 13 23:32:06 What is the easiest way to add a surface to my app? Apr 13 23:32:30 i have an expandable list view that has about 10 views or so for each item, and then about 8 views for each child Apr 13 23:32:41 Insayne: yeah Apr 13 23:33:16 Insayne: at least, that's how you should implement this Apr 13 23:33:39 recycle views as the user scrolls through the list/grid Apr 13 23:34:03 ah, i thought defining all views in XML would be better Apr 13 23:34:22 so thats not the case? Apr 13 23:34:32 no, it's not Apr 13 23:34:45 that's a bad idea on a memory contrained device Apr 13 23:34:52 okay Apr 13 23:35:03 i thought the OS would take care of that Apr 13 23:35:05 heh Apr 13 23:35:16 so how am i supposed to do it then ? Apr 13 23:35:26 Insayne: first explain what you're trying to do? Apr 13 23:35:42 are you trying to show a list of items? Apr 13 23:35:45 you can give me $125 or prima noches rights and I'll do it for you Apr 13 23:35:51 no Apr 13 23:36:05 I have it like a website pretty much Apr 13 23:36:18 with different layouts for tables when necessary, etc Apr 13 23:36:39 I'm confused about split Apr 13 23:36:42 prima noctis Apr 13 23:37:10 So I don't see why I would make it into a list - as its not list items as such Apr 13 23:37:48 screenshot or it didn't happen Apr 13 23:37:51 I should just split it into different activities then, no ? Apr 13 23:37:52 O_o Apr 13 23:37:55 devslash: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String) Apr 13 23:38:11 MDijkstra oO Apr 13 23:38:12 no, if you want to build a website you should use html Apr 13 23:38:24 nah, its like a website - not a website Apr 13 23:38:34 Don't be offended by the terminology Apr 13 23:38:59 if you make an interactive book or cluster of information, but don't do pagination, well then thats what you get Apr 13 23:39:09 if i have a String[]keys where keys[0]="Alarm|Bell" i do String[]tmp=keys[a].toString().split("|"); but when I use Toast to display the value of tmp[0] it is blank Apr 13 23:39:38 Insayne: are you targeting tablets or phones? Apr 13 23:39:52 you sure you want to call String.toString()? And try splitting by \\| or use 2-dimensional arrays Apr 13 23:40:13 I mean, it's a terrible idea to hardcode every page as a separate xml layout Apr 13 23:40:35 MDijkstra, both Apr 13 23:40:55 how so ? Apr 13 23:40:58 well, the data displayed, is however hardcoded - it has no pattern to it, as such Apr 13 23:41:27 so I would do a lot of coding to do all the cases - which is definately possible, but yeah... Apr 13 23:41:45 i can't figure out what to do Apr 13 23:42:00 I have an app like that, using locally generated HTML in a UIWebView Apr 13 23:42:05 err Apr 13 23:42:09 WebView :p Apr 13 23:42:21 heh, well i prefer the native android look Apr 13 23:42:49 so now, I am wondering, since i only show text, and a handful low res images - if the warning should worry me about the amount of views Apr 13 23:42:53 constantin ehrenstein Apr 13 23:42:57 there is no native android look, really, at least not for pre-4.0 (which is around 98% of phones right now) Apr 13 23:43:06 yeha, targeting API15 Apr 13 23:43:19 leaving it backwards compatible, but yeah Apr 13 23:43:40 I just wonder, how bad performance would be, I shall just prototype it on my Desire and see where that leads Apr 13 23:44:12 because I like the flow as-is right now, and I know I could use a webview, but am not a fan of it :P Apr 13 23:44:15 if possible I'd prefer to use a diff windowing toolkit Apr 13 23:44:23 Where I am it's funny, the first 4G phone in the country gets more catalogue space than the first android 4.0 phone. The 4G one is running 2.3 (or 2.2). Apr 13 23:44:34 clutter, or something else Apr 13 23:44:42 xaml/wpf is incredible Apr 13 23:44:45 I'll give ms that one Apr 13 23:44:50 I render all my text in 3d opengl and require users to wear stereoscopic 3d glasses when viewing my app Apr 13 23:44:51 well, no clue what your requirements are, but throwing portability out of the window for these reasons is usually a bad idea Apr 13 23:45:39 as long as the pages aren't too big you'll probably be OK, though Apr 13 23:46:34 portability? Apr 13 23:46:40 those would be my requests for android Apr 13 23:46:53 get rid of the contexts context reference passing Apr 13 23:46:55 all that bs Apr 13 23:47:02 and a diff windowing toolkit Apr 13 23:47:13 building stuff in adt is torture Apr 13 23:47:19 Insayne: if you later want to port the app to another platform you'd have to rewrite all the views, but again, this might be a hobby project or something Apr 13 23:47:23 and the result usually doesnt look good by default =( Apr 13 23:47:54 Insayne: but portability to iOS is usually a priority for most people Apr 13 23:47:58 ah no, I dont wish to port it Apr 13 23:48:12 not paying apple money to code on their platform Apr 13 23:48:13 :P Apr 13 23:48:21 +1 :D Apr 13 23:48:28 hehe Apr 13 23:49:22 Insayne: wit if you had to pay $100 to make $200, but you could pay $0 to make $10 ? Apr 13 23:49:30 well, if this isn't really a serious project, you could do whatever you want Apr 13 23:50:01 but then I also wouldn't care too much whether it runs properly on old phones Apr 13 23:50:09 I don't support apple - money doesn't matter to me Apr 13 23:50:20 in that regard Apr 13 23:50:46 i don't support anyone. the platform is a tool Apr 13 23:50:52 apple doesn't need your $99 Apr 13 23:50:54 It really depends on who you're developing for, yourself or the public. Apr 13 23:50:59 well its not the 99$ Apr 13 23:51:12 its that one more app on their market place, making them stronger Apr 13 23:51:14 g00s: its the money you spend + you improve the platform with your work Apr 13 23:51:19 without the apps the platform is a bad joke. Apr 13 23:51:29 exactly, and I won't supply apple with apps Apr 13 23:51:53 They force me to own a mac to code on the damn platform, thats 1000$ Apr 13 23:52:10 i won't pay that as entry price Apr 13 23:52:10 Yeah, i see that as the biggest problem for me. Apr 13 23:52:20 mac minis are a lot less, though. Also, Insayne, you make a lot more from the potential revenue stream... Apr 13 23:52:33 developing on a mac mini is frakking painful Apr 13 23:52:39 I don't know what it is about them but oh god they are slow Apr 13 23:52:52 my 2008 iMac is slow to develop on :( Apr 13 23:52:57 and it's only 2gb of ram... Apr 13 23:53:09 yeah, you need 4g really Apr 13 23:53:14 I've been doing contract work for both iOS and Android, and I've been making a lot more on Android. Apr 13 23:55:57 shoerain: it always seemed like apple never put much effort into making the minis very attractive; the refreshes were always lame Apr 13 23:56:29 you just described most of apple's stuff Apr 13 23:56:56 They have a very successful marketing department, the rest of Apple is pretty meh. Apr 13 23:57:24 oh well, seems to work Apr 13 23:57:32 marketing is key Apr 14 00:03:44 im so glad i dont do ios dev any more Apr 14 00:03:56 my mini hasnt even been booted since i moved to san fran Apr 14 00:04:10 i think its hard doing several platforms well Apr 14 00:04:18 well, its hard for me anyhow Apr 14 00:04:41 i found that if i did android first, ios clones werent too hard Apr 14 00:04:42 I dont Apr 14 00:04:44 I think its great Apr 14 00:04:52 the bad part Apr 14 00:05:01 you see what other platforms have to offer Apr 14 00:05:04 and unfortunately that menas Apr 14 00:05:06 means Apr 14 00:05:15 you see what lacks in others Apr 14 00:05:20 yeah Apr 14 00:05:25 but /that/ is good Apr 14 00:05:32 it ruined android for me Apr 14 00:05:44 I mean I still love that its open, widely adopted, and free Apr 14 00:05:44 really? Apr 14 00:05:51 i feel exactly the opposite Apr 14 00:06:07 android sdk is worlds above ios sdk Apr 14 00:06:11 but when i step back and see what android is, its depressing Apr 14 00:06:17 documentation can suck, but the sdk is good Apr 14 00:06:18 i think we're about to arrive at a moment of universal truth on the interwebs Apr 14 00:06:26 there are lots of why's when it comes to design decisions Apr 14 00:06:32 and I've not heard good explanations for it Apr 14 00:06:54 birbeck its not documentation Apr 14 00:07:04 its that android makes things unnecessarily difficult Apr 14 00:07:11 and android sets you up for failure Apr 14 00:07:16 its so much easier than ios is Apr 14 00:07:21 in almost every way Apr 14 00:07:26 theres 10 ways to do x, and 8 of them are wrong =) Apr 14 00:07:35 I think the ui framework is limited Apr 14 00:07:47 and I think the lack of boiler plate code can be a pita, but a blessing at the same tiem Apr 14 00:07:50 how is that different from any language or sdk though Apr 14 00:07:59 there is always more than one way to skin a cat Apr 14 00:08:12 thats why i hate perl so much :) Apr 14 00:08:17 hehe Apr 14 00:08:23 I dont know Apr 14 00:08:28 apple does give good examples Apr 14 00:08:29 no, you hate perl because it's line noise. Apr 14 00:08:39 googles example apps are way outdated Apr 14 00:08:43 you work on code where dev 1 skins cat this way, dev 2 skins cat that way, and you skin cat 3rd way. and you guys look at each others code like O.o Apr 14 00:08:48 birbeck its not that Apr 14 00:08:54 its like for example the fragment shit Apr 14 00:08:59 but android dev is way easier and faster Apr 14 00:09:04 you are supposed to instantiate with static newInstance etc Apr 14 00:09:22 why the FUCK couldnt they have figured out a way to do that that wasnt as prone to breakage Apr 14 00:09:28 or why not just m ake dialogs managed Apr 14 00:09:30 ok, fragments are a bit weird, but you just get used to the patterns Apr 14 00:09:41 all dialogs Apr 14 00:10:06 why make orientation changes and shit just grenade the avg persons first few apps Apr 14 00:10:16 :) Apr 14 00:10:23 and back we come to the context shit Apr 14 00:10:34 good day #and-dev Apr 14 00:10:37 contexts are classes designed to allocate/fetch resources Apr 14 00:10:41 no Apr 14 00:11:04 ron_frown: I just turned rotation off :D Apr 14 00:11:06 they are the interface between the component and the applications' resources and other state Apr 14 00:11:08 make things that require a ui context require ACTIVITY instead of context Apr 14 00:11:09 i think many of androids design decisions were based on constraints more important a few years ago; looking forward as things get more powerful some things like the activity lifecycle (and the life cycles of everything else) seem more painful than they need to be; what will be interesting - is if google can evolve android fast enough to keep it modern. of course they can just put it in the repo; but adoption is different Apr 14 00:11:24 literally the context within which the component is live Apr 14 00:11:33 because people dont realize that in the 2% of the cases there code gets called, context is invalid and everything goes to shit Apr 14 00:11:57 ctate, I understand thats all legacy, and I know people have arguments for/against it Apr 14 00:12:02 "legacy"? Apr 14 00:12:08 why couldnt context just been a service, or a singleton Apr 14 00:12:16 also if you could file bugs about invalid contexts being supplied that'd be good Apr 14 00:12:19 it isn't a singleton Apr 14 00:12:32 different components in the same application can and do operate in different contexts Apr 14 00:12:45 it *should* be a singleton. ;-) Apr 14 00:13:04 is there a case where an app should be fetching resoruces, drawables and shti from diff places within the same apps? Apr 14 00:13:05 the application context is Apr 14 00:13:05 but anyway, that horse is flogged to the bone by now Apr 14 00:13:22 application context isnt gonna let you do much in the way of ui work =) Apr 14 00:13:24 activitys might be running under a different context Apr 14 00:13:27 * g00s stares at flogged deboned horse Apr 14 00:13:29 services, receivers Apr 14 00:13:34 my point is what the f is the context here Apr 14 00:13:37 ron_frown: absolutely Apr 14 00:13:44 please explain Apr 14 00:13:45 If you know python, i always thought of contexts a little like the self keyword in classes, except for activities Apr 14 00:13:47 a good example is applications that share the same process Apr 14 00:13:58 if I understand design decisions, maybe I wont bitch Apr 14 00:14:02 (and hence the same VM instance) Apr 14 00:14:11 but they do *not* have the same Context Apr 14 00:14:20 there even isn't one single context, like there's applicationcontext, and activity is a context, and service is a context, and there might be more of those yet Apr 14 00:14:26 my point is the context Apr 14 00:14:32 say you have an app and a service Apr 14 00:14:36 alankila: broadcast receivers are passed a context Apr 14 00:14:44 yes, but what is that Apr 14 00:14:48 you mean an activity and a service? Apr 14 00:14:50 when should they be referencing DIFFERENT strings, or ui or raw resources etc Apr 14 00:14:54 yes Apr 14 00:14:55 sorry Apr 14 00:15:06 when they're in different applications hosted in the same process, for one :) Apr 14 00:15:26 throwing in a quick design question: i need to update the ui every few ms - does a util.Timer.schedule being started in onresume and canceled in onpause suffice? Apr 14 00:15:32 ctate, eg, start qr code activity from a diff app within my app Apr 14 00:15:32 if they are in the same app, then it's true that there is not much difference Apr 14 00:15:54 "qr code activity" meaning you're starting ZXing to do a scan or something? Apr 14 00:15:57 sure Apr 14 00:16:02 that's running in a different process anyway Apr 14 00:16:07 ive written two apps that had to share a process, and im glad their contexts werent crossed Apr 14 00:16:37 bassrael: see also postDelayed, available on every view Apr 14 00:16:54 whats an example of two apps sharing a process Apr 14 00:17:01 the system process is full of them Apr 14 00:17:10 and the gapps process Apr 14 00:17:11 a Apr 14 00:17:11 nd Apr 14 00:17:12 and acore Apr 14 00:17:17 one thing I was doing, and it was legitimate... was I had a service that needed to pop up UI Apr 14 00:17:20 Hi, which type of Layout I am better to use if I want to make a interface like the home page of the Play Store Apr 14 00:17:27 and yes I ended up with ordered broadcasts Apr 14 00:17:28 people sometimes do it for testing Apr 14 00:17:57 alankila: thanks for the hint, i'll give it a read Apr 14 00:18:07 also, for example, the context of an activity is different from the enclosing application's context because there are things that have lifetimes tied to their context Apr 14 00:18:11 such as broadcast receivers Apr 14 00:18:44 ctate: if you have a chance to affect android development, please give us synchronously-binding services when they are local. A separate api for local service binding would be good, like FooService x = bindLocalService(this, FooService.class); or something. Apr 14 00:18:59 alankila: not sure what you want Apr 14 00:19:05 alankila: i agree Apr 14 00:19:10 it's local; why are you bothering to bind? Apr 14 00:19:18 just call methods directly Apr 14 00:19:26 <.< Apr 14 00:19:27 >.> Apr 14 00:19:28 something that doesn't require a serviceconnection to bind, and something which binds and returns the service instance on the spot (without a binder, too) Apr 14 00:19:45 the current design invokes the service after all component state transitions have finished first Apr 14 00:20:19 ctate: okay. So how do I acquire this Service when it's local without doing bindService. I don't suppose I'm just going to call 'new FooService()' ? Apr 14 00:20:24 yeah, its a pain when your activity result method gets called and you want to poke your service but can't because it hasn't bound yet; shit like that Apr 14 00:20:29 alankila: err, yes you are? why not? Apr 14 00:20:34 ctate see I appreciate this discussion vs Diannes responses Apr 14 00:20:47 because then there's no point to having a service in the first place, I guess. Apr 14 00:20:57 I'll just have a normal class and give my middle finger to Service Apr 14 00:21:09 *local* services used only for binding and called only from within the same app process are rarely useful :) Apr 14 00:21:18 so you say. Apr 14 00:21:23 http://uniquespecialists.com/forums/images/smilies/STFU-Arnold_Schwarzenegger.jpg Apr 14 00:21:33 they're useful becuase they provide the lifecycle, sure Apr 14 00:21:35 is what I get reminded of when I ask a question or make a suggestion and dianne responses Apr 14 00:21:39 which is managed from remotely Apr 14 00:22:05 but sometimes that is just overkill Apr 14 00:22:31 yeah we mostly use services to prevent android from killing apps anyway, I guess, and sometimes to tuck in some state and background feedback when the app is doing something independent of an activity Apr 14 00:22:41 i personally think that it's not uncommon that people spin up local services that they bind to, when really all they need is a HandlerThread subclass Apr 14 00:22:48 but it's just as possible to just do a foreground service that does nothing and do whatever hackery you want for the rest Apr 14 00:23:22 if you're using it to support background executino then absolutely you want to use Service and set it foreground with the icon and so on Apr 14 00:24:01 indeed. I would like to use a service properly. But it's very annoying when you have to start it, because you need to write code that wants to do a service call in callback style Apr 14 00:24:07 but as for its *call* interface, if it's only to support local clients then there's no reason to go down teh whole AIDL / binder interface road Apr 14 00:24:31 first you check if you already did bind the service, if yes then do the call directly, if not you make a Runnable instance which will do the work after serviceconnection gets the notify, and then if there's error or exception in the call you do a failure call back also Apr 14 00:24:39 there's just too much work and *all* because services are bound asynchronously Apr 14 00:24:48 can a service or do I have to launch a broadcast intent and have my activity act as a receiver? Apr 14 00:24:57 can a service launch activity Apr 14 00:25:03 indeed it can Apr 14 00:25:10 ctate: obviously we all use a local binder that just hands the underlying Service instance Apr 14 00:25:19 (another bit of silly boilerplate that doesn't make sense for the local case) Apr 14 00:25:30 alankila: ... which is a layer of indirection and call overhead that ... exactly :) Apr 14 00:26:21 ctate you know the ui guidelines stuff you guys released recently? Do you happened to know if those were all just screenshots of sample apps, or if you guys use a UI mocking app Apr 14 00:26:23 but I hope you see that Services are so painful to use that applications are generally not going to use them unless at least the binding can be made synchronous. Hence the entire suggestion. Apr 14 00:26:25 its too much of a pita to do something just because it may outlive an activity Apr 14 00:26:31 I'd like to mock UI that I storngly think my work should adopt Apr 14 00:27:05 i think most of my code, and the worst parts of it, are horse shit related to services and sending updates from the service back to the UI (if it is up) or showing notifications (if it is not) Apr 14 00:27:23 alankila: well, i kind of don't see hte point that asynchronous binding is much of a problem Apr 14 00:27:37 looking through google's own code, say for contacts, its clear that google devs struggle with the same thing Apr 14 00:27:47 ctate: the point is that it makes doing a single service call a wall of text Apr 14 00:27:56 well, not /struggle/ but, wrestle :) Apr 14 00:28:00 haha Apr 14 00:28:17 JNI and AIDL are both things I find incredibly irritating +) Apr 14 00:28:25 "wall of text"? five lines? :) Apr 14 00:28:28 counting braces Apr 14 00:28:29 jni is just irritating to setup Apr 14 00:28:31 but I dont fault android for that Apr 14 00:28:34 er google Apr 14 00:28:35 after that its fine Apr 14 00:28:48 ctate Apr 14 00:28:58 uni is supposed to be modernized in java 9/10 ron_frown :) Apr 14 00:29:01 *jni Apr 14 00:29:01 ctate: *sigh* you need to bind the service, you need a serviceconnection instance for this, this instance must then do the work when the service actually gets bound, and if the call fails there must be a failure callback path. Apr 14 00:29:01 anyway thanks fro the discussion, I've got a bit more understanding about why things are the way they are Apr 14 00:29:13 g00s by then oracle will have completely demolished java Apr 14 00:29:13 if what call fails? the bind? Apr 14 00:29:22 if it's your own service the bind won't fail Apr 14 00:29:32 it's a *ton* of code, you go from synchronous shit to asynchronous with success() and failure() methods with API that passes the Exception or something that might have happened in the Service, etc. Apr 14 00:29:41 i mean; it's your app. if it fails, your app is already hosed; don't sweat it. Apr 14 00:29:50 No no, when the Service does work it actually does something in the call. That might fail Apr 14 00:30:08 like it could be a request to do a http request, or something, or play a file, or whatever. It might not succeed. You need to handle that condition also Apr 14 00:30:16 oh, the method call through the binder? Apr 14 00:30:22 yes... Apr 14 00:30:23 again, it's a local service; dont' bother. Apr 14 00:30:41 i'm starting to doubt my reality Apr 14 00:30:49 or something is wrong with my head Apr 14 00:30:54 the reality is a lie. Apr 14 00:31:04 JesusFreke: i took the wrong pill ! Apr 14 00:31:08 OK, but ctate basically confirmed it. Don't use Services except to prevent death of app and to show notifications Apr 14 00:31:10 do all work elsewhere Apr 14 00:31:19 g00s: or maybe the wrong cake. Apr 14 00:31:20 did i say that? Apr 14 00:31:28 since we're mixing our quotes here. ;) Apr 14 00:31:34 ctate: that is what I'm going to take home from this. You basically told us to not use Service for local case. Apr 14 00:31:35 haha I missed somethign Apr 14 00:31:36 I didnt see that Apr 14 00:31:42 ctate: you confirm lots of things, like future device plans and timeframes, platform roadmaps, etc :D Apr 14 00:31:50 i thought i said *local-only* services are often overkill if all you want is asynchronous execution, or whatever. Apr 14 00:32:18 ctate: but that's odd way to think. Services are not even asynchronous. Apr 14 00:32:26 they run in the UI thread, they are very much synchronous. Apr 14 00:32:40 alankila: okay, that second statement is pretty fair. i do believe that an AIDL interface to a Service that is only used from within its app process is often overkill. Apr 14 00:32:50 We don't do AIDL here. Apr 14 00:33:18 well, they're conceptually distinct in their execution flow from, say, Activities Apr 14 00:33:30 and since Service explicitly supports the cross-process case, that abstraction is pretty fundamental Apr 14 00:33:56 just because they happen to use the app looper by default is not a good excuse for thinking of them as always synchronous with UI operation Apr 14 00:34:15 unless you know and understand when that is true, and *that* it is true in your own specific case Apr 14 00:34:21 The fact they run in the same thread as the UI thread makes me call them synchronous, nothing more. Apr 14 00:34:40 they do only if their clients are always within their own process Apr 14 00:34:41 synchronous in that sense. Can't use them to do work that doesn't freeze application UI. Apr 14 00:35:02 ah, fine. Apr 14 00:35:13 alankila: the way i have started to think about services, is that since the binding of it is async and you have to wait for that anyhow, may as well treat the whole interface asynchronously. Apr 14 00:35:18 you can't if you're calling into them from the UI thread, and their looper-based messages run on the same looper Apr 14 00:35:18 bu Apr 14 00:35:19 t e.g. Apr 14 00:35:27 e.g. binder incalls are always async with respect to the main looper Apr 14 00:35:33 [from outside the process, i mean] Apr 14 00:35:48 so if your service is presenting an AIDL interface to outside clients that becomes a major factor Apr 14 00:35:50 anyway Apr 14 00:35:52 and to that end, i use IntentService model much more nowadays, or something like AsyncQuerySevice, how pojos get put on a queue for onStartService to spin through Apr 14 00:36:01 Service is a pretty flexible and featureful entity Apr 14 00:36:04 g00s: sure. I tried it, but I could not stomach seeing every foo.bar() turning into anonymous classes. Apr 14 00:36:32 I guess I need to jump back in and see if I can make more sense of fragments Apr 14 00:36:46 ron_frown: they still can't be recursive :D Apr 14 00:36:52 nested? Apr 14 00:36:55 yeah Apr 14 00:37:14 thats mostly fine... i'd say its potentially questionable if anyone should really ever need to do taht Apr 14 00:37:20 i'm meandering a bit but yes i would agree that if your'e designing an app and are contemplating having a Service that you bind to (but don't 'start') whose only caller is within the same app process Apr 14 00:37:34 I just wish the special case of locally bound service would bypass the binder and the bindService and ServiceConnection API, that's all. Apr 14 00:37:36 ...then IMO i don't see a reason for it to be a Service at all. Apr 14 00:37:49 ctate: unless the job /has/ to get done Apr 14 00:37:59 its fine putting something on HandlerThread if you don't care about it Apr 14 00:38:00 g00s: ...? Apr 14 00:38:02 yes, Service is used to show an UI that is not related to any activity. Apr 14 00:38:06 define "has to get done" Apr 14 00:38:11 if you need to write to the db, for example Apr 14 00:38:19 We actually do this kind of thing. It comes up every now and then, something is being done that must not stop because user navigated away from the activity. Apr 14 00:38:25 g00s: okay, sure Apr 14 00:38:29 what's the problem? Apr 14 00:38:32 g00s does anything explicitly kill say an asynctask? Apr 14 00:39:08 if your app is killed it doesn't matter whether you're writing from a bound local Service or from a HandlerThread; it's killed regardless Apr 14 00:39:10 ron_frown: its just a thread; android 101 - nobody knows about it if the activity goes away Apr 14 00:39:14 ron_frown: no, except application's death Apr 14 00:39:36 well, that was not explicit kill Apr 14 00:39:40 haha Apr 14 00:39:47 i guess i also tend to mix binding / startService often to mark the service as 'doing something' Apr 14 00:39:59 bind/unbind and start/stop are *orthogonal* Apr 14 00:40:05 of course Apr 14 00:40:12 startService = please don't kill me now, bindService = I need to call a method in Service Apr 14 00:40:20 i often need both Apr 14 00:40:22 Service is very flexible and featureful and people tend to get those things mixed up or think they're tied together in ways they aren't Apr 14 00:40:28 I really need to confirm that vectors being limited to four elements is a deliberate design decision that reflects on the intended mode of compilation for Renderscript, or if they just didn't seem that useful. Apr 14 00:40:28 yeah I also have both of these Apr 14 00:40:57 and sometimes I even need multiple layers of startService(), stopService(), because android has nasty habit of killing service if its start/stop pairs ever reach 0, even if during that call you still called startService Apr 14 00:41:09 s/if they/if longer vectors/ Apr 14 00:41:29 so you do startSerivce(), stopService(), startService(), and android kills that service because there was a time between the stop and start where nobody needed it. :-/ Apr 14 00:41:49 out of curiousity why would you need to do that Apr 14 00:41:52 that's synchronous though. I guess I can live with it. No true complaints, just something to be aware of Apr 14 00:42:46 I kinda tend to think of the stop() as being what I want to do to a service before it gets killed Apr 14 00:42:55 not as a put the service on pause and I'll resume in a bit Apr 14 00:42:59 start/stop is for the model where the Service defines code that free-wheels, that runs on its own, not in service of external RMI Apr 14 00:43:12 bind/unbind is to present an RMI interface to external callers Apr 14 00:44:32 ron_frown: I worked on a music player application a few months ago Apr 14 00:44:52 you just had mediaplayer in thread Apr 14 00:44:54 android doesn't kill services Apr 14 00:44:54 i Apr 14 00:44:55 t Apr 14 00:44:56 or something else Apr 14 00:44:56 k Apr 14 00:44:57 i Apr 14 00:45:00 the android music player is a great example of mixing life cycles, bind/startService Apr 14 00:45:02 it kills *applications* Apr 14 00:45:07 people kill services. Apr 14 00:45:10 the command sequence to change song is to call stop() (=> stopService, stop playing), then select new song, then play() (=> startService). But Service contained the playlist Apr 14 00:45:21 because android killed the service after the stop, the playlist was lost, and song switching did not work Apr 14 00:45:30 [technically it kills processes, and then follows dependency chains between them] Apr 14 00:45:35 so I had to protect this pair with an extra startService(), stop(), next song, play(), stopService() thing Apr 14 00:45:52 alankila: good grief why are you stopping the service in between? Apr 14 00:45:53 seems like mediaplayer or whatever actual plays Apr 14 00:45:59 that sounds like a design problem to me. Apr 14 00:45:59 and AIDL to control the payer Apr 14 00:46:05 services stay running until ready to quit Apr 14 00:46:06 alankila: maybe stopping the song and stopping the service should have been more isolated Apr 14 00:46:26 ctate: because play => startService (= "android, please don't kill me now"). stop => stopService (= "android, I'm done for now"). Apr 14 00:46:28 in other words, seems like concepts got overloaded Apr 14 00:46:28 * Gumboot is fascinated by ctate's keyboard troubles. Apr 14 00:46:32 It's just how I happened to design it. Apr 14 00:46:48 Gumboot: i suspect that its really a cat Apr 14 00:47:09 Just perched up on the corner of the keyboard, leaning on the numeric enter key? Apr 14 00:47:11 it wasn't the greatest design in the world, but for the song to change, the music playing must stop, next song must be chosen, and playback must be started again. The primitives to implement song change reused the play/stop instructions. Apr 14 00:47:13 startService() is not "android don't kill me now" Apr 14 00:47:14 and the cat is excited because tomorrow is caturday Apr 14 00:47:30 ctate: have you seen contacts EmptyService :) Apr 14 00:47:34 that's startForeground() Apr 14 00:47:45 ctate: yes it is, if it happens to generate a foreground notification :-) Apr 14 00:47:46 well, ok. a little more nuanced Apr 14 00:48:10 alankila: you don't get to run a foreground-equivalent service without it Apr 14 00:48:12 ctate: but the point still stands: the service is useless if it is NOT playing. It's perfectly reasonable to stopService() at the stop() instruction. Apr 14 00:48:19 sure Apr 14 00:48:27 because the music reached the end of the playlist or whatever Apr 14 00:48:48 ctate: this wasn't even a complaint, anyway. Just that I observed that startService/stopService pairs can be rather subtle and intricate. Apr 14 00:49:36 well sure; didn't i mention featureful and flexible and so on? Apr 14 00:49:40 I'm not going to even talk about the horror I wrote to manage the player thread from the service. Apr 14 00:49:44 with great power comes great responsibility, and all that Apr 14 00:52:54 i did come across this http://code.google.com/p/google-cache-invalidation-api/source/browse/trunk/src/java/com/google/ipc/invalidation/external/client/android/service/ServiceBinder.java Apr 14 00:53:06 someone at google wrote it :) Apr 14 00:53:13 but it doesn't work , for me anyhow Apr 14 00:53:50 yeah i've never seen that :) Apr 14 00:53:59 g00s: I see, synchronous attempt Apr 14 00:54:02 is android a userland or a kernel or both? Apr 14 00:54:20 Through my understanding it uses linux+patches Apr 14 00:54:29 Does Log.i have any side-effects? I just had my app start working when I logged some stuff to see why it wasn't working? Apr 14 00:54:43 yeah I spent some time trying to see if I could services to work synchronously or somehow to delay the activity starting for instance until all services are bound (spit onCreate to two, for instance, the part that binds service and another which is called after the service is established) but there were always problems Apr 14 00:54:56 yeah Apr 14 00:55:00 freecandy: no side effects other than, y'know, taking up a little time Apr 14 00:55:23 I used to find that happened a lot and it turned out to be a twitchy build system. Apr 14 00:55:23 freecandy: maybe your argument expr evils has a side effect Apr 14 00:55:27 *eval Apr 14 00:55:36 I think that was strictly a renderscript toolchain problem, though. Apr 14 00:55:46 log.i( … something with side effect() … ) Apr 14 00:56:07 No, I just literally logged "if","if" in the if statement and "else","else" in the else. Apr 14 00:56:22 then that is not the problem. Apr 14 00:57:54 freecandy: if you have a race between multiple threads, could have affected timings slightly Apr 14 00:58:23 oh yeah, ordering of logs from different threads is not exactly guaranteed to be what you want Apr 14 00:58:36 <3 logcat -v threadtime Apr 14 00:58:38 g00s: I don't see how this servicebinder could work, to be honest. There is no progress made in bindService() if that thread is stuck in the countdownlatch Apr 14 00:58:38 I used to get a lot of null pointer problems, then fix the stupid typo, then still get the problem, then add a log message to see if the variable was as non-null as I thought, and then everything would be fine. Single-threaded code. Apr 14 00:58:49 alankila: yeah, it deadlocks Apr 14 00:59:07 Gumboot: that's crazy talk Apr 14 00:59:11 but when you read the code, you see the exasperation the original dev had Apr 14 00:59:25 and then just wound up putting 'command objects' on a queue Apr 14 00:59:29 No code should be single-threaded! Apr 14 01:00:17 mm, custom command objects probably beat registering two broadcastreceivers or something to send messages in and out Apr 14 01:00:18 I think early days of the renderscript compiler it could fail and fail to mention that it failed, so I'd end up re-running old code. Apr 14 01:00:56 * alankila doesn't know, it's crazy to use some queue abstraction to talk to the same thread anyway & I'm not sure how that could work Apr 14 01:01:08 probably missed something Apr 14 01:01:58 * alankila also would like to see better logger than Log.i("which" + encourages + "some" + bad + "habits"); Apr 14 01:02:03 if you're using broadcasts to send messages locally within your own app process, i would like to delicately suggest that you might benefit from rethinking things :) Apr 14 01:02:22 alankila: you can see the slf4j android wrapper Apr 14 01:02:40 ctate: one searches for the ways available to use these android objects. That android's way to manage the lifecycles of its objects is inconvenient forces us to weird contortions Apr 14 01:02:57 but rest assured, I no longer use Services to try to do any work in the local case Apr 14 01:04:39 I'm trying to update the ADT but I have a repo in eclipse that isn't valid anymore so it gives a 404-ish error before getting to the ADT and stops the update. Any of you know how to remove a repo from eclipse? Apr 14 01:04:58 g00s: mm. slf4j is pretty good, at least its default logging style of {} as placeholder makes nonprinted debug levels cheap Apr 14 01:05:21 oh shit, it's 4 AM. I need to sleep rather urgently. Apr 14 01:05:27 What's bad about Log.i? Apr 14 01:05:29 still have to wake up tomorrow for lunch Apr 14 01:05:47 i bess it will be breakfast :) Apr 14 01:05:53 alankila: Have you tried not waking up for lunch? You don't _know_ that you need to. Apr 14 01:05:53 *guess Apr 14 01:05:56 freecandy: in java, that kind of string concatenation hides rather a lot of code and transient object creation Apr 14 01:06:39 I'll delete it all before release. Scout's Honor. Apr 14 01:06:57 alankila, the answer is conditional execution :p Apr 14 01:06:59 * Gumboot marvels at the anotherworldliness of non-low-impact diagnostics. Apr 14 01:07:18 i just use pro guard to stir out the logs Apr 14 01:07:22 *strip Apr 14 01:07:24 damn it Apr 14 01:07:42 (strings in java are immutable; their contents cannot be changed. the string concatenation that was given as an example above instantiates a StringBuilder object and calls its append methods three or four times; then throws away the object. With a guaranteed internal buffer resize+memcpy at least once because the default StringBuilder buffer is small.) Apr 14 01:07:46 fuck putting if (D) log (…) Apr 14 01:08:04 g00s: interesting Apr 14 01:08:15 you can make proguard strip out live calls to Log.* ? Apr 14 01:08:20 yeah Apr 14 01:08:24 I thought the buffer size was an argument. Apr 14 01:08:34 Gumboot, it can be set as an argument Apr 14 01:08:43 most people, myself included, let is use the default Apr 14 01:08:47 which is like 16bytes Apr 14 01:08:48 -assumenosideeffects class android.util.Log { Apr 14 01:08:49 public static *** d(...); Apr 14 01:08:50 public static *** v(...); Apr 14 01:08:50 } Apr 14 01:08:55 Gumboot: it can be, but the implicit code written when javac sees string concatenation uses the default Apr 14 01:09:14 Strings are nul-terminated in Java? Apr 14 01:09:18 which is 16 characters Apr 14 01:09:20 Or is that none of our business? Apr 14 01:09:22 Gumboot, not in java Apr 14 01:09:37 I'm just wondering about the cost of measuring the required buffer ahead of time. Apr 14 01:09:39 strings are character arrays in java. Whatever that implementation does is what java does. Apr 14 01:09:53 can't be nul-terminated and be ucs2, anyway Apr 14 01:09:56 the object holds a character array that is Apr 14 01:10:05 Gumboot: remember that some elments of the concatenation may be the results of implicit calls to objects' toString() methods Apr 14 01:10:12 so it can't preflight Apr 14 01:11:39 Ints are all 10 characters long. Everyone knows that. Apr 14 01:12:08 10 characters long in a 3.2 bit per character alphabet. Apr 14 01:12:38 Yeah... 'bout that. Apr 14 01:14:03 ints are 32 characters long silly Apr 14 01:15:10 I think INT_MIN in binary must be 33. Apr 14 01:15:30 2nd complement fail Apr 14 01:16:06 * Gumboot thinks harder. Apr 14 01:16:11 android market descriptions need markdown support Apr 14 01:16:49 my head needs to feel less explody Apr 14 01:17:14 In hex, -80000000; that's one more than 8, so I think 33 might be right. Apr 14 01:17:16 in my listviews onclick i have this code: http://pastebin.com/zb2cPWkB but when i select an item in my list view, the app crash. is it wrong to refer to the position parameter ? Apr 14 01:17:55 position is not a resource id Apr 14 01:17:57 gogo docs Apr 14 01:17:57 t0mless: uh, what happened to android plot web page http://androidplot.com/ Apr 14 01:18:09 lol Apr 14 01:18:11 Gumboot: "33" doesn't look like binary to me Apr 14 01:18:14 someone did an oopses Apr 14 01:18:19 :) Apr 14 01:18:21 Oh, oops. Apr 14 01:19:16 devslash you're not passing the right arguments to makeText Apr 14 01:19:37 position is an int, makeText wants CharSequence I believe Apr 14 01:19:47 INT_MIN in binary must be 100001 characters. Apr 14 01:19:50 ok yea i just realized that thanks Apr 14 01:19:53 i fixed it Apr 14 01:20:29 What's this cat about? Is he here to help me type? Apr 14 01:20:43 o.O Apr 14 01:20:48 My cat does not help me type Apr 14 01:20:52 but my cat is a bitch Apr 14 01:21:46 I was a bit worried, actually. The last two times he walked in looking so proud it was because of the nearlydead mouse in his mouth. No mouse today. Apr 14 01:28:12 I refer to a sound file in my MediaPlayer object like this: mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.alarm); and it works but is there a way to replace R.raw.alarm with a string ? Apr 14 01:39:21 is anyone here Apr 14 01:39:32 Only us chickens. Apr 14 01:41:57 is there a way to get a resource id by its name that is stored in a string Apr 14 01:42:23 MediaPlayer.create can take an URI instead of a resource id Apr 14 01:42:29 i know Apr 14 01:42:51 but how do i refer to the raw resource as a uri Apr 14 01:42:59 what do you mean "by resource id by its name that is stored in a string"? Apr 14 01:43:22 i have the name of a sound bite i want to play that is stored in a string Apr 14 01:43:38 anyone doing the google codejam? Apr 14 01:44:02 http://developer.android.com/reference/android/net/Uri.html#fromFile(java.io.File) maybe? Apr 14 01:50:08 Is there a way to change the color of the tabs for a tabhost without having to create a custom tabhost? Apr 14 01:58:36 alieneye: http://stackoverflow.com/questions/5832523/how-to-change-colour-in-tabhost Apr 14 01:59:10 thanks Beket! Apr 14 02:19:22 I'm working with the camera, and everything is off by 90 degrees. I know I could call setRotation somewhere and fix that, but I feel like there's a mistake elsewhere in the code, that it would under normal circumstances be fine and I should really find and fix that mistake. But where would I look? Apr 14 02:55:08 note to self: dont have a 6 hour nap starting at 5pm Apr 14 02:55:09 ever Apr 14 02:55:10 agian **** ENDING LOGGING AT Sat Apr 14 02:59:58 2012