**** BEGIN LOGGING AT Mon Feb 29 02:59:58 2016 Feb 29 02:59:59 identify where it is duplicated, remove Feb 29 03:00:27 do a search for project and libraries in studio Feb 29 03:00:53 okay so I can get the position of the item clicked Feb 29 03:01:09 I have to pass this somewhere that I can look up the item at that position Feb 29 03:01:26 I dunno if I can do this without chaining some Listener calls Feb 29 03:01:47 and every MVP example I look at is slightly different hah. I'm so lost Feb 29 03:02:16 orbyt_: I got it working ._. I just deleted a bunch of code and it started working Feb 29 03:12:37 RustyShackleford: that's the beauty of programming ;) Feb 29 03:12:42 every code is different! Feb 29 03:12:52 it's like linux, it's all about the choice ;) Feb 29 03:13:31 pfn: you need to relax more, or you will lose your hair :) Feb 29 03:13:32 lol I've been at this all day and havent come up with a solution Feb 29 03:13:35 fuuuuck Feb 29 03:13:50 what dont you understand ? Feb 29 03:14:10 Android, basically Feb 29 03:14:36 So I have MainActivity -> StopFragment -> RecyclerView Feb 29 03:14:44 the user presses an item in the RecyclerView, and now I want to pass that model back to MainActivity Feb 29 03:15:21 recyclerView is backed by a List. I want to recieve that TrainStop in MainActivity so I can use it to open the next Fragment Feb 29 03:15:40 passing messages around is harder than I thought Feb 29 03:16:29 RustyShackleford i'm going to prescribe to you , the big nerd ranch android book :) Feb 29 03:17:00 you have a lot of questions that demonstrate you are not grasping many fundamentals Feb 29 03:17:24 read that and call us in the morning :D Feb 29 03:20:27 600 pages Feb 29 03:20:33 give me an hour and I'll be back Feb 29 03:20:43 :D Feb 29 03:20:56 RustyShackleford then you can teach me stuff \o/ Feb 29 03:21:25 I'm going to skim the part on fragments Feb 29 03:21:30 they also do a good job of covering RV, both in the book and the BNR blog Feb 29 03:21:57 as powerful as RV is , the docs are kinda of ... lacking Feb 29 03:22:13 basic stuff is easy though Feb 29 03:22:15 I don't see anything in particular about communicating between these android components Feb 29 03:22:34 communicating between what components ? Feb 29 03:23:52 I have an Activity that hosts a Fragment that hosts a RecyclerView. Trying to pass a message from the RV back to the MainActivity Feb 29 03:24:09 your RV says to its fragment x was clicked, your fragment tells its activity X was clicked, your activity starts another fragment with extra / uri of 'X" Feb 29 03:24:26 basically yeah. So I need to chain some Listeners together Feb 29 03:24:33 or maybe the activity swaps out fragments or whatever Feb 29 03:25:14 right in this case, the user presses the train stop they want data for. I pass the model back to MainActivity, which starts the next fragment with the model as an argument Feb 29 03:26:07 trying to do this in a way thats reusable too, because I'll need to pass similar messages in other fragments Feb 29 03:26:23 when starting Activities / Fragments, whatever args you pass to them has to be parcelable Feb 29 03:27:02 so maybe not the 'whole' model, but a Uri, ID, or Key to get the model Feb 29 03:27:53 well I got my menu working i'm happy lol Feb 29 03:27:58 okay good point Feb 29 03:28:06 so chained Listeners? Feb 29 03:28:49 if your adapter is in your fragment, and has access to the listener set in onAttach, you only need one listsner - the one the activity implements Feb 29 03:29:09 RustyShackleford: why do you need pass value from fragment to main activity ? Feb 29 03:29:17 this is *wrong* Feb 29 03:29:26 or at least I dont see why you would like to do that Feb 29 03:29:33 I was thinking MainActivity is the middleman between each of the fragments Feb 29 03:30:12 yes it is a Mediator Feb 29 03:30:25 if it recieves a message that the user picked the Western Ave stop, use that info to create a new fragment and swap it in Feb 29 03:30:29 a parent fragment can also be a mediator for its child fragments Feb 29 03:31:01 RustyShackleford you are on the right track - the d.android.com has almost this exact kind of demo with listeners Feb 29 03:31:13 ah Feb 29 03:31:18 you have that flow Feb 29 03:31:27 http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity Feb 29 03:31:46 so, you need to create listener (interface), which MainActivity will implement Feb 29 03:32:00 and then, in onAttach() of fragment, you need to set this listener Feb 29 03:32:10 like.. Feb 29 03:32:25 MyListener listener = (MyListener) getParent(); Feb 29 03:32:31 or getActivty() will work too Feb 29 03:33:01 and who calls the listener? Feb 29 03:33:06 good practice is to throw exception if it's not implementing the interface Feb 29 03:33:18 fragment calls listener when you click on something Feb 29 03:33:32 so then i need one more listener Feb 29 03:33:35 no Feb 29 03:33:38 why ? Feb 29 03:33:47 so that RecyclerView can tell the Fragment that an item was clicked Feb 29 03:33:47 eh Feb 29 03:33:50 wait a sec Feb 29 03:34:01 ah Feb 29 03:34:09 then Fragment tells MainActivity that the user chose the Western Brown Line stop Feb 29 03:34:09 yes, in that case you need one more listener Feb 29 03:34:28 RustyShackleford you can also look at the cheese square app Feb 29 03:34:30 but in that case, I would get eventbu Feb 29 03:34:33 *eventbus Feb 29 03:34:44 no, don't use eventbus for this ... Feb 29 03:34:48 * g00s smacks gordon_ Feb 29 03:34:49 why ? Feb 29 03:35:04 one reason for not using event bus ;) Feb 29 03:35:08 well if I continue with this design, I'm going to have to do this in quite a few activities Feb 29 03:35:13 er fragments rather Feb 29 03:35:46 it would be much better with eventbus here rather than double callback Feb 29 03:36:00 better = easier Feb 29 03:36:58 If I have a double callback, I need to find a way to reuse some code Feb 29 03:36:58 RustyShackleford study this https://github.com/chrisbanes/cheesesquare/blob/master/app/src/main/java/com/support/android/designlibdemo/CheeseListFragment.java#L116 Feb 29 03:37:07 it does exactly what you are doing Feb 29 03:37:45 chris is being kinda lazy and not going up the chain to the parent activity, whatever Feb 29 03:37:46 I think he wants to replace fragment in main activity Feb 29 03:37:51 not to open new activity Feb 29 03:38:53 I'm not seeing a message sent back to MainActivity Feb 29 03:39:07 gordon_: yes exactly Feb 29 03:39:07 yeah i was saying chris was lazy :) Feb 29 03:39:25 so instead of startActivity you put listener.doSomething Feb 29 03:42:57 it's good to have backup Feb 29 03:43:17 it would be better if I didnt mistook disk when using dd but.. Feb 29 03:45:55 ouch. I've done that Feb 29 03:46:16 turned my hard drive into a linux startup disk by accident Feb 29 03:48:49 gordon_, I'm always relaxed Feb 29 03:51:40 Yay for multiple levels of listeners Feb 29 03:53:20 jeez I never thought favicons are such a pain Feb 29 03:53:21 guys, any idea why application on crash is not sending trace to logcat? Feb 29 03:53:42 @ Len - perhaps the logger is not correctly attached or initialized? Feb 29 03:54:37 wish AWT was supported.. then I would be able to just use image4j :( Feb 29 03:54:46 lolno Feb 29 03:55:39 well I don't like the idea either.. it's weird that BitmapFactory can load ICO files, but won#t allow me to chose which one Feb 29 03:55:53 http://www.lambdanative.org/# Feb 29 03:55:59 wonder how much native is that Feb 29 04:00:37 divStar: how can I fix it? Feb 29 04:00:53 I am not familiar with this stuff on android Feb 29 04:01:14 does it output anything to logcat, Len? Feb 29 04:01:31 I suppose the app is crashing on an emulator or development android device Feb 29 04:03:29 wrong, I am running regular application from fdroid, there is nothing about this one in logcat. Still I can read other logs, like problems with wifi debug spam of ColorDrawable etc Feb 29 04:04:55 gordon_ c/c++ development time > java ? O.o Feb 29 04:05:01 i mean < Feb 29 04:05:15 dont know ;) Feb 29 04:05:22 from 2000 :D Feb 29 04:05:24 never done anything big in c++ Feb 29 04:05:29 lol but i like the scheme bit Feb 29 04:05:44 whoops. morning all Feb 29 04:06:14 Len - I have no idea myself, but usually whenever an emulator or android device runs, it sends output through a port - and logd uses the same port.. I just write: Log.d(TAG, message) (for debug) Feb 29 04:06:32 hey alex_PP Feb 29 04:06:40 hey g00s Feb 29 04:06:57 alex_PP play around with the new support lib yet ? Feb 29 04:06:57 I'm currently feeling my way around the android studio and getting my first test app up and running, but there's something I don't quite get... Feb 29 04:07:07 nope Feb 29 04:07:09 what's new? Feb 29 04:07:23 why is there a content_main.xml file and an activity_main.xml file? Feb 29 04:07:37 alex_PP night mode, vector drawables, bottom sheet, bugs :) Feb 29 04:07:40 they both seem to be related to the main activity, so why do you need both? Feb 29 04:07:59 divStar: mhm... thats not it. but still, thank you Feb 29 04:08:07 It seems as though one is simply overlayed over the other...can anyone clarify? Feb 29 04:08:12 vectos will be nice Feb 29 04:08:18 *vectors Feb 29 04:08:22 might look into that Feb 29 04:08:29 p.s. this is in the blank activity option Feb 29 04:08:54 its .. kinda weird; you need to use app:srcCompat .. or wrap them in another drawable to use in things like TextView drawableLef Feb 29 04:13:06 hmm Feb 29 04:13:28 I'd have assumed it'd just rasterise them at build time Feb 29 04:13:35 having trouble with the RecyclerView.Adapter -> Fragment callback Feb 29 04:13:42 alex_PP no thats the old stuff Feb 29 04:13:48 i see Feb 29 04:14:06 so this is just svgandroid by another name?? Feb 29 04:14:14 onClick(View v) gives me only a view to work with. v.getContext() gets me a reference to MainActivity, not the fragment Feb 29 04:14:25 I've often wished the drawable xml stuff was extensible Feb 29 04:14:41 alex_PP not svg; vector drawables are a subset Feb 29 04:15:55 i couldn't get them to tint correctly in toolbar unless i edited the xml and put android:tint="?attr/colorControlNormal" or something ... which isn't going to work pre L, so i'm a bit confused Feb 29 04:15:56 wish you could do and refer to it in layouts Feb 29 04:16:17 yeah, i guess not possible to do custom drawables like that Feb 29 04:20:50 pfn ... have you looked at the new VectorDrawble stuff yet ? Feb 29 04:21:37 android/support/v7/appcompat/res/drawable/abc_ic_ab_back_material.xml Feb 29 04:22:08 has android:tint="?attr/colorControlNormal" .. so i guess theme attrs work in these now ? O.o Feb 29 04:23:41 I swear I've never seen as shitty as mac's disk management Feb 29 04:26:14 gordon_ hfs+ is crap ... Feb 29 04:30:09 gordon_ do you mean mounting disks ? Feb 29 04:30:18 and formatting Feb 29 04:30:56 i never had problems with diskutil Feb 29 04:36:49 not yet, no, but it would make sense for compat vector drawable to support theme res Feb 29 04:37:02 anything else wouldn't make sense Feb 29 04:37:20 g00s: it just cannot format my disk because 'its busy' Feb 29 04:43:58 on windows how can you check dependencies with gradlew app:dependencies when it tries to download gradle-2.6.zip instead of actually showing you the dependencies Feb 29 04:44:17 your gradle wrapper is messed up Feb 29 04:44:47 * impliednude shrugs Feb 29 04:45:03 heh Feb 29 04:46:41 you wait, duh Feb 29 04:47:15 nothing messed up Feb 29 04:47:28 you've just never run your gradle wrapper Feb 29 04:51:58 probably Feb 29 04:52:02 also Feb 29 04:52:09 impliednude 2.6 is pretty old .. what version did you think you were using Feb 29 04:52:11 update your gradle wrapper to gradle 2-11 Feb 29 04:53:19 Well... the projects using 2.6 Feb 29 04:53:46 I have newest Feb 29 04:58:41 so update project... Feb 29 04:58:52 woo! got my callbacks chained together Feb 29 04:58:54 what a mess Feb 29 04:59:09 but I didn't need EventBus Feb 29 04:59:37 StopAdapter.ViewHolder -> StopAdapter -> Fragment -> Activity Feb 29 04:59:48 RustyShackleford wut Feb 29 05:00:08 isn't your adapter an inner class of the Fragment ? Feb 29 05:00:27 no, separate file. Should it be? Feb 29 05:00:39 oh - nah its your choice Feb 29 05:00:51 but ... ViewHolder would be inner class of adapter typically ... Feb 29 05:00:59 get rid of that listener Feb 29 05:00:59 it would be a static class, right? So I can't eliminate a callback Feb 29 05:01:14 you're saying do not make ViewHolder a static class? Feb 29 05:01:28 * g00s strangles RustyShackleford and breaks toe Feb 29 05:01:33 lmfao Feb 29 05:02:04 well it technically works. I'm trying here man! Feb 29 05:02:48 look at the cheese square again, the link i gave you Feb 29 05:03:09 the listener is set in onBindViewHolder. capture the reference to the listener there Feb 29 05:03:13 yeah man but he doesn't pass any messages back to the host activity Feb 29 05:03:48 right but you access the adapter's listener there, no need for another one in VH Feb 29 05:05:07 RustyShackleford how many listener classes did you define Feb 29 05:05:35 ViewHolder has a listener (I call that in onClick()) Feb 29 05:05:55 that listener is implemented by the StopAdapter Feb 29 05:06:51 3 listener classes Feb 29 05:07:26 The adapter has a listener which is called to pass a message to the Fragment. Fragment has a lister to communicate with the MainActivity Feb 29 05:08:35 although now I see what you're saying Feb 29 05:11:41 Can i use SVGs in android development? Feb 29 05:11:54 and if yes, is this advised? Feb 29 05:12:30 I'm kinda trying to take a shortcut to having to define multiple images with different sizes and densities Feb 29 05:12:33 sector_0: you can translate SVG to vector drawables Feb 29 05:12:38 yes, it's good now Feb 29 05:15:39 gordon_, ok thanks Feb 29 05:15:46 sector_0 your SVGs can have stuff that can't be converted to vector drawable Feb 29 05:15:52 you'll have to experiment Feb 29 05:16:14 g00s, like what? Feb 29 05:16:19 can you provide an example? Feb 29 05:16:36 the guy who does styling android blog has info Feb 29 05:16:45 mark allison Feb 29 05:16:50 okay down to two listeners Feb 29 05:16:53 awesome Feb 29 05:18:21 There are SVG libraries for Android Feb 29 05:18:50 gordon_> I don't have the permission too. The project's an open source project. As much as I would <3 to spend countless hours updating how they did things. I am pretty sure there was a reason why they are using a much older gradle build Feb 29 05:21:57 I'm sure they dont :D Feb 29 05:23:13 Well. /shrugs is all I have to say Feb 29 05:49:28 goos Feb 29 05:50:06 hey ron_frown Feb 29 05:50:32 hey ron_frown look! http://shop.oreilly.com/product/0636920042983.do Feb 29 05:50:52 cool Feb 29 05:50:58 honestly I know java can be made to perform Feb 29 05:51:00 I accept that Feb 29 05:51:10 lol i was jk, not starting anything Feb 29 05:52:59 I think writing java 6 is dumb Feb 29 05:53:12 I'd love to say I'm excited about idea of having lambdas and streams and shit Feb 29 05:53:19 but when you've used linq and lambdas in c# Feb 29 05:53:25 the java equivalents feel clunky as fuck Feb 29 05:53:45 use kotlin then .. Feb 29 05:54:07 use scala then Feb 29 05:55:26 scala is just go kill yourself Feb 29 05:55:40 kotlin seemed more reasonable Feb 29 05:55:47 I cant remember the scala evangelist here Feb 29 05:56:40 ron_frown i guess there are two now :D Feb 29 05:57:44 you being the other? Feb 29 05:57:57 android 6 is jdk 8? Feb 29 05:57:59 or 9? Feb 29 05:58:07 it's jdk 7 Feb 29 05:58:08 its 6.5 Feb 29 05:58:15 ok Feb 29 05:58:20 thought it was 8 Feb 29 05:58:25 you wish ! Feb 29 05:58:34 guess the studio supports it Feb 29 05:58:36 (everyone wishes) Feb 29 05:58:50 Seriously. With Kotlin, I don't really care whether Android will eventually support Java 8. Feb 29 05:59:03 ok, time to check out kotlin Feb 29 05:59:09 cedric, kobalt looks cool Feb 29 05:59:10 eh Feb 29 05:59:17 muthu: Thanks! Feb 29 05:59:19 i think a build system , in java would be nice Feb 29 05:59:27 Nah Java is too verbose Feb 29 05:59:28 so now people will write the same code with side effects but with less strokes ;) Feb 29 05:59:36 CedricBeust thats my beef with it Feb 29 06:00:12 anyways, there's enough in android sdk to keep you busy Feb 29 06:00:31 But if you really need to stick with Java (which us understandable), you have Retrolambda and you can even have streams (although I think Rx make these mostly obsolete) Feb 29 06:00:38 haha.. reading the android docs would take a lifetime Feb 29 06:00:57 reading android docs wont be enough Feb 29 06:01:04 because it lacks many things Feb 29 06:01:23 CedricBeust do you think the gradle guys will come to a point, that groovy is meh and they build their stuff on the wrong language ? Feb 29 06:01:43 g00s: No, I think Groovy and Gradle will decline together Feb 29 06:01:48 gordon, but its vast Feb 29 06:02:10 groovy wont disappear quickly Feb 29 06:02:14 maven is still around Feb 29 06:02:27 CedricBeust like 2 black holes swallowing each other up :P Feb 29 06:02:28 event ant is still around Feb 29 06:03:14 Lot of good idea in Gradle, trying to keep those in Kobalt but also get rid of the bad ones Feb 29 06:03:29 hot swapping available ? ;) Feb 29 06:03:34 ya, good ideas in gradle Feb 29 06:04:13 * alex_PP still likes maven Feb 29 06:04:21 but wishes it wasn't so XMLy Feb 29 06:04:46 The XML in Maven is fine, it's actually well done and consistent, easy to write, with schemas Feb 29 06:04:56 the problem is you can't write code inside your build files, and once in a while you really need to do that Feb 29 06:05:10 ya, why not write them in java Feb 29 06:05:26 why a separate one for build Feb 29 06:05:30 you can write maven plugin ;)\ Feb 29 06:05:35 I don't like writing code in builds Feb 29 06:05:43 Yes, writing a maven plug-in is the only way. It's not enough any more. Feb 29 06:05:43 I liked having to have a plugin Feb 29 06:05:50 makes maintaining 100 projects nicer Feb 29 06:05:51 but then the argument is, if you are writing code in your build , make it easy with a 'scripty' language like groovy Feb 29 06:06:07 haha Feb 29 06:06:08 In a build file, you need expressions, variables you can share, loops, and even some inheritance. Feb 29 06:06:14 still, maven has pretty nice plugins for resolving dependencies Feb 29 06:06:32 last i remember debugging a maven plugin was kinda pain Feb 29 06:06:33 or forcing devs to choose proper version or *one* library Feb 29 06:06:35 like the test cases Feb 29 06:06:39 wrte the build cases Feb 29 06:06:49 4 junit versions on classpath anyone ? Feb 29 06:06:56 haha Feb 29 06:07:08 and the different test runners now Feb 29 06:07:44 build tools are hard Feb 29 06:07:54 so that's why it's hot topic Feb 29 06:08:20 I personally like the sbt's 1.0 idea Feb 29 06:08:24 about build server and clients Feb 29 06:08:48 build should be the same as code Feb 29 06:08:56 gordon_: What is that? Feb 29 06:09:30 CedricBeust: there's one build server which acutally invokes commands, and clients which request command Feb 29 06:09:46 so you can launch one project in idea and sbt console at the same time Feb 29 06:10:28 Pretty old idea, usually used when a tool takes too long to start. But worth doing at some point Feb 29 06:11:00 gradle and sbt share the fact they have an expensive cold start time. Kotlin is not great either but not as bad Feb 29 06:11:19 and ? Feb 29 06:11:25 http://downloads.typesafe.com/website/presentations/ScalaDaysSF2015/T2_Suereth_Yokota_sbt.pdf Feb 29 06:11:36 try to run gradle's test loop in console Feb 29 06:11:45 Josh is no longer working on sbt by the way (he's no longer with Typesafe) Feb 29 06:11:46 and build project in android studio Feb 29 06:11:50 I know Feb 29 06:12:35 Personally, I think sbt will never reach 1.0 Feb 29 06:13:26 CedricBeust what is he doing now ? Feb 29 06:13:32 No idea Feb 29 06:13:49 Typesafe was a cool name ... Feb 29 06:14:03 it was cool, that's right Feb 29 06:14:05 lightbend ... heh Feb 29 06:14:41 It's only cool to people Typesafe has little interest in Feb 29 06:15:18 well, they sure need money Feb 29 06:15:40 Not sure about that, I'd say they still have plenty. They need a business idea that works and to sell stuff. Feb 29 06:17:15 well, scala is quite popular in big data field Feb 29 06:17:28 Not convined Scala is popular anywhere but well Feb 29 06:17:44 spark / Feb 29 06:18:39 gordon_ i'd say it popular with spark but not popular in big data as a whole ... Feb 29 06:19:07 IEEE had a list a few months ago, i don't even think it was on there Feb 29 06:19:39 i guess its like saying groovy is popular because we're all writing gradle build scripts :P Feb 29 06:20:10 Yeah Gradle is the only reason Groovy is still around. It will go away as Gradle declines Feb 29 06:20:31 groovy is sorta neat Feb 29 06:20:41 I use it to automate some stuff at work Feb 29 06:20:41 I dont like groovy ;) Feb 29 06:20:44 leeroy ! Feb 29 06:21:07 our laptops are super locked down, so installing python was a no go Feb 29 06:21:25 but we have java already, so I learned some groovy Feb 29 06:22:11 groovy: in case your laptop is locked down and you have no other choices :) Feb 29 06:22:23 There's always jython Feb 29 06:22:43 CedrocBeust: I'd argue grails also has a hand in keeping Groovy alive. Feb 29 06:22:45 http://www.tiobe.com/tiobe_index Feb 29 06:22:53 g00s: ^ Feb 29 06:22:55 30th Feb 29 06:22:57 Otherwise, yes, Kotlin or Scala would take over. Feb 29 06:23:02 justJanne: Possibly, don't hear much about it though Feb 29 06:23:16 yeah i don't hear much about grails either ... Feb 29 06:23:41 jython 2.7.0 released may 2015; i thought jython was kinda dead i guess not Feb 29 06:23:47 no Feb 29 06:23:55 but only one guy maintaining it Feb 29 06:24:08 yeeaaaahh, think i remember now Feb 29 06:24:16 and it still doesnt work on android Feb 29 06:24:19 groovy does ;D Feb 29 06:25:58 well, you can always write native code on android with ui binidings in java ;) Feb 29 06:26:06 dropbox does that afaik Feb 29 06:26:52 dropbox still doesn't implement SAF, screw those guys Feb 29 06:27:02 and whatever they hell they wrote their app in Feb 29 06:27:11 g00s: well I wouldn't have learned it otherwise Feb 29 06:27:16 closures are kinda neat Feb 29 06:27:49 if you know java, you're very at home in groovy. Groovy is like scriptable java Feb 29 06:27:55 Android Studio folds them if you use the old syntax, so that lessens the need to use retrolambda Feb 29 06:28:28 i admit, writing though, like rx pipeline, i get disoriented Feb 29 06:28:43 if i can manage to write it, then yeah folding is ok :) Feb 29 06:29:16 and folding seems kinda buggy, i see often, AS will unfold regions that are lines away from what I am editing Feb 29 06:29:41 a bunch of stuff will pop into view and i'll be like, wut just happaned ... oh Feb 29 06:31:01 CedricBeust so whats your opinion on bazel Feb 29 06:32:19 there's no talk about bazel Feb 29 06:32:35 you can only use it on very simple projects Feb 29 06:32:49 well, facebook uses buck for their build but... Feb 29 06:33:08 I'm not a fan of facebook technology ;) Feb 29 06:33:20 gordon_ what you don't like HACK Feb 29 06:33:35 I dont like php ;) Feb 29 06:34:15 kotlin in action is 50% off today https://manning.com/dotd Feb 29 06:34:46 Haven't used it in anger but I used a lot of its ancestor at Google obviously. From what I've seen, it's an old school build system with little awareness of maven repos (although I hear it supports them now) Feb 29 06:35:08 it does Feb 29 06:35:34 The fact it was an afterthought says a lot Feb 29 06:36:09 Hi all. Quick question. What selector widget is this? http://i.imgur.com/QsbQwOJ.png Is it a BottomSheet with custom layout? Or a library? Feb 29 06:36:19 Or a Snackbar? Feb 29 06:37:52 it's not snackbar afaik Feb 29 06:38:10 dont know what android uses for that Feb 29 06:38:17 probably neither of those two Feb 29 06:38:32 liuwenhao what part of that ? Feb 29 06:38:49 The bottom (selecting from gallery or from camera) Feb 29 06:38:55 https://leverich.github.io/swiftislikescala/ Feb 29 06:38:59 https://nilhcem.github.io/swift-is-like-kotlin/ Feb 29 06:39:03 It looks similar to https://camo.githubusercontent.com/fce3d0f29234bac59e8641e0a9198ae64e0d7bd8/687474703a2f2f692e696d6775722e636f6d2f66326a395935652e676966 Feb 29 06:39:04 liuwenhao looks like a bottom sheet Feb 29 06:39:05 wonder which one is closer Feb 29 06:40:06 Swift and Kotlin are extremely similar. Scala is in a different league in my opinion Feb 29 06:40:39 otto is so much easier than this callback nonsense Feb 29 06:40:49 I suppose I learned something by doing it the hard way Feb 29 06:41:04 CedricBeust: I dont like how people think that kotlin is silver bullet for android problems Feb 29 06:41:32 RustyShackleford at least green robot is still evolving Feb 29 06:41:38 I bet they will still put variables in class and hold state inside classes Feb 29 06:42:00 Is Otto still popular? I thought everyone was switching to RxJava as an event bus replacement Feb 29 06:42:11 RustyShackleford but event bus is wrong choice Feb 29 06:42:28 liuwenhao yeah ... Feb 29 06:43:00 but event busses even done with Rx are still ... not in the spirit of Rx ;) Feb 29 06:43:26 Rx is certainly taking a big chunk of the use cases for event buses Feb 29 06:43:29 haven't used one in a while Feb 29 06:43:48 Rx is a different use case, isn't it? Feb 29 06:44:02 you can shoehorn it as event bus, but its a smell Feb 29 06:44:14 so if otto is the wrong choice, then what do I do? Feb 29 06:44:21 use the callbacks Feb 29 06:44:23 lol Feb 29 06:44:26 bleh Feb 29 06:44:42 I guess it works Feb 29 06:45:48 It's not a smell Feb 29 06:46:18 i think erik meijer would say, using hot observables for that is smell Feb 29 06:46:28 and cold observables isn't an event bus Feb 29 06:46:40 beside that you can attach listeners to this pipeline Feb 29 06:47:35 anyhow i think we agree, just nuance of argument Feb 29 06:48:03 * g00s ponders buying kotlin in action Feb 29 06:48:24 why Feb 29 06:48:32 have you seen content ? Feb 29 06:48:39 CedricBeust i don't want to use kotlin and then get disqualified from using stuff like instant run, can you encourage me :) Feb 29 06:49:00 It's a legitimate concern, I don't have anything to say either way Feb 29 06:49:17 gordon_ its 50% off today, and nearing completion Feb 29 06:49:32 IR seems pretty flaky right now and you can probaby count on the JetBrains team to work hard to make it work, but I'm just speculating Feb 29 06:49:33 well, hm, maybe 50% done Feb 29 06:49:40 everything from the book seems to be on the website Feb 29 06:50:03 IR doenst even work well on java Feb 29 06:50:10 at least it didnt last time I checked it Feb 29 06:50:11 That's what I've heard Feb 29 06:52:38 g00s: my MainActivity is going to end up implementing many callbacks Feb 29 06:53:16 RustyShackleford yeah, that is kinda ugly. don't have a solution Feb 29 06:53:21 one for each fragment in the flow Feb 29 06:53:43 is there a different eventbus library? or just deal with that ugliness? Feb 29 06:53:45 you can use one and just pass an id Feb 29 07:14:47 TIL about TransitionManager, cool http://developer.android.com/reference/android/transition/TransitionManager.html Feb 29 07:14:56 somehow never heard of this Feb 29 08:13:16 morning fellas Feb 29 08:33:31 jvrodrigues: morning it is! Feb 29 08:47:46 what happened to the retrofit 1 documentation? Feb 29 09:06:44 Are you allowed to give a push notification which opens a URL Feb 29 09:09:02 if I set android:navigationBarColor to something with alpha, the color will still appear solid, is there a way around this? Feb 29 09:18:09 Is it possible to have an api key associated with several signing keys? a comment i left near my api key seems to indicate that, there's an url, but that's no longer valid and I can't even see the same key in my list. Feb 29 09:26:39 hi all Feb 29 09:30:35 dvass: yes Feb 29 09:30:49 Syzygy: I think the answer is no Feb 29 09:30:53 android-dev612: hi Feb 29 09:33:49 hi Feb 29 09:34:11 I have experience with programming. And I would like to start programming for android: games, some applications using web services, google maps, etc. Could you please recommend me any good book or page? The more things covered the better. Feb 29 09:34:18 Syzygy: its possible yes Feb 29 09:34:29 as long as its different build types Feb 29 09:34:44 jvrodrigues: so basically just reference different keys? Feb 29 09:35:12 Or I should just go through developer.android.com? Feb 29 09:35:43 Marcin: I think that's a fairly decent resource Feb 29 09:36:09 definitely a good starting point Feb 29 09:40:21 Syzygy, ok but what next? I have impression that it is bit like with java - rescources on oracle site are good but you won't learn about spring and hibernate from there. Feb 29 09:40:22 Hi, been getting these errors of error: cannot find symbol class, can anyone please help? am a beginner to Android Studio Feb 29 09:40:45 Marcin: look up specific resoruces for that then Feb 29 09:40:47 Actually I found resources on this site quite good but bit modest. Feb 29 09:40:50 google is always yoru friiend Feb 29 09:41:16 I would need something taking care of subject more deeply. Feb 29 09:42:04 Syzygy, it's not that simple. There are plenty of tutorials that give just basic information or give just simple example not explaining what is done inside and why. Feb 29 09:42:24 it was origninally 'error: package R does not exist'' but I changed the package name, pls someone I've been trying to solve this problem for 4 days Feb 29 09:42:32 developer.android.com will not teach you about game development for example. Feb 29 09:42:53 it will teach you the basics. Feb 29 09:43:13 I know that for Java thre are plently of tutorials but I would not recommend 80% of them. For C and C++ there are also plenty of tutorials and books but most samples are so but that they don't even compile. Feb 29 09:43:33 I can not recommend you a single resource that will help you learn about game development, "some applications using web services", google maps etc. at the same time. Feb 29 09:44:18 Syzygy: I understand. Maybe you can provide several links/books? As you said on developer.android.com there are just basics. Feb 29 09:44:35 I would say start with web tutorials Feb 29 09:44:55 learn the very simple basics - activities, layouts, intents Feb 29 09:45:11 even if you dont know java, some tutorials out there give you the very basics of java Feb 29 09:45:16 Personally I've never read a single programming book. I get all my info from googling stuff that seems like it could help. I'm more of a "let's try it and see what happens" type of guy. Feb 29 09:45:42 just remember to not take anything and I mean anything they say as a truth, as you grow youll find what was wrong and what was right, form your own opinions etc Feb 29 09:45:56 Even with developer.android.com I went through like the first 3 pages and then just looked up specific stuff I needed. Feb 29 09:46:05 yea Feb 29 09:46:16 I also like a hands on approach Feb 29 09:46:27 where Im faced with a problem and learn by solvint it Feb 29 09:46:46 made a lot of mistakes, but also learned a lot from them Feb 29 09:47:03 jvrodrigues: can you tell me what you meant by saying i can use the same api key with different signing keys only if i use it for different build types? Feb 29 09:47:07 jvrodrigues: ok I have basic of android on developer.android.com - I also don't need java cause I know it. I want to go intermediate/advanced with android. Feb 29 09:47:40 Syzygy: where do you store the api key? Feb 29 09:47:50 jvrodrigues and Syzygy: and you both are able to develop games for andorid or other complex apps for android? Feb 29 09:47:51 strings_common.xml Feb 29 09:48:05 Marcin: I am. Feb 29 09:48:09 you can have a resource folder for each build type where you override some strings Feb 29 09:48:41 let me see if I can find a suitable tutorial Feb 29 09:48:43 jvrodrigues: so basically I have different api keys after all. alright. thanks Feb 29 09:48:43 Hi I am a self-leahelp someone Feb 29 09:49:23 Marcin: I only developed one game, where I built the framework myself Feb 29 09:49:31 Marcin: although I learned how to develop games at uni... then again it was more like "go make a game" and we had to figure out how ourself Feb 29 09:49:36 havent released it yet Feb 29 09:49:47 but its all surfaceviews and handlers Feb 29 09:50:13 and building complex apps is my day job so Feb 29 09:50:48 pretty much same here, although I guess I have a bit more experience with making and not releasing games. Feb 29 09:50:48 learning the framework takes a lot of work and dedication Feb 29 09:51:04 basically my recommendation for making games is... use an engine. Feb 29 09:51:09 ^ Feb 29 09:51:23 libgdx for example Feb 29 09:51:30 unreal engine, unity or something more specific to what you're trying to do. Feb 29 09:51:37 or those Feb 29 09:51:43 but those youll have to pay Feb 29 09:51:57 but if its a simple enough game, where you dont need physics or whatever Feb 29 09:51:58 both are free but take royalties. afaik Feb 29 09:52:15 I guess the framework is good enough for what you want Feb 29 09:52:21 unreal engine at least. and only like 5% if you're over a certain gross revenue Feb 29 09:58:15 so anyway, learn the android basics and then just jump in, think for yourself and find what's most suited for your needs yourself. Feb 29 10:03:18 best decision I ever made in my life was leaving web development and moving into android Feb 29 10:03:38 I still sometimes have nightmares about css Feb 29 10:03:52 jvrodrigues: ah, i figured out how to use 2 singing keys with the same api key. you can just include them in the api console Feb 29 10:09:13 If I have a Tab_Host that DOMINATES the TouchListeners ...How can I make the touch event apply to the ViewFlipper inside the Tab_Host instead of te Tab_host ? Feb 29 10:09:45 aaahhh yea, that. Thought you wanted to automatically use dif keys for dif signing keys Feb 29 10:17:18 No, it's just that someone decided it was a good idea to have a different package name for alpha and release builds which broke all the api keys Feb 29 10:17:39 yes Feb 29 10:17:49 but it shouldnt break api keys Feb 29 10:17:52 I have something like minesweep: tiles you can press up and down on except you press down on one tile and lift up on another, how would i differentiate that from a generic swipe across some tiles? Feb 29 10:17:54 not googles at least Feb 29 10:18:23 lasserix: what do you mean press up and press down? Feb 29 10:18:31 you know minesweep right? Feb 29 10:18:58 you mean minesweeper? Feb 29 10:18:59 a grid of tiles, lets say 1 2 3 / next row 3 4 5 . the user presses down on 1 and lifts on 4 Feb 29 10:19:17 how would i differentiate that from a generic swipe across all of them? Feb 29 10:19:52 presses down you mean swipes down? Feb 29 10:20:02 cart_man, you can use intercept or dispach touch event if you subclass the tab host Feb 29 10:20:05 no Feb 29 10:20:12 I really dont get the presses down, long presses? Feb 29 10:20:15 no Feb 29 10:20:20 or just the motion eent action down? Feb 29 10:20:27 yeah Feb 29 10:20:36 motionevent.down -> moves a little -> motion event up Feb 29 10:21:35 well Feb 29 10:22:09 just save the tile on action down and dont use other tiles Feb 29 10:22:19 huh? Feb 29 10:22:30 well Feb 29 10:22:35 lets see if I get this right Feb 29 10:22:51 you have one tile and an swipe action that is only used on that tile Feb 29 10:23:07 no, a swipe would always go across multiple tiles Feb 29 10:23:44 lasserix: What is the class name ... just Intercept? Feb 29 10:23:57 cart_man, its methods of viewgroups Feb 29 10:23:59 ah and you want to differentiate that swipe from.. ? Feb 29 10:24:10 user pressing down on 1 and lifting on 3 Feb 29 10:24:40 i dont think it is actually possibly Feb 29 10:25:24 well at some point during the swipe action if the coordinates are off you can just stop everything Feb 29 10:25:26 no? Feb 29 10:26:15 cart_man, there are a couple you should read on how the touch pipeline works, but dispatchTouchEvent.. read this first http://codetheory.in/understanding-android-input-touch-events/ Feb 29 10:26:29 jvrodrigues, if the coordinates are off what? Feb 29 10:26:55 well if the coordinates are in a tile that they shouldnt be Feb 29 10:27:22 there's no reason they shouldn't be in a tile? Feb 29 10:27:45 well if they shouldnt be on tile 3 Feb 29 10:27:52 most likely they also shouldnt be on tile 2 Feb 29 10:28:02 there's no reason they shouldn't be on all tiles Feb 29 10:28:17 or, it is just as likely the touch is on any tiles or any combination of tiles Feb 29 10:28:49 jvrodrigues, i was just wondering if it was possible or if someone had someclever idea on how to do it but i dont htink it is actually possible because they are almost the same Feb 29 10:29:10 a swipe is defined as down, move move move move, up with a certain threshold velocity i believe Feb 29 10:29:19 yea Feb 29 10:29:29 and you want to differentiate when the user is interacting with the game Feb 29 10:29:37 or when its being a dumbass just swiping randomly Feb 29 10:29:38 something like that yea Feb 29 10:29:42 yea? Feb 29 10:30:00 oh its not a game Feb 29 10:30:08 game == app Feb 29 10:30:12 heh yeahj Feb 29 10:30:33 you can track the coordinates and everytime the swipe reaches a new tile you can verify if its a valid tile or not Feb 29 10:30:47 they are all valid tiles Feb 29 10:30:55 so lets say the user presses tile 5, only tile 8, 4, 6 and 2 would be valid, no? Feb 29 10:31:00 ah Feb 29 10:31:04 then you can see the velocity Feb 29 10:31:10 the minesweeper analogy was just for the geometry Feb 29 10:31:16 if its too fast you cancel everything Feb 29 10:31:30 that's the problem, the user will be doing the up down thing fast anyways Feb 29 10:31:36 so thats why there's no differentiating it Feb 29 10:35:42 then idk man :/ Feb 29 10:37:02 how do you guys figure out which information to store and which to fetch from the network? Feb 29 10:40:21 its cool was just thinking of future proofing stuff Feb 29 10:40:28 jvrodrigues, what context? Feb 29 10:49:37 well right now im using an app that interacts with groups, so there are different groups Feb 29 10:49:43 different users in those groups Feb 29 10:49:52 and different shit that happens in those groups Feb 29 10:50:41 still not making the connection but im probably inexpierenced here Feb 29 10:51:06 what is the information you are talking about? Feb 29 10:52:13 Hello, I'm new to android development, I'm trying to import and use an icon from the material icon set... I've added a new icon using the Vector Asset Studio, its listed in drawable/ic_add.xml... but i cant use it using @android:drawabble/ic_add (or with .xml), keeps saying "no resource found that matches the given name", what am i missing here? Feb 29 10:52:48 @drawable, not @android:drawable Feb 29 10:54:11 Ashiren, thank you, that worked :) what is the difference tho? Feb 29 10:54:55 @android: is for things that are already in android sdk, i.e. @android:color/white Feb 29 10:55:07 but for your own stuff you just do @stuff/name Feb 29 10:55:58 cool, thx :) Feb 29 10:56:15 lasserix, simply ontouchevent or dispatch (maybe with gesturecompat) in each tile if they are different views, if you have one big custom view for all tiles, then you have to track them Feb 29 10:57:02 Rect can be useful in this case with contains method for knowing per example that the touch press was inside a tile (represented by a rect) Feb 29 10:57:10 adq each is its own view, problem is down move up is going to be mosto f the time indistinguishable from a swipe which is the same action Feb 29 10:57:28 adq yeah i have all that, but the app is comprised soley of these tiles Feb 29 10:57:46 try gesturecompat Feb 29 10:58:08 it should help you to distingish different scenarii but might introduce some mini latency Feb 29 10:58:20 GestureDetectorCompat* Feb 29 10:59:29 in any case, you probably need one or more threshold Feb 29 10:59:54 so if the swipe is not "fast" or "strong" enough, it was a down move up Feb 29 11:00:13 most ppl use the velocity and the distance as threshold iirc Feb 29 11:02:03 GestureDetectorCompat? You mean to tell me support lib has its own gesture detector that might work on samsung devices? Feb 29 11:02:15 no clue lol Feb 29 11:02:32 this class is misnamed Feb 29 11:02:41 it's not for detecting shape or complex gesture Feb 29 11:02:55 just to get tap, double tap, swipe & other kind of simple events like that Feb 29 11:03:44 it has few interesting thing as onSingleTapUp which prevents some false positive against other event iirc Feb 29 11:15:13 Do sparse arrays benefit from non-contiguous key values? Feb 29 11:15:39 benefit? how would they benefit Feb 29 11:16:41 a long long time ago i had a coworker look at my like i was an idiot under the implication a sparse array is for a mapping set whose keys are non-contigous Feb 29 11:17:45 well sparse array is for non-contigous keys Feb 29 11:17:54 it was designed to Feb 29 11:18:15 ah ok so it referencing the keys then Feb 29 11:18:59 its like SparseArray is technically HashMap Feb 29 11:19:25 but it has int, not Integer as key, so should be a little bit faster because no autoboxing is involved Feb 29 11:19:25 but no autoboxing so much different Feb 29 11:19:29 yeah Feb 29 11:19:36 even with contigious values? Feb 29 11:20:11 i dont think there would be much difference Feb 29 11:26:40 hello, i want to make live stream from my app to my web server(php). i am using audio recorder here the class i use-> http://pastebin.com/8v3y4VWU Feb 29 11:27:43 i am making new instance and start the tread meanwhile i get all data from queue and send to server. am i doing it wrong? Feb 29 11:30:32 hithere Feb 29 11:30:34 I am trying to use linearLayout with weight I have this setup http://snag.gy/SC3TG.jpg, in xml http://pastebin.com/57qEPVLM . I want areaA to be max 30% and areaB max 70% but if there is not enough content in aA to fill those 30% and there is more content in aB which would fill more than 70% I would like to leave free space from aA for aB. This behaviour must be applicable vice versa... Is it possible to do that from within xml layout? Feb 29 11:30:34 Right now I am able to setup fixed size of both areas in defined ration, but it looks bad when there is space in areaA and areaB must be scrolled to view whole content. Feb 29 11:35:16 because you are having a runtime condition it is not possible Feb 29 11:36:27 Bored, you should avoid allocation during recording loop Feb 29 11:40:28 adq yes, ill try avoid it. anyway i was manage to get the capture to file(using php my web server) but it isnt playable. what i can do? Feb 29 11:40:53 it should be playable but you have to append a WAV header (44bytes) Feb 29 11:41:00 describing it's mono pcm with 16bits encoding Feb 29 11:41:14 append at beginning* Feb 29 11:41:54 some decent audio editor will allow you to play it without the header if you just want to get a quick result Feb 29 11:42:28 i have vlc and bs.player they dont play it :\ Feb 29 11:42:38 try audacity or ocenaudio Feb 29 11:42:58 you will also have to specify the samplerate (11kHz in your case) Feb 29 11:44:14 or goldwave (my favourite ;) Feb 29 11:45:04 audacity didnt recognize it Feb 29 11:46:05 get a hex editor Feb 29 11:46:10 looks like the endianess may be backwards Feb 29 11:46:38 you might get a properly playing wave file and look at the header and then use that to debug your wave header Feb 29 11:46:51 he doesn't have a wave header Feb 29 11:46:54 it's just raw data Feb 29 11:47:02 yeah he has to add one Feb 29 11:47:07 and their should be no endianess issue with audioRecord of android Feb 29 11:47:25 not really needed, you can open raw audio in any decent audio editor Feb 29 11:47:42 adq not the audiorecorder but the java byte writers Feb 29 11:47:49 oh Feb 29 11:47:57 well no clue for this part :p Feb 29 11:47:59 Bored, http://stackoverflow.com/questions/9179536/writing-pcm-recorded-data-into-a-wav-file-java-android Feb 29 11:48:05 we're already beyond android dev Feb 29 11:48:16 it seems much different from other playable record i have (i opened it in notepad++) lots of null :X Feb 29 11:49:09 ahh you have a problem Feb 29 11:49:14 i just saw again your pastebin Feb 29 11:49:28 you play wav file on notepad? :v Feb 29 11:49:29 you will have issue with byte & short, because you are recording in 16bits pcm Feb 29 11:49:51 they changed something in latest API, if you provide a byte array, they expect 8bit pcm Feb 29 11:49:59 but you are in 16, so you should change to short Feb 29 11:50:35 bored: http://computermusicblog.com/blog/2008/08/29/reading-and-writing-wav-files-in-java Feb 29 11:50:38 in the past it was not an issue, recording in 16bit pcm with a byte array would be 2bytes for 1 sample Feb 29 11:50:43 but they ... changed something silently Feb 29 11:51:14 i can also change to 8bit right ? Feb 29 11:51:16 so you better fix that too and provide a short array for 16bits pcm or a byte array for 8bit, it will work whatever the api Feb 29 11:51:28 yup, as you wish, but 8bit is low quality Feb 29 11:51:40 err i mean, less headroom Feb 29 11:51:51 and headroom is important when you record Feb 29 11:52:12 Bored, here's a good repo https://code.google.com/archive/p/simplesound/source/default/source Feb 29 11:53:03 thanks for all help guys i need to see links and try fix problem :) Feb 29 11:53:13 good luck o/ Feb 29 12:02:24 Hello everybody! :) Feb 29 12:03:16 hey Feb 29 12:03:27 How can I parse XML files which doesn't have the tag: Feb 29 12:03:49 If the file doesn't have that tag it throws me exception else it works Feb 29 12:04:12 if you know they are valid just stick thatline in ther ebefore parsing Feb 29 12:04:37 lasserix: I'm parsing from URL, how can I stick that line in there? Feb 29 12:05:02 read it into a buffer, stick the line in, then feed to the parser Feb 29 12:05:22 or modify the incoming stream Feb 29 12:05:45 what are you using to parse? Feb 29 12:06:10 lasserix: XMLPullParser Feb 29 12:06:26 mentazoom, do you use some kind of standard Android lib to read xml? Feb 29 12:06:51 Number5: I'm using XmlPullParser Feb 29 12:08:02 FEATURE_PROCESS_DOCDECL Feb 29 12:08:13 you want to set it to be non validating Feb 29 12:08:22 how do i do that? Feb 29 12:08:23 oooh, ok, maybe you should use another one, that ignores these kind of standard stuff. Or check the XmlPullParser to turn off that kind of check, so it won't throw an exception. Feb 29 12:08:51 aah, there you go Feb 29 12:14:41 I wrote this now: factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, false); Feb 29 12:15:00 Still same problem, is it something else then? lasserix and Number5 ^ Feb 29 12:15:25 Getting this error: org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT [{"Id":0,"Task":...@1:530 in java.io.InputStreamReader@2cbe2f2) Feb 29 12:16:22 mentazoom, the error log gives you a hint buddy. So it's up to you to find out. Feb 29 12:16:42 Number5: I can't make any sense of that log Feb 29 12:17:42 oh Feb 29 12:17:48 that looks like json you are parsing Feb 29 12:17:59 [ {"Id":0 Feb 29 12:17:59 no it's xml Feb 29 12:18:00 heh Feb 29 12:18:04 looks like you need validation Feb 29 12:18:11 well your input stream is feeding the parser JSON Feb 29 12:18:17 [{"Id":0,"Task":... Feb 29 12:18:18 what the heck Feb 29 12:18:24 mentazoom: pastebin the 'xml' you're parsing Feb 29 12:21:22 Leeds: http://pastebin.com/G4W64BfZ Feb 29 12:26:38 Leeds or any other, any idea why the error is giving json output as error? Feb 29 12:27:03 I don't think it's giving JSON, I think that's just how the error is being formatted Feb 29 12:27:15 that makes more sense Feb 29 12:27:51 Leeds: Do you think the problem is that the xml doesn't have the tag Feb 29 12:27:58 I tried another file which has it and it works Feb 29 12:28:02 well, that means it's not XML Feb 29 12:28:09 it's just something that looks like XML Feb 29 12:28:43 i see Feb 29 12:34:35 mentazoom, can you use the debugger? Feb 29 12:34:56 it looks like it is failing some point thru the document, so if you step you can see what its parsing and figure out the specific error Feb 29 12:37:38 lasserix: If I try to debug the while loop just goes through it once and ends without errors, I don't know why, If i just run it then it complains with that error on this line: eventType = xpp.next(); Feb 29 12:38:16 you can step into the libraries routine? Feb 29 12:42:05 lasserix: That just goes into a maze, I don't know what's happening Feb 29 12:46:20 mentazoom, you need to relook at the current way of doing tasks Feb 29 12:46:36 can you try another , may be simpler? Feb 29 12:47:17 muthu: Another what? I'm using XMlPullParser, it looks like it's the most simple XML parser, and it works on some files but not some Feb 29 12:47:32 ya, but the way you async them Feb 29 12:48:42 muthu: The async must be fine because it only doesn't work if the xml doesn't start with the tag: Feb 29 12:50:23 you can set an option in the parser Feb 29 12:52:01 how do you mean, feed the tag manually? Feb 29 12:52:35 I want to show my app (like an incoming call) when a message is sent to it over the internet. What techniques do I use to go about this? Feb 29 12:53:00 a background service that launches another app? Feb 29 13:04:38 Can someone point me to a guide on how to work with the layouts from scratch? i dont quite understand from the example projects on how the resources and java classes are all linked with this.. :/ Feb 29 13:07:45 rvgate, the res folder is like a switch that when your app launches will pull the right xml resource file based on the flags (res/layout-land) designed in the subfolder resource name Feb 29 13:08:31 you can use this to do things like define multiple values for a single key, where the value corresponds to some configuration of qualifiers (flags) in the resource subfolder name (such as res/layout-land-sw300 Feb 29 13:08:55 which would be the xml layout file for landscape when the smallest width along any axis of the device is at least 300 dp Feb 29 13:10:10 tho resources can be lots of things, not just layouts Feb 29 13:10:47 this is not that bad of an explanationhttps://www.udacity.com/course/viewer#!/c-ud853/l-1623168625/m-1667758601 Feb 29 13:11:04 oh one thing to note is if you make a subclass of some view or viewgroup you'll notice a list of constructors Feb 29 13:11:43 SubclassedView extends View { public SubclassedView(Context c) { super(c); } public SubclassedView(Context c, AttributeSet attrs) { super(c, attrs); } } Feb 29 13:12:44 the first corresponds to when you instantiate the view in code ( = new SubclasseView(context); ) and the second (others) correspond to when you reference it from XML (ie listviews are a little more complicated because they require an adapter Feb 29 13:16:31 oh by + at bottom right you mean the add button floating? Feb 29 13:17:14 http://www.myandroidsolutions.com/2015/01/01/android-floating-action-button-fab-tutorial/ Feb 29 13:17:28 ignore the stuff about making the floating action button from scratch, they're part of the support library Feb 29 13:17:52 lasserix, yes, i managed to get that one setup correctly, although not binded to a form yet... just want to make the main view be a list of names (which you can add with the fab button) Feb 29 13:18:08 wellyou can look at that link Feb 29 13:18:12 its a tutorial to do exactly that Feb 29 13:18:40 you can skip the creating a fab icon in xml and stuff Feb 29 13:18:47 since they added it to the design library Feb 29 13:18:52 (you just have to add it to the build file) Feb 29 13:19:03 cool, thx.. ill have a look Feb 29 13:19:28 http://android-developers.blogspot.com/2015/05/android-design-support-library.html compile 'com.android.support:design:22.2.0' Feb 29 13:19:49 you have to download it with sdk manager, and make sure the version 22.2.0 matches, but that last part is a dependency you add in the gradle build file in your app module Feb 29 13:20:56 heres a guide on doing that https://guides.codepath.com/android/Design-Support-Library (make sure you have the version numbers match tho with the latest version) Feb 29 13:23:02 rvgate, just beware http://i.imgur.com/V67I2v7.png Feb 29 13:27:55 Has someone worked with cameras before? Some devices seem to rotate the image by 90 degrees after taking a picture. Any idea how to prevent that? Currently my best solution is to check the device identifier and rotate it if I come across a device that does this. Feb 29 13:29:00 lasserix, design support library is simply a set of example layouts and components with expected default behaviours? Feb 29 13:50:08 no Feb 29 13:50:14 If you are using the front camera, that will be the default behaviour.. Feb 29 13:50:16 http://android-developers.blogspot.com/2015/05/android-design-support-library.html Feb 29 13:51:16 You can go ahead with your solution.. Feb 29 14:11:38 anyone familiar with GSON here? Feb 29 14:13:06 + Feb 29 14:26:14 mentazoom, sure Feb 29 14:30:39 yep Feb 29 14:33:43 lasserix: How can I make the string to objects and put it on an arraylist? Check line 25 and 26 Feb 29 14:34:29 aa Feb 29 14:34:36 what? Feb 29 14:34:48 Gson g = new Gson(); g.toSomething(string) Feb 29 14:35:29 create the class that contains the variables Feb 29 14:35:41 you need to name the members the same thing as the keys Feb 29 14:35:46 or use the annotation umm Feb 29 14:35:53 i can't recall off the top of my head Feb 29 14:36:23 but then you use List videos = gson.fromJson(json, new TypeToken>(){}.getType()); Feb 29 14:49:06 lasserix: So if model class has same variables as json then the line you wrote will work? Feb 29 14:49:46 probably Feb 29 14:50:04 lasserix: Is the while loop correct? Do I use the StringBuilder correctly? Feb 29 14:50:30 Hey, would using new VectorDrawableCompat with vectors instead of bitmaps (png files) well increase launch time? Feb 29 14:50:37 mentazoom, i see no code Feb 29 14:50:53 lasserix: http://pastebin.com/sN7aFWXw Feb 29 14:51:27 lasserix: Sorry my bad, I forgot it earlier, that's why you got confused by that Feb 29 14:52:00 mentazoom, or you can just use retrofit and replace all that with like 4 lines Feb 29 14:52:32 retrofit and GSOn? Feb 29 14:52:33 you dont need the +"\n" Feb 29 14:53:08 and if taskmodel is a list not an object in json it'll fail Feb 29 14:53:16 notice the newTypeToken<... Feb 29 14:53:24 above, youmust use that for json arrays Feb 29 14:53:46 mentazoom, http://inaka.net/blog/2014/10/10/android-retrofit-rest-client/ Feb 29 14:53:55 Can't I just convert that json srting to a json array? Feb 29 14:54:09 when you do gson Feb 29 14:54:18 if the object is a json array of such objects you which to deserialize Feb 29 14:54:30 you must use the type token stuff Feb 29 14:55:55 I don't get what you mean by TypeToken tho Feb 29 14:56:57 i posted the example above Feb 29 14:57:04 its not as simple as passing in the class Feb 29 14:57:09 If I have a json string I thought it should be easy to convert it to arraylist of objects with the model class and return it Feb 29 14:57:10 you have to add that type token stuff Feb 29 14:57:20 when going from jsonarray -> list Feb 29 14:57:27 there's no such thing as a json string Feb 29 14:57:31 there is a string of json Feb 29 14:57:39 json has objects or arrays Feb 29 14:58:01 if the base node of your json is an array then you must use type token Feb 29 14:58:09 if its an object then you don't need to Feb 29 14:58:31 what does your json look like? Feb 29 15:00:40 lasserix: http://pastebin.com/R0ZUpDPf Feb 29 15:01:19 yeah Feb 29 15:01:23 you have to use what i posted above Feb 29 15:01:50 gson.fromJson(json, new TypeToken>(){}.getType()); Feb 29 15:02:10 List taskList = gson.fromJson(json, new TypeToken>(){}.getType()); Feb 29 15:03:23 err replace json with sb.toString Feb 29 15:04:07 when calling fromJson if the json structure is such that the object you are deserializing is in fact an object, the parameters you pass are the string containing the json and the class type Feb 29 15:04:23 if it is a json array of such objects, you have to wrap the class type in Feb 29 15:04:36 new TypeToken(){}.getType() Feb 29 15:04:37 lasserix: List taskList = new Gson().fromJson(sb.toString(), new TypeToken>(){}.getType()); Feb 29 15:05:09 TaskModel.class Feb 29 15:05:25 err no Feb 29 15:05:27 yeah thats right Feb 29 15:05:33 my eyes are failing me Feb 29 15:05:43 thank you so much man, i will try to make model class now and try Feb 29 15:06:04 you can make typeadapter classes to Feb 29 15:06:12 and wrap your numeric primitives in those Feb 29 15:06:15 to catch bad cases Feb 29 15:06:15 ie Feb 29 15:06:24 "age":20 Feb 29 15:06:34 but say some idiot put in "age":undefined Feb 29 15:06:40 it'll break the gson deserialization Feb 29 15:06:52 you do that on model class? Feb 29 15:06:59 or worse "age":20.34 Feb 29 15:07:05 which will also break it if age is an int or long Feb 29 15:07:08 yeah Feb 29 15:07:27 lasserix: Is there a example how you do this? Sorry this is quite new stuff for me Feb 29 15:08:07 here's a crazy long explanation of all the ways you can do this kind of stuff http://www.javacreed.com/gson-typeadapter-example/ Feb 29 15:08:08 but Feb 29 15:09:50 Hello guys, what's the best solution to stream Vimeo videos in your app? I've seen solutions like an embedded video player in a WebView, but also Universal Video Player, but this one supports only Android 21+. Does anyone knows a library to stream video from Vimeo from Android 15+? Feb 29 15:09:51 uhh Feb 29 15:09:53 look in there Feb 29 15:10:28 yea i will try to make simple model class first, if that works its big step, have bookmarked that site Feb 29 15:10:35 but you override two methods like write and read when you extend typeAdapter for instance, to catch for floats and then in read you can just check if it's not numeric or int or whatever ina tr/ycatch and return like -999 or somethign predefined NA value Feb 29 15:10:57 ah that makes more sense Feb 29 15:12:03 so its like public class FloatErrorCatcher extends TypeAdapter { @Override public Float run(JsonSomething ...) { try { try to convert the json thing to a float, if fails return predefined bad value } catch { } } Feb 29 15:12:14 that's only if you have really bad source data Feb 29 15:12:30 but i did, so i made a couple of library classes to handle that stuff, can't find it on this computer unfortunatly Feb 29 15:12:47 you can do the same thing with the gson deserialization and serialization Feb 29 15:12:58 just make two utility methods for object/list by typing it Feb 29 15:13:42 i see, thanks, will try it out now Feb 29 15:13:50 public T getObjectFromJson(Class classType, String json) { return new Gson().fromJson(json, classType) } or something like that Feb 29 15:18:51 lasserix: Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 Feb 29 15:19:13 on this line: List taskList = new Gson().fromJson(sb.toString(), new TypeToken>(){}.getType()); Feb 29 15:20:22 so its an object Feb 29 15:21:11 no its an array alright Feb 29 15:21:13 not sure Feb 29 15:21:19 yea its weird Feb 29 15:21:33 whats your task model class look like? Feb 29 15:22:12 lasserix: Just simple for now: http://pastebin.com/3XriK7aD Feb 29 15:22:17 oh Feb 29 15:22:21 you have no thing defined Feb 29 15:22:27 you just have an array of arrays Feb 29 15:24:08 lasserix: ehm? Feb 29 15:24:30 I think it needs to be like Feb 29 15:24:39 TypeToke Feb 29 15:24:56 since you have not a single jsonobject defined just a jsonarray of jsonarray Feb 29 15:26:43 will give it a try Feb 29 15:26:49 do you see why? Feb 29 15:30:04 actually no.. Feb 29 15:30:51 yeah i am too tired Feb 29 15:31:02 makes more sense to me that it should just be arraylist of objects Feb 29 15:31:18 you have no object defined Feb 29 15:31:22 you have [ [] [] [] [] [] Feb 29 15:31:25 ] Feb 29 15:31:35 not [ object, object, ... ] Feb 29 15:32:13 so every aray has only one object? Feb 29 15:32:15 *no object definedin the json Feb 29 15:32:19 no Feb 29 15:32:36 look i am too tired right now Feb 29 15:32:41 good luck! Feb 29 15:32:50 thanks man, could you just wait 1 min pls Feb 29 15:33:11 it should work not sure why Feb 29 15:33:16 i am confusing myself, my eyes hurt, Feb 29 15:34:14 oh did you try not the typetoken? Feb 29 15:34:26 just the eaiser fromJson(stringdata, taskmodel.class);? Feb 29 15:34:48 after you saw my json you said no, so i didnt :) Feb 29 15:34:49 like i said my eyes are really hurting i should go put my blindfold on Feb 29 15:35:16 haha, let me try that once then Feb 29 15:35:18 yeah that should fix it Feb 29 15:36:05 Without Collection? Feb 29 15:36:14 i don't know honestly know Feb 29 15:36:39 List> taskList = new Gson().fromJson(sb.toString(), new TypeToken>(){}.getType()); Feb 29 15:36:47 or try this Feb 29 15:37:10 TaskModel[] taskModels = new Gson.fromJson(json, TaskModels[].class); Feb 29 15:37:18 err you see what i mean Feb 29 15:37:30 yea Feb 29 15:38:13 so List tasks = Arrays.asList(new Gson().fromJson(sb.toString(), TaskModel[].class)); Feb 29 15:39:42 The last line gave the same error :/ Feb 29 15:40:03 Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 Feb 29 15:41:01 try just TaskModel.class Feb 29 15:41:10 but that shouldn't work as TaskModel tm = ... Feb 29 15:41:17 guys Feb 29 15:41:18 err List ms = Feb 29 15:41:21 can someone help Feb 29 15:41:22 hehe i gota go Feb 29 15:41:33 lasserix: No error, but no data lol :P Feb 29 15:42:03 mentazoom Feb 29 15:42:09 if you want a cheap workaround for the time being Feb 29 15:42:17 i do fragmentTransaction = fragmentTransaction.replace(android.R.id.content, fragmentLandscape); Feb 29 15:42:22 i need help Feb 29 15:42:29 prefix the stringbuilder with { "TaskModels": Feb 29 15:42:33 it highlights fragmentLandscape Feb 29 15:42:33 and then end it with } Feb 29 15:42:55 and then make a class called TaskModels which contains a List and deserialize TaskModels as a single class Feb 29 15:42:57 that will work Feb 29 15:43:35 lasserix: When i removed [] and just wrote TaskModels.class, then no error came up but only one empty item in listview :) Feb 29 15:43:43 please help Feb 29 15:43:58 mentazoom, your missing my point, turn your json into object:array Feb 29 15:44:05 as opposed to array:objects Feb 29 15:44:26 ie, nest your array inside a dummy object, and deserialize that, making the dummy object class contain a list of taskmodel Feb 29 15:44:58 that way the gson will handle whatever funkiness is going on and you'll end up with a TaskModels that has a list inside of it of the actual task models Feb 29 15:45:25 I've got a few crash reports from a single user. The crashes are native in libc.so/libdvm.so, and occur while using the camera. Feb 29 15:45:47 I don't use a single line of native code in my app. Anyone got any idea on how to debug this? Feb 29 15:46:16 lasserix: Alright thanks for all help, will try that out Feb 29 15:48:33 lasserix: Feb 29 15:48:36 IM SO SRRY MAN Feb 29 15:48:39 lasserix: Feb 29 15:48:41 lol :D Feb 29 15:48:43 lasserix: Feb 29 15:48:59 lasserix: This worked: List taskList = new Gson().fromJson(sb.toString(), new TypeToken>(){}.getType()); Feb 29 15:49:15 Like you said first time, but I had wrong link for parsing, sorry for wasting time man Feb 29 15:49:20 haha Feb 29 15:49:23 im tired too and didn't notice Feb 29 15:49:24 no wonder no problem Feb 29 15:49:36 but thank you so much man, seriously Feb 29 15:49:42 and sorry that i was beeing that dumb Feb 29 15:50:35 np just buy me a beer sometime Feb 29 15:50:57 haha definitely :) Feb 29 16:00:09 Getting a NPE, don't understand how... here's my NPE exception with the method that it's happening in. http://pastebin.com/TKr6h1LQ Feb 29 16:08:09 eghdk, is there threading involved? Feb 29 16:09:02 Yes Feb 29 16:09:51 then it's possible that the field gets set to null while the loop is running Feb 29 16:10:27 work on a local list and set it to the field after the loop Feb 29 16:10:31 Zharf: True. I guess what threw me off is that I tried setting it to null explicitly to force the crash in that method, and it didn't crash. lol Feb 29 16:18:08 how do i change orientation of avd Feb 29 16:20:49 linuxuz3r: I think it's like ctrl + f12 or something Feb 29 16:20:54 http://stackoverflow.com/questions/3916096/how-to-rotate-portrait-landscape-android-emulator Feb 29 16:28:18 I wonder if google will ever update 'android create project' and 'android update project' Feb 29 16:32:28 that would be nice. For one thing, ‘android update project’ used to create a local.properties file that pointed at the sdk dir. Now you have to have every developer set it to ANDROID_HOME. Feb 29 16:32:39 ANDROID_HOME is preferable Feb 29 16:33:25 Hello everyone Feb 29 16:33:31 I’d rather have the tools find the sdk automatically if they’re able and not make people do extra setup unless they need to override something. It’s not a hube pain, but I miss it. Feb 29 16:33:41 i've made a few ringtones and misc. notify sounds etc. for my cell phone, can i submit them to be included with the next version of android? Feb 29 16:34:14 android update project is an extra step regardless Feb 29 16:34:22 and you would have had to put the android sdk in your path anyway Feb 29 16:34:42 instead, you don't have to pollute your path and just set ANDROID_HOME instead Feb 29 16:34:53 (of course, it's rather handy to have every tool in path ready to use) Feb 29 16:45:04 meh, wish there was a way to normalize headset volume in android; bluetooth headset volume is different from bt headphone volume, and so annoying Feb 29 16:49:42 hi , any tips to animate a view from 0 width to match parent from center ? Feb 29 16:50:36 view.animate().width(parent_width).start(), set the layout gravity as CENTER to begin with Feb 29 16:50:51 and view.setWidth(0) prior to animating Feb 29 16:51:30 There's no width animation Feb 29 16:51:42 classyshark 5.7 has a nice pie chart visualization showing dex count ;) Feb 29 16:51:58 Since measuring the view hierarchy every frame is wasteful.. See if you can get by with animating scaleX Feb 29 16:56:11 indeed Feb 29 17:09:14 anybody know how well AnimatedVectorDrawableCompat (or just plain AnimatedVectorDrawable) performs? Feb 29 17:09:22 last I checked it seemed to be parsing xml on the main thread Feb 29 17:09:44 which made me worried about how long that takes, depending on how complicated my vector may be Feb 29 17:14:08 All your xml files in res/ are parsed on the main thread Feb 29 17:18:03 well yeah, but I assume they do not take 200-600ms normally Feb 29 17:18:30 guess I'll create a vector and measure it to see if it is a concern Feb 29 17:19:51 http://www.engadget.com/2016/02/25/samsung-is-building-256gb-memory-chips-for-smartphones/ Feb 29 17:20:15 faster read, slower write ... Feb 29 17:28:18 Does AlertDialog start it's own thread? e.g. if I try to open an alert dialog in a non-main thread, will I get this exception? Feb 29 17:28:21 RuntimeException: Can't create handler inside thread that has not called Looper.prepare() Feb 29 17:31:31 It doesn't, no Feb 29 17:31:41 Syzygy doubt it, maybe you are trying to create it on non ui thread Feb 29 17:32:43 I'll create a gist between a working and not working version Feb 29 17:32:49 don't open a dialog on a non-main thread? Feb 29 17:37:34 https://gist.github.com/Syzygy2048/3f94ec18fab105afbcc2 so the code above the line was executing just fine, but the code at the bottom throws the exception Feb 29 17:38:11 hmm, i guess I might have found something Feb 29 17:38:19 Hi.. How is the best way to calculate network throughput using Android? Feb 29 17:46:04 If you get that exception, you're not creating the dialog on the main thread Feb 29 18:05:00 Have you took a lot at it ? https://github.com/futurice/android-best-practices Feb 29 18:09:51 I create a Chronometer, it has black text. When I call .setEnabled(false) the text gets dimmed. But I want my Chronometer to be on a dark background, so I want the text to be white. If I set the text to white, then its always white and never dimmed, even when disabled. I am doing something wrong? Feb 29 18:11:46 smallfoot-: Chronometer inherits from TextView Feb 29 18:11:58 so take a look here: http://developer.android.com/reference/android/widget/TextView.html Feb 29 18:12:06 I think you need to set a hint text color Feb 29 18:12:38 http://developer.android.com/reference/android/widget/TextView.html#setHintTextColor(int) Feb 29 18:14:25 Oh Feb 29 18:14:34 Thanks! That's really clears it up for me! Feb 29 18:14:59 But if my color is white, what should my hint color be? Feb 29 18:15:05 I'm getting less and less sure that I'm right about this, the more I mull it over. Feb 29 18:15:13 oh :s :( Feb 29 18:15:25 well give #aaffffff a go Feb 29 18:15:32 or go check the material guidelines Feb 29 18:15:35 thanks Feb 29 18:15:37 ya Feb 29 18:15:56 it can be quite hard to follow the material guidelines, its so much Feb 29 18:18:00 Hi, I've been having some trouble with Android Studio freezing on me for sometimes up to 3 min. Is this the right place to go for help? Feb 29 18:20:50 is anyone even here? Feb 29 18:21:02 dealy663: yeah, people are here Feb 29 18:21:11 no idea how to fix your problem though Feb 29 18:21:24 are you using the oracle JDK? Feb 29 18:21:32 yes Feb 29 18:22:10 any idea of where there might be a support group for AndroidStudio? Feb 29 18:23:12 https://code.google.com/p/android/issues/detail?id=76989 Feb 29 18:23:21 people seem to be logging bugs against AOSP for it Feb 29 18:23:27 which seems weird Feb 29 18:23:39 anyway that points to where you can find crash logs Feb 29 18:23:50 https://code.google.com/p/android/issues/detail?id=76989#c5 Feb 29 18:24:01 hi Feb 29 18:24:08 hi tomaw Feb 29 18:24:15 err t0th_-_ Feb 29 18:24:16 dealy663 AS freezes for me, when my machine wakes up - i need to kill adb Feb 29 18:24:26 oh yeah Feb 29 18:24:30 Mac problem Feb 29 18:24:38 i have a button setting value to textview, but the value in textview is not changed on view, if i get textview.getText i have the value... but is not update the view Feb 29 18:25:46 t0th_-_: you probably have the wrong view or something, pastebin some code Feb 29 18:26:48 no Feb 29 18:28:25 http://pastebin.com/Z32StvQH Feb 29 18:28:33 sorry Feb 29 18:28:43 this one: http://pastebin.com/qSJFuzy2 Feb 29 18:29:41 okay and how does the xml look? Feb 29 18:29:48 also where is this code run? Feb 29 18:34:21 in select item on AutoCompleteTextView Feb 29 18:37:24 so this: http://developer.android.com/reference/android/widget/AutoCompleteTextView.html#setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener) Feb 29 18:39:59 yes Feb 29 18:40:10 in this i try put the value in a textview Feb 29 18:42:49 and if you add a log event to that method do you see it in your log? Feb 29 18:50:57 so when is AS 2 going gold? Feb 29 18:51:09 will google wait until I/O? Feb 29 19:15:49 lexton seems they are having issues with instant run :P Feb 29 19:16:38 hopefully they have it stable by I/O Feb 29 19:16:52 g00s have you tried AS 2? Feb 29 19:17:11 when is i/o? Feb 29 19:17:14 i'm using 1.5.1 still, and while its 'stable' (as in not crashing or anything) is buggy as hell Feb 29 19:17:20 so AS will never be 'stable' Feb 29 19:17:34 yeah I saw that about instant run I don't know exactly what it is, I read a little bit about it Feb 29 19:18:44 i wish they would work on the incremental compilation bits; seems like we've actually gone backwards with exception to nice editor features & autocomplete Feb 29 19:19:03 cant tell you how many times i have to go into fix / build cycles because the IDE doesn't report stuff Feb 29 19:19:25 what do you mean by "fix/build cycles?" Feb 29 19:19:30 Yeah, using 1.5.1 and it's buggy. Especially when it comes to building/exporting Feb 29 19:19:41 * pfn never encounters build issues Feb 29 19:19:42 * pfn shrugs Feb 29 19:19:53 suckers Feb 29 19:19:55 grekkos IDE reports no problems, even in file open on screen, and then you build and it barfs, and THEN highlights the errors Feb 29 19:19:55 I get some issues here and there but not much Feb 29 19:20:04 oh Feb 29 19:20:09 hmm Feb 29 19:20:16 I've only had problems with R.java kind of things Feb 29 19:20:25 generally refactoring Java is fine Feb 29 19:20:33 refactoring / renaming resources is a fucking nightmare Feb 29 19:20:46 when suddenly every file I open doesn't highlight anymore because it thinks there are errors but there aren't Feb 29 19:20:49 and the code compiles and works fine Feb 29 19:20:50 seems like it never changes everything, and then you have to hunt shit down yoursewlf Feb 29 19:20:50 renaming layout IDs tends to work well Feb 29 19:21:07 oh Feb 29 19:21:10 I found something interesting the other day Feb 29 19:21:17 it seems like AS only reports a max of 101 errors Feb 29 19:21:28 and then compiler gives up or something, not sure Feb 29 19:22:08 that was a major refactor though Feb 29 19:22:28 IntelliJ has it nailed with refactoring I think, most of the stuff is fantastic Feb 29 19:25:21 https://youtu.be/Lx61O7mzwqw Feb 29 19:25:23 that was so bad Feb 29 19:25:26 wasn't Feb 29 19:25:33 google vision api is kinda neat Feb 29 19:26:10 basically ripped off the ui.camera package from the vision sample and rewrote the capture activity Feb 29 19:27:26 https://github.com/pfn/keepshare/blob/master/src/main/scala/com/hanhuy/android/keepshare/BarcodeScannerActivity.scala Feb 29 19:30:42 so in the left gutter of AS, there’s a red circle with an exclaimation point in it. But mousing over it doesn’t do anything or show any tooltip. What does it mean? Feb 29 19:30:57 of the editor? breakpoint Feb 29 19:31:42 no, this isn’t a breakpoint Feb 29 19:31:57 breakpoints don’t have the exclaimation point in them Feb 29 19:32:30 the icon inside of the breakpoint varies depending on the state of the breakpoint Feb 29 19:32:43 check if it's been installed into the debugger, an X or exclamation point if it is failed to set Feb 29 19:32:59 and it's a plain circle if the debugger isn't running, etc. Feb 29 19:33:00 it’s not a breakpoint Feb 29 19:33:06 * pfn shrugs Feb 29 19:33:10 you described a breakpoint Feb 29 19:33:15 no i didn't Feb 29 19:33:20 i described an icon Feb 29 19:33:30 Just show a picture already Feb 29 19:33:39 imgur to the rescue for the love of god Feb 29 19:34:52 http://imgur.com/39EhbAs Feb 29 19:35:06 I set a breakpoint beside it Feb 29 19:35:14 the breakpoint is on the right Feb 29 19:35:21 the icon I’m asking about is on the left Feb 29 19:35:51 preview of the drawable you have in the line on the right Feb 29 19:36:37 no, the drawable on that line is an underline Feb 29 19:37:03 Then probably a failure to provide a preview of the drawable Feb 29 19:41:49 how can I use List in a listView? Feb 29 19:42:34 Watch https://www.youtube.com/watch?v=wDBM6wVEO70 Feb 29 19:44:33 pfn: are you a big fan of Scala? Feb 29 19:53:45 grekkos, yes Feb 29 20:04:00 Windows 10 IoT Core supports RPi; i don't get why google doesn't do that too with android Feb 29 20:04:04 Rpi 3 Feb 29 20:06:12 iot? Feb 29 20:10:46 Internet of Things Feb 29 20:10:59 I could swear there was a build of Android for the Rpi Feb 29 20:11:16 how do i update time constantly that is in text view Feb 29 20:11:29 should i use for loop or concurrency Feb 29 20:11:48 linuxuz3r: Like... every second? or every minute? Feb 29 20:11:48 s73v3r brillo supports edison / qualcomm dragonboard - they should do rpi also Feb 29 20:12:01 minute Feb 29 20:12:10 those things have a bit more horsepower than the Rpi. Feb 29 20:12:16 will it be too much if you update it every minute Feb 29 20:12:32 linuxuz3r: No Feb 29 20:12:37 linuxuz3r: maybe http://stackoverflow.com/questions/5481386/date-and-time-change-listener-in-android Feb 29 20:12:57 they do have more horsepower, but still rpi3 way more than whats required for most IoT applications Feb 29 20:13:03 s73v3r: rpi 3 maybe? came out today. Feb 29 20:13:19 that might; I haven’t been able to play around with it Feb 29 20:13:27 don't need a quad core snapdragon controlling the toaster :D Feb 29 20:13:53 what’s brillo’s requirements, though? If it’s based on Android, it’s not going to be that lightweight Feb 29 20:13:55 maybe if the NSA is loading spyware and such Feb 29 20:14:19 s73v3r don't know requirements offhand, but it has no java stack Feb 29 20:14:33 basically trimmed down embedded linux / chromeos/ android mix Feb 29 20:15:13 'night Feb 29 20:16:00 so, if you have a bunch of nullable variables in kotlin, how do you coalesce/operate on them together into a single function that takes them all as null-checked? Feb 29 20:16:25 e.g. foo? bar? baz? and you have f(string,string,string) Feb 29 20:18:05 eghdk: where did s_intentFilter get used Feb 29 20:18:10 i could not find it Feb 29 20:18:17 seems like you'd have to nest let Feb 29 20:20:06 I'm trying to make a AlertDialogHelper to ease the creation of my custom DialogFragment. The Helper uses the Builder pattern to collect the data needed to construct my AlertDialogFragment. The AlertDialogFragment takes the Builder as an argument and uses it in its onCreateView() to populate the custom title, message, and button [...] Feb 29 20:21:46 anyone have examples for how to do post with gson? Feb 29 20:21:47 foo?.let(x -> bar?.let(y -> baz?.let(z -> f(x,y,z)))) yuck? Feb 29 20:22:28 [...] The Listener for the button is causing trouble. When the Fragment is serialized and onSaveInstanceState is called, the entire Builder instance is serialized (it's easier to recreate the AlertFragmentDialog out of the Builder again), and the listener gets serialized too. But the listener is an anonymous class within the Activity starting the AlertFragmentDialog! Feb 29 20:22:34 And the Activity cannot be serialized. Feb 29 20:22:39 So: What to do? Feb 29 20:22:43 Here's the code: http://pastebin.com/DeQaDe7k Feb 29 20:25:35 Oh, and there's the code including the snippet where the AlertDialogFragment is actually created from a SplashActivity; http://pastebin.com/CMFv34yZ Feb 29 20:28:12 I get an java.io.NotSerializableExcetion in onSaveInstanceState() because it cannot serialize builder.onDismissListener. Feb 29 20:28:56 How is it ever possible to serialize an anonymous listener implemented in an Android Activity? Feb 29 20:30:26 Hm... http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance%28boolean%29 Feb 29 20:35:40 Drop the builder, pass arguments in the bundle.. What you're trying to do won't work Feb 29 20:37:49 As I see it, I *am* passing the arguments in the bundle; they're just wrapped in the Builder. Even if I passed the args separately, I'd still have to parse the OnDismissListener. Or rather, I'd have to pass it in onSaveInstanceState(), and the thing will explode in my face all the same. Feb 29 20:37:51 Or? Feb 29 20:37:58 how do i update time constantly that is in text view Feb 29 20:38:50 linuxuz3r: http://stackoverflow.com/questions/14814714/update-textview-every-second Feb 29 20:38:53 Your Builder has a Context, you can't serialize a Context Feb 29 20:42:33 Ah, the listener. You need to either explicitly set the listener every time, use onAttach to cast the current Activity to your listener or set a target fragment and cast that.. Feb 29 20:44:34 I see. Feb 29 20:44:36 Thanks. Feb 29 20:44:52 That was a huge relief. Feb 29 20:44:58 I was getting nuts over this. Feb 29 20:45:37 I like my Builder, so I don't think I'll ditch that. But I will have to ditch the listener in it. Feb 29 20:48:10 Setting the listener every time is not going to work in my case, because I want the app to be recreated with the dialog shown, and the Activity doesn't show the dialog immediately. It would too complex a state to recreate it, I think. Feb 29 20:48:36 I can, however, try retain instance in DialogFragment, and cast the Activity onAttach. Feb 29 20:49:00 But what if my AlertDialogFragment is shown from a Fragment instead of an Activity? Feb 29 20:49:10 Is there's an onAttach(Fragment) as well? Feb 29 20:53:47 Ah, the target fragment. I've never used that before. Feb 29 20:53:53 I hate fragments. Feb 29 20:54:02 fragments are cool Feb 29 20:54:06 no reason to hate them Feb 29 20:55:52 Is there any way to disable the "Sign in to wifi"-popup that some open networks have when connecting to an open wifi programmatically? Feb 29 20:56:07 return x?.let { a -> y?.let { b -> z?.let { c -> f(a,b,c) } } } Feb 29 20:56:11 hmm, that's ugly, is there no better way? Feb 29 20:56:54 pfn, why are you looking into kotlin? Feb 29 20:57:07 app request: Fake SD Card Tester -- Verifies the claimed capacity of SD cards, USB flash, and other storage memory, to determine if the card is a knockoff, counterfeit or fake. It does this by filling the card with thousands of files then reads and verifies those files' integrity. Feb 29 20:57:18 jvrodrigues, just finding further arguments to say that kotlin sucks vis a vis scala Feb 29 20:57:51 I was actually looking into kotlin today Feb 29 20:57:52 e.g. no monadic comprehension that allows easily composing the x/y/z Feb 29 20:58:10 prntln(i++ + i++) when i is 5 prints 11 Feb 29 20:58:24 for { a <-x ; b <- y; c <- z } yield f(a,b,c) Feb 29 20:58:28 i++ is a shitty operator, don't use it :p Feb 29 20:58:50 that doesn't explain the logic behind it Feb 29 20:59:07 postincrement Feb 29 20:59:21 ++i + ++i when i is 5 also prints 11 Feb 29 20:59:29 god knows why Feb 29 20:59:29 i++ + i++ -> 5 + 6 Feb 29 20:59:44 I would expect that to be 13 Feb 29 21:00:15 yea you:re right Feb 29 21:00:16 its 13 Feb 29 21:00:23 you're a smart guy pfn Feb 29 21:00:34 unlike me Feb 29 21:00:47 like I said, i++ and ++i are shitty operators, don't use them Feb 29 21:01:02 but they look so pretty Feb 29 21:01:10 fuck I just ruined my companies magic mouse Feb 29 21:01:12 ffs Feb 29 21:01:15 it fell once Feb 29 21:01:24 and right click no longer works Feb 29 21:01:29 this is beyond fucked up Feb 29 21:01:37 but i++ + i++ would precisely mean 11 when i is initially 5; because you have the i before ++, which is 5, plus, the result of the first i++, which is 6 Feb 29 21:01:54 of course, after the println, i is 7 Feb 29 21:02:10 at least it's not yours, you can just request a replacement Feb 29 21:03:20 jvrodrigues get a better mouse http://thewirecutter.com/reviews/best-wireless-mouse/ Feb 29 21:07:38 I like fancy looking equipment Feb 29 21:07:47 logitech doesn't look fancy enough Feb 29 21:10:23 jvrodrigues you're form over function but using android :P Feb 29 21:11:30 I am just kidding off Feb 29 21:11:43 the magic mouse has some functions that really boost productivity if you work in a mac Feb 29 21:11:57 specially if you use full screen Feb 29 21:12:01 get the trackpad Feb 29 21:12:02 and have several IDEs open Feb 29 21:12:09 s73v3r, I had the trackpad for a long time Feb 29 21:12:18 s73v3r does the trackpad have force touch yet ? Feb 29 21:12:21 I think the mm is slightly superior Feb 29 21:12:30 more precies Feb 29 21:12:33 precise* Feb 29 21:12:41 yeah mouse is more precise, i use both Feb 29 21:12:48 (at the same time, kinda weird) Feb 29 21:12:51 I use a mouse as little as possible Feb 29 21:12:55 one for each hand? Feb 29 21:12:58 so a fancy mouse isn't a productivity booster Feb 29 21:13:16 pfn, that depends, as a general rule I agree with you Feb 29 21:13:26 can't really use trackpad for drawing stuff in inkscape, sketch, etc .. Feb 29 21:13:32 but at this point in my life where I have about 3 different projects opened at the same time across different platforms Feb 29 21:13:38 plus having to deal with shitty designer work Feb 29 21:13:50 mouse is very useful Feb 29 21:14:53 g00s, integrating google vision was easy https://www.youtube.com/watch?v=Lx61O7mzwqw Feb 29 21:16:45 I would have liked to have integrated zxing instead, but it's not as robust nor easy to integrate Feb 29 21:16:55 and since I already have a dependency on google play, who cares Feb 29 21:24:53 pfn having a google play dependency doesn't really justify it Feb 29 21:25:00 zxing is easy enough to work with Feb 29 21:25:16 not particularly, especially when google vision performs faster Feb 29 21:25:44 jvrodrigues one problem i had with zxing is when the phone is rotated , couldn't capture Feb 29 21:25:53 really? Feb 29 21:26:02 but maybe thats fixed Feb 29 21:26:07 hum, you must have misconfigured it somehow, works for me Feb 29 21:26:21 jvrodrigues it was their app Feb 29 21:26:26 and I maintain 3 apps with zxing imp Feb 29 21:26:46 2 of them are very low priority apps Feb 29 21:26:46 jvrodrigues, I implemented a full barcode scanner in under 200 lines, after kanging google's camera abstracting layer Feb 29 21:27:05 and that includes real-time tracking of a barcode on-screen Feb 29 21:27:06 ah, thats cool Feb 29 21:27:25 I should give that a go actually Feb 29 21:27:30 but checking for play services Feb 29 21:27:46 actually having the titanic play services on your gradle file Feb 29 21:27:51 makes me so sad Feb 29 21:27:56 you don't have to include everything Feb 29 21:28:05 I only include google-play-services-drive and google-play-services-vision Feb 29 21:29:02 https://github.com/pfn/keepshare/blob/master/src/main/scala/com/hanhuy/android/keepshare/BarcodeScannerActivity.scala Feb 29 21:29:06 full implementation of barcode scanner... Feb 29 21:33:05 hello! I have some questions about CoordinatorLayout. I have a rather complicated layout in which there is a bottom toolbar that overlaid on top of a scrolling view (through a framelayout) Feb 29 21:33:46 the issue I have is that I'd like the toolbar not to participate in any scrolling events (as it should be visible at all times) Feb 29 21:34:10 is there an app:layout_* property I can set to this effect? Feb 29 21:34:52 this is further complicated by the fact that the bottom toolbar itself is part of a fragment, but the top toolbar is not Feb 29 21:35:08 so I cannot just exclude the bottom toolbar from the coordinatorlayout altogether Feb 29 21:36:29 how do i update time constantly that is in text view Feb 29 21:38:47 linuxuz3r, CountDownTimer Feb 29 21:38:58 Anyone know a good cloud test device for android? Feb 29 21:39:15 perlsyntax, you mean a CI type thing? Feb 29 21:39:37 yes Feb 29 21:39:41 I once spent a few hours trying to configure hours to work with ui tests Feb 29 21:39:45 failed miserably Feb 29 21:39:54 if you have a dedicated jenkins server it might do the trick Feb 29 21:40:01 though its hard for me to say Feb 29 21:40:04 i still waiting for google test lab. Feb 29 21:40:36 I eventually moved away from ui tests as they are far to limiting to be either reliable or worth it Feb 29 21:40:49 i see Feb 29 21:41:22 It sucks when i don't have a deive to test apk on. Feb 29 21:41:34 wait you can test the apk locally Feb 29 21:41:41 genymotion or an emulator or something Feb 29 21:42:00 what I'm saying is that UI tests can hardly provide any security at all Feb 29 21:42:06 i try genymotion you have to pay for it. Feb 29 21:42:10 if i rem Feb 29 21:42:11 besides the obvious "I didn't screw this view up" type thing Feb 29 21:42:23 and that you can test yourself Feb 29 21:42:30 well configure an emulator then Feb 29 21:42:35 they got a lot better over the past year Feb 29 21:43:53 i can't wait for android studio 2.0 to become stable Feb 29 21:44:58 > I eventually moved away from ui tests as they are far to limiting to be either reliable or worth it Feb 29 21:45:03 never? Feb 29 21:45:11 No automated tests isn’t good enough for most, though Feb 29 21:45:57 perlsyntax: why haven’t you gotten a device? Feb 29 21:47:42 becuase i don't have the money. Feb 29 21:47:53 justJanne, you would be very surprised Feb 29 21:48:10 every single one of the bosses/clients I have worked with Feb 29 21:48:16 have told me tests aren't worth it Feb 29 21:48:19 WTF Feb 29 21:48:24 yeah, that’s a huge WTF Feb 29 21:48:34 google cloud test lab come out in google i/o 2016 Feb 29 21:48:34 That’s a huge pointer towards quitting Feb 29 21:48:36 it’s a pretty big red flag, too Feb 29 21:48:39 ^ Feb 29 21:48:41 UI tests or all tests ? Feb 29 21:48:44 UI tests Feb 29 21:48:45 off Feb 29 21:48:48 ofc Feb 29 21:48:57 oh , meh Feb 29 21:48:58 i bet Feb 29 21:49:03 perlsyntax: Any cloud test lab still isn’t going to be good enough Feb 29 21:49:13 oh really Feb 29 21:49:17 And after spending weeks writing UI tests I do agree with the Feb 29 21:49:19 them* Feb 29 21:49:37 writing tests repeat 100x the same exact thing Feb 29 21:49:43 i use fabric but the hard part find people to test it out. Feb 29 21:50:22 perlsyntax: I would never trust an app written by someone who does not have at least one, but preferably 2 or 3 devices on their desk next to them Feb 29 21:50:46 s73v3r,I see Feb 29 21:50:46 s73v3r, thats very limiting, he might be just learning, and he shouldn't need a device for that Feb 29 21:50:47 jvrodrigues: We just had the luck at uni to get some people from a huge online retailer who explained to us how they do automated UI testing, and why they consider it important. Feb 29 21:51:13 if they’re just learning, that’s different. but if it’s something they’re going to release and I’m going to use? I stand by what I said Feb 29 21:51:36 justJanne, I do see them making sense if you are maintaining a product, but if you build a different app every 2-3 months like I do Feb 29 21:51:39 it mostly doesn't Feb 29 21:51:47 its tested at the end Feb 29 21:51:49 oh god, the agency mindset Feb 29 21:51:58 then it no longer goes through any more changes Feb 29 21:51:59 that is the absolute worst thing about working for an agency Feb 29 21:52:05 so, your apps are 100% maintenance free? Feb 29 21:52:11 How do i get monkey to work with android studio? Feb 29 21:52:12 and quite frankly, I don’t agree with it. Feb 29 21:52:20 some now are Feb 29 21:52:30 but mostly we do a few fixes here and there Feb 29 21:52:42 over the course of a few months after delivery Feb 29 21:52:44 then its done Feb 29 21:53:17 some people rather work in one big app for years Feb 29 21:53:21 others like it like this Feb 29 21:53:32 s73v3r,I thought adb come with monkey? Feb 29 21:53:36 that’s still no excuse for not testing Feb 29 21:53:41 its tested Feb 29 21:53:43 perlsyntax: I don’t think so Feb 29 21:53:43 if u nderstand it right. Feb 29 21:53:49 the ui is just not automated Feb 29 21:53:56 oh Feb 29 21:54:01 perlsyntax, can you not start an emulator? Feb 29 21:54:31 i can Feb 29 21:54:39 why is that not enough for you? Feb 29 21:54:42 I don't quite get Feb 29 21:54:46 you need CI? Feb 29 21:54:51 one in android studio 2.0 alot better i think. Feb 29 21:55:13 I really don't understand your problem there mate Feb 29 21:55:55 well, the problem is that the emulator is absolutely terrible Feb 29 21:56:09 that true Feb 29 21:56:11 its gotten a lot better Feb 29 21:56:44 not having been able to play with the beta version of AS, I can’t speak to that. But up through the released versions, its still absolute crap Feb 29 21:59:21 https://www.reddit.com/r/androiddev/comments/48ckyw/thrifty_thrift_for_android_from_microsoft/ Feb 29 22:00:05 microsoft is generally awesome Feb 29 22:00:48 :O Feb 29 22:03:23 i saw that, but I guess I’m not sure what Thrifty is Feb 29 22:04:01 i think its similar to gRPC Feb 29 22:04:10 I am also not quite sure what the implications of that are to android dev world Feb 29 22:04:29 yet another thing who’s only reason for existing is the idiocy of the dex limit Feb 29 22:04:44 (not commenting on the quality of the library; i’m sure they did a good job) Feb 29 22:05:59 so wait, this thrifty thing allows you to use android to communicate with software on another device or what? Feb 29 22:06:07 i wish MS phone would get better traction, they seem very dev friendly Feb 29 22:06:23 * g00s hasnt done MS stuff in a while though Feb 29 22:06:23 jvrodrigues: it’s just an implementation of thrift, which is just a generic RPC system Feb 29 22:06:33 what MS does for devs is nuts. Feb 29 22:06:37 microsoft phones, not so impressive Feb 29 22:06:48 they are investing crazy money on projects that include windows phone Feb 29 22:07:19 we got 10 windows mobile phone shipped to our company because we have a decently sized project in hands that involves WP Feb 29 22:07:33 mut i'm baffled why they only released the lumia 950s on AT&T, wtf was up with that Feb 29 22:07:45 whn i call run on a runnable inside onViewCreated Feb 29 22:07:57 my program crashes can someone help Feb 29 22:08:15 i cant seem to find the problem Feb 29 22:08:32 linuxuz3r, thats as vague as it gets Feb 29 22:08:43 the stack points to setContentView(layout.main); Feb 29 22:09:01 ? Feb 29 22:09:03 thats not the fragment though Feb 29 22:09:08 you’re gonna have to post the stack trace, and probably your code Feb 29 22:09:10 show us the stack trace Feb 29 22:09:24 at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) at com.xdlogik.paranoidshift.ParanoidShift.onCreate(ParanoidShift.java:26) Feb 29 22:09:30 Hey, not really android-related, but a question: Is there any performance reason to use an Oracle DB or IBM DB2 system for a new system you set up today? Assume that cost is not an issue. Feb 29 22:09:44 dlogik.paranoidshift.ParanoidShift.onCreate(ParanoidShift.java:26) Feb 29 22:09:45 linuxuz3r: use a paste service Feb 29 22:09:55 setContentView(R.layout.activity_paranoid_shift); Feb 29 22:09:58 oracle db is crap afaik Feb 29 22:10:09 justJanne can't speak for oracle, but DB2 is supposed to be pretty solid. we used informix, which was solid too Feb 29 22:10:28 the IBM guys were always trying to convince us to go from informix to db2 :P Feb 29 22:10:32 linuxuz3r, paste bin that bad boy Feb 29 22:11:16 g00s: how does it compare to more common, free databases, like H2? Feb 29 22:11:25 i liked informix, had good replication, uptime. very solid - thats why ivm bought them :P Feb 29 22:11:37 H2 ? Feb 29 22:11:41 thats an embedded fb Feb 29 22:11:51 well, it can also run standalone Feb 29 22:11:53 H2 is not that common Feb 29 22:11:54 i use H2 mvstore in my android app :) Feb 29 22:12:10 we looked into it especially because of its integrated abilities for at-rest encryption Feb 29 22:12:22 H2 reminds me of apache derby Feb 29 22:12:25 http://pastebin.com/9j3fdvhz Feb 29 22:12:26 I’m having trouble googling this: How would I have a layout that starts with some element above the view? Like if you pull down you’d see the element but it doesn’t start in view Feb 29 22:12:28 ok for dev maybe Feb 29 22:12:34 integrated at-rest encryption, and still support for fulltext search, is an important factor for us. Feb 29 22:12:51 (and because the previous versions used it, lol) Feb 29 22:13:25 H2 project has one issue, the bus factor - i think there is one lead dev Feb 29 22:14:35 the 1.4 rewrite has been going pretty slow too, like years ... Feb 29 22:14:54 i like mvstore but wouldn't really recommend it for anything else but a development setup like apache derby Feb 29 22:15:08 jvrodrigues: can you help Feb 29 22:15:24 if money is not an option look into informix. posetgresql is good but replication is not there yet from what i remember Feb 29 22:15:28 linuxuz3r, paste your xml Feb 29 22:15:51 justJanne and just avoid oracle, jesus christ Feb 29 22:15:53 linuxuz3r: It’s a problem with your XML file. Feb 29 22:16:07 no, don’t. Go with Oracle! Feb 29 22:16:08 http://pastebin.com/xyMvmRXf Feb 29 22:16:16 Maybe go with oracle Feb 29 22:16:17 * s73v3r counts his shares of Oracle stock Feb 29 22:17:08 i'd probably just take postgresql unless you knew its replication was not going to work out for you Feb 29 22:17:15 linuxuz3r,content_paranoid_shift show us this file Feb 29 22:17:30 well, the main factor for us is HIPAA (or rather, the German equivalent, g00s) Feb 29 22:17:30 oh wait justJanne you need to go web scale, MongoDB ! Feb 29 22:17:37 http://pastebin.com/Dz1u1Ue5 Feb 29 22:18:57 linuxuz3r: don’t paste things directly in here. It’s impossible to read Feb 29 22:19:02 linuxuz3r: just a guess but try changing `android:name` to `android:class` Feb 29 22:19:03 my oncreate has a runnable Feb 29 22:19:15 http://pastebin.com/Dz1u1Ue5 Feb 29 22:19:17 it’s not your runnable Feb 29 22:19:39 the stack trace is complaining about your XML Feb 29 22:20:41 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) at android.app.ActivityThread.access$800(ActivityThread.java:135) Feb 29 22:21:21 linuxuz3r: What did we just tell you? Don’t paste stack traces directly in here Feb 29 22:21:33 sorry Feb 29 22:22:59 you cant execute oncreate twice right Feb 29 22:23:08 linuxuz3r: did you try my suggestion Feb 29 22:23:16 yes didnt work Feb 29 22:23:20 you don’t get to choose when to call onCreate Feb 29 22:23:36 justJanne informix does encryption at rest, can be use for hipaa / EU directive on data protection Feb 29 22:24:05 hmm. Feb 29 22:24:20 ok thanks i think ill solve it myself Feb 29 22:24:26 is the jdbc driver just working as usual? Feb 29 22:24:32 linuxuz3r, are you extending fragment or support fragment? Feb 29 22:24:37 justJanne its IBM, jdbc works well :) Feb 29 22:24:59 then we could use pgsql in our demo as prod setup, but also tell them it /should/ work with their existing db systems. Feb 29 22:25:09 i had not problems with their JDBC driver - as long as you can find it on the IBM website, which is like bigger than the internet itself Feb 29 22:26:00 Well, yeah. Feb 29 22:26:10 yeah pgsql is great stuff, maybe it can meet your needs Feb 29 22:26:21 But currently the whole situation is a bit more strict, Feb 29 22:26:32 some companies will support it, with some extra secret sauce ontop Feb 29 22:26:34 after the NHS outsourced analysing of all their data to a company, Feb 29 22:26:41 still on the hospital service justJanne? Feb 29 22:26:46 and that company then – because their systems were too slow – Feb 29 22:26:58 imported ALL patient data from all british citizen into Google’s BigQuery Feb 29 22:27:04 xD Feb 29 22:27:24 well, their analysis was fast, but since then the hospitals and services are a /bit/ more cautious. Feb 29 22:27:42 And no one gets to touch data before having built and shown the system, and that it is safe. Feb 29 22:27:48 so all blokes up in the UK have their records in the google servers huh? Feb 29 22:28:02 all records before march 2014, yes. Feb 29 22:28:15 that is actually very funny Feb 29 22:28:19 plenty of stupid shit like that happening all the time Feb 29 22:28:32 yea, sadly we see stuff like that all the time Feb 29 22:28:39 or its outsourced / offshored and sold on black market Feb 29 22:28:45 I don't do much outside of android, but being cheap on development Feb 29 22:28:52 most medical machines even have their PIN hardcoded to 1234 – unchangeable Feb 29 22:28:55 gets you those kinds of results Feb 29 22:28:58 luckily Dräger doesn’t do that shit. Feb 29 22:29:20 yea Feb 29 22:29:31 hospital security is kinda nightmare, tons of gadgets hooked into network with little security Feb 29 22:29:33 well development is very expensive and some executives up at big companies don't think its worth it Feb 29 22:30:11 a huge group here in germany we worked with decided to outsource part of their development to romania Feb 29 22:30:15 in efforts to save money Feb 29 22:30:17 development is peanuts compared to the costs of what these subpar solutions can be Feb 29 22:30:33 hey all Feb 29 22:30:52 shit didn't go down well. Problems with server configurations no backups a LOT of important data lost Feb 29 22:31:02 for threading can runnable or thread object be used? Feb 29 22:31:13 hey skrite Feb 29 22:31:24 whats the difference between the two and Handler? Feb 29 22:32:00 what would be the easiest way to install this library into my project? I would rather not use a package manager https://github.com/halfhp/androidplot Feb 29 22:32:18 skrite: use gradle? Feb 29 22:32:27 you already should be using gradle anyway Feb 29 22:32:38 ok, so just add the line and it will download and install? Feb 29 22:32:41 the easiest way is to use the package manager. otherwise, i guess importing it as a subproject of your project Feb 29 22:32:53 skrite: yes. Feb 29 22:33:02 oh wow, androidplot still going eh ... it was popular a few years ago and then development halted Feb 29 22:33:04 ok, thanks Feb 29 22:33:33 last update was a couple of months ago i think Feb 29 22:33:36 skrite i'd look at mpandroidchart unless you need time series Feb 29 22:33:55 not even sure androidplot does time series Feb 29 22:34:02 unfortunatley that is what i need and why i had to look for something else Feb 29 22:34:23 skrite ah, so androidplot does time series ? Feb 29 22:34:28 it seems to be pretty popular. Feb 29 22:34:33 does it also have real time updates ? Feb 29 22:34:34 i think so, still reading about it. Feb 29 22:34:52 i posted an issue asking on github but have not been answered yet Feb 29 22:35:13 g00s, yes, i think so. they demo app had a dynamic chart Feb 29 22:35:29 hm , maybe i'll switch then Feb 29 22:36:14 skrite how is the interaction? mp had good and smooth pan / zoom Feb 29 22:36:19 as well as value selection, etc Feb 29 22:36:49 it does pretty well, i think Feb 29 22:37:11 check out their demo app, pretty cool. shows a lot of features Feb 29 22:37:34 linuxuz3r, a runnable is just an interface that defines the method run, a thread is a unit of execution that executes code in parallel to your main "code", a handler is a class that allows you to send messages and runnable to a particular threads message queue Feb 29 22:37:43 best I can resume it Feb 29 22:37:49 huh Feb 29 22:37:50 simplify it Feb 29 22:37:51 skrite yeah, looking at the github commit history ... like to see how alive projects are Feb 29 22:38:02 looks like no dev in 2015 Feb 29 22:38:56 maybe a little Feb 29 22:38:58 g00s, thats unfair, they "cleaned up widget demo" a while back Feb 29 22:39:05 lol Feb 29 22:40:53 I will actually have to implement graphs later this month, its the first time I ever do that on Android Feb 29 22:40:57 quite looking forward to it Feb 29 22:40:58 I love how I can just throw my gigabytes of .csv logs into an H2 in-memory db and analyse them easily. Feb 29 22:41:39 justJanne yeah, also check out the h2 google groups ;) lots of bellyaching about corrupt db :D Feb 29 22:41:42 I never used H2. Can you give me a run down of pros and cons in comparison to sql? Feb 29 22:42:02 H2 has an SQL front-end. Feb 29 22:42:08 It's just a different DB. Feb 29 22:42:10 its like apache derby, a all java sql db Feb 29 22:42:37 Just like SQLite vs. PostgreSQL vs. DB2 vs. MSSQL vs. MySQL vs. Oracle Feb 29 22:43:02 Although some of those also support other interfaces, esp. H2 and Oracle. Feb 29 22:43:17 ah I see Feb 29 22:43:19 I'm not sure if MSSQL also supports the Access interface. Feb 29 22:43:50 fair enough, don't think I will be using it anytime soon though Feb 29 22:44:29 anyways, going to bed now Feb 29 22:44:47 tomorrow theres a new girl in the office I need to at least pretend I'm fresh Feb 29 22:45:12 jvrodrigues gonna have to start taking showers regularly :) Feb 29 22:45:22 I know, it sucks. Feb 29 22:45:49 also no more farting during working hors Feb 29 22:45:51 hours* Feb 29 22:46:09 I told my boss that its bad luck to have a girl in an IT office Feb 29 22:46:10 especially if you have those mesh chairs :) Feb 29 22:46:16 he wouldn't listen Feb 29 22:46:27 queue the HR complaints Feb 29 22:46:28 cue Feb 29 22:49:32 i keep having this problem, where my app is multiple levels of master / detail. like L1 is master L2 is detail to L1 but master to L3, L3 is detail to L2 but master to L4 Feb 29 22:49:55 easy to just start a new activity, but on tablet kinda lame Feb 29 22:50:41 then 2 fragments on a tablet Feb 29 22:50:47 kinda need something like SlidingPaneLayout but with arbitrary # of panes. although i guess that could be bad for memory having all these levels Feb 29 22:50:48 and just slide over as your navigate down Feb 29 22:51:00 arbitrary number of panes is ugly Feb 29 22:52:11 g00s: so like Mac os' finder? Feb 29 22:52:18 justJanne yeah ... Feb 29 22:52:47 MS kinda did something like that in their Android OneNote app Feb 29 22:53:06 Yeah, I know. Feb 29 22:53:10 Pretty neat. Feb 29 22:53:22 i thought romain guy actually did a widget like that a while ago, but i can' tfind it Feb 29 22:53:58 the user may want to see L1 & L2, L2 & L3, L3 & L4 for example Feb 29 22:54:34 Maybe one of the floss file managers? Feb 29 22:54:41 sounds like a tree Feb 29 22:54:53 a tree nav sucks on a phone, and even on a tablet, not very good Feb 29 22:55:16 how do you get the top activity from a fragment Feb 29 22:55:41 just have 2 levels and animate/pan/whatever as necessary as you navigate Feb 29 22:55:46 and breadcrumbs at worst Feb 29 22:55:46 we could have an horizontal path three on top instead of this stupid bar Feb 29 22:55:52 We live in a more-than-one dimensional world, so tree nav is a thing, and can't always be represented by a one dimensional navigation. Feb 29 22:55:53 but no, we have this stupid bar :D Feb 29 22:56:01 adq, that's easy, change your toolbar Feb 29 22:56:26 sure it's doable, but then you are against the tide Feb 29 22:56:49 * pfn shrugs Feb 29 22:56:56 you don't have to be cookie cutter and always conform Feb 29 22:57:18 well, users are already lost with how "<-" behave.. so Feb 29 22:58:08 anyway, the major issue on phone is the amount os space on the screen, which is even reduced due to touch area and how fingers are big Feb 29 22:58:53 we would have a regular desktop screen with a precise (mouse) pointer, that would be less an issue to display more things in such tiny space and expand possibilities Feb 29 22:59:17 * deal with it * Feb 29 23:01:37 is that what your boss said? Feb 29 23:13:05 you know, it is crazy how easy it is, apparently, to write an onClick listener that gets executed when the activity is not running Feb 29 23:18:36 s73v3r yeah ... Feb 29 23:19:02 i can start press a button quickly and get multiple fragment / activities on the stack ... Feb 29 23:19:19 even in aosp apps i've never seen anything debounce that though Feb 29 23:19:34 and I’ve already got the dialog.show() thing wrapped in the isFinishing() stuff Feb 29 23:20:02 i wonder why FragmentBreadCrumbs was deprecated Feb 29 23:20:24 seems cool, don't think i've ever seen it in the wild though Feb 29 23:32:54 s73v3r: in your onClick handler add: Log.e(TAG, "onClick", new Throwable()); Feb 29 23:33:17 s73v3r: then check the logged stack of where the onclick comes from.. that or breakpoint it Feb 29 23:33:32 i suspect you have some code calling view.performClick() Feb 29 23:33:33 can’t. I’m dealing with a crash report Feb 29 23:33:57 s73v3r: you onClick is not being called because of user interaction. Feb 29 23:34:00 not directly Feb 29 23:34:07 its not possible. Feb 29 23:34:15 and unfortunately the crash report doesn’t seem to match up with the code currently Feb 29 23:34:26 i don’t know if I agree with you Feb 29 23:35:06 if the activity is finished. it doesnt deliver touch events. Feb 29 23:35:22 it could finish in the middle of the onClick handler Feb 29 23:35:27 no it cant Feb 29 23:35:29 but we don’t call performClick Feb 29 23:35:34 tell that to my code Feb 29 23:35:44 you can call finish() but its not finished Feb 29 23:36:12 s73v3r: have you tried accessiblity? Feb 29 23:36:24 how so? Feb 29 23:36:50 accessiblity will simulate clicks Feb 29 23:37:02 yeah, we’re not doing that Feb 29 23:37:10 this is a crash report from beta users Feb 29 23:37:18 :| someone can have accessibility turned on Feb 29 23:37:23 hm so .. anyone on here today, who has an idea of how to read ICO-files in android (and not just the first image, because BitmapFactory already does that) Feb 29 23:37:34 maybe, but it doesn’t look like that Feb 29 23:37:49 xD Feb 29 23:38:24 Aoi: https://msdn.microsoft.com/en-us/library/ms997538.aspx Feb 29 23:39:34 sqlite is built in on android right Feb 29 23:39:37 you will probably find many java lib already able to parse and extract ico as bitmap Feb 29 23:39:51 i don't even ask "why" :) Feb 29 23:40:13 favicons <_> Feb 29 23:40:27 linuxuz3r: yes, although if you want the latest features you'll want to add it in yourself Feb 29 23:41:10 and there aren't that many libraries @adq. I found image4j, but since it uses AWT, it's REALLY hard to port it over to android Feb 29 23:41:21 its a simple format Feb 29 23:41:28 whats the big deal? Feb 29 23:41:54 well there is a high variaty of icons :/ Feb 29 23:42:05 what? Feb 29 23:42:19 they can be 1,2,4,8,24 or 32 bit... compressed or uncompressed and up to I dunno .. 512x512 px Feb 29 23:43:00 Aoi.. you can just pass that info to BitmapFactory Feb 29 23:44:08 that is correct, but one ICO file may contain several images and from what I found I cannot tell BitmapFactory which one of those I want (let alone have it find out which ones are available) Feb 29 23:44:14 maybe Aoi, check the source of http://developer.android.com/reference/android/webkit/WebView.html#getFavicon() Feb 29 23:44:20 and i just showed you Feb 29 23:44:23 https://msdn.microsoft.com/en-us/library/ms997538.aspx Feb 29 23:44:28 its a simple format Feb 29 23:45:00 I don't think it's that simple - I have partly managed to port over some of the image4j classes, that deal with icons, and I assure you it's all but simple Feb 29 23:45:10 it is.. ive done it before Feb 29 23:45:17 it's a good exercise, just parse the structure Feb 29 23:45:29 and reconstruct each bitmap with the info from the struct via BitmapFactory as Napalm told you Feb 29 23:45:33 stop slacking Feb 29 23:46:45 well I think I know the offset of each of the icons in the ICO file.. so if I manage to get the color-depth, I might be able to cut that particular piece (stream-wise) and shove it into the BitmapFactory.. Feb 29 23:47:27 yup. and even then. its bitmap data.. to convert the components to int[] its a loop doing bit shifting Feb 29 23:49:14 it's just that I have never done it before and am not exactly sure how I'd go about it :/ it's not just some activity or some usual java stuff - I also barely ever used bit-shifting operators in java ever.. Feb 29 23:49:32 Aoi: then nows the time to learn Feb 29 23:51:05 I guess you're right.. I already thought about making BitmapFactory do the work, but provide proper inputstreams.. but it is far from as easy as I thought :D Feb 29 23:51:41 Aoi: why do you need to use input streams? BitmapFactory.decodeByteArray Feb 29 23:52:05 Also adq - WebView getFavicon only forwards the request to the WebViewProvider, but that one is an interface and I am not sure which class is implementing it by default (if any) Feb 29 23:52:27 why do you even want to load ico files Feb 29 23:52:28 Napalm - I do not have to, but I am downloading the favicon from a source after all, so I thought I might as well use that Feb 29 23:53:03 pfn: he wants to dispaly favicon.ico Feb 29 23:53:07 because for what I do it is like.. the only thing that might represent the website in a visual way Feb 29 23:53:10 why... Feb 29 23:53:27 pfn: who knows.. perhaps he's decided to write his own browser Feb 29 23:53:30 :|Z Feb 29 23:53:51 the websites I am querying (they provide REST API) do not have any other type of icon, but all of those I checked have a proper favicon set in proper place Feb 29 23:54:25 and android loads ico files ok, according to bitmapfactory Feb 29 23:54:35 it loads them okay - but only the first file Feb 29 23:54:48 you mean the first size, there's only 1 file Feb 29 23:54:50 err first image in the ICO file - no matter the resolution or anything Feb 29 23:54:57 are you sure about that Feb 29 23:55:21 well I have not found any kind of override for BitmapFactory's decode-methods or Bitmap's createBitmap methods Feb 29 23:56:04 how are you sure it only loads the first image Feb 29 23:56:04 so if I could get the bytes, determine the image offsets within the file and just put in the bytes for just that image, it might work Feb 29 23:56:18 well.. let me rephrase: it displays just the first one Feb 29 23:56:38 how are you sure Feb 29 23:56:46 how can I be sure? Feb 29 23:56:59 how are you sure that it's only taking the first image, instead of the best image to fit the size you're rendering Feb 29 23:57:06 I imagine bitmapfactory should treat ico like mipmaps Feb 29 23:57:42 oh .. I have had a ico file with 16x16 and 32x32.. so IF it was basing its decision on the density or anything, it'd have picked the bigger (or rather: the biggest) image Feb 29 23:58:05 how are you sure it picked the 16x16 Feb 29 23:58:30 I have an activity showing the image in an imageview plus I checked the width and height Feb 29 23:58:44 also I think I read something about this during the past few days on SO Feb 29 23:58:47 you chose wrap_content Feb 29 23:58:58 why don't you choose match_parent or an exact size and see what it chooses Feb 29 23:58:59 no I specified a fixed width and height Mar 01 00:00:28 app request: Fake SD Card Tester -- Verifies the claimed capacity of SD cards, USB flash, and other storage memory, to determine if the card is a knockoff, counterfeit or fake. It does this by filling the card with thousands of files then reads and verifies those files' integrity. Mar 01 00:01:18 see h2testw for Windows Mar 01 00:01:38 i don’t think this is the right place for that Mar 01 00:04:08 Aoi, and you choose what and identified that it didn't match how Mar 01 00:05:10 Well I had a breakpoint when the Bitmap image was loaded and checked its size.. checking color is pretty much useless, because ARGB_8888 is used pretty much everywhere Mar 01 00:12:11 still not saying much Mar 01 00:12:17 could be a mipmap Mar 01 00:12:20 ok I just inspected the bitmap's getByteCount() and it returns 1024 and a size of 16x16 Mar 01 00:12:37 so even if BitmapFactory indeed fetches all data - it only uses the first part of it Mar 01 00:14:35 ah .. and now I also see visual blurs on the image as it is scaled.. so yeah.. I am pretty sure it only loads the first what seems to be valid data and neglects the rest Mar 01 00:20:48 I'm using google maps and I've set a custom icon on markers on the map Mar 01 00:21:02 * pfn shrugs Mar 01 00:21:15 load up your jni lib of choice and load it then Mar 01 00:21:21 imagemagick is probably platform agnostic enough Mar 01 00:21:34 around each marker is a radius and the icons aren't appearing dead center within the radius Mar 01 00:21:54 the icons appear up a little higher vertically from the center Mar 01 00:22:11 so is there anyway to get a marker to be dead center within a radius? Mar 01 00:23:37 lexton: you need to set the UV of the marker to 0.5, 0.5 Mar 01 00:24:03 lexton: https://developers.google.com/android/reference/com/google/android/gms/maps/model/MarkerOptions.html#anchor(float, float) Mar 01 00:24:56 Napalm, I'll try that, thanks for the info Mar 01 00:25:25 @pfn I decided to load the favicon into a memoryfile and operate from there. I think this could work if I manage to find the proper offset :) anyway - thanks Mar 01 00:50:48 https://store.google.com/product/goggletech_c1_glass Mar 01 00:52:57 woho I am already able to read part of an ICO file.. but for some reason I am often receiving EOFException even though I shouldn't ... but at least some progress! :D Mar 01 00:57:13 good night Mar 01 00:59:07 Aoi, just get imagemagick, and jni it Mar 01 00:59:15 or parse it yourself Mar 01 01:03:12 but I guess you're doing that Mar 01 01:21:49 would anyone here be able to help me with some older android ssl code? Mar 01 01:22:33 https://gist.github.com/agargiulo/ee18ea08db19e74ebf2c is the log Mar 01 01:22:49 code: https://github.com/agargiulo/gatekeeper-android/blob/master/src/edu/rit/csh/agargiulo/Gatekeeper/HttpsPostAsyncTask.java Mar 01 01:30:25 how often do you have late nights where you work? Mar 01 01:31:36 too often lately Mar 01 01:31:50 all four of our test servers broke today Mar 01 01:31:58 I was twiddling my thumbs for 3 hours Mar 01 01:32:26 team lead is urging me to push my code without first running and validating it myself Mar 01 01:33:00 tell your team lead to shove their head up their ass Mar 01 01:33:24 its the whole team dude. I'm going to polish up my resume very soon Mar 01 01:34:32 trying to get an app in the Play store first, my professional experience is pretty limited Mar 01 01:35:14 tell the team to shove their heads up their asses. And don’t stay late anymore Mar 01 01:35:37 it’s this half-assed shit they’re trying to do which is a factor in the late nights Mar 01 01:35:57 pretty much, gtfo once the day is over Mar 01 01:36:19 oh, and I don't work late because a job demands it Mar 01 01:36:23 well I'm at home Mar 01 01:36:38 i mean, that’s just good adivce regardless if your team is pushing you to do dumb stuff Mar 01 01:37:24 I don't understand this huge sense of urgency Mar 01 01:37:31 man, wish maven central sync didn't take forever... Mar 01 01:37:54 some marketing droid with his butt poking out his collar is going to get a bigger bonus if they release soon Mar 01 01:38:02 its a bank app Mar 01 01:38:09 none of these features are groundbreaking Mar 01 01:38:21 doesn’t matter Mar 01 01:38:22 so if you have to do some stuff next sprint BFD Mar 01 01:38:34 Fast, Good, Cheap. Pick two Mar 01 01:38:44 nope. all three. Mar 01 01:38:46 and then some Mar 01 01:39:00 so is it like this everywhere? Mar 01 01:39:08 no. just in shitty places Mar 01 01:39:26 anyway its my team in particular thats fucked. Talking to other devs there, their teams are in so much better shape Mar 01 01:39:47 have you tried to get onto a different team? Mar 01 01:39:52 my project has been passed through three different consulting firms and lots of offshore Mar 01 01:40:02 sometimes it’s the company, sometimes it is just one team full of shitheads Mar 01 01:40:09 s73v3r: not yet. Thats another option, except I like Android Mar 01 01:40:30 I could probably join a REST team Mar 01 01:41:17 android can get messy but I would rather stay away from web Mar 01 01:42:24 it just sounds like you need to get out of that team ASAP Mar 01 01:46:36 absolutely going to work on getting my ducks in a row Mar 01 02:34:28 shit spelling mistake in my bug title, dumbass Mar 01 02:34:41 doesn't seem like you can correct it Mar 01 02:37:51 anyone used the Fabric sdk for Twitter access? Mar 01 02:38:58 trying to figure out if the adapters they provide can be used to create a list with data thats not twitter as well Mar 01 02:39:31 their android app looks pretty nice ... Mar 01 02:39:42 dont understand why google couldn't do something like that Mar 01 02:39:42 whose? twitters? Mar 01 02:40:25 http://venturebeat.com/2016/02/23/twitter-launches-fabric-app-for-ios-and-android/ Mar 01 02:40:59 oh right the fabric app. havent checked it out yet... Mar 01 02:41:09 apple has an app too Mar 01 02:41:19 for what Mar 01 02:41:31 developers to check stats on their listings Mar 01 02:42:07 hm thats neat Mar 01 02:42:08 kinda like a mobile version of the developer console Mar 01 02:42:43 google has cloud console for GCP, but yea something for the play store console would be kinda cool. Mar 01 02:42:48 wouldnt really use it though.. Mar 01 02:43:15 i would, especially to respond to comments Mar 01 02:43:20 when you are not at the machine Mar 01 02:44:20 g00s: werent you checking out the new day/night theme thing that was released? Mar 01 02:44:31 doing a small redesign and thinking about looking into using that Mar 01 02:45:03 probably won't use it; i have 1 light theme and 3 dark themes - doesn't really help there Mar 01 02:45:22 i think it was probably much more useful pre L - having the -night qualifier for PNGs etc Mar 01 02:45:47 but now, you just flip colorControlNormal or something in your theme and much the same thing Mar 01 02:46:05 mmk cool will have to look into it Mar 01 02:46:06 and just have all the vector drawables say android:tint="?attr/colotControlNormal" **** ENDING LOGGING AT Tue Mar 01 02:59:58 2016