**** BEGIN LOGGING AT Tue Feb 16 02:59:59 2016 Feb 16 03:00:36 TDD is definitely a great strategy Feb 16 03:00:48 I haven't done an Android project yet with strict TDD Feb 16 03:01:07 its one of those things that polarizes people ;) Feb 16 03:01:15 it just seems like if you write something so it's testable, you get nice decoupled code Feb 16 03:01:21 My apps take too long Feb 16 03:01:29 I think I'm going to do a stopwatch app Feb 16 03:01:42 Ologn lol, Google Clock has nice stopwatch :D Feb 16 03:02:46 Google Clock gets access to my photos... Feb 16 03:03:07 O.o Feb 16 03:03:25 There's that material design... Feb 16 03:03:40 I'll see if the market is as flooded with stopwatches as it is with flashlights Feb 16 03:03:48 heh Feb 16 03:04:03 I should be able to write and release it fairly quickly though Feb 16 03:09:02 Ologn do it in kotlin and call it Klock :D Feb 16 03:09:11 be like the kool kats Feb 16 03:10:01 I want to learn Java and the other popular languages better before veering off into these other ones...aside from Scheme Feb 16 03:10:36 I was just looking over the Google Maps API for a week... Feb 16 03:11:49 ...I was going to do some projects with it but put that aside Feb 16 03:13:11 The more I use java, the more I like it Feb 16 03:13:50 I guess I'll have to check out kotlin, everyone here raves about it Feb 16 03:15:10 they're all on commission Feb 16 03:17:11 RustyShackleford: there will be time, when boilerplate will kill you :P Feb 16 03:21:24 gordon_ boilerplate never killed anyone, but dependencies probably have ;) Feb 16 03:25:56 I might be the first Feb 16 03:27:29 guess its better than being the last ! Feb 16 03:29:31 I must program in cobol then Feb 16 04:05:34 working with files in particular sucks Feb 16 04:05:38 in java that is Feb 16 04:06:26 you need a try/catch inside a finally clause to catch the potential IOError that closing an inputstream can throw Feb 16 04:12:34 it does Feb 16 04:12:58 gordon_: I see what you mean about boilerplate Feb 16 04:13:07 this should just be like a built in function Feb 16 04:13:13 https://static1.squarespace.com/static/518f5d62e4b075248d6a3f90/t/51a1d7cbe4b029928eb994cb/1369561045761/fileio.jpg Feb 16 04:13:37 so i'm not the only one Feb 16 04:13:58 I'm copying and pasting from stack overflow like crazy Feb 16 04:14:30 i need to figure out how to use MemoryMapped files, the basic APIs are simple to understand but higher level patterns of using this elude me Feb 16 04:15:24 RustyShackleford: it should be like val lines = Source.fromFile("link.html").getLines.mkString ;) Feb 16 04:19:34 gordon_: what is that? Feb 16 04:19:37 kotlin? Feb 16 04:20:19 scala Feb 16 04:21:51 whats the correct way to download a large file with a buffer? Feb 16 04:22:00 I can never remember that way either Feb 16 04:22:04 save on disk Feb 16 04:22:13 by bytes Feb 16 04:23:10 right. there's a loop you need to write Feb 16 04:36:09 kek Feb 16 04:49:13 pfn: ;) Feb 16 04:52:57 anyone have problems with keystore lately? Im getting a "incorrect password or keystores been tampered with" error Feb 16 04:53:01 and its 100% the right pass Feb 16 04:55:18 capslock Feb 16 04:55:30 no haha Feb 16 04:56:28 so different keyboard layout Feb 16 04:57:21 I know its correct because I can use the wizard to generate a signed apk, and i have to enter the password for that and it works. I need to do it on the command line now because i need to get a fingerprint for a release Google Maps key Feb 16 04:57:56 command line is your friend my friend Feb 16 04:58:08 time to setup CI server which will do deployment for you ) Feb 16 04:58:10 ;) Feb 16 05:06:03 I can call retrofit asyc ruquests from the main thread, right? Feb 16 05:06:08 ui thread rather Feb 16 05:07:25 * pfn puts the 5x back in the box to ship back Feb 16 05:07:54 I am not understanding this error at all Feb 16 05:07:56 Throwing OutOfMemoryError "Failed to allocate a 28 byte allocation with 2152 free bytes and 2152B until OOM" (recursive case) Feb 16 05:08:15 pfn: it's called 4x http://www.mcguireswinesdirect.com.au/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/4/x/4x_gold_stubs.jpg Feb 16 05:08:31 I'm using a 1MB buffer Feb 16 05:14:00 RustyShackleford: yes Feb 16 05:14:10 pfn: what's wrong with 5x ? Feb 16 05:20:09 OK, i need some newbie help Feb 16 05:21:17 I'm doing the Building Your First App here http://developer.android.com/training/basics/firstapp/starting-activity.html Feb 16 05:22:00 and it won't compile due to this line -> .add(R.id.container, new PlaceholderFragment()).commit(); Feb 16 05:22:11 Newbie help is only $12.99 per month, when taking out our yearly package, or $15 per hour on our pay-as-you-go package. Feb 16 05:22:24 you take paypal? Feb 16 05:22:45 I take whatever you want ;) Feb 16 05:22:53 or that imaginary money... what's it called, Bitcoin? Feb 16 05:23:01 ZimbabweLegit: What is the compiler-error message? Feb 16 05:23:01 TacticalJoke: Ill pay that if you can figure this out lol: http://stackoverflow.com/questions/35424340/keytool-error-java-io-ioexception-keystore-was-tampered-with-or-password-was Feb 16 05:23:08 I accept bitcoins ;) Feb 16 05:23:39 cannot resolve symbol "container" Feb 16 05:24:40 eh.. Feb 16 05:24:40 dogecoins Feb 16 05:24:47 dogecoins ? always Feb 16 05:24:50 such money Feb 16 05:26:04 Quick question. I am aquaiting myself with junit, but android studio is asking me which version of assertTrue it should be using: http://i.imgur.com/Jn28jMK.png Feb 16 05:26:05 How do I know which one to pick? Feb 16 05:26:17 aquainting* Feb 16 05:27:55 ZimbabweLegit: I think that's incomplete. In any case, I would ignore that section and follow the "with Android Studio" one. Feb 16 05:28:20 It's probably a waste of time learning Android without using Android Studio (or IntelliJ). Feb 16 05:28:53 So much extra effort that'll do little more than slow you down. Feb 16 05:30:01 I'm using Android Studio Feb 16 05:30:55 But you seem to be following the "Create the activity without Android Studio" section. Feb 16 05:31:13 rowan7: 3rd one from top Feb 16 05:31:23 oh, man Feb 16 05:31:38 I somehow just kept going into the other section Feb 16 05:31:44 stupid Feb 16 05:31:48 That tutorial looks so unnecessarily complicated, in any case. :S Feb 16 05:32:02 Talking about activity basics and fragments are just thrown in. Wat. Feb 16 05:32:03 that's what I thought! I was like, there's no way android is this complicated Feb 16 05:32:14 recyclerview preferred, but where's the sample to work with loaders? Feb 16 05:32:26 muthu no loader examples for RV Feb 16 05:32:33 unbelievable Feb 16 05:32:43 where did the tutorial writers go? Feb 16 05:32:45 no loader class , no example needed :D Feb 16 05:32:58 ZimbabweLegit: Some of the tutorials are ridiculously overcomplicated. Feb 16 05:33:19 it's like, I can do PHP and vb.net and other stuff, so I'm not totaly new to programming, but this tutorial has me all over the place Feb 16 05:33:20 It's like "Here's how you do some basic thing on Android" followed by the most complicated possible way to achieve something similar to that (but not exactly that). Feb 16 05:33:47 That was the feeling I was getting. WAY too many steps to do some simple stuff. Feb 16 05:34:02 ok, do you know of anything else I should be reading? Feb 16 05:34:05 Yeah, I think some of those tutorials aren't even worth it. Feb 16 05:34:06 ZimbabweLegit: do you know what's the shortest IT joke ? Feb 16 05:34:07 screw this thing Feb 16 05:34:18 tell me Feb 16 05:34:26 "php developer" Feb 16 05:34:29 * gordon_ runs away Feb 16 05:34:35 haha! Feb 16 05:34:36 ZimbabweLegit: I think there are some books recommended. g00s might know. :D Feb 16 05:34:40 I've totally forgotten which one is which. Feb 16 05:35:02 the tutorials take you round and round Feb 16 05:35:10 Or you can just go crazy and dive in Feb 16 05:35:16 what happened to simple 4 liner for each component Feb 16 05:35:21 yeah, it's killin me Feb 16 05:35:52 well, I usually do just dive right in and i'm fine after a while, but there's just something about the whole layout and syntax of Android that my brain isn't just picking up right away Feb 16 05:36:07 there are a lot of assumptions Feb 16 05:36:19 android 6 writers think everyone started with android 1 Feb 16 05:36:20 It's tricky, but it gets easier[tm]. Feb 16 05:36:29 I'm sure I'll kill it once it clicks with my brain Feb 16 05:36:35 ugh Feb 16 05:36:48 example, the tabs Feb 16 05:36:55 there's no clear example on tabs Feb 16 05:37:08 there's none on recyclerview that can be useful Feb 16 05:37:17 toolbars, actionbars, appbars ?? Feb 16 05:37:40 This is just ridiculous: `public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";` Feb 16 05:37:42 Really? Feb 16 05:37:47 google started dropping the ball; back in the day they had ApiDemos - and still do (but its not updated past HoneyComb) Feb 16 05:37:55 yeah Feb 16 05:37:57 That is used in an internal intent. Feb 16 05:38:00 ApiDemos was very thorough. they tried to touch all te apis Feb 16 05:38:01 ApiDemos Feb 16 05:38:07 we need them updated Feb 16 05:38:16 yeah, Tactial, when I got to that line, I knew this was getting nuts Feb 16 05:38:26 then there is this gradle Feb 16 05:38:28 man!! Feb 16 05:38:38 ZimbabweLegit: There is no need to namespace the key like that. Feb 16 05:38:44 It's sufficient to provide "message" or something. Feb 16 05:38:49 I didn't think so. Feb 16 05:38:53 yeah, that's what I thought Feb 16 05:38:54 oh ha, yeah docs for that suck too. lots of stuff can only be found in the release notes Feb 16 05:38:57 Also, `EXTRA_MESSAGE` is such horrible naming (though typical of Android). Feb 16 05:39:00 to get anything working on gradle, that's a project by himself Feb 16 05:39:10 I feel like almost every sentence in that tutorial has an issue with it. Feb 16 05:39:32 cedric, what's happening with the samples buddy Feb 16 05:39:36 where are the old timers? Feb 16 05:39:42 did everyone leave in a bunch Feb 16 05:39:45 There was some code earlier in it that was just flat wrong, I found out once I googled it Feb 16 05:39:54 muthu: The old Android samples? Feb 16 05:39:55 diane, romain Feb 16 05:40:16 I think my Translate is still in there Feb 16 05:40:17 i was thinking about doing an analysis; writing some script that parsed all the javadoc - i'd like to know what percentage of the javadoc has 1 sentence or less for class methods Feb 16 05:40:22 ok, so I gotta find something simpler Feb 16 05:40:28 Maybe they should compile those examples and release a book, Learning Android: The Wrong Way. Feb 16 05:40:41 Both Dianne and Romain are still over there, although Romain is no longer on Android "officially" Feb 16 05:41:18 i bet listview drove him crazy , and he needed to get out :D Feb 16 05:41:24 every component says.. deprecated Feb 16 05:41:24 haha Feb 16 05:41:24 WTH Feb 16 05:41:25 what are our feelings on Eclipse? Feb 16 05:41:29 You mean least-voo? Feb 16 05:41:34 yea, but not updated Feb 16 05:41:34 ha Feb 16 05:41:44 I miss Eclipse but right now, it makes little sense to use it for Android Feb 16 05:41:50 and the deprecated warnings all over Feb 16 05:42:11 CedricBeust: Do you pronounce ListView least-voo as well? :D Feb 16 05:42:15 android studio preferred Feb 16 05:42:19 I'm guessing yours sounds more American. Feb 16 05:42:23 romain, what's he doing Feb 16 05:42:26 ok, cause all the PDFs I find are wanting me to use eclipes and I kinda don't want to Feb 16 05:42:30 good ui guy Feb 16 05:42:39 ZimbabweLegit: They must be old. The tools team switched from Eclipse a while back. Feb 16 05:42:47 ZimbabweLegit: You're probably reading outdated stuff Feb 16 05:43:01 Well, the content in it might be okay but ignore the Eclipse bits Feb 16 05:43:15 the asyntask coder Feb 16 05:43:23 lol Feb 16 05:43:34 but anyways.. let me check out the samples Feb 16 05:43:57 "Your Android code is so old it still uses AsyncTask... burn!" Feb 16 05:44:09 WTF -- that tutorial then proceeds to instantiate a TextView in Java code and add it to a ViewGroup defined in XML. And it's a tutorial about starting another Activity. Feb 16 05:44:17 It's like a tutorial about basically everything they could think of at that moment. Feb 16 05:44:44 Why not also throw in a FAB? Feb 16 05:44:49 That won't confuse beginners or anything. Feb 16 05:45:22 gordon_, Thanks. How did you know it was that one? Feb 16 05:45:23 well, I'm just glad I'm not crazy. I didn't think it wasn't supposed to be that hard Feb 16 05:45:37 ZimbabweLegit: When I first started, I felt like I was going crazy reading those tutorials. Feb 16 05:45:56 And they seem to have become even more complicated since then. I seem to remember this page not talking about Fragments (or FABs). Feb 16 05:46:20 And why even mention not using an IDE? What beginner in their right mind, so new that they need basic tutorials, is gonna be using the command line. Feb 16 05:46:33 right? Feb 16 05:47:06 yeah, I looked, all the pdf files I have are all from 2011 Feb 16 05:47:38 I feel like someone needs to write some *really* basic Android tutorials. I've never seen a site with such information before. Feb 16 05:47:43 Maybe those books have it (I haven't read them). Feb 16 05:48:02 I think one is this: https://www.bignerdranch.com/we-write/android-programming/ Feb 16 05:48:32 This one also gets recommended (and older versions are free to download, IIRC): https://commonsware.com/Android/ Feb 16 05:49:31 at least brillo doesn't have the java crap Feb 16 05:49:45 Though the reader of the latter can't be *that* busy. 3,600 pages. Feb 16 05:49:45 rowan7: it doesnt come from android but from gradle build (org.junit) Feb 16 05:49:56 g00s: what does brillo use ? Feb 16 05:50:12 parts of android kernel, HAL, and chromeOS Feb 16 05:50:41 some java services rewritten in c++ - because, no java framework Feb 16 05:50:50 interesting Feb 16 05:51:23 * g00s still hopes java framework burns in hell Feb 16 05:51:29 someday Feb 16 05:51:39 * g00s shakes fist Feb 16 05:51:48 You know what's funny (and this is my last rant, I swear) -- reading that page makes *me* feel confused, and I am confident that I understand basically every one of those topics. Feb 16 05:51:55 What hope does a beginner have? Feb 16 05:52:28 zero Feb 16 05:52:36 thanks for the help guys Feb 16 05:52:38 ZimbabweLegit there is an official udacity course Feb 16 05:52:48 from google, should be pretty comprehensive Feb 16 05:52:59 its on the d.android.com training page Feb 16 05:53:15 haha tj Feb 16 05:53:20 mark murphy, great guy Feb 16 05:53:22 Ah, yeah, I had forgotten about that. People seem to like that a lot Feb 16 05:54:00 g00s: and what language will we use then? ;) Feb 16 05:54:03 gordon_, too much lags Feb 16 05:54:39 pfn: workplace one is working quite well, I think they screwed up software, hardware seems to be good Feb 16 05:54:57 Speaking of getting started, very soon Kobalt will let you create a brand new Android project that builds and runs with just one command Feb 16 05:55:05 +1 Feb 16 05:55:13 like sbt :P Feb 16 05:55:33 Is it way faster than Gradle? Feb 16 05:55:47 i bet gradle started off fast Feb 16 05:55:55 and then, reality happened Feb 16 05:55:58 I wouldn't say way faster, no. Probably a tad faster but not in a way that will radically change your ways. Feb 16 05:56:13 g00s: I wonder how much of the slowness is Groovy, though. Feb 16 05:56:40 Most of it, by definition Feb 16 05:56:45 Kotlin is gonna be at least as fast as Java (perhaps faster, by use of `inline` {if we're comparing similar constructs}). Feb 16 05:56:47 kobalt and groovy invoke the same Java code to build Android apps Feb 16 05:56:49 i think most of the slowness we see is due to the complexity of the android build steps Feb 16 05:56:52 g00s: I hope jvm will be good again, when jigsaw will be there Feb 16 05:57:05 gordon_ jigsaw looks neat, yeah Feb 16 05:57:10 but for anything that happens in-between (mostly project configuration), Kotlin will run faster than Groovy, by far Feb 16 05:57:32 I wish for python startup speed but... I will probably get disappointed again ;) Feb 16 05:57:53 Python starts slow and continues slow. Nothing you can do about it really. Feb 16 05:57:59 i guess jack and jill should improve build speed too ? Feb 16 05:58:05 i haven't tried those yet Feb 16 05:58:07 Not sure about that Feb 16 05:58:26 CedricBeust: yeah... starts like 4 times faster than java ;) Feb 16 05:59:22 Probably true, I'll take your word for it Feb 16 05:59:27 it loses pretty quickly after that Feb 16 05:59:39 I wonder whether Kotlin and Jack could be made to work together somehow. Feb 16 05:59:46 Though I guess it won't happen. Feb 16 06:00:08 I guess it'd be Kack or something. Feb 16 06:01:02 CedricBeust: memory wise ? ;) Feb 16 06:01:17 I dont understand kotlin hype Feb 16 06:02:39 gordon_: What don't you understand? Feb 16 06:02:55 I think the hype is very understandable. Maybe you meant you don't share it, which is totally fair. Feb 16 06:02:56 Hi guys, would it a good idea to use firebase only for sockets along with my current current backend and app ? Feb 16 06:03:32 So far, the only few people I've come across who don't like Kotlin all happen to be huge Scala fans. Everybody else seems to really love Kotlin Feb 16 06:04:32 pretty much Feb 16 06:04:44 like people who don't like scala are huge haskell fans Feb 16 06:05:13 Scala is disliked by a lot of very disjoint communities, it's quite interesting to see Feb 16 06:08:06 eh, Java people who don't like scala just sucj Feb 16 06:08:18 * CedricBeust eyerolls Feb 16 06:08:25 lol Feb 16 06:08:27 The reaction to Scala makes me think of religious extremism: you're either on board totally or you hate it. Kotlin seems more like the moderate "Even dogs go to Heaven" type. Feb 16 06:08:28 :D Feb 16 06:08:44 Kotlin is like.. better java Feb 16 06:08:54 if bruce eckel couldn't figure it out, i won't be able to either Feb 16 06:09:00 where Scala advertises more functional / hybrid way of doing things Feb 16 06:09:02 Not everybody has the same level of engagement in our professions. It's okay to like Java and not be interested in much more than that. Doesn't make you a person that sucks. Feb 16 06:09:17 * g00s read bruce eckel's thinking in c++ way back in highschool Feb 16 06:11:28 i'd like to have this on android, wonder if i can port it http://blog.dato.com/sframe-open-source-release Feb 16 06:14:37 g00s: your story about cpp reminds me of this: https://medium.com/@wilshipley/the-absolutely-true-story-of-a-real-programmer-who-never-learned-c-210e43a1498b#.9o590868j Feb 16 06:15:46 :D Feb 16 06:20:17 is there a pattern for retrofit and handling different base urls? Feb 16 06:20:27 I'm using 3 different API's Feb 16 06:20:36 not really Feb 16 06:20:46 and I have xml parsing classes for each API Feb 16 06:21:04 I just made an ApiFactory Feb 16 06:21:07 you might inject different retrofit instances Feb 16 06:21:14 or make a factory Feb 16 06:22:03 getBusApi returns the retrofit instance corresponding to the Bus Tracking API Feb 16 06:22:30 sounds good to you? I love IRC, sometimes you just want to bounce an idea off someone else Feb 16 06:23:11 RustyShackleford: Yeah just create three different proxies Feb 16 06:23:24 If they share some methods, you can use inheritance to cut down some boiler plate Feb 16 06:24:46 retrofit is nice - unless someone is mean and makes api which returs error and status in json and always 200 OK response Feb 16 06:24:59 ah fuck Feb 16 06:25:10 that describes this api exactly Feb 16 06:25:10 because then you have to make some special models for api Feb 16 06:25:13 gordon_: Even then, I suspect you can throw Feb 16 06:25:20 one of them, anyway Feb 16 06:25:32 CedricBeust: can I ? I didnt fidn a way Feb 16 06:25:40 maybe I didnt look enough Feb 16 06:26:06 I would like to specify some builder for that pattern - would save me a lot of work Feb 16 06:26:21 there is a Train and a Bus API that my city publishes Feb 16 06:26:30 and they are so inconsistent Feb 16 06:26:44 it drives me insane. Why wouldn't you try to make them similar? Feb 16 06:26:51 Can someone explain why its bad to have a seperate keystore for each app? Feb 16 06:26:53 API design is hard Feb 16 06:27:11 orbyt_: It's not bad, just a personal choice. Who said it's bad? Feb 16 06:27:16 CedricBeust: it is, but I like rails way of doing this Feb 16 06:27:19 @Cedr Feb 16 06:27:21 ... Feb 16 06:27:45 CedricBeust: Its "recommended" apparently by google to use a single keystore Feb 16 06:27:59 CedricBeust: but something has gone royally wrong with my current one Feb 16 06:28:26 Do they explain why? The only advantage is a bit less maintainance but otherwise, I don't really see a problem with multiple keystores Feb 16 06:29:52 Dont think so, ill try and find some more on it Feb 16 06:31:35 orbyt_ "Signing strategies" https://stuff.mit.edu/afs/sipb/project/android/docs/tools/publishing/app-signing.html Feb 16 06:31:43 CedricBeust: Signature based permissions maybe? I guess thats one advantage of a single Feb 16 06:34:32 Bit confused, why does Android Studio apparently allow you to generate a signed apk even if you enter the wrong password to your keystore? Feb 16 06:40:17 does push on sockets wake up phone radio ? Feb 16 06:40:21 does push on sockets wake up phone radio ? Feb 16 06:40:41 suhas_sm: if your socket is open, the radio is on Feb 16 06:40:53 hmm Feb 16 06:41:04 So when the app is closed sockets needs to be closed ? Feb 16 06:41:25 Whats the difference between push notifications and pushing on sockets ? Feb 16 06:41:26 suhas_sm not recently (as of 6 afaik) Feb 16 06:42:07 Hey I wanna use vision service for reading QR code. But confused and cant find till which (lower bound) API phones it will cover Feb 16 06:42:20 suhas_sm https://commonsware.com/blog/2015/06/03/random-musing-m-developer-preview-ugly-part-one.html Feb 16 06:43:06 LegendThinker from camera or supplied bitmaps ? Feb 16 06:43:17 camera Feb 16 06:43:21 just use zxing Feb 16 06:44:13 suhas_sm: GCM usually piggybacks on open connections if possible Feb 16 06:44:23 g00s, Integration using Intent or by adding whole module? Feb 16 06:44:24 and has a periodic socket open Feb 16 06:44:32 Hmm Feb 16 06:44:39 I am already using GCM Feb 16 06:44:57 08:41 suhas_sm: Whats the difference between push notifications and pushing on sockets ? Feb 16 06:44:58 but in thinking of using Firebase, Pubnub Feb 16 06:45:05 LegendThinker there were a few ways, there is an embeddable module so user doesn't need app installed. up to you Feb 16 06:45:15 I use Pubnub and they automatically move to GCM after a time period Feb 16 06:45:24 Hmm Feb 16 06:45:34 if you want to know some more ask Feb 16 06:45:44 I've been using Pubnub in the past 3.5 years Feb 16 06:46:17 So when is app the is not in foreground and the radio is off. Can I still push over sockets ? Feb 16 06:46:23 Will it wake up the radio ? Feb 16 06:47:01 if you have an open socket the radio is on Feb 16 06:47:02 3.5 with pubnub !! wow Feb 16 06:47:13 there cannot be an open socket without the radio being on Feb 16 06:47:28 suhas_sm: maybe even a bit more Feb 16 06:47:56 hm.. does anyone know why e.g. xstream serializes objects not in the order of fields/elements in my class? And will it be any better if I use something else? Feb 16 06:48:16 Aoi: xml serialization? Feb 16 06:48:20 yeah Feb 16 06:48:25 hmmm Feb 16 06:48:33 have you tried jackson? Feb 16 06:48:37 I just want to serialize objects in the order I have them in my class Feb 16 06:48:39 I'm told they are good Feb 16 06:48:55 uhm json? Feb 16 06:49:07 both json and xml Feb 16 06:49:29 https://github.com/FasterXML/jackson-dataformat-xml Feb 16 06:49:42 ah thanks.. gonna have a look at this Feb 16 06:51:51 The only thing I am really wondering is if it will keep the proper sequence of elements in there Feb 16 06:53:10 like .. I have id, name, displayName and such.. and I would like it to stay in the exact order I wrote it.. I read somewhere that while proper java returns the class members in the order they have been written in, android returns them in an alphabetical order D:.. Feb 16 06:56:30 Aoi: are you talking about the order of elements in a single object? Feb 16 06:56:39 or the order of objects in the xml file Feb 16 06:58:00 the order of attributes in a class or instanced object Feb 16 06:58:39 why does the order of attributes matter? Feb 16 06:58:46 because I serialize a Serializable object into XML and sometimes deserialize it back from XML to an object.. and I would have liked if the order of the XML elements was the same as that of class attributes Feb 16 06:58:56 btw, xml serialization is sequential so order should be preserved Feb 16 06:59:12 I don't understand your need Feb 16 06:59:13 see that's the problem D: order is not preserved - at least not with XStream Feb 16 06:59:18 why does the order matter? Feb 16 06:59:36 well what if I had written an XSD where the order is fixed? Feb 16 07:00:19 or even if I just open it with Notepad++ or something, I want to see it have the same order, because it makes the whole file much more readable Feb 16 07:03:22 Hi, I am building an application which needs to store media on a cloud storage, and I have opted for going with google cloud platform. How can I store media on google cloud with out dealing with App-Engine? Feb 16 07:04:08 Umm, if this is not the right place for the question, where do I head to? :) Feb 16 07:11:26 it is right place but probably not right people right now Feb 16 07:18:17 zoso: I dont know if you can bypass App Engine but look into cloud enpoints communicating with the cloud datastore Feb 16 07:21:55 orbyt_, oh ok, thanks Feb 16 07:22:02 Ashiren, thanks :) Feb 16 07:52:37 If I want to do C++ development for Android, should I use Eclipse or Android Studio? I heard the support for AS is not good. Feb 16 07:54:24 AS is pretty good Feb 16 07:54:36 idk bout c++ Feb 16 08:03:07 lately support for ndk is getting better Feb 16 08:03:12 still not everything is supported Feb 16 08:03:20 eclipse is so last week Feb 16 08:05:17 if someone has a Google Cardboard, could you tell me if the instructions in this magazine, indicate that its a v2 cardboard with the conductive button Feb 16 08:05:28 http://www.ebay.com/itm/Sports-Illustrated-Magazine-Swimsuit-Issue-2016-Premium-Edition-Ronda-Rousey-/141904832715?hash=item210a2fe8cb:g:aFgAAOSwUuFWwlV8 Feb 16 08:06:38 Good morning to you all! Feb 16 08:07:04 Hello, Number5. We have a special assignment for you this week. Feb 16 08:07:19 Number7 will give you the details. Feb 16 08:07:32 TacticalJoke, really? How nice :) Feb 16 08:12:27 Dear experts, is it weird if I want to change Toolbar/Actionbar's theme or style on a certain fragment? I have multiple fragments and on one fragment, I want the toolbar to look different. Thank you. Feb 16 08:16:47 dunno if its alright, but i use toolbar per fragment on one project Feb 16 08:23:30 For those of you who dont use proguard/obfuscation, how do you protect things like secret client keys for apis and such? Feb 16 08:23:58 Ashiren, why would you create a toolbar for each fragment? Normally it should have a consistent look. Feb 16 08:25:18 not in my project Feb 16 08:25:23 :s Feb 16 08:25:45 Easier to just have each Fragment control their own Toolbar Feb 16 08:25:59 And sometimes you just have to, e.g. in the case of collapsing toolbars Feb 16 08:29:05 or fancy parallax Feb 16 08:29:50 And switching between fragments looks prettier since everything animates.. No instant switching of menu items, and then animation of content Feb 16 08:47:40 JakeWharton: in the house? Feb 16 08:50:54 is there a reason for DiscLruCache to throw an ClassNotFoundException on minSdk=21? Feb 16 08:53:17 hey guys. I just downloaded an eclipse based project from GitHub. Successfully converted it to Android Studio too. But now its giving me an error, i'm unable to import "android.os.FileUtils". Any help ? Feb 16 08:54:19 sharma: did you configure the jdk? Feb 16 08:54:31 and/or the SDK location Feb 16 08:55:40 sharma, there's no FileUtils class in the public API: http://developer.android.com/reference/android/os/package-summary.html Feb 16 08:56:06 thepoosh, yeah I can see that both the jdk and sdk locations are correctly configured in my module settings Feb 16 08:57:19 thepoosh, I predict a "no" from JakeWharton Feb 16 08:57:43 SimonVT, it says there was something like that earlier, http://www.damonkohler.com/2010/05/using-chmod-in-android.html?showComment=1341900716400#c4186506545056003185 Feb 16 08:58:00 https://gist.github.com/anonymous/07aa0762f8334660f684 Why does my InputStream not read everything ? Feb 16 08:58:07 SimonVT: well, the weird part is that when I change my gradle script to target minSdk 21 there is a NoClassDefFoundError on DiscLruCache Feb 16 08:58:14 it's very strange Feb 16 08:58:18 sharma, your link says "The FileUtils class is not part of the public SDK and is therefore not supported" Feb 16 08:58:27 If you look at line 6 of gistfile2.txt I get the full string but all other attempts are just partial Feb 16 08:59:15 SimonVT, oh, so any idea where can I get that class from now ? Feb 16 08:59:17 So the android os might have a class called FileUtils, but it's not available through the sdk.. You can either copy the class or build directly against Android Feb 16 09:00:11 sharma: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/os/FileUtils.java#FileUtils Feb 16 09:00:38 SimonVT: it looks like a public class in android.os package Feb 16 09:01:37 thepoosh, any help on how can I download and include this class in my project ? Feb 16 09:01:37 Might be hidden Feb 16 09:01:47 sharma: copy/paste Feb 16 09:01:59 Android uses @hide annotations to hide stuff from the public api Feb 16 09:02:36 thepoosh, So I dont need to download the whole package ? I can just copy/paste this specific class and it should work, ryt ? Feb 16 09:03:01 unless there are dependencies there that you won't be able to resolve Feb 16 09:03:22 thepoosh, sure then i'll try that ;) Feb 16 09:03:28 thanks a lot guys :) Feb 16 09:04:59 Hey all.. I'm wondering something about the NDK samples. I notice that all the docs say to have mk files in the JNI folder, but none of the samples have this file.. They all seem to work well though Feb 16 09:05:10 What am I missing? Feb 16 09:06:48 AS doesnt have mk Feb 16 09:08:31 in eclipse times you needed one Feb 16 09:08:45 it seems some docs about jni/ndk are outdated Feb 16 09:18:20 ah Feb 16 09:18:25 thanks Feb 16 09:39:53 Suppose I have an activity, with a fragment containing an imageview which needs to display an image from the web. Should I download/decode the image in the activity, or the fragment? Feb 16 09:42:28 rmrrn: In the fragment probably. Both the activity and fragment should be de-coupled from each other as far as possible Feb 16 09:45:43 vedu: Makes sense, thank you. In my current situation however I am using a FragmentPagerAdapter however, so the fragment is often destroyed/recreated. I don't want to download the image each time. Feb 16 09:48:42 My current solution is to pass a stream from activity -> fragment, and then decode the stream into a bitmap each time the fragment view is created but this seems messy. Feb 16 09:48:56 use glide or picasso Feb 16 09:49:11 they are better and downloading/decoding, they will resize and cache things for ya Feb 16 09:49:34 ^ this Feb 16 09:49:42 Ashiren: I'll look into them, thanks. Feb 16 09:51:36 rmrrn: that sounds like a totally different problem. You need to handle caching. the activity too might be killed. Use glide or picasso Feb 16 09:53:40 Ashiren, gordon_: So if my understanding is correct. I do my API call in the activity which returns some data, including an image url. Pass this url to my fragment and render the image using picasso/glide? Feb 16 09:54:01 Sorry if all this seems obvious, it's my second week of android dev Feb 16 09:54:07 yes Feb 16 09:54:54 I have a phone that is showing in inspect page on chrome. But the hybrid app is not showing there.q The phone is lollipop. The desktop chrome is updated to be the latest. Feb 16 09:55:49 rmrrn: simple one liner: Glide.with(imageView.getContext()).load(url).into(imageView); Feb 16 09:56:52 Ashiren: perfect, thanks! :) Feb 16 09:57:49 Hi, I added a library and using multiDexEnabled on runtime I have the error java.lang.NoClassDefFoundError: my.package**.R$raw Feb 16 09:57:54 what can I do? Feb 16 10:03:12 fbwnd: probably issues with proguard Feb 16 10:07:19 I'm trying to import google fit data into my app, but since the history API only seems to work with aggregates, I have a hard time checking if a datapoint is actually unique. Feb 16 10:07:43 Any idea how I can actually check for uniqueness or if I can get the actual datapoints? Feb 16 10:07:44 I have a phone that is showing in inspect page on chrome. But the hybrid app is not showing there.q The phone is lollipop. The desktop is updated to be the latest. Feb 16 10:16:29 I have a phone that is showing in inspect page on chrome. But the hybrid app is not showing there.q The phone is lollipop. The desktop is updated to be the latest. Feb 16 10:16:50 Sry Feb 16 10:22:40 phonegap? Feb 16 10:29:56 Yes adhi Feb 16 10:30:00 Yes Ashiren Feb 16 10:36:53 SimonVT, about the toolbar. What if you have just one kind of toolbar over all fragments? Which has a menu button, isn't it better to have just one Toolbar in the main activity instead of separate toolbar in each fragment? Feb 16 10:38:03 That's how iOS works, fragments animate to left or right while the Toolbar stays fixed. Feb 16 10:38:50 Nothing's "better".. It all depends on your requirements Feb 16 10:39:17 If both the title and the menu items change, I prefer to have the entire Toolbar animate Feb 16 10:39:33 If the Toolbar is static, there's no reason to animate it Feb 16 10:39:44 SimonVT, ok. But that's your opinion :) Feb 16 10:39:54 Im getting a "Caused by: java.lang.NoSuchFieldException: No field LINK in class La/a/a/c/a/i" when running my signed apk with proguard enabled Feb 16 10:39:56 Sure Feb 16 10:40:03 any ideas on the above^? Feb 16 10:40:18 im guessing proguard is obfuscating something it shouldnt be Feb 16 10:40:21 SimonVT, anyway, that you very much for your comments. Feb 16 10:40:29 s/that/thank Feb 16 10:42:57 Just for understanding, is Actionbar nothing more than a preserved area and could I set the Actionbar view also in a fragment layout instead of activity layout? Feb 16 10:44:03 The latter one is because I see a lot of examples setting action bar in an Activity instead of in a Fragment. Feb 16 10:45:41 Toolbar is a View like any other. You can place it wherever you like, and as many of them as you'd like Feb 16 10:56:45 hi, what is the best way to test my android app? Feb 16 10:56:56 mockito, Robolectric Feb 16 10:56:57 ? Feb 16 11:01:01 SimonVT, thnx for your answer, but I mean by ActionBar and not ToolBar. If I set Toolbar transparent, it still has a background color, because it's embedded in an ActionBar (in onCreate it is set with setSupportActionBar(toolbar)). Feb 16 11:01:53 It's the same thing Feb 16 11:02:37 What's the best practice for querying all google fit history step data? The data doesn't really return for large timespans like 46 years. Or even 2 months, at least if there was a lot of walking. My current approach of sending several queries for 15 days from 1970 to now takes a while Feb 16 11:04:53 SimonVT, than why do I see a lot of examples setting Toolbar to ActionBar with setSupportActionBar(toolbar). How I understand is, we have a preserved area that we call ActionBar and we plug in to this area a toolbar. Otherwise setSupportActionBar isn't needed, just define the Toolbar in the xml layout and align it on top and we're done. Feb 16 11:05:30 For compatibility.. Your support actionbar doesn't have to be at the top either Feb 16 11:06:32 SimonVT, thnx. I think I have to invest some time to fully understand this ActionBar/Toolbar. Feb 16 11:06:44 It's the same thing, just a different api Feb 16 11:08:13 SimonVT, yes I see, for compatibility with pre Lollipop we do this setSupportActionBar. But still I need some readings, anyway, you pushed me in to the right direction. Feb 16 11:10:57 off the cliff Feb 16 11:35:29 Hey there! I read everywhere that Google play services is proprietary, but i do not seem to find a license for it. Where can i find a license for google play services? Feb 16 11:37:59 its apache iirc Feb 16 11:42:54 Hello ! I have a problem : do you guys know if there is a way to keep the modification date of a file when it is download into an Android device ? Feb 16 11:45:13 mtR_, http://developer.android.com/reference/java/io/File.html#setLastModified(long) but i'm not sure this would work on every FS Feb 16 11:48:40 Is there a way to tell System.arraycopy to cast or something? Feb 16 11:49:19 I need to copy an array of Float into an array of float so I can feed it to a FFT Feb 16 11:49:32 I know I can do it manually, but is there a better way? Feb 16 11:49:53 if both arrays are floats, why do you need to cast? Feb 16 11:49:55 i think System.arraycopy only works on primitive type Feb 16 11:50:05 of Float. nvm Feb 16 11:50:15 it'll copy Float to Float and float to float Feb 16 11:50:20 but not one to the other Feb 16 11:50:39 I'm using an Asyctask which is forcing me to use Float Feb 16 11:51:00 so I'm actually going from float to Float to float Feb 16 11:51:11 oO Feb 16 11:51:18 * Ankhwatcher has entered... The Scary Door Feb 16 11:51:18 cant you unbox it later when you need the variables? Feb 16 11:51:24 and keep them as Float until then Feb 16 11:51:30 FFT + AsyncTask is already scary to hear :D Feb 16 11:51:47 it doesn't seem like something I should do on the main thread Feb 16 11:52:05 sure, in a thread, but usually fft is use in a loop Feb 16 11:52:07 so I buffer, then extract a sample, feed it to asynctask Feb 16 11:52:47 reset buffer etc Feb 16 11:53:07 you use one float at time for FFT? Feb 16 11:53:11 why not modify your FFT implementation to accept float directly? Feb 16 11:53:22 you mean Float Feb 16 11:53:28 no float Feb 16 11:53:33 you asked I need to copy an array of Float into an array of float so I can feed it to a FFT Feb 16 11:53:34 it does accept float Feb 16 11:53:40 yeah Feb 16 11:53:53 that's what I'm saying, not what you're saying Feb 16 11:53:54 you could make AsyncTask<... float[]...>, couldnt you Feb 16 11:53:54 then don't use Float Feb 16 11:54:04 ohhh it's because of asynctask Feb 16 11:54:09 yep Feb 16 11:54:13 omg lol Feb 16 11:54:17 it wants nullable objects Feb 16 11:54:29 the **cker Feb 16 11:54:34 use a regular thread you control Feb 16 11:54:51 Hey android guru's! Is there a way to make my app unrunnable on emulators? Feb 16 11:54:59 then screw asynctask parameters and pass your own Feb 16 11:55:07 lxknvlk: use bluetooth Feb 16 11:55:44 Ankhwatcher, lol ^^ Feb 16 11:55:50 :) Feb 16 11:55:55 right, I'm off to get some lunch Feb 16 11:56:00 or use newest google play service version :p Feb 16 11:56:02 thanks peeps Feb 16 11:56:07 thoughahah Feb 16 11:56:22 or be sure to include an arm lib (emulator is too slow on arm) Feb 16 11:57:34 Ankhwatcher: you mean i must require a bluetooth hardware? Feb 16 11:57:44 honest answer: this is not 100% secure but you can check the Build.PRODUCT variable Feb 16 11:58:00 or Build.FINGERPRINT Feb 16 11:58:09 and compare this with some well known emulators Feb 16 11:58:40 for example Build.MODEL.contains(¨Emulator¨) || Build.MANUFACTURER.contains(¨Genymotion¨) || ... Feb 16 11:59:20 and ill troll you by making super duper Emulator Galaxy S6.9 Feb 16 11:59:42 there is a vbox.. something in fingerpring, i think Feb 16 11:59:42 yeah its not save. anyone could change those strings :/ Feb 16 12:04:37 hi Feb 16 12:04:43 ohai Feb 16 12:04:51 olah Feb 16 12:05:24 I am trying to use retrofit 2-beta4 in my application but iam confused can any one tell me how to use it Feb 16 12:05:45 The confusing part to be exact is the call adapter Feb 16 12:06:18 where to init it ? should I reuse it or recreate it ? Feb 16 12:08:03 callback? Feb 16 12:08:34 I am planing to use it async Feb 16 12:08:37 the call is when you get from ..Service.getTasks() Feb 16 12:09:23 can you explain more ? Feb 16 12:09:31 then you can enqueue the task Feb 16 12:09:41 https://futurestud.io/blog/retrofit-synchronous-and-asynchronous-requests Feb 16 12:09:55 and provide the callback, in which you do what you want when you get the data Feb 16 12:12:23 thank you I will try Feb 16 12:25:51 Ashiren : Thank you so MUCH Feb 16 12:29:11 I've been noticed that my app is sending sensitive information to logcat, I would like to know how do I restrict it in my code Feb 16 12:34:07 so dont log them Feb 16 12:34:09 [solved] Feb 16 12:38:45 Ashiren ;/ How do I make? Feb 16 12:43:50 Ashiren where to look? Feb 16 12:44:14 i meant the Log.d() calls Feb 16 12:44:19 Hello, I have this method that I use to copy in some classes to get retrofit API instance. Which pattern should I use to keep it DRY ? https://gist.github.com/wviana/659494d8d7411f38aa35 Feb 16 12:44:28 i dont think you can manipulate the logs made by system for your app Feb 16 12:52:35 Ashiren tks a lot Feb 16 12:55:26 Hello guys, I'm building an app that has multiple fragments, all of them use the same Toolbar. But for one fragment I want it transparent so fragment's background is visible on the toolbar too. For that I made one custom toolbar and hid the other main toolbar. Like in this project: https://github.com/andaluz/MaterialDesign It works, but it doesn't feel perfect, as I rather have the main toolbar to be transparent. But I didn't suc Feb 16 12:55:26 ceed, so I solved it as in the project I provided the link for you. Can you check the test project and come with a better solution? Feb 16 12:56:54 In the TransparentFragment I added some comments, so you can understand what I was trying to do. Feb 16 12:56:56 hardest: other than that you could tell proguard to ignore Log calls when building release version of app Feb 16 12:57:07 this way in debug you still get your logs but in release not Feb 16 12:59:24 Ashiren: Hi retrofit is working very good thanks to you but I want to send data using post like this format [{"dept_id":"1"}] Feb 16 13:00:09 will retrofit turn objects to json using GOSN ? Feb 16 13:02:34 ok Just solved :D silly question Feb 16 13:14:52 Hello. I'm just starting out with android dev, and I'm wondering if AsyncTask is still the recommended way to do things like retrieve data from a remote api? My understanding of AsyncTask is that it is tied to the UI thread though, so how do you go about cleaning them up if the activity/fragment is destroyed? Feb 16 13:22:48 hi, I'm trying to create an automatic qr code scanner using zxing Feb 16 13:23:33 so far the scanning works fine, but if I try to automate the process by clicking images at intervals, it looks laggy Feb 16 13:23:44 any ideas? Feb 16 13:24:38 agaurav77, image processing is a CPU intensive process. Feb 16 13:25:22 Number5: I agree, but what else can be done? Feb 16 13:26:03 I guess live with it, or make a better one. Feb 16 13:32:47 With ormlite, is it possible to set several ids relevant for createIfNotExists's duplicate check? Feb 16 13:34:53 cordovafan8: depends. i.e. for retrieving json you'd use retrofit Feb 16 13:35:19 asynctask is background thread Feb 16 13:35:52 altoguht mostly used with activity/fragments :s Feb 16 13:42:24 * Zharf hasn't used asynctasks in years Feb 16 13:49:16 Ashiren, Volley is nice one too :) Feb 16 13:56:03 Ashiren: I am working with Volley if you have questions Feb 16 13:56:20 When you guys do code review. Do you just look at diffs and accept/deny them? Or do you actually pull the code and run it? Feb 16 13:57:08 well https://xkcd.com/1597/ Feb 16 14:05:19 eghdk_: you should probably do both if the change isn't simple Feb 16 14:05:40 also, in many places you cannot create a PR unless your code passed unit tests Feb 16 14:06:21 thepoosh, "working with volley" as in using it or as in developing it? :) Feb 16 14:06:37 using it and making changes to my local library when needed Feb 16 14:07:00 yeah... me too Feb 16 14:07:17 I'm dumping networkimageview though Feb 16 14:07:58 never used it Feb 16 14:09:02 Hey. Feb 16 14:09:05 do you have a way of removing listeners from requests? :) Feb 16 14:09:24 not really, but we cancel them when needed Feb 16 14:09:50 but if the request is alreday executing and you cancel it, the dispatcher won't call onResponse Feb 16 14:09:55 When facebook sends me a notification while I don't have it running in the foreground or among the program stack from the multi-task button, then it's certainly running as a service? Feb 16 14:10:39 Rashad: are you aware of the GCM lifecycle? Feb 16 14:10:46 No. Feb 16 14:10:53 I think I've seen a picture of it once. Feb 16 14:10:56 anyone using retrofit 2? where is the documentation? Feb 16 14:11:09 I make hybrid apps so I don't know much about native android. Feb 16 14:11:20 http://square.github.io/retrofit/ this looks really vague Feb 16 14:11:28 http://square.github.io/retrofit/2.x/retrofit/ Feb 16 14:11:45 Rashad: http://developer.android.com/distribute/engage/gcm.html Feb 16 14:11:49 I have a list of about 5000 entries that I need to insert into an ormlite db. Unfortunately the only way to check if they're not already in the db is to check 3 values for each entry. Is there a faster way than doing the check for each element? Feb 16 14:11:56 Rashad, nop, they use GCM which is a single service for all apps. Feb 16 14:11:57 Zharf: thank you Feb 16 14:12:05 Having said that, Facebook does other retarded stuff in background. Feb 16 14:12:07 I see. Thanks. Feb 16 14:15:22 thepoosh: Yeah. It's just hard. It's like... sometimes theres so many merge requests and most are not super simple. Feb 16 14:16:20 eghdk_: that mostly means that the PRs are wrapping too many tickets Feb 16 14:16:26 shouldn't be happening Feb 16 14:16:32 PRs should be as small is possible Feb 16 14:16:55 eghdk_, we usually let CI do the running :) Feb 16 14:17:02 Yeah. ugh. teammates don't follow this rule. Feb 16 14:17:07 Review code, pull only if it does UI magick. Feb 16 14:17:08 Mavrik: what do you mean? Feb 16 14:17:13 that is how PRs get rejected Feb 16 14:17:28 eghdk_, there's a server that goes and runs all tests for a given PR Feb 16 14:17:35 eghdk_: he means that until you don't pass the automatic tests, the PR is not made Feb 16 14:17:38 Well we have CI, but theres not a lot of code coverage in terms of tests. Feb 16 14:17:40 and a red cross / green tick shows up on GitHub :) Feb 16 14:17:59 Mavrik: you use github for source control? Feb 16 14:18:04 yp Feb 16 14:18:06 And now we're writing tests, but code reviewing all the tests also takes time... Feb 16 14:18:25 eghdk_, yeah, at the end of the day I pull PRs of the newer team members that did UI stuff Feb 16 14:18:26 And understanding some of the tests is a harder reviewew than normal code Feb 16 14:18:28 I heard it's crap for PRs with more than one reviewer Feb 16 14:18:37 and just view through code and check green tick for more senior people Feb 16 14:19:18 * Zharf just doesn't do pull requests, team work or github in general Feb 16 14:19:23 or tests, ew Feb 16 14:19:25 :p Feb 16 14:19:54 Zharf: that is mostly a good way to write unmaintainable and usually sub-optimized code Feb 16 14:20:14 my code is special Feb 16 14:20:27 <3 Feb 16 14:21:15 I have developed myself a quite high quality requirement for the code I write over the years Feb 16 14:22:05 but personally I've never ran into a situation where tests would've been useful Feb 16 14:22:33 and writign them just isn't fun at all Feb 16 14:23:40 thepoosh, didn't have issues with multiple reviewers Feb 16 14:23:50 thepoosh, but it's downright terrible if the PR includes larger amount of files Feb 16 14:23:53 then it just simply fails Feb 16 14:23:54 idk, we use both bitbucket and github Feb 16 14:24:03 and locally BC Feb 16 14:24:11 (e.g. if we update a dependant lib we keep in repo and 100+ files are touched) Feb 16 14:24:14 Then we use reviewable.io Feb 16 14:25:01 Zharf, huh. Feb 16 14:25:07 Yeah... no. :P Feb 16 14:25:20 Unless you write only code that's used once and never again touched. Feb 16 14:25:53 +1 Feb 16 14:27:25 I often rewrite parts for fun :p Feb 16 14:27:45 Zharf: it's not fun at all when you need to commit to deadlines Feb 16 14:27:45 if I have a good idea for improvements Feb 16 14:27:56 and if your codebase is large enough Feb 16 14:28:32 the codebase is quite large, my rewrites tend to make things more compact though... but I do set my own deadlines because my client isn't an asshole Feb 16 14:30:07 but especially with deadlines, writing tests seems even more impossible Feb 16 14:30:15 who has time for that Feb 16 14:30:32 (apart from my utter lack of interest in them) Feb 16 14:31:39 Zharf: So you write bug free code? Awesome! Feb 16 14:31:44 :P Feb 16 14:31:52 eghdk_, yep <3 Feb 16 14:31:57 *shrug* Feb 16 14:32:11 I'm just too lazy to manually tap all the pieces of software for every release. Feb 16 14:32:15 So I let robot do it for me. Feb 16 14:32:59 Mavrik and thepoosh thanks for the tips. We're following all of them, but I guess making some of the PRs smaller is really the key. Tough when one guy is working on a new feature for a week though, and then he dumps it on you. Feb 16 14:33:18 I manually tap the stuff while I write them :)' Feb 16 14:33:20 eghdk_, yeah, limiting scope of PRs is something we had to do as well Feb 16 14:33:31 eghdk_, especialyl since large code molasses are hard to merge Feb 16 14:33:40 At the end of the day it's a political problem :/ Feb 16 14:33:56 You need people that get why you have tests and then try to do a good job :/ Feb 16 14:34:28 Yeah. It's like, this guy can't really introduce his new feature in pieces, it's a tough situation. Feb 16 14:34:30 I understand the usefulness of tests and all, but I have absolutely no interest in doing the grunt work Feb 16 14:34:47 Zharf: lol Feb 16 14:35:00 we had a TDD project some years back, no one had time to write any tests at any point Feb 16 14:35:03 :p Feb 16 14:35:03 that went well Feb 16 14:35:09 the client was a total asshoel Feb 16 14:35:56 eghdk_, yeah, there are some PRs where you just have to suck it up :/ Feb 16 14:35:59 cost of Math.max on the left versus a simple comparator on the right for the same function: http://i.imgur.com/Css6ZTr.png Feb 16 14:36:01 Major refactorings and stuff. Feb 16 14:36:08 Not really something anyone in the team enjoyes. Feb 16 14:36:12 but yes, Math.max comes with extra stuff & test Feb 16 14:36:27 * Zharf enjoys doing major refactorings :p Feb 16 14:36:35 Mavrik: That's good to know. And it's a little reassuring with a young team. Thanks man Feb 16 14:41:44 adq, that image doesn't do a good job of showing cost, showing the function entry in the list of runtimes is clearer Feb 16 14:42:25 this is sufficient to see that Math.max costs a lot when called n-times per second Feb 16 14:42:25 immediate impression is that the version on the right takes twice as long Feb 16 14:42:37 http://i.imgur.com/mr3WtE1.png another screenshot on another arch & device Feb 16 14:43:06 pfn, that's what I thought as well Feb 16 14:43:09 don't you see the underline '____' which shows the approximate time the function takes Feb 16 14:43:24 only thing that appears is the line graph Feb 16 14:43:25 it's a lot bigger on the left Feb 16 14:43:54 yup it's the function f with and without max Feb 16 14:44:02 and considering there's a lack of any other contextual information, can only infer from the runtimes Feb 16 14:44:09 I've never been able to read that graph Feb 16 14:44:15 well believe me, the FPS jumped high Feb 16 14:44:27 sure, it's not unbeliavable Feb 16 14:44:28 despite this part is not done on the ui thread of course Feb 16 14:44:33 unbelievable Feb 16 14:44:45 and one graph has a runtime of 4 seconds and the other has a runtime of 10 seconds Feb 16 14:44:56 not disagreeing with your findings Feb 16 14:45:00 yeah i just pick up a time window of ~1second Feb 16 14:45:03 after the warm-up Feb 16 14:45:22 just saying that the image doesn't immediately agree with what you're saying Feb 16 14:45:24 the second pic is more clear Feb 16 14:45:52 and yeah, I never read the graph either, just the function runtimes Feb 16 14:45:56 the fps is fixed so you won't see any increase in both pic, but i don't get why you don't see the performance gain Feb 16 14:46:20 ie zoom in on the hot spot and blow up to see what takes up all the cpu/wall clock Feb 16 14:48:30 can someone tell me the resource id of the style of the material dialog button? Feb 16 14:48:35 pls Feb 16 14:49:03 cpu time/call => 28615 vs 1918 on the second pic, real time/call => 30637 vs 2036 on the second pic, pfn Feb 16 14:49:47 that's 10x time faster on the second pic Feb 16 14:50:12 15x time* Feb 16 14:50:14 are you doing max on floats? Feb 16 14:50:18 yep Feb 16 14:50:23 yeah no wonder Feb 16 14:50:28 i looked inside the Math.max function there are extra test Feb 16 14:50:31 like for NaN & stuff Feb 16 14:50:35 yep Feb 16 14:50:44 and i'm sure i cannot get a NaN, so i can bypass that Feb 16 14:51:15 you processing an image_ Feb 16 14:51:16 ? Feb 16 14:51:18 audio Feb 16 14:52:08 Ah. Feb 16 14:52:18 anyway, i would not have guessed that Math.max costs so much until today Feb 16 14:52:18 Sounds like a clear cut case for RS/C++ Č= Feb 16 14:52:20 :) Feb 16 14:52:32 Yeah, Java function calls aren't all that cheap Feb 16 14:52:34 eheh i do use RS for audio processing in another project but i will start soon to abandon it Feb 16 14:52:42 due to the very bad RS support across multiple devices Feb 16 14:52:48 i will probably go jni route instead Feb 16 14:52:57 mhm, throw in some NEON and you'll fly Feb 16 14:53:07 You can process 128bit blocks at once Feb 16 14:53:33 is NEON widely supported these days? Feb 16 14:53:41 yp Feb 16 14:53:42 neon is only on ARM right? Feb 16 14:53:55 yep, arm_neon.h is shimmed to SSE on x86 though Feb 16 14:53:58 for Android Feb 16 14:53:59 i would rather use a switch to detect if RS is available and functional Feb 16 14:54:02 80 or 90% of calls afaik Feb 16 14:54:10 and fuck mips :P Feb 16 14:54:14 ahah mips Feb 16 14:54:16 Zharf, yep Feb 16 14:54:16 no one uses mips anyway Feb 16 14:54:21 wonder how many devices are on mips oO Feb 16 14:54:26 < 1% i bet Feb 16 14:54:28 Zharf, everything supports NEON with exception of Tegra 2 Feb 16 14:54:44 adq, I've yet to see a single one Feb 16 14:54:45 Mavrik, cool, I haven't really looked into it since like 4 years ago :p Feb 16 14:54:52 when I decided that it wasn't worth my time Feb 16 14:55:37 "I don't always compile with NDK, but when I do I exclude MIPS" Feb 16 14:55:43 Pretty much :P Feb 16 14:55:58 APP_ABI := armeabi-v7a-hard x86 arm64-v8a Feb 16 14:56:01 :P Feb 16 14:56:04 i'm already surprised they started to make android wear watch with x86 Feb 16 14:56:08 I do separate builds for each of those Feb 16 14:56:12 isn't support rs fully functional across devices though Feb 16 14:56:15 there is one model on wear with x86 lol Feb 16 14:56:47 adq, btw, what are the issues with RS device support? Feb 16 14:56:50 except for no 64bit support... Feb 16 14:56:53 (I didn't use it, we use C++) Feb 16 14:57:43 Mavrik, on some devices there are missing functions in RS even with RS libsupport, on some other devices it simply crashes, on some other devices they got a faulty loader etc Feb 16 14:58:30 sometimes it's possible to fill the missing one like: https://code.google.com/p/android/issues/detail?id=71347#c36 Feb 16 14:59:25 wow. Feb 16 14:59:29 this one is possibly one of hte worst issue: https://code.google.com/p/android/issues/detail?id=182356#c41 Feb 16 14:59:34 That's why we link statically everything. Feb 16 14:59:39 Never trust the OS. Feb 16 14:59:41 and they acknowledge it themselves, the yare not happy lol Feb 16 15:00:00 also, some devices are not shipped with RS at all (weird manufacturer, custom root roms, etc) Feb 16 15:00:19 read the last link, it's .. WOW :D Feb 16 15:00:45 there are other issues, i don't want to start making an exhaustive list Feb 16 15:01:06 but one of my apps relying heavily on RS, RS is in the top stats of crash issue when just loading the .so Feb 16 15:01:25 it's not even about segfaulting inside the functions called in RS, it's at loading RS Feb 16 15:01:44 Yeah, OEMs fucking up standard libraries. Feb 16 15:01:47 Who would have thought. Feb 16 15:01:50 so i plan to refactor everything and move to jni + RS detection and use an experimental switch to reach RS if needed Feb 16 15:01:55 * Mavrik just built a workaround for Samsung breaking parcelation. Feb 16 15:02:07 Does RS even give you anything beyond JNI? Feb 16 15:02:15 It compiles to native binary anyway. Feb 16 15:02:37 i haven't benchmarked so i cannot answer, theoritically yes for sure Feb 16 15:02:59 I mean, I know RS is supposed to run on GPU/DSPs. Feb 16 15:03:03 if you use the kernel function (similar to opencl) to benefits of parallelism depending on core available & gpu Feb 16 15:03:08 But I haven't found any indication that that actually happens on any device. Feb 16 15:03:14 but many devices don't even ship an RS driver for GPU Feb 16 15:03:22 so in practice, it's probably close to "no" Feb 16 15:03:23 :) Feb 16 15:03:24 And it's just native code that's on level of using NEON optimized code. Feb 16 15:03:37 yeah i've never seen any DSP chip on android support by RS Feb 16 15:03:43 i do see adreno driver being supported Feb 16 15:03:45 (gpu) Feb 16 15:03:50 and of course the cores of the cpu Feb 16 15:04:16 it can also slowdown things, there are few reports of stuff working slower in paralle Feb 16 15:04:22 than on a single core... go figure Feb 16 15:05:12 and to finish to answer the "if it gives anything beyond JNI", the automatic glue provided by RS to call functions from java is sometimes very convinient Feb 16 15:05:15 and does not require the ndk Feb 16 15:05:20 mhm Feb 16 15:05:23 that's part of what seduced me at beginning Feb 16 15:05:33 I never used RS since I mostly did image processing. Feb 16 15:05:35 it autogenerates everything and you just have to call them Feb 16 15:05:39 And RS required copying bitmap buffers to RS context. Feb 16 15:05:53 Which usually meant it was slower than just passing the pointer via JNI and running directly on bitmap buffe.r Feb 16 15:06:01 Copying 20MB of data around memory is SLOW. Feb 16 15:06:10 any of you guys use simpleframework xml? Feb 16 15:06:14 i'm not even sure RS allocate things outside of jvm heap Feb 16 15:06:28 which is a big issue for big data processing on android Feb 16 15:06:34 can't figure out why im getting an error, no messages are shown Feb 16 15:06:39 OutOfMemoryError Feb 16 15:07:50 how to detect if there is no internet connectivity ? Feb 16 15:08:01 stackoverflow Feb 16 15:18:02 adq: https://youtu.be/SpTXW8IsDBM?t=41 Feb 16 15:18:21 ?? Feb 16 15:28:08 Do the github release pages live in the code repo? or are they separate, and Github does the mapping? Feb 16 15:31:51 Hi! I just checked out a local copy of latest Android Project. I wonder how I can checkout multiple git branches / sub-projects (e.g., Android Studio (studio) at the same time (in different directory), without making copies of .repo/ ? Feb 16 15:32:15 I'm using retrofit with simpleframework xml Feb 16 15:32:27 I dunno what the issue is with this element Feb 16 15:33:05 but it causes onFailure() instead of onSucess() Feb 16 15:33:36 RustyShackleford: Gots to dig into it Feb 16 15:34:08 stacktrace should help Feb 16 15:41:44 onFailure has an error, read it... Feb 16 15:43:01 It's possible it prints nothing and throws a generic exception, but the stacktrace doesn't lie Feb 16 15:46:28 "unable to satisfy Element ..." Feb 16 15:46:35 I don't get it hah Feb 16 15:46:38 did some basic listening analysis on sony's clearaudio on z5 compact, result: horrible, ruins the sound Feb 16 15:49:30 <_maddy> I am trying to write NFC using foreground dispatch... curious why reading an NFC tag causes onPause to be hit? Feb 16 15:51:10 because it probably launches a transient activity Feb 16 15:53:06 * pfn crosses his fingers that updating to win 10 fixes his pc crashing problems Feb 16 15:53:29 clearing out old apps and drivers from a 7 year old install helps, I hope Feb 16 15:53:48 Clean installs do wonders :) Feb 16 15:54:37 Probably, but I hate clean installs Feb 16 15:55:05 did a keep personal data install of 10 Feb 16 15:55:05 updating to windows 10? why not seppuku? Feb 16 15:56:57 <_maddy> pfn: ok, I can work around that Feb 16 15:59:29 anyone know how to get the tint color on an AppCompatEditText? ViewCompat.getBackgroundTintList returns null for me Feb 16 16:00:23 hello. Anyone familiar with how to best implement two step verification in a mobile app that uses a web API? The website generates a OATH based TOTP key using a QR code and when enabled users require a OTP when logging into the site. I'm unsure how to best implement this in a mobile app. Any suggestions? Feb 16 16:02:31 hithere Feb 16 16:03:14 I have problem inflating this layout http://pastebin.com/3fi3xxVy, with this background selector http://pastebin.com/GJdDXtkG on API 21 Feb 16 16:03:59 iBog, by talking to a UX designer Feb 16 16:04:32 bolovanos, stack trace or gtfo Feb 16 16:04:32 it says "Caused by: android.content.res.Resources$NotFoundException: File res/drawable/btn_done.xml from drawable resource ID #0x7f020045" Feb 16 16:04:44 pfn thanks. Feb 16 16:09:41 any volley user here ? Feb 16 16:10:45 pfn, http://pastebin.com/ziR4nWDC Feb 16 16:12:19 pfn, I have suspect, but maybe you wil see something else Feb 16 16:14:28 you already have the error in the stack, read down Feb 16 16:23:42 pfn, of course it is there I have red it back and forth, but I do not understand it Feb 16 16:25:23 suhas_sm, ask yer questions Feb 16 16:27:30 I am working on BTLE application and got most of the BTLE code working. What I have problem is that my onCharacteristicChanged() is never invoked when new data is published. Data is published/broadcasted every 1 sec. I can verify it using another BTLE app from Play Store. So it has to be something with my code. Feb 16 16:28:35 After I enable BTLE on my device then start scanning and I find device based on my UUID. Then I find 3 different (custom) BluetoothGattCharacteristic and store them. Feb 16 16:29:49 Then I have button that when pressed I call setCharacteristicNotification(Characteristic{1,,2,3} true); for each. Feb 16 16:30:32 But onCharacteristicChanged is never called. Anyone can help point what I am doing wrong or missing? Feb 16 16:32:49 now it works Feb 16 16:39:29 Zharf, volley 1.0.0 officially release on Jcenter ? Feb 16 16:39:41 no Feb 16 16:39:46 https://bintray.com/android/android-utils/com.android.volley.volley/view Feb 16 16:39:56 Also, checkout last commit message on master Feb 16 16:39:58 https://android.googlesource.com/platform/frameworks/volley Feb 16 16:40:39 Seems like, but no announcement yet Feb 16 16:40:52 wow Feb 16 16:40:56 took long enough Feb 16 16:42:12 hasn't sync to central Feb 16 16:46:10 Jcenter is good enough Feb 16 16:46:19 why do you need central ? Feb 16 16:46:43 The ones we download are mostly from Jcenter right ? Feb 16 16:47:17 Or am I wrong ? Feb 16 16:49:06 shit, Atlassian Sourcetree 2.2 update won't start up Feb 16 16:50:25 I generally don't use jcenter unless it's not on central Feb 16 16:50:46 most android artifacts published to jcenter also go to central Feb 16 16:51:42 I need to use a jar file for my android project. The problem is that the files in this jar uses javax.xml.ws and as far as I understand this is not part of the android sdk. What do I do? Feb 16 16:52:33 jcenter() is only default repo mentioned by default in the projects gradle file Feb 16 16:53:05 leetplayah: Can't used a jar that uses javax Feb 16 16:54:31 anyone knows what's the correct way to handle (receive, send) cookies from a retrofit 2 Call, as @POST("login")... ? should i extend the cookie class and return it as Call cookie(); or something? Feb 16 17:01:39 Hi! Which AOSP branch represents (current) latest released branch? Shall that be marshmallow-release? Or android-6.0.0_r11? Feb 16 17:11:43 tags, not branch Feb 16 17:11:48 android-6.0.0_r11 is a tag Feb 16 17:11:50 iirc Feb 16 17:12:43 All of this element's siblings give me no trouble Feb 16 17:12:52 true Feb 16 17:13:08 @Element private String red; Feb 16 17:13:37 I declared the in order as well. I can't think of any reason this doesn't work Feb 16 17:21:02 i'm playing with android mic recording... it's crazy the discrepancy across version and what it forces me to do to handle weird behavoir, all devices reports a minimum buffer size of 4096 samples, but depending on the version, it returns less.. than what you ask to read (the min buf size): V/BaseGenerator: Re-allocating buffer from 4096 to 2048 |||| V/BaseGenerator: Re-allocating buffer from 4096 to 3072 ||| on latest version(s) it properly gives what Feb 16 17:21:03 you ask for aka 4096 or the min buff size Feb 16 17:21:57 sometimes it's twice less, sometimes it's 25% less, LOL!!! Feb 16 17:24:25 I am adding views to a scrolling linearlayout dynamically. When I switch form vertical(default) to horizontal orientation, the dynamically added views are not preserved. Anyone know why that is? Feb 16 17:27:29 honestemu: Not preserved? Feb 16 17:27:46 your activity is destroyed honestemu Feb 16 17:27:50 you have to re-add your view Feb 16 17:28:05 check android lifecycle and read about orientation changes online Feb 16 17:28:17 adq: Gotcha. Thanks. Feb 16 17:30:10 is FragmentPagerAdapter only available from the support library? Feb 16 17:30:24 I can't seem to find it outside of android.support.v4.app Feb 16 17:31:53 i think so, looks like it's only available in v4 or v13 Feb 16 17:32:12 does that seem odd or is that common? Feb 16 17:32:31 i haven't been using the support library for fragments, and now i'm forced to Feb 16 17:42:33 android SQLite, whats better performance wise - delete and insert, or update a record? Feb 16 17:45:00 update Feb 16 17:45:09 I have a project that was zipped up and sent to me. It conatains an aar as one of the build outputs. whats the easiest way to just add an aar to my android app? Feb 16 17:45:23 hi, I want to compile a recovery.img but disable signature verification. Does someone here knows how to do it? When searching for a solution I sadly only find suggestions to download an already modified recovery.img Feb 16 17:45:35 eghdk_, as a seperate module Feb 16 17:45:52 wieselchen, read the channel topic Feb 16 17:46:34 anyone here using realm yet? Feb 16 17:46:35 thank you, danijoo Feb 16 17:46:59 worth to use it from the start on a new project? Feb 16 17:47:37 eemgr: you're better off using support fragments anyway Feb 16 17:48:48 dont use native fragments. Feb 16 17:49:06 consistent behavior across all versions for the win! use support fragments Feb 16 17:49:06 why? Feb 16 17:49:29 but if my app doesn't support api versions lower than say, 16, what does it matter? Feb 16 17:49:32 eemgr, they have less bugs and the bugs they have are consistent Feb 16 17:49:41 because your app WILL support api versions higher than it Feb 16 17:49:53 alright, fair enough Feb 16 17:50:20 eemgr, if there is a bug in fragments version 19, this will be there for 16,17,18,19 but is be fixed in support Feb 16 17:50:42 gotcha Feb 16 17:51:50 hm, but if the SQLite database doesnt have a record, and i try to update it, will it insert it? Feb 16 17:52:01 no Feb 16 17:52:31 eh "What happened to Jack and Jill? " google probably finished it but forgot to tell us Feb 16 17:53:04 g00s, or discarded it Feb 16 17:53:34 maybe next I/O Feb 16 17:53:46 lxknvlk see 'insert or replace' Feb 16 17:53:54 (on conflict) Feb 16 17:54:07 http://stackoverflow.com/questions/3634984/insert-if-not-exists-else-update Feb 16 17:54:41 actually http://stackoverflow.com/questions/418898/sqlite-upsert-not-insert-or-replace Feb 16 17:54:52 g00s: thanks Feb 16 17:55:32 eghdk_: So I can't just point to an aar on my local system? I have to put in a new module in my app? Feb 16 17:57:46 danijoo: So I can't just point to an aar on my local system? I have to put in a new module in my app? Feb 16 17:58:57 eghdk_, you can setup a local maven repository and add this if you prefer this approach Feb 16 18:06:13 'leading scientific calculator requires caller ID' ... not going to be leading for long Feb 16 18:06:59 can I use layout_above or something in cordinator layout ? Feb 16 18:08:43 eghdk_, new module > import aar. enjoy :) Feb 16 18:09:44 winter fukin sux Feb 16 18:12:30 winter is kind of fine in northern europe tbh Feb 16 18:12:31 suhas_sm: thanks man. Feb 16 18:12:50 im from the south and there is terrible Feb 16 18:13:54 hm weird my auto-perform list does not join this channel automatically even though I identify beforehand and use a timer to join this channel :X Feb 16 18:14:26 does anyone use xstream with android and know why it does not output the XML elements in the same way I define them in the class? Feb 16 18:16:54 instead the elements are output in an alphabetical order Feb 16 18:32:16 hey, I'm having a little trouble with my wireless setup. Got a fresh installed Linux Mint / LMDE2 , installed openjdk, downloaded and ran android-studio from website, I can access my gt-i9300 (galaxy s3, CM13) with a file manager and adb usb, I can also connect it using "adb tcpip 5555" and "adb connect IP", it gets listed by adb devices then but i cannot access it from android-studio Feb 16 18:34:34 I tried connecting usb first, then switch to tcpip and connect it, but as soon as I pull it from usb, I get no device in android monitor (disconnected), it gets listed with adb devices though... I don't know what to troubleshoot and to google anymore... (worked under windows and linux a while ago, but with different rom) Feb 16 18:38:16 (its a first world problem, I know, but the usb slot of my phone is at its limit and theres no money for a new one, so a little hint what to look for would be nice) Feb 16 18:39:44 nunumint: S3 with cm13 has some wifi dropouts Feb 16 18:39:50 do adb tcpip 5555 with device plugged in, unplug from usb and then adb connect xxx.xxx.xxx.xxx does it connect? Feb 16 18:39:52 maybe this is the cause Feb 16 18:40:15 S3 with CM13 - isn't that experimental Lollipop? Feb 16 18:40:33 marshmellow Feb 16 18:41:20 oh wow .. I know I had troubles with my S3 running 5.1.1 I think .. there were various stability issues I cannot remember, but I rolled back to 4.3 even (I had the non-4G version with only 1gb RAM) Feb 16 18:41:24 <_maddy> oh my, I was using an IntentService, when I should have been using AsyncTask... it's so much simpler! Feb 16 18:41:32 canvs2321: yes, thats what i kept trying, sometimes that works (connects) but I still cant see it in studio Feb 16 18:42:11 but like now i get error: device not found Feb 16 18:42:15 even though its connected Feb 16 18:42:51 a forgot the debug options this time (did a phone restart) Feb 16 18:44:19 had problems with 5.0, 5.1.1 was good, this CM android 6 is good aswell Feb 16 18:45:21 but it could be the rom, thats a good point. :/ it works with usb though... would a different adb wireless app help? Feb 16 18:45:47 I do it in the developer options right now... another app would do the same I assume? Feb 16 18:48:13 I dont want back to 4.4.4 ^^ I'll just stick with usb then :( but big thx for the help. :) Feb 16 18:48:35 sorry - I don#t know much about that :X Feb 16 18:51:18 any y’all nerds know how to shorten a cold? Feb 16 18:51:28 rest and fluids Feb 16 18:52:02 also, stop saying “y’all nerds" Feb 16 18:53:00 guys, need suggestion. I have a cordinator layout, a placed button at the bottom which becomes visible after certain action. I want to place another button above it when that button is clicked. Feb 16 18:53:09 how do I achieve this ? Feb 16 18:53:38 unhide it in the first button’s onClick/ Feb 16 18:53:39 ? Feb 16 18:55:04 hmm but how do I place it in the layout ?? Feb 16 18:55:10 i m not able to figure it out Feb 16 18:55:12 :( Feb 16 18:55:19 like any other button Feb 16 18:55:40 can I say above bottom button in cordinator layou t? Feb 16 18:55:49 like we do in relative ? Feb 16 18:55:53 you may have to wrap them in a relative layout Feb 16 18:56:01 hmm Feb 16 18:56:09 thanks Feb 16 18:56:14 should work I guess :) Feb 16 19:01:45 Added an aar, and getting a conflict that it contains an ic_launcher. What do? Feb 16 19:09:39 Is there an error in this example code? http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html Feb 16 19:09:45 the setContentView in the onCreate Feb 16 19:10:04 I'm trying to pass a bunch of strings from one fragment to the next using bundle, But I and getting a exception: attempt to invoke virtual method, which seems to be with my bundle.putString("AmountOwed", AmountOwedText.getText().toString());, ideas? Feb 16 19:11:16 RivaCom I suppose code snippets would be more helpful.. Feb 16 19:11:56 @eemgr - I have not used FragmentActivity, but there does not seem anything wrong with setContentView - you gotta have a regular layout there and that's it I believe Feb 16 19:12:23 I have a proper xml layout there Feb 16 19:12:38 when i change it from extends Activity to extends FragmentActivity it says it cannot find the method setContentView Feb 16 19:14:04 weird, because while not directly, FragmentActivity does extend Activity Feb 16 19:14:33 and it seems to be public at all times (setContentView of Activity class) Feb 16 19:15:50 that's why i'm confused as well Feb 16 19:15:52 oh : if you are using Android Studio, just switch to Fragment Activity and open "Structure" pane and show inherited methods, you should see setContentView there Feb 16 19:17:14 I also tried this Feb 16 19:17:15 FragmentActivity fa = new FragmentActivity(); Feb 16 19:17:15 fa.setContentView(R.layout.activity_add_image_board); Feb 16 19:17:26 and it does let me use the method Feb 16 19:17:26 Aoi: http://pastebin.com/VsAkLzSZ Feb 16 19:20:23 RivaCom - do you get a NullPointerException when trying to access the widgets? Feb 16 19:20:42 I /suppose/ that the reason is, that they are null Feb 16 19:21:27 because this method might try to access it before the context / layout etc. are created; this means your findViewById would return null, because it cannot find it Feb 16 19:21:42 (it's after onCreate that it would be able to find it) Feb 16 19:22:03 Even if values are being placed in the fields before the buttonclick?> Feb 16 19:23:37 I'd need a bigger snippet to find it out, but you could try to debug it yourself and place a breakpoint at any of the findViewById statements from the snippet you posted Feb 16 19:23:59 if those return null, I'd understand why .getText on a null-object throws an exception Feb 16 19:24:57 I assumed if I was loading the new fragment it would see that error but I'm confused as everything is already loaded, you fill out the edit Text fields and hit submit, that's when it throws the error Feb 16 19:24:59 @ RivaCom - I suppose your problem should be pretty similar to this: http://stackoverflow.com/questions/27993632/attempt-to-invoke-virtual-method Feb 16 19:25:19 what's the exact stacktrace or exception and the caused-by Feb 16 19:26:58 http://pastebin.com/RvHggpVg Feb 16 19:27:58 have you tried debugging your app and placing a breakpoint or at least adding some log-output showing whether the findViewById method was successful or not? Feb 16 19:28:34 "java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference" is what it says - clearly it does not have a valid object by the time the method is called Feb 16 19:30:16 Is there a gradle-mvn-push branch that is the standard these days other than https://github.com/chrisbanes/gradle-mvn-push or is there something else I'm not aware of? Feb 16 19:30:30 Been quite a while since the original repo has been touched Feb 16 19:30:32 aoi it's failing at bundle.putString("AmountOwed", AmountOwedText.getText().toString()); Feb 16 19:30:46 I know - it's because AmountOwedText is null Feb 16 19:30:55 which worked fine when I used it as a intent with activities but not as a fragment Feb 16 19:31:02 and this in turn is because v.findViewById does not return a valid widget Feb 16 19:31:31 hmm Feb 16 19:31:57 honestly, I would like to help, but I do not have a big enough snippet to see what's going on.. all I can do is guess and I guess v might not be properly set or initialized Feb 16 19:32:05 (v as in the view) Feb 16 19:32:48 I sadly have no experience with FragmentActivity objects myself though :( sorry Feb 16 19:32:58 http://pastebin.com/iYR6sLgr Feb 16 19:33:03 that's the whole activity Feb 16 19:33:37 Just odd, that it works fine for intents and activities but fails for fragments Feb 16 19:34:23 so basically when the button is pressed, it passes uhm.. something? as a new View to the inner anonymous class which contains onClick? Feb 16 19:35:02 More or less I am trying to take the values in the editText , put them to string format and send them to the next fragment Feb 16 19:35:04 are you sure the View is actually set in onClick? Feb 16 19:35:14 Hey, this may be a stupid question, but I'm having issues with Immersive mode, when I swipe down it always presses buttons. what can I do to make the buttons ignore the gesture? https://gist.github.com/yappingboy/7bd761360b7353c05356 here's the code I have Feb 16 19:35:23 yeah I get that, but perhaps v is already the new view? Feb 16 19:36:02 the v is the view that was clicked ~ Feb 16 19:36:04 or no view at all @ RivaCom - just debug into there and see if v is properly set Feb 16 19:36:21 but the view that was clicked is the button, no? Feb 16 19:37:07 which means, that v.findViewById(...) would not return your desired EditText boxes, RivaCom .. if I am correct that is (maybe I am not) Feb 16 19:37:48 So what would I need to call the current screen? Feb 16 19:38:01 Should I be using ActivityCompat.checkSelfPermission or ContextCompat.checkSelfPermission when checking permissions? Feb 16 19:40:10 honestly? just a shot into the blue, RivaCom, but try renaming your outer "final View v" into "final View vLayout" or something that is more fitting, and use that instead of v.findViewById Feb 16 19:40:34 (you'd end up with "... = (EditText) vLayout.findViewById..." Feb 16 19:40:36 ) Feb 16 19:41:20 because as it currently stands the variable "v" that you explicitely create before assinging a ClickListener, is overwritten by the one specified in the onClick-method as a parameter Feb 16 19:41:51 yea i've tried that road already Feb 16 19:42:49 hm.. did you also try "getView()" instead of v? Feb 16 19:42:55 (the inner v that is) Feb 16 19:43:58 Let me try Feb 16 19:45:22 eghdk, ActivityCompat is a ContextCompat so both are the same Feb 16 19:45:39 :o hey danijoo! Feb 16 19:45:45 its `class ActivityCompat extends ContextCompat` Feb 16 19:45:52 hi friends, any good library to send images over http? Feb 16 19:46:07 Aoi, aloha Feb 16 19:46:10 Aoi! I think that did it. Thank you for the help! Feb 16 19:46:21 :) glad I could help! Feb 16 19:47:25 yaoi :o Feb 16 19:48:13 * Aoi slaps Ashiren >:( meanie Feb 16 19:48:16 What's the simplest way to add a pause inside a for cicle? Feb 16 19:48:40 skin - never do long stuff in the UI thread Feb 16 19:48:40 Thread.sleep() give me error about unhandled exception Feb 16 19:48:51 skin1980, you cant pause on main thread Feb 16 19:48:52 friends, any good library to send images over http? Feb 16 19:48:52 i have done it in a runnable Feb 16 19:49:15 in a separate thread Feb 16 19:49:20 surround thread.sleep(P with try catch Feb 16 19:49:24 or use SystemClock.sleep Feb 16 19:49:24 weird I think Runnable starts a new Thread.. so Thread.Sleep would be the way to go .. Feb 16 19:49:46 Aoi: yes but maybe i need to add the try catch Feb 16 19:49:48 how did you start the runnable Feb 16 19:49:49 but using sleep is a no-no Feb 16 19:49:54 what do you want to achieve Feb 16 19:50:05 i'm working on a watch face Feb 16 19:50:20 i need an animation that start at x second Feb 16 19:50:35 and run indipendently from the other stuff Feb 16 19:51:13 so, since doesn't like animation from xml i made a frame by frame Feb 16 19:51:18 in animation xml you can use startOffset Feb 16 19:51:42 Ashiren, watchface dont work with xml Feb 16 19:51:42 and to control the fps i would add a sleep Feb 16 19:51:48 they use a surfaceView Feb 16 19:52:04 :c Feb 16 19:52:29 skin1980, have you tried a handler and postDelayed? Feb 16 19:52:39 danijoo: tnx again for point me in the right direction Feb 16 19:53:08 danijoo: that's a good idea too Feb 16 19:53:15 that would be yourHandler.postDelayed(runnable, timeInMilliseconds) and at the end of the runnable you post it again with the same interval. Feb 16 19:53:19 what is getting animated Feb 16 19:53:36 Does anyone have any good resources for Immersive mode? Feb 16 19:54:02 canvs2321: what? Feb 16 19:55:01 Really odd, none of my activities that extend fragmentacitivity can find the method setContentView Feb 16 19:55:02 in your for loop what is getting changed Feb 16 19:55:23 is there anything that could be causing that? Feb 16 19:55:41 eemgr, not relevant to your problem but why do you use this deprecated class ? Feb 16 19:56:13 wasn't aware FragmentActivity was deprecated, http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html Feb 16 19:56:16 canvs2321: the position of the object i want animate Feb 16 19:56:26 eemgr, use AppCompatActivity instead Feb 16 19:56:46 can check out ObjectAnimator for animating between values, and you can give a start delay and duration etc Feb 16 19:56:56 danijoo: i can just replcae FragmentActivity with AppCompayActivity? Feb 16 19:57:04 compat* Feb 16 19:57:10 eemgr, yes Feb 16 19:57:20 hm... wasn't aware of that. Feb 16 19:58:20 still though - according to the inheritance tree setContentView should be available in FragmentActivity.. at least it is when I tried it Feb 16 19:58:34 not sure which SDK I am using .. I think it's 23 Feb 16 19:58:37 yep. As I said - not related to the problem Feb 16 19:58:37 canvs2321: i tryed also with it... no way Feb 16 19:58:45 with ObjectAnimator you'll need to make sure your object has i believe both a public setter/getter for the field of the object you are animating Feb 16 19:59:14 canvs2321: but what i didn't try is to run it in a new thread Feb 16 19:59:26 all it does is update the field based on time so whatever is drawing that object when in render will have whatever was last set Feb 16 19:59:38 ObjectAnimator runs on the UI thread Feb 16 19:59:46 i believe Feb 16 20:00:22 and it has static methods for calling anywhere Feb 16 20:03:34 danijoo: after switching to AppCompatActivity, i can't call findViewById ? or startActivity? Feb 16 20:03:47 eemgr, your setup seems broken Feb 16 20:03:57 i agree, this is odd Feb 16 20:04:13 try cleaning and invalidate/restart Feb 16 20:04:14 i just updated to android studio 2 (beta 2) with some sdk updates Feb 16 20:04:18 ahh good call Feb 16 20:06:20 ah I am using beta 3 and all seems good Feb 16 20:07:46 https://github.com/square/sqldelight - לֹ Feb 16 20:07:48 NICE Feb 16 20:07:50 Why the fuck is the compiler complaining about the variable not being assigned, even though it will be assigned 101% of the time? Feb 16 20:07:51 http://pastebin.com/HQHEWeMp Feb 16 20:08:25 casadogg: nope Feb 16 20:08:35 that's a lint error Feb 16 20:08:53 So I can just suppress this? Feb 16 20:08:57 nope Feb 16 20:09:09 that is bad code Feb 16 20:09:17 it's a good think it won't compile Feb 16 20:09:27 why? Feb 16 20:09:38 switch the else with elise if not null Feb 16 20:09:49 it's just a part of the code Feb 16 20:09:56 its inside a for loop and the starting point will always be 0 Feb 16 20:10:07 because you're initializing the var only in one scope but using it in all scopes Feb 16 20:10:34 if the starting point is always 0, init it before starting the loop Feb 16 20:11:32 http://pastebin.com/sJTbs2Wg Feb 16 20:11:37 doing it like that ^ Feb 16 20:12:28 that is just bad Feb 16 20:12:59 canvs2321: have you got a good guide on how to draw an Imageview with canvas? Feb 16 20:13:00 what's wrong with this? Feb 16 20:13:01 http://pastebin.com/aZ62F0Vg Feb 16 20:13:18 What's wrong with initializing in the loop? Feb 16 20:13:35 There is no way it won't be initialized Feb 16 20:13:48 Why is it bad and why is lint complaining? Feb 16 20:14:02 because it's bad Feb 16 20:14:05 Call me an idiot, but please explain it to me. Feb 16 20:14:06 just change it Feb 16 20:14:24 danijoo: invalidated and cleaned, still erring on this: mPager = (ViewPager)findViewById(R.id.viewpager); Feb 16 20:14:26 in the onCreate Feb 16 20:14:41 eemgr, what error? Feb 16 20:15:03 casadogg: because this doesn't pass static analysis Feb 16 20:17:11 okay Feb 16 20:17:19 so i can just initialize the builders as null outside the for loop Feb 16 20:17:23 then do my stuff inside the for loop Feb 16 20:18:38 casadogg: this is probably the best - http://pastebin.com/eXtWU8Vv Feb 16 20:19:39 dotAnimation is generated for each child inside a LinearLayout Feb 16 20:19:48 So it doesn't exist outside of the for loop Feb 16 20:20:14 I could get the first child and create an animation for it, sure Feb 16 20:20:24 But it seems so pointless do repeat code like that Feb 16 20:20:31 Just if (dotSetAnimationBuilder == null) Feb 16 20:21:31 If I initialize the builders as null outside of the for loop, lint stops complaining Feb 16 20:22:24 In Android Studio, sometimes I lose the hleper for what arguments are needed. Any way to force that to come back while typing so I don't need to hover with my mouse. Feb 16 20:22:37 danijoo: cannot resolve method findViewById(int) Feb 16 20:22:56 eghdk_, cmd+P Feb 16 20:23:21 SimonVT I don't have to check for null because there is no way it will be null Feb 16 20:23:44 danijoo: http://pastebin.com/YxgawX1L Feb 16 20:23:49 Then why ever assign it, casadogg Feb 16 20:24:12 SimonVT it is assigned at index 0 Feb 16 20:24:12 errors on line 17, with cannot find method findViewById(int); Feb 16 20:24:25 So it's null when the index is 0 Feb 16 20:24:37 SimonVT yes but when index is > 0 it's not Feb 16 20:24:50 Right, so null check instead of index check Feb 16 20:24:53 theres absolutly no point in doing a loop and assigning it in the first run of it Feb 16 20:25:01 just assign it first and make the loop 1 shorter Feb 16 20:25:41 danijoo: What if there are no children Feb 16 20:25:41 danijoo I need an animation object to assign the builder. if the linearlayout has no children, there is no animation object to assign to the builder as the first animation to be played Feb 16 20:26:23 i see. I didnt follow the whole discussion. just saw the snipped where it looked like its fine to ommit one cycle Feb 16 20:27:00 yeh for the sake of brevity Feb 16 20:27:05 Anyway, lots of solutions Feb 16 20:34:27 So I just went over the dex limit. I never thought I'd encounter this. What do I do? I support API 15 and up. Feb 16 20:34:58 multidex or proguard Feb 16 20:35:04 Read docs? :P Feb 16 20:37:56 Isn't multidex true a feature added to like api 21? Feb 16 20:38:23 multidex support Feb 16 20:39:43 i.e. this https://frogermcs.github.io/MultiDex-solution-for-64k-limit-in-Dalvik/ Feb 16 20:42:18 eghdk: There's a support library thing for API levels 4-20 that's possibly not quite as efficient as "real" multidex, but works (and uses the real deal when running on >= 21). Feb 16 20:42:48 fizzie: Wheres that? Feb 16 20:42:56 http://developer.android.com/reference/android/support/multidex/MultiDex.html Feb 16 20:43:07 thanks. appreciate it. Feb 16 20:43:58 fizzie: All I do is call install in my application class? Feb 16 20:44:23 read it.. Feb 16 20:44:51 http://developer.android.com/reference/android/support/multidex/MultiDexApplication.html might've been the better link, since it outlines the possibilities. Feb 16 20:45:05 (With slightly off grammar.) Feb 16 20:45:21 read read read. docs docs docs. lol. I know. Multi dex is scary. Never thought I'd encounter it. hahaha Feb 16 20:46:58 what lib are you using thats so big? facebook? Feb 16 20:47:38 Google Play services client lib?-) Feb 16 20:47:51 pretty easy to get to 64K methods these days Feb 16 20:48:36 You can recognize Android developers in a crowded place by shouting out "dex limit" and seeing who flinch. Feb 16 20:48:47 ^^ Feb 16 20:48:56 i think im at 80k methods right now Feb 16 20:49:02 one of the most shortsighted decisions evar Feb 16 20:49:04 we're at like 18k_ Feb 16 20:49:06 ? Feb 16 20:49:09 something like that :) Feb 16 20:49:13 but I incluude all the big shit Feb 16 20:49:16 except facebook Feb 16 20:50:37 Mavrik, 18k? thats like kotlin + Rx alone ^^ Feb 16 20:50:53 danijoo what is kotlin count roughly ? Feb 16 20:50:57 I think Rx is the only hard dependency we use :) Feb 16 20:51:12 And I guess appcompat / support-v4+7 Feb 16 20:51:30 g00s, without proguard: http://pastebin.com/smBqW4nh Feb 16 20:51:45 ew chartboost Feb 16 20:51:51 a bit over 10 k is kotlin Feb 16 20:51:59 Ah no wonder. Feb 16 20:52:07 You dragged in every scummy ad framework there is :P Feb 16 20:52:09 yeah. lots of payment shit :p Feb 16 20:53:19 with proguard kotlin is only this for me http://pastebin.com/1dyWrEXQ Feb 16 20:53:23 Having worked in the Ad industry, Ad frameworks are the worst PoS code I've ever seen Feb 16 20:53:25 arround 2k Feb 16 20:54:15 Looks more like 1525 :p Feb 16 20:54:31 SimonVT, isnt that without the ones below? Feb 16 20:54:42 oh wait. the above is the sum -_- Feb 16 20:55:00 its late here ^^ Feb 16 20:55:02 Yep, sum of kotlin and kotlin.* Feb 16 20:55:14 Aren't we in the same timezone? :p Feb 16 20:55:20 support-v4 is becoming too large Feb 16 20:55:50 late in my personal daily thythm :p Feb 16 20:56:04 rhythm Feb 16 20:56:04 Probably because of all those static classes.. They should minsdk 7 it and swap to if (Build.VERSION.SDK_INT >= ..) Feb 16 20:56:59 Mavrik, i think 2 or 3 of this ad networks arent even used right now :/ but I hit dexlimit anyways so I didnt bother to take them out.. Feb 16 20:57:10 Yeah, that's standard. Feb 16 20:57:18 They still collect data and happily burn battery :P Feb 16 20:57:36 i dont initialize them so no Feb 16 21:01:29 happy to be the starter of a good dex count conversation Feb 16 21:02:58 it’d be awesome if someone would create a language for Android development focused on reactive programming – and you could set a listener on every attribute of an object, and if all android widgets would properly bind to them. Feb 16 21:03:27 maybe you should just write html app Feb 16 21:03:29 So on every change to an object, the UI would update, too. Similar to what Android’s data binding does, Feb 16 21:03:39 but everywhere automatically. Feb 16 21:03:49 alankila: well, that’s not really possible for my use case. Feb 16 21:05:12 justjanne, ugh Feb 16 21:05:14 NOOOO Feb 16 21:05:26 justjanne, basically kotlin/scala + rx ^^ Feb 16 21:05:27 That's maintainability nightmare. Feb 16 21:05:32 Why? Feb 16 21:05:36 Not having it is a nightmare Feb 16 21:05:48 now you have thousands of events happening everywhere manually, Feb 16 21:05:56 have to write thousands of event handlers everyhwere, Feb 16 21:06:00 Because you don't control side effects. Feb 16 21:06:08 It's same total hell like Angular on the web. Feb 16 21:06:10 Or KVO on iOS. Feb 16 21:06:20 It just doesn't work for anything above toy projects. Feb 16 21:06:26 again, do you suggest that I write tenthousands of event handlers? Feb 16 21:06:38 Nope. Feb 16 21:06:46 I suggest you structure your code properly :P Feb 16 21:06:54 It’s impossible to do it otherwise Feb 16 21:07:01 I have 18000 objects, Feb 16 21:07:13 Uhuh. Feb 16 21:07:15 at any time I can get an RPC call from a remote server via a socket to modify any attribute on them. Feb 16 21:07:22 If that attribute is modified, Feb 16 21:07:27 the UI has to change accordingly Feb 16 21:08:17 I would suggest a naming convention, e.g. suppose you have object called Xyz, and it is rendered by view called R.layout.xyz. Perhaps you can write a generic handler that looks for currently instantiated layouts of type R.layout.xyz and refreshes them Feb 16 21:08:22 for example, if you do /away, I get a call for setAway on the Freenode/Mavrik object with the parameter true. Feb 16 21:08:30 though I don't know how you got into 18k objects this way Feb 16 21:08:33 Then I have to update the UI Feb 16 21:08:43 alankila: one per IRC User, IRC Channel, Network, etc. Feb 16 21:09:03 and, even more importantly: Feb 16 21:09:11 justjanne sounds like Qt signals / slots Feb 16 21:09:13 The backend code has to be 100% android-agnostic. Feb 16 21:09:18 g00s: exactly that’s what it is. Feb 16 21:09:24 well, I don't think it is very hard for you to create a manual binding that associates a particular instance and active view that renders it Feb 16 21:09:26 Qt signals/slots Feb 16 21:09:29 soundsl ike a HashMap to me Feb 16 21:09:42 once you have that you can schedule the updates based on this map Feb 16 21:09:57 alankila: again, that’s (a) doubling memory usage, and (b) creates a dependency between frontend and backend. Feb 16 21:10:10 O.o Feb 16 21:10:15 the backend is supposed to be usable on non-android systems. Feb 16 21:10:17 is your android application both a frontend and backend? Feb 16 21:10:31 just do the magic for the binding on the android-specific part then Feb 16 21:10:34 that's what you have to do anyway Feb 16 21:10:55 Again, that type of map is just bad coding. Feb 16 21:11:03 if you want binding you're going to couple them in some sense somewhere Feb 16 21:11:21 imho it's not. It's the simplest solution that should achieve the desired end result. Feb 16 21:11:26 Map is bad coding but 18.000 objects isn't? O.o Feb 16 21:11:34 Mavrik: one object per IRC user. Feb 16 21:11:38 just this channel has 418... Feb 16 21:11:38 bad coding is complex and opaque solutions to problems that don't need to be solved Feb 16 21:11:52 e.g. almost anything that uses annotation for anything in my experience Feb 16 21:12:39 alankila, this is supposed to be a quality result, not just a badly hacked solution. Feb 16 21:12:51 well there's no accounting to taste, as I heard about 1000 times in fallout 4 Feb 16 21:13:27 http://goo.gl/uL3rrW Feb 16 21:14:54 talking about 18K objects .. MPAndroidChart is grossly inefficient Feb 16 21:15:23 g00s, one object per point? ^^ Feb 16 21:15:29 plotting 1000 items = 1000 Entry objects, and an ArrayList of 1000 strings for the xaxis Feb 16 21:16:14 ouch Feb 16 21:17:06 is 1000 really the sort of number of objects that brings android to its knees? Feb 16 21:17:50 more about the garbage Feb 16 21:17:53 I mean, obviously you could model it by allocating index for each object and putting like coordinates in a float[] x, float[] y, and so on. Feb 16 21:18:22 I haven't worked on android for a while. GC still isn't fast? Feb 16 21:18:45 only recently is it compacting, and even then only when app goes in background Feb 16 21:18:47 it seemed like some galaxy s2 could collect most cycles in like 2 ms already in some android 4 Feb 16 21:19:09 nah, ART is pretty chill Feb 16 21:19:24 18k objects is peanuts if they're not long lived Feb 16 21:19:39 Heap fragmentation is a bigger issue usually. Feb 16 21:19:54 how's the heap limit, still like 24 MB despite devices shipping with 2 GB memory? Feb 16 21:20:06 Nah. Feb 16 21:20:10 6G of memory now :) Feb 16 21:20:14 Seeing like 1GB if largeHeap=true Feb 16 21:20:39 it sounds to me like few people would be actively working on like 10 tasks at the same time so even small heap could probably easily be at least 100 MB Feb 16 21:20:59 alankila, it's like 128MB or 256MB on most devices now Feb 16 21:21:47 Galaxy Note 6 is rumored to have 6GB of LPDDR4 RAM, even if it doesn't will be soon enough somebody does Feb 16 21:21:48 Mavrik, the usual increase is really ~128 mb to 1gb with that flag? I thought its maybe doubling but not more.. Feb 16 21:21:53 okay good Feb 16 21:22:11 It depends, but largeHeap is rather massive lately. Feb 16 21:22:28 Had to tweak caching code because it reserved like 256MB because we had 1/4 of heap reserved for cache. Feb 16 21:22:34 A bit big :) Feb 16 21:22:39 haha ^^ Feb 16 21:22:48 with great memory comes great waste Feb 16 21:22:53 But that's mostly on new 4GB devices Feb 16 21:22:59 how did you solve it? 1/4 with max size? Feb 16 21:23:06 alankila, and with great resolution comes massive mem usage Feb 16 21:23:08 probably a Math.min(maxsize, fixedlimit) Feb 16 21:23:12 danijoo, eh, just capped it to 128MB Feb 16 21:23:19 yeah thats what i mean Feb 16 21:23:22 sorry heaplimit Feb 16 21:23:31 It's a bitmape cache Feb 16 21:23:39 So it scales with screen resolution and memory and it's fine Feb 16 21:23:50 it's true though that pushing pixels is pretty expensive Feb 16 21:24:14 Yeah, like Galaxy Note 3 has problems rendering bitmaps that are as large as screen Feb 16 21:24:21 It's also a bit annoying that they're mapped as RGB when you have these weird pentile screens that can't render most of those values. That's a big waste I guess Feb 16 21:25:35 you could do what devs of old computer games did. Feb 16 21:25:38 but I don't think anybody can seriously fix any of that without making things horrible Feb 16 21:25:39 store it compressed, Feb 16 21:25:44 and only decompress during rendering, Feb 16 21:25:50 and only a few lines at a time Feb 16 21:26:13 sounds like ETC1 compression... Feb 16 21:26:32 Yeah, I'd love to have control over texture upload for bitmaps Feb 16 21:26:38 Had a huge amount of issues with that Feb 16 21:26:53 Like 60ms pauses first time you called drawBitmap on a canvas Feb 16 21:27:49 I wrote a kind of viewer for electronic magazines once for a customer. I saw that there was some kind of jpeg decoder offload at least. Could take 200 ms to work during which time I just had to show the missing page bitmap Feb 16 21:28:24 but that was seriously hard to get working because I was severely memory constrained and 1:1 images are so large. Feb 16 21:28:56 mhm Feb 16 21:28:57 at any time about half of app memory was spent for viewing the visible parts of the page. Feb 16 21:29:14 We just stuff longterm memory cache into JNI heap Feb 16 21:29:32 iOS wasn't much better hardware but the heap was 256 MB there. Imagine which one was easier to get working Feb 16 21:30:21 yeah the low heap size on ´old´ android phones is just stupid.. Feb 16 21:30:32 I wouldn't have an issue with it if the screen : heap ratio would be ok Feb 16 21:30:42 And if you'd actually get low memory warning like you get on iOS Feb 16 21:30:44 But no Feb 16 21:30:48 You get OOM and FU. Feb 16 21:31:04 Even if you have like 100MB of RAM available because the memory got fragmented by 10 1KB objects. Feb 16 21:31:05 which exception is FU again? Feb 16 21:31:24 It is the one that raises the middle finger Feb 16 21:31:26 Does each app have its own heap or is it shared between apps? Feb 16 21:31:29 alankila, :D Feb 16 21:31:34 barq, each VM has it's own Feb 16 21:31:43 alankila: that was good haha Feb 16 21:31:46 == each process has it's own == most cases each app it's own Feb 16 21:32:13 So what happens if a lot of apps each eat a lot of heap? Feb 16 21:32:23 Android starts killing them off Feb 16 21:32:25 barq: they get shut down Feb 16 21:32:26 In priority order. Feb 16 21:32:27 btw is anyone here using this Fresco thing by facebook where they put all the images into ashmem? Feb 16 21:32:43 Yeah tried it, it's horrible Feb 16 21:32:48 its out since quite a while but seems like nobody is using it Feb 16 21:32:56 I mean, it helps a bit for your app but it murders the users device Feb 16 21:33:07 yeah thats what I guesses Feb 16 21:33:09 guessed Feb 16 21:33:29 classy facebook Feb 16 21:34:26 I've seen audio playback dying when I was playing with it :) Feb 16 21:34:27 Not fun. Feb 16 21:34:36 lol Feb 16 21:34:56 Basically they leave everything in memory and Android is force to kill background processes since it can't issue an OOM Feb 16 21:35:01 (You can avoid it with some cases) Feb 16 21:35:05 But still it messes up multitasking Feb 16 21:36:10 maybe thats the reason why the facebook app itself cripples every device Feb 16 21:36:35 * g00s never had fb on device :D Feb 16 21:36:39 Yeah, reading through their blog posts it seems that they don't really care much about writing good code. Feb 16 21:36:47 But write "smart" code. Feb 16 21:36:49 :) Feb 16 21:37:05 "We're patching dalvik method pointers dynamically." Feb 16 21:37:07 i guess it works fine on a phone with only fb and settings app :p Feb 16 21:38:52 to be fair, that workaround was required because of the completely idiotic and unnecessarily low dalvik limit. And at the time there wasn’t an official solution Feb 16 21:39:41 Yeah and noone wondered why an app showing dumb cards and comments requires pushing those limits. Feb 16 21:39:56 http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so Feb 16 21:39:59 that’s a pretty unfair characterization of the app Feb 16 21:40:00 18k classes Feb 16 21:40:15 A lot of duplicated view libraries. Feb 16 21:40:28 There are few UI libraries they include several times with several versions :P Feb 16 21:40:41 s73v3r, I'm sorry, I forgot all the background spying and data uploading :P Feb 16 21:43:58 didn't they completely rewrite the widgets for either iOS / ANdroid, can't remember which Feb 16 21:44:15 think it was iOS - they said it was too janky lol Feb 16 21:44:34 no, they made it so they could create the views on a background thread Feb 16 21:45:05 Mavrik, well, the linearalloc problem isn't fixable by any means at all... Feb 16 21:45:16 Mavrik, not without dropping android version support at the time Feb 16 21:45:39 Mavrik, well, of course, if you could rewrite your code to have a shallower class hierarchy, sure Feb 16 21:45:58 not possible in certain instances at the time Feb 16 22:00:17 Mavrik: I can give you more info regarding object count and longetivity soon Feb 16 22:01:57 I want to make a colored circle with text on it, but I want the circle color to be a hash of the text Feb 16 22:02:15 what's the most sensible way of doing this? Feb 16 22:03:14 i was thinking of making a TextView and setting the drawable background in java, that way the circle will scale with the text, how does that sound? Feb 16 22:04:07 sure Feb 16 22:04:08 kommunicate: use HSL color space, or better even cubehelix color space, Feb 16 22:04:17 make brightness and saturation constant, Feb 16 22:04:23 use the hash as hue Feb 16 22:04:37 as a way to neatly get colors from names Feb 16 22:04:57 justjanne: mm.. good choice of hash function Feb 16 22:05:37 Mavrik: currently, 2291 IrcUsers, 11 Networks, 1557 Messages, 32 IrcChannels, Feb 16 22:06:20 no private chats? Feb 16 22:06:49 or are those considered channels Feb 16 22:07:33 oh, right. Feb 16 22:08:24 1766 buffers. Feb 16 22:08:49 a buffer is something that is either a channel, a query, or a statusbuffer of a network Feb 16 22:09:35 125 buffers have a UI representation Feb 16 22:10:42 75 queries open Feb 16 22:10:49 anyway, yeah, a few thousand items. Feb 16 22:11:00 if a user changes their nick, the query buffer should also update, etc. Feb 16 22:20:13 FWIW - recently asked if there was an app + web-site that collected statistics on apk file hashes/signatures and I couldn't remember what it was. Finally dug it out - the site is https://androidobservatory.org ; I don't know if it is still active or if there are apps that upload to it - checkey (https://github.com/guardianproject/checkey) uses it, but doesn't upload to it. Feb 16 22:21:10 Trying to implement my own cookie handler in the database, I have the string as "cookie_name=a; path=/" from the response headers, is it possible to do it easily or i have to split the string or use regex? Feb 16 22:22:02 could it be mapped somehow with some java/android class i'm not aware of to be able to do something like value = headers.cookie_name.getValue() or something? Feb 16 22:22:04 hello Feb 16 22:22:43 i guess not? Feb 16 22:24:01 Twirl: maybe java.net.HttpCookie.parse ? Haven't used it but seems relevant Feb 16 22:24:09 header.split("=")[0] would be the first cookie's name, etc Feb 16 22:24:15 is there an existing layer/API/utility or whatever to process arbitrary voice commands in my app? or do i need to implement such a thing from scratch using the Speech Recognition APIs Feb 16 22:24:47 kbs: idk I've never done this Feb 16 22:25:07 Twirl: take a look at that method then; probably more secure than trying to parse it yourself. Feb 16 22:25:31 i.o.w. is there already a system in place (voice commands, OK google, etc.) which I can use in my app to understand & act upon custom/arbitrary commands? or do i need to roll my own Feb 16 22:26:21 kbs: looks good Feb 16 22:26:35 but it returns a "List of cookie" Feb 16 22:26:49 and i have my own class Feb 16 22:27:13 u know where to look at the source? Feb 16 22:27:57 regedit: haven't used it; but android.speech.* seems like maybe a good starting point? Feb 16 22:28:47 hi people Feb 16 22:28:57 kbs: ye those seem like the Speech Recognition APIs i mentioned ^ so is that the way to go? nothing "higher level" exists that i can interface with? Feb 16 22:30:05 I ma having trouble receiving BTLE data updates through notifications. Not sure what I ma missing or doing wrong all day. I have three characteristics that I call setCharacteristicNotification(.., true) on each from Button click. I get no error and no updates. I did read that I have to get BluetoothGattDescriptor from each set ENABLE_NOTIFICATION_VALUE on it and call writeCharacteristic(). If I do this I get only updates Feb 16 22:30:05 for one not three. Know all three are published. If I only do setCharacteristicNotification() for one and the two others are commented out I can see data is coming for each when each is enabled alone with others. When all enabled I get no error but only data for one Feb 16 22:30:11 kbs: since voice commands or OK Google exists, it would be cool if i could just integrate my custom commands into that existing "framework" that people are already familiar with Feb 16 22:30:22 kbs: found it, lol it's pretty huge Feb 16 22:30:35 i have an application and i need to receive some data from a java server, what is the best way to acomplish this?, a friend of mine told me to check Sockets but im not sure if this is the best aproach Feb 16 22:30:42 regedit: oh, sorry - missed that. That's all I'm aware of, sorry Feb 16 22:30:51 Each characteristic has only one descriptor so I do characteristic.getDescriptors().get(0); and setValue on it Feb 16 22:30:51 kbs: ok np thanks Feb 16 22:32:15 i have an application and i need to receive some data from a java server, what is the best way to acomplish this?, a friend of mine told me to check Sockets but im not sure if this is the best aproach Feb 16 22:32:45 i just need to receive a few strings thats it Feb 16 22:32:55 josh it usually depends on what exactly you want to accomplish and what your server is capable of sending Feb 16 22:33:22 if it's just a few strings, send JSON data (I assume your client will be a mobile app) Feb 16 22:33:29 yes Feb 16 22:33:52 In first case when I do only call setCharacteristicNotification(characteristic, true) on each (with out using descriptors) I do not see onCharacteristicChanged called. Feb 16 22:34:16 Any BTLE guru here can kick me in head and tell me what I am doing wrong :) Feb 16 22:34:17 JSON data is flexible - you could even have a web application receiving the data - this way you could easily debug / develop your server Feb 16 22:35:22 Guma: g00s might, he's done a lot with BTLE in the past Feb 16 22:35:23 so i need to check how to do the client to receive the JSON data Feb 16 22:36:08 bankai_ Thank you :) Feb 16 22:36:12 receiving JSON data with android is easy from what I heard (I have not yet done it myself, though I have done so using ajax from the website) Feb 16 22:36:38 g00s if you could shine some light in dark tunnel of mine... Would be great Feb 16 22:36:46 josh - here is an example on how to do it with android: http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android Feb 16 22:37:23 so the only thing you'd need is a server, that sends proper json data (and that server would not even have to be a java one) Feb 16 22:38:26 there are lots of tutorials for both client and server parsing and writing JSON data Feb 16 22:38:26 damn is that easy, i was thinking about Sockets and things like that Feb 16 22:38:30 this is so much better Feb 16 22:38:52 to be honest sockets aren't too bad Feb 16 22:39:16 yeah it is, but it does potentially have drawbacks in comparison to sockets.. actually sockets are different: you could have sockets open and hence push new data as it starts to exist on the server Feb 16 22:39:26 we just have a habit of piling this stack of stuff on top of protocols that could already achieve the task. Feb 16 22:39:31 I think pushing JSON data is harder (though I am not a pro there) Feb 16 22:39:32 josh--spartan: assuming "java server" of yours is an http server handling/serving http requests, ye it should be easy as pie making web requests to a little API of sorts you can put together for these purposes Feb 16 22:39:57 no they are not but complex Feb 16 22:39:57 than JSON Feb 16 22:41:18 yes regedit, with JSON would be very easy, sockets i need to study more about it Feb 16 22:41:38 josh - I suggest just googling a bit - there are many discussions in regards to why use one over the other etc. Feb 16 22:41:41 because from what i read, my few attempts never worked Feb 16 22:41:54 yup if all you need is "...receive some data from a java server" and you are the one developing said server, should be as easy as programming/configuring an endpoint on the server that will respond to requests with the data you need as JSON Feb 16 22:42:44 this is ajax/data APIs 101, very simple stuff Feb 16 22:42:51 there are actually servers (imageboards for example), that provide a REST-API for their websites that apps or websites can use.. all they do is create JSON data upon a certain URL Feb 16 22:43:00 (and parameters etc.) Feb 16 22:43:52 well i will try with JSON, i worked before with it, and after that learn more about Sockets, i m curious now :) Feb 16 22:44:07 sound like fun Feb 16 22:44:49 hehe have fun and good luck then :)! Feb 16 22:45:07 thanx guys Feb 16 22:45:14 sure is :) it's one layer lower than HTTP though, you're going down from "application layer" to the raw IP layer Feb 16 22:45:29 it's still not ip layer, there's probably tcp on it :-p Feb 16 22:45:34 but so it goes Feb 16 22:45:56 application is layer 6 or 7, right? TCP is like layer 4 :o? Feb 16 22:45:56 unless you send raw ethernet frames by waving a magnet on top of a networking cable, you're not a real man Feb 16 22:46:24 obligatory https://xkcd.com/378/ Feb 16 22:46:28 hahahaha Feb 16 22:46:51 I demand an universe where xkcd doesn't already have a comic for every situation Feb 16 22:47:11 this one is good Feb 16 22:48:41 Does anyone here use MaterialDrawer library? Feb 16 22:48:47 https://github.com/mikepenz/MaterialDrawer Feb 16 22:49:50 hm weird... serializing enums is kinda weird :O Feb 16 22:50:25 instead of the ID (integer) it returns the actual constant name (e.g. "THUMBNAILS_AND_FULL_SIZE_IMAGES" :X Feb 16 22:50:57 that's the way I like it Feb 16 22:51:10 add an enum constant before that one and watch all the numeric IDs change meaning Feb 16 22:51:40 hmpf who in their right mind would extend an enum by shifting all existing values? Feb 16 22:51:50 me Feb 16 22:51:52 a person who likes them sorted Feb 16 22:52:00 jebus Feb 16 22:52:02 ^ this Feb 16 22:52:12 thats why serialization gives the name ;) a lot do it Feb 16 22:52:15 and you guys ask me why I want my xml output sorted lmao Feb 16 22:52:31 sometimes order of enums is meaningful Feb 16 22:52:40 okay.. suppose you are right... I still do not understand why it does that Feb 16 22:52:56 like states that can be compared by their int value Feb 16 22:53:18 I had expected it'd create a sub-xml-element with the crap inside it in its own xml-element.. which would be not what I wanted, but what I'd expect Feb 16 22:53:52 instead it just wrote TYPE_BLABLABLA :o Feb 16 22:54:03 which is smart.. but I don't understand why Feb 16 22:54:52 JPA gives choice for both: @Enumerated(EnumerationType.ORDINAL) and @Enumerated(EnumerationType.STRING) unfortunately defaults to former Feb 16 22:55:04 so I always have to spec STRING Feb 16 22:55:34 because it seems there are very few people, who'd "insert" or "prepend" new enum values rather than just appending them D: Feb 16 22:55:38 Quick question, say I have 3 resource files, one is (debug), another (release), and another (main). Assuming the debug and release versions are used on those respective types of builds, when is (main) used? Feb 16 22:56:04 I like semantic values in my serializations Feb 16 22:56:12 orbyt_, never Feb 16 22:56:13 the number tells me nothing without the code Feb 16 22:56:32 the string is self-describing though I try to limit it to 4 or 8 chars for bigger tables Feb 16 22:56:44 alankila I suppose it's personal prefernce, but that's okay.. you are not supposed to read the XMLs anyway D: Feb 16 22:56:54 int is already 4 bytes so any 4-char value is about as efficient Feb 16 22:57:13 danijoo: Do you know where I can read up on some specifics on this? Couldnt fine a link talking about this specifically Feb 16 22:57:21 but few enums have comfortably readable 4-char names for every value Feb 16 22:57:47 no sorry Feb 16 22:58:04 @ alankila well I do not disagree.. it's just that if I deserialize.. don't I have to somehow have a static method that reads the constant name and creates a CacheType based on it?= Feb 16 22:59:07 orbyt_ debug/release are based on Build so if you want main you have to add an extra flavor...guessing... Feb 16 22:59:14 Aoi: it's for when you debug stuff really Feb 16 22:59:29 you browse your files and your sql tables and whatnot Feb 16 22:59:39 yeah.. Feb 16 22:59:49 the less other stuff you need to have open the more likely it is that you'll not make a mistake when interpreting the data Feb 16 22:59:58 canvs2321: Yea I just had a main one autogenerated and then had to make a release version for release, so was curious. Thanks Feb 16 23:00:38 anytime you are wanting builds based on specific params, check out flavors if using gradle Feb 16 23:01:01 again - I agree, alankila, but in my current situation I do not understand why the xml element contains a string instead of an ID .. and I am not sure if it'd deserialize properly Feb 16 23:06:06 I'm using Intent.ACTION_OPEN_DOCUMENT to allow the user to select images and video Feb 16 23:06:48 I need a way to filter the media that can be selected based on latitude and longitude tied to each media file Feb 16 23:07:23 do I have to write a custom media browser or is there a simpler way, where I can use the built in intent? Feb 16 23:10:17 Hello everybody! Is there a bug in the set24HourView of TimePicker? Feb 16 23:13:07 my bad found it Feb 16 23:13:14 you need a custom browser, lexton Feb 16 23:13:40 pfn: seems that way Feb 16 23:13:51 lexton, what you want is so... specific Feb 16 23:14:04 and niche, there's no way someone's going to write a general purpose browser to support it Feb 16 23:22:54 wow I don't understand.. it even properly deserializes into the enum-value that I saved it with... I am astonished, because I do not understand how the hell it does it D: Feb 16 23:28:15 awesome, i had no idea https://www.sqlite.org/android/doc/trunk/www/index.wiki Feb 16 23:38:05 this is driving me nuts: http://pastebin.com/iZKnRTMX Feb 16 23:38:21 retrofit/org.simpleframework.xml Feb 16 23:39:38 The element red (at the bottom) causes the request to fail. org.simpleframework.xml.core.ValueRequiredException: Feb 16 23:39:59 if you look at the xml, the red element is absolutely there Feb 16 23:44:07 do layout animations apply to each item that is added to the view group? Feb 16 23:44:45 when i add multiple children to a parent layout with a layout animation, they all animate at the same time (even with a start offset) Feb 16 23:45:23 am i doing something wrong, or do i misunderstand what layout animations are? Feb 16 23:55:57 g00s you around? Feb 17 00:14:26 Am I doing anything incorrect here?: http://pastebin.com/iZKnRTMX Feb 17 00:14:46 I probably included more code than I needed to. The lines giving me a problem are at the bottom Feb 17 00:19:39 retrofit was so easy until I ran into this mysterious problem Feb 17 00:38:29 RustySha1kleford: Just guessing here, but is it possibly simply because there are some s in the response that don't have a ? Feb 17 00:39:17 (Those being row _id="300" and _id="301".) Feb 17 00:46:03 (Documentation suggests @Element(required=false).) Feb 17 01:02:53 fizzie: still fails Feb 17 01:02:59 I had tried that already Feb 17 01:03:08 I'm out of ideas Feb 17 01:05:53 anyone know of RCFile implementation that could work on Android, i didn't find anything - stuff is married to HDFS in Apache Feb 17 01:09:31 Hello g00s Feb 17 01:10:15 I head you did quite some work on BTLE. Got min for question I can't seem to get going? Feb 17 01:11:21 When you build a project that has sub-projects, what determines if the sub-project is a release or debug build? What if the main project is built as a "staging" build, some releaseType that the sub-project doesn't have? Feb 17 01:11:45 Guma_: Just ask away :D Feb 17 01:12:08 I have sample mostly working with BTLE working. I can discover find service and get three characteristics. Then when I enable notifications only one out of three fires Feb 17 01:14:49 I enable notification not from any inside of BTLE callbacks. I store BluetoothGattCharacteristic in local class for all three. Then I press ban on UI and I try to enable notifications all three using such steps Feb 17 01:15:42 for each BluetoothGattCharacteristic I call _bluetoothGatt.setCharacteristicNotification(characteristic, true) ), then I do Feb 17 01:15:43 BluetoothGattDescriptor descriptor = characteristic.getDescriptors().get(0); Feb 17 01:15:58 if (descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE)) Feb 17 01:16:05 _bluetoothGatt.writeDescriptor(descriptor); Feb 17 01:16:40 I do not get any errors. I did skip above Log.e() for every call Feb 17 01:17:35 The strange thing is that I get onDescriptorWrite with status GATT_SUCCESS for each printing UUID to make sure Feb 17 01:18:05 i didnt do it to be cool Feb 17 01:18:11 i didnt do it to make a statement Feb 17 01:18:19 i just wanted to beat the shit out nerds Feb 17 01:18:36 then onCharacteristicChanged fires but only on one and I do not see any updates from other two Feb 17 01:19:29 if I try to enable only one out of three from button each time starting app. Then I see data for each alone. But not together. I did read documentation back and forth and I am lost. Feb 17 01:19:42 Any ideas what I am missing or doing wrong? Feb 17 01:38:29 Guma that looks OK to me, not sure ... sorry :( Feb 17 01:38:58 try the nordic control panel app perhaps Feb 17 01:40:16 suck. both MPAndroidChart and Hellocharts-android are unsuitable for time series data Feb 17 01:40:46 with proguard, when you do something like: "-keep class orbyt.** { *; }", what does the "{ *; }" part do? Feb 17 01:46:37 it does something that you should read the manual to understand Feb 17 01:50:55 pfn: Been looking at, it, have yet to find a single instance of "{ *; }" or something describing it. Feb 17 02:08:55 maybe someone can give me insight into this. Why would my build pass with "gradlew clean build" but fail with "gradlew clean","gradlew build" Feb 17 02:09:04 specifically with proguard failing to find classes Feb 17 02:17:53 Am I doing anything incorrect here?: http://pastebin.com/iZKnRTMX Feb 17 02:18:00 retrofit was so easy until I ran into this mysterious problem Feb 17 02:25:43 RustySha1kleford: might be better if you let us know what your mysterious problem is Feb 17 02:29:46 jug6ernaut: well check the bottom few lines of the pastebin Feb 17 02:30:00 might have included more than I needed to Feb 17 02:30:15 retrofit/org.simpleframework.xml Feb 17 02:30:44 it complains there is no element named red. But if you check the xml, you'll see thats not true Feb 17 02:31:06 I also set required=false and it still throws an exception. I'm confused Feb 17 02:31:43 Retrofit cares not about your serialization mechanism Feb 17 02:31:56 So it's level of ease has not changed Feb 17 02:32:49 I'm not trashing your library bro Feb 17 02:32:54 Yeah your issue is with Simple, you should try testing deserializing your xml in a unit test away from everything else until you get it right Feb 17 02:35:36 I've spent too much time on this Feb 17 02:36:48 RustySha1kleford welcome to dev :( Feb 17 02:37:17 I was having so much fun just writing code Feb 17 02:37:39 most of the time I'm reading docs Feb 17 02:39:40 Part 1 of 'Kotlin & Android: A Brass Tacks Experiment' is great, but Part 2 takes a huge leap in complexity. Feb 17 02:45:45 XML and Simple XML is painful. I've honestly never gotten it to work on anything but the most trivial documents. Feb 17 02:46:46 The converter was contributed at one point, and it has stuck around because it rounds out the JSON and Proto converters for which there are multiple of each. Feb 17 02:50:53 JakeWharton: is there a different library that works with retrofit? Feb 17 02:51:19 For XML? I have no idea. Feb 17 02:51:39 Any lib will work of you're up to writing your own Converter Feb 17 02:51:51 I guess I could do that Feb 17 02:52:01 why does this API have to be in xml? Feb 17 02:52:23 there is no shortage of json libraries Feb 17 02:59:08 you can't find very much about simple xml online unfortunately Feb 17 02:59:12 nothing close to my issue **** ENDING LOGGING AT Wed Feb 17 02:59:59 2016