**** BEGIN LOGGING AT Tue Jun 07 02:59:58 2016 Jun 07 03:09:49 same thing Jun 07 04:15:23 is it possible to set the number of invisible views to call getView() on in a baseadapter? Jun 07 04:18:38 if someone has a clue on this http://stackoverflow.com/questions/26069488/how-do-i-display-notification-pages-with-expandable-custom-layouts-in-android-we it would be very appreciated :D Jun 07 04:31:52 so its not possible to set the size of the compoundDrawable in xml ? Jun 07 04:34:02 i have a vector drawable and would like to use it as a compoundDrawable on a Textview, rather that doing something lame like Jun 07 04:34:15 but i have to figure out how to set its w/h in dp Jun 07 04:35:06 set the height in the vector drawable Jun 07 04:35:22 it only uses its intrinsic height Jun 07 04:45:30 pfn ok, lets say i have 8 icons in my nav drawer. i also show that icon as an 'empty view' with some text, only difference being size (nav is small, empty view is large). so i can duplicate those 8 icons with different sizes ... or is it simpler to instantiate the Drawable in java and set the intrinsic bounds? i can't find any examples of that Jun 07 04:48:28 from the "age of vectors" blog "First we had to create a Resources wrapper which overrides the getDrawable() call. For the purpose of this blog post we’ll call it ResourcesWrapper." Jun 07 04:50:10 hm, maybe ResourcesCompat.getDrawable() Jun 07 06:01:45 the more you know http://blog.nimbledroid.com/2016/05/23/memory-leaks.html Jun 07 06:02:39 do you really want to know? Jun 07 06:02:45 live in denial. Jun 07 06:06:29 is there any tool to find out where exactly memory is leaking.. Jun 07 06:12:02 min2, leak cannary ostensibly Jun 07 06:12:12 ive never used it, but I think that is the idea of it Jun 07 06:12:33 also, you can use the profiling tools in AS Jun 07 06:15:13 I am using square leak cannary, but not so effective so far Jun 07 06:15:48 i will try profiling tools I have never used this one.. Jun 07 07:00:18 wtf, i get NotSerializableException for object which is serializable and all its values are seralizable as well Jun 07 07:04:29 HI all. I want to create a RecyclerView with this kind of structure http://postimg.org/image/it750rfqj/ any advice on this? How can I make the last items (3 in this image) be like a list. Jun 07 07:05:57 * I also need headers / sections :) http://postimg.org/image/na4jwk0a3/ Jun 07 07:09:31 I was thinking about nesting RecyclerViews. Is this a good / bad idea? Jun 07 09:13:14 anyone please https://gist.github.com/aj07/54db84129929577fde58f23c2c282441 Jun 07 09:13:33 here i want to get accept date only prsent onwards not of past Jun 07 09:13:44 is it good to set 0 or 1 using setTag for a textview how expensive this operation? Jun 07 09:15:09 i have multiple columns in a screen on column header click I am performing sorting of column data so for later purpose can i maintain this using Tag Jun 07 09:42:02 my recyclerview doesn't retain its scroll position when I pause and resume the activity -.- Jun 07 09:42:09 it offsets by a little bit Jun 07 09:55:45 hello, does anyone know if odroid can run android properly yet like a normal tablet/device Jun 07 09:55:51 Hey all Jun 07 09:59:52 or anyone know where i should go about building an android tablet? Jun 07 10:00:10 having issues using svg vector files for ImageView, is ImageView the right thing to use for vectors? Jun 07 10:00:32 namely just sourcing the relevant dev board, the rest is just, beyond performance, having android run properly Jun 07 10:02:35 sad-pone: There is boards like the Raspberry pi that run android Jun 07 10:02:46 are* Jun 07 10:03:18 i didnt think it officially supported android Jun 07 10:03:32 sad-pone: Not on the Raspberry pi no. Jun 07 10:03:39 But there is boards "like" the pi Jun 07 10:03:43 ah Jun 07 10:03:59 yeah im looking for one that is both strong and able to run android well Jun 07 10:04:32 sad-pone , Banana Pi, Beaglebone Black,ODroid dev board,Minnowboard Max Jun 07 10:04:36 im hearing things like, yeah, it runs, but, its not useful beyond being able to boot Jun 07 10:04:56 and maybe browsing the web or playing a video Jun 07 10:04:57 Mainly because of hardware you need to have Jun 07 10:05:13 Like Decent LCD/OLED panel Jun 07 10:05:17 Touch screen Jun 07 10:05:22 Someway of holding it together Jun 07 10:05:32 May aswell just buy an off the self tablet Jun 07 10:05:54 im not talking about as a tablet, i mean period, running android like a tablet Jun 07 10:06:50 i.e people say many dev boards are buggy and cannot really run the OS to the extent a purpose built device like a phone or tablet could, which is flawlessly Jun 07 10:07:53 Not really had a problem with the ones I've used. Jun 07 10:08:17 Check reviews for the ones I listed Jun 07 10:08:25 Maybe they all suck and I just have yet to realise Jun 07 10:17:08 What layout component is best to use in terms of performance? I know people have said here previously to avoid LinearLayout Jun 07 10:26:27 what Jun 07 10:31:06 Would anybody in here recommend Cordova for android ? Jun 07 10:33:35 unlikely Jun 07 10:42:37 Zharf: Yeah I had been told before in this IRC chat that LinearLayout isn't a great layout component to use Jun 07 10:43:10 you should've asked for an explanation Jun 07 10:43:11 Any had issues with the Vector Asset Studio where it doesn't input the colors into the vector image? Jun 07 10:43:33 Zharf: I think I was given one but forget now, was quite some time ago Jun 07 10:43:42 FrameLayout seems the most lightweight Jun 07 10:44:00 of course it does Jun 07 10:44:05 it doesn't do much Jun 07 10:44:40 markyosullivan, do you have a problem with layout performance or are you just trying to optimize prematurely Jun 07 10:44:49 Optimize prematurely Jun 07 10:44:55 don't Jun 07 10:44:58 Why? Jun 07 10:45:21 would it not be better to try and optimize as much as possible at the start to avoid complications? Jun 07 10:45:27 premature optimization is root of most evil Jun 07 10:45:42 you won't know what to optimize until you have something to measure Jun 07 10:46:33 as long as you're not ending up with a very deep layout structure, it's unlikely that you'll run into problems Jun 07 10:46:40 Zharf, true but by prematurely optimizing, then it means you can rule out it being the issue in the future Jun 07 10:46:48 Okay, super :) Jun 07 10:47:02 Have you guys tested out Constraint Layouts? Jun 07 10:47:07 nope Jun 07 10:47:43 Just realised it's in AS 2.2 Jun 07 10:47:50 I'm on 2.1 Jun 07 10:50:17 I can't figure out why recyclerview offsets its scroll in this thing by a little bit sometimes Jun 07 10:51:17 Zharf: do you have a TextView with isTextSelectable set to true? Jun 07 10:51:28 no Jun 07 10:51:39 it just has images, all of which are the same size Jun 07 10:52:21 Zharf: did you set setHasStableIds to true and return a unique id for each item from getItemId() Jun 07 10:52:29 in your adapter Jun 07 10:52:34 no Jun 07 11:03:47 Zharf: try it Jun 07 11:06:16 I did, didn't help Jun 07 11:36:16 anybody know how can I changed the ActionBar up/back indicator's onlick background/style from sqaure to circle? Jun 07 11:53:16 Napalm, adding a scroll listener and tracking the scroll position reveals the issue, when scrolling down it suddenly jumps a little bit, then I scroll back up and the scroll position doesn't end up at 0 as expected... not doing image loads with picasso seems to not trigger this issue -.- Jun 07 11:54:22 Zharf: could be how your handling the picasso stuff then Jun 07 11:56:22 could be, but I'm not doing anything special Jun 07 12:15:32 Zharf I've seen videos comparing Glide and Picasso where Glide processes the images quicker so it doesn't jump although I'm pretty sure it's down to configuration settings for Picasso Jun 07 12:20:08 hi all Jun 07 12:20:18 Napalm: are you around ? Jun 07 12:20:23 yus Jun 07 12:21:50 do you remeber that Media player you wrote for me _ Audio works great - thanks - I tried setting up video and it plays sortof.. but the sound on it is like its dragging (like the old cassetes used to ) Jun 07 12:21:54 any ideas? Jun 07 12:28:14 fels: what kind of media player is it? Jun 07 12:28:25 you got a screenshot? Jun 07 12:28:58 its one that Napalm wrote - Jun 07 12:29:10 fels: pastebin your edited wrapper Jun 07 12:29:18 fels: are you running this in a VM? Jun 07 12:29:41 Napalm: yes - using Genni motion Jun 07 12:29:53 I've not tried it one a device yet - Jun 07 12:29:57 fels: is your host Linux? Jun 07 12:30:05 Mac Jun 07 12:30:26 fels: well the audio choppyness is probably just a performance issue with the VM on your machine Jun 07 12:30:39 fels: I get that when trying to build whilst playing audio in Geny Jun 07 12:30:50 fels: try it on a real device and see Jun 07 12:31:02 ok - Napalm I'll try it back soon ! Thanks Jun 07 12:32:13 fels: you could probably fix it by 1. bring the resolution of your VM down and 2. make sure you have given the VM 2 or more CPU cores Jun 07 12:32:17 Napalm: maybe you can help me finish my media player Jun 07 12:33:40 I got most of it done, a few more functionalities needed and a few bugs Jun 07 12:33:50 another option is that you're playing audio with the wrong samplerate Jun 07 12:34:39 Zharf: he's not pushing the audio to a track manually he's using MediaPlayer which sets that up correctly. Jun 07 12:35:32 Napalm: here's the code I modified (from you orgiinally) to add video. I added the surface holder call back and some other stuff to stop an already playing item : http://pastebin.com/FpwUG495 Jun 07 12:36:36 fels: and its all messed up again Jun 07 12:36:42 lol Jun 07 12:38:18 fels: well it wont cause the bug your seeing, so dont worry about that Jun 07 12:43:45 Napalm: thanks - sorry for messing it up - Jun 07 12:44:51 btw - some testers are saying to me that they do'nt see the icon on the home page - its the standard android robot one Jun 07 12:48:49 Napalm: the video dragging issue was VNM - thanks - Jun 07 12:54:11 so how do i set the surface to the size of the video? Jun 07 12:59:08 Napalm, only thing I can say about this offset issue with recyclerview and picasso is that I think that something is causing bind or layout or something to take too long randomly and it gets off sync, preloading the images into picasso cache seemed to help Jun 07 12:59:44 Zharf: you havent pasted any code. But I can guess what what the problem is. Jun 07 13:01:20 I'm not sure what kind of code I'd write to reproduce the issue outside of this application, this layout is pretty complicated :p Jun 07 13:13:49 Hi guys! Ok, so I have recently read this Dianne Hackborn's article ( https://plus.google.com/+DianneHackborn/posts/FXCCYxepsDU ) where she says " For example, if you want to start some background operation to download data for your UI, you should not use a service for this -- it is actually important to not be telling the system to keep your process running while doing this, because it really doesn't need to be and the system Jun 07 13:13:50 would be better off having more freedom in managing it with other things the user is doing." Jun 07 13:14:01 Zharf: do you know the image width and height before you try and request the image with picasso? Jun 07 13:14:25 Napalm, yep, I hardcoded them in too Jun 07 13:14:30 And to this moment I usually used Service+thread or IntentService for my http requests Jun 07 13:14:30 it didn't help Jun 07 13:14:59 And now I'm confused why is she considering it as a bad practice Jun 07 13:15:15 Where you guys usually process your http requests in your apps? Jun 07 13:15:30 AlexBerdnikov: she's saying dont use a background service.. your service should use Service.startForeground Jun 07 13:19:13 hithere Jun 07 13:21:33 Napalm: I'm sorry, but doesn't Service without background thread block the UI? Jun 07 13:21:50 omg Jun 07 13:21:59 is it possible to "decompile" content of loged AdapterView adapterView? Jun 07 13:22:10 adapterView: android.widget.ListView{425bc7c8 VFED.VCL ......ID 52,16-1600,1462 #7f0f0072 app:id/mListView}, Jun 07 13:22:38 AlexBerdnikov: you have a service it has a background thread or whatever and it calls startForeground Jun 07 13:23:13 Napalm, ok got it thanks. Jun 07 13:23:17 and adapterView: android.widget.ListView{425bc7c8 VFED.VCL ...P.... 52,16-1600,1462 #7f0f0072 app:id/mListView}, Jun 07 13:24:35 the difference between those two is that first one came from onItemClickListener, second one from onItemLongClickListener Jun 07 13:25:00 Napalm, but why then she states that "...if you want to start some background operation to download data for your UI, you SHOULD NOT USE A SERVICE for this " ? Jun 07 13:25:03 does anyone know what is that difference? Jun 07 13:25:31 AlexBerdnikov: yea, for your UI Jun 07 13:25:49 but if its a sync of some sort thats a different case Jun 07 13:26:02 same for View Jun 07 13:26:03 onItemClickListener, view: android.widget.RelativeLayout{426b5960 V.E..... .....AID 0,158-1548,364} Jun 07 13:26:03 onItemLongClick...., view: android.widget.RelativeLayout{426b5960 V.E..... ...P.A.. 0,158-1548,364} Jun 07 13:29:56 hi, how i can create a google maps with offline map? Jun 07 13:31:05 I'm getting shocks from this usb cable -.- Jun 07 13:36:25 AlexBerdnikov, I'd strongly disagree with that claim; downloading data in the background, especially when it takes so long the user may get bored and go to another app while it downloads, is exactly the purview of either a service or of the downloadmanager Jun 07 13:37:11 yeah, i'd agree w/ napalm. if you're doing a fast fetch of something purely ui-centric, thread it and update the ui as it completes. if you're doing a big download, however, dlmanager or service Jun 07 13:40:14 dragorn: thank you for your reply. I actually always used Services in a manner described here https://www.youtube.com/watch?v=xHXn3Kg2IQE with some variations from time to time, but still keeping that idea... Jun 07 13:40:36 And now another Googler says its a bad practice... Jun 07 13:41:13 So I'm kinda confused of such contradiction between two smart people both knowing their shit Jun 07 13:45:38 if download is going to be longer than usual, use service [solved] Jun 07 13:45:44 AlexBerdnikov, well, read their reasons i guess an decide what fits your model Jun 07 13:45:58 AlexBerdnikov, i wouldn't use a service to download images for a listview, probably Jun 07 13:46:07 AlexBerdnikov, but if i had to download a 20 meg data pack, i sure would Jun 07 13:46:57 * Zharf sighs Jun 07 13:48:16 dragorn, in that I/O speech he says about REST client implementation, and usually your responses are even lesser than images... Jun 07 13:48:30 But he still uses a Service for that Jun 07 13:48:43 precaching the images in picasso helped the scrolling situation but when I scroll to the bottom of the list, go away from the app and come back which triggers the data reload for the adapter and then setting the data again for the adapter, the recyclerview doesn't stay at the bottom of the list, it jumps up a little bit -.- Jun 07 13:48:44 there's many ways to success Jun 07 13:49:00 I say do your best to follow good practices, and if it works well, it's fine Jun 07 13:49:26 anyone having used apktool? Jun 07 13:49:33 Zharf, hi - did you see my question? :) Jun 07 13:49:49 dragorn, ok I'll ask you straight what approach you personally use when you need to make some requests to your http-based API? Jun 07 13:49:50 and unless your app sucks to use, or drains the life out of the phone or something, you're doing fine Jun 07 13:50:10 bolovanos_, no Jun 07 13:50:30 AlexBerdnikov, if it's rest-ish-stuff and only used in one activity, i do threads. if it's used across the entire app, I use a service and the activities get their data from the backend service. if it's a big download, I either download it in a service or use the download manager Jun 07 13:50:42 I am having an error, can anyone help me out. please Jun 07 13:50:43 http://paste.ubuntu.com/17088774/ Jun 07 13:50:46 Zharf, can you pls scroll / search for it maybe you will know the answer... Jun 07 13:51:31 dragorn, ok thank you. You really helped. Jun 07 13:51:39 bolovanos_, did you look at View.java source code? Jun 07 13:52:10 bolovanos_, http://d4c5215722ecf48a.paste.se/ Jun 07 13:52:33 Zharf, actually in my case I have looked at ListView.java widget... where this view is originating from Jun 07 13:52:46 Zharf, but I am not quite clever from it Jun 07 13:53:38 Zharf, toString is called automatically when using log.X(TAG, object), isn't it? Jun 07 13:54:26 Zharf, nice there are those flags! :) Jun 07 13:55:03 Zharf, thank you! Jun 07 14:06:21 http://paste.ubuntu.com/17088774/ Jun 07 14:06:23 I am having an error, can anyone help me out. please Jun 07 14:09:31 linearlayoutmanager seems to force alignment of the top most item to the top of the view when I call notifyDataSetChanged on it.. Jun 07 14:20:59 Zharf, strange is that in my case printet View object has V before E but in toString is E before V Jun 07 14:21:20 Zharf, forget it - I have found that first V :) Jun 07 14:30:49 Hello, What about dynamic and static fragment? Is static fragment those that are declared their classes in xml as android:name="some.package.MyFragment" and dynamic those created by fragment menager ? Jun 07 14:31:39 I have a custom C++ compiler that I'm using with NDK builds. With the make based system, I just installed my compiler into the toolchains directory then defined my own rules in my Makefile for building object files so that my own compiler would be called. Jun 07 14:31:40 I'm now trying to figure out how to make it integrate nicely with the Gradle system, but it seems that it only supports two hard-coded compiler toolchains: clang and gcc. How can I integrate my custom NDK toolchain with the Gradle build system? Jun 07 14:37:18 im looking at implementing GCM for my app. reading through InstanceID docs, am i correct in stating that every device which installs my app will have a unique instance id? or is the instance id the unique to just the app? Jun 07 14:37:47 it mentions each app instance but im not sure if that means each device... Jun 07 15:16:46 cw_inside, why not just add an Exec task that invokes your own make? Jun 07 15:21:46 Mavrik, there is no Makefile to invoke in gradle builds? Jun 07 15:22:16 What do you mean? Jun 07 15:22:55 Gradle builds are defined by a gradle.build file, not a Makefile Jun 07 15:23:17 Yeees? Jun 07 15:23:33 Gradle doesn't have included make binary to invoke Makefile format files, no. Jun 07 15:23:40 If that's what you're asking. Jun 07 15:24:36 Inside the build.gradle file, inside the ndk section, I can write this: toolchain = 'clang' or I can write this: toolchain = 'gcc' but I cannot write this: toolchain = 'my-own-toolchain' Jun 07 15:24:47 It's hard-coded to work with only clang or gcc. I can't add my own custom toolchain in there Jun 07 15:25:50 I'm the developer of the custom toolchain, and I want users to be able to easily use it in their Android NDK projects Jun 07 15:26:18 But I can't find any way to integrate a toolchain other than "clang" or "gcc" into the NDK gradle build system Jun 07 15:27:23 Is anybody else able to use StrictMode with Google Maps? Trying to enable main thread disk read errors causes total chaos, the Maps API does a ridiculous amount of disk I/O on the main thread Jun 07 15:29:54 Heya, has anybody used Google Protobuf or gRPC in a cocos2d-x project ? Jun 07 15:31:52 cw_inside, you can't. That support is experimental, incomplete and shouldn't even be used right now. Jun 07 15:33:03 I'm trying to use a GridLayout with two columns, the second column extends beyond the screen border, how can I fix it? Jun 07 15:34:41 Mavrik: regardless, all of the NDK samples now use gradle build scripts, and gradle seems to be the only way to work with Android studio, so that's what users are now using Jun 07 15:35:03 And? Jun 07 15:35:24 That doesn't change the fact that support is hardcoded into the plugin. Jun 07 15:35:41 hi, how i can create a google maps with offline map? Jun 07 15:35:54 I guess you could use the new (also broken and non-finished) CMake support. Jun 07 15:36:05 t0th_-_, you can't really, use OSM Jun 07 15:36:32 Mavrik: And... if I want to support Android Studio, which I do, then I need a way to somehow use a different compiler toolchain inside Gradle NDK build files. I'm well aware that the clang and gcc toolchains are hard-coded, hence why I'm asking if anybody has any other ideas Jun 07 15:37:54 Android Studio carries it's own CLion C++/C engine which is fully dependant on LLVM Jun 07 15:38:18 As I said, try your luck with the CMake external build in 2.2 preview Jun 07 15:39:50 Mavrik: presumably that's for use within the IDE itself, not for compiling the source files into the final binary (since you can still specify gcc)? Jun 07 15:41:10 GCC has been deprecated and is fully dropped in NDK12. Jun 07 15:41:15 I know Jun 07 15:41:18 But yes, that's for code analysis and highlighting. Jun 07 15:41:41 In that case, that's fine. I only care about compilation of the source into the final binary Jun 07 15:54:53 can somebody help me with GridLayout? I'm trying to control the column width how can I do it? Jun 07 16:01:41 Just noticed, NewRelic is the reason our builds take 3 minutes - Jun 07 16:01:56 Is there a clever way to not include a plugin when you're not building a release :/ Jun 07 16:04:37 explodes, well gradle files ARE code Jun 07 16:04:45 so put an IF around it? Jun 07 16:06:21 We use environment variables to control that Jun 07 16:10:38 whatup whatup Jun 07 16:11:19 I have an ListView mListView; Jun 07 16:11:44 Mavrik noice Jun 07 16:11:46 and I am setting listeners on it Jun 07 16:11:58 setOnItemLongClickListener / setOnItemClickListener Jun 07 16:12:47 I have and dialog window which appears on LongClick Jun 07 16:13:13 when I use this dialog (or any other I have) display rotation kills the app Jun 07 16:13:20 I know why it is killing the app Jun 07 16:13:57 problem is why is it doing only on onItemClickListener Jun 07 16:14:03 Mavrik: I can't figure out how to wrap "apply plugin: 'newrelic'" with an "if" Jun 07 16:14:08 and not in onItemLongClickListener Jun 07 16:14:13 any idea? Jun 07 16:14:24 what is the difference between those two Jun 07 16:18:28 Let alone, if ext.bulidType == 'release' Jun 07 16:31:45 bolovanos_: what is the stack trace..? Jun 07 16:39:21 stacktrace is saying "IndexOutOfBoundsException" which is caused by known issue (on rotation, listView is recreated empty) and in some cases (like this long vs normal Click, or confirming dialog while rotating) getItemId in StableArrayAdapter asks for Id of items in listView visible before rotation, but in that time there is less (or none...) items, because those will be recreated little in an on going "onXYZ" (life cycle method... ) :) Jun 07 16:39:47 explodes, ^ Jun 07 16:40:15 I will solve this issue bye recreating this listView in earlier onXYZ method Jun 07 16:40:57 my question is is this happening on those occasions (long vs normal Click, or confirming dialog while rotating) Jun 07 16:43:36 explodes, http://pastebin.com/eY5n5vb7 Jun 07 16:45:23 bolovanos_: this only happens when you've shown a dialog with long click? Jun 07 16:45:53 I don't like it when people suggest something completely different than what I'm using, but RecyclerView is solid Jun 07 16:46:06 Eventually you'll want to know how to use it Jun 07 16:46:46 and if I rotate this dialog while confirming it (must be done simultaneously) Jun 07 16:47:08 that confirm rotate error is replicable on both long / normal click Jun 07 16:52:07 guys quick Q Jun 07 16:52:45 I have a main activity that adds layer to its two fragments, the SideBarFragment and MapFragment. It's a statics fragments. I tried to change bought to dynamic, than set ratainInstance to true, but still getting a SideBarFragment as a new one, without any layer. Any tips how to procede Jun 07 16:53:01 i have a project containing 2 modules: my sdk and a sample app the depends on that sdk. There currently under the same .git repositiory. Is there a way to be able to publicly share the sample app while keeping the sdk privatE? Jun 07 16:54:14 hi does anyone here use OneSignal? Jun 07 16:54:21 orbyt_: different git repos Jun 07 16:54:29 is that really the only option Jun 07 16:54:34 yeah Jun 07 16:55:07 alrighty then. While im here: is there anything special I need to do to pull out a module into its own project? Jun 07 16:55:18 you’re just gonna have to start fresh Jun 07 16:55:20 or can i c+p the files Jun 07 16:55:32 start fresh how Jun 07 16:55:37 copy the files over to the new repo Jun 07 16:55:38 like git history? Jun 07 16:55:42 yea Jun 07 16:55:45 you’re not gonna have the history Jun 07 16:55:49 right Jun 07 16:55:53 thats fine Jun 07 16:56:20 just wondering if i need to "export" the 2nd module Jun 07 16:56:30 or if i can just rip the files out into a new project Jun 07 16:56:50 you’re gonna want to copy the sample app files into their own project Jun 07 16:57:03 and then the SDK is probably gonna need to be included in some compiled form Jun 07 16:57:15 yea thats no issue Jun 07 16:57:21 cool thanks then Jun 07 17:01:45 Folks, need some help to keep things working when rotate screen. MainActivity add layers to two fragments. I help to make it restore the activity without needing to run onConfigLoaded again, (the method that add layers into the fragments) https://gist.github.com/wviana/dfd3b9d8d44522062696e5129a25aa17 Jun 07 17:07:45 explodes, ok - but using RV is last resort solution - fixing that resulting error in main activity is easier at least for now Jun 07 17:08:16 right on Jun 07 17:08:47 I am just curious why is it happening - that's all :) Jun 07 17:08:55 but thank you for attention Jun 07 17:12:23 bolovanos_: wonder if it's just a timing artifact - I guess you could print out logging messages onDestroy()/onCreate() and look at any differences as you rotate, but curious nevertheless Jun 07 17:18:41 can I make a dump of the "Frames" from the AS IDE for a particular debug session? I think I keep passing by something important, I want to be able to look at the 'Frames' history to pick it apart and find what Im looking for Jun 07 17:19:59 the window only seems to give me access to the last 10 or so steps Jun 07 17:20:06 https://blog.twitter.com/2016/twitter-for-android-gets-a-refresh Jun 07 17:20:41 kbs, t. artifact - interesting. Yes - I am already printing all possible onXY() messages, I know that it is happening after onAttachedToWindow() and before onCreateOptionsMenu() Jun 07 17:24:13 which probably means that destroying clicked unlike longClicked View object is different ergo operations taken upon such object may have different time consumption Jun 07 17:25:13 only one thing that probably destroys this hypothesis is that it is happening among all (3) of my testing devices, which differs in hw (if changes something...) Jun 07 17:25:42 Does someone here use to handle rotation retaining fragments ? Jun 07 17:26:04 anyway - have to go so if any ideas - ping me on channel :) Jun 07 17:30:19 btw - this is output of my ghost search https://snag.gy/9DqVEt.jpg Jun 07 17:56:14 Does someone could help me on it to handle rotation change ? https://gist.github.com/wviana/80a6dc9fe78ba4010182e70e84ccc9c0 Here is really focus code about the problem. Jun 07 17:58:55 anyone know if apple's apn has a similar feature to android's gcm topics? Jun 07 18:18:19 Anybody in here that ever used Cordova for an Android app? Jun 07 18:18:46 plz no Jun 07 18:18:51 lol Jun 07 18:19:23 orbyt_: hahah yea I know Jun 07 18:20:17 at least it's not cortana Jun 07 18:20:24 we’re mostly native devs here. You might try a cordova channel if you’ve got questions Jun 07 18:22:10 um I can have an Android studio project with 2 modules that are seperates git repos right? Jun 07 18:22:12 or will that not work Jun 07 18:23:07 sure orbyt_, idk if AS can handle it though Jun 07 18:23:22 i'm using mercurial but outside of AS, bcause their VCS implementation is such a fail Jun 07 18:23:47 and there is no issue to have several repo (you could imagine one per module) Jun 07 18:24:34 mhm Jun 07 18:25:03 you can add multiple VCS roots in AS itself IIRC, if you want to use that integration Jun 07 18:25:11 the integration is not that bad with GIT Jun 07 18:25:23 yeah, i believe their whole focus is on git, sadly :( Jun 07 18:25:46 same concerning OS, there is obviously a preference choice (won't name) Jun 07 18:25:47 I think GIT is just one VCS plugin Jun 07 18:25:51 don't they have a mercurial plugin? Jun 07 18:25:55 they have one Jun 07 18:26:15 the GIT plugin is not stellar, mind you. but it works once you get used to the quirks Jun 07 18:26:28 i'm just not satisfied and few times i had to, again, set the root project, and sometimes for unknown reason to me, impossible to commit! Jun 07 18:26:36 don't ask me to name the quirks, I just remember having a hell of a time when migrating from Eclipse Jun 07 18:26:42 so now i always manage it outside of AS like anything Jun 07 18:27:00 yeah, a number of dev friends I have do the same for GIT Jun 07 18:27:14 curious though, what is the obvious OS preference choice? Jun 07 18:27:21 osx i believe Jun 07 18:27:32 I've run AS on OSX, Linux and Windows, it all looks pretty similar to me Jun 07 18:27:44 I use it primarily on Windows right now Jun 07 18:27:45 would be interesting to see a simple pie chart of b.android.com between linux, win and osx Jun 07 18:28:17 they look the same, they don't get the same issues sometimes, nothing wrong with that but what about frequency and criticity of bugs Jun 07 18:28:30 How often do you run into AS bugs? Jun 07 18:28:38 I run canary builds and I only rarely have any issues at all Jun 07 18:28:42 and because i was limiting to write one bug per day at some point (until i stop).. Jun 07 18:28:50 limiting myself* Jun 07 18:29:02 (or perhaps I'm just so used to buggy software that I don't notice, haha) Jun 07 18:29:12 eheh "report to google" Jun 07 18:29:19 (!) blink blink Jun 07 18:30:31 that doesn't even ring a bell for me, go figure Jun 07 18:33:36 s73v3r: Yea Cordova channel seems dead though....Project inheritance can be quite a pain in the ass Jun 07 19:06:12 hi Jun 07 19:06:16 hey all, working up on nexus 5x bullhead, do I see correctly that everything that has changed between MTC19S -> MTC19T was change of fingerprint name? https://github.com/CyanogenMod/android_device_lge_bullhead/commit/9696417f7b7d6a62519b3efdf9ab3f700a0a7702 Jun 07 19:06:31 where could one find diff between MTC19S and MTC19T in googlesource ? Jun 07 19:08:36 i forget the address, but google has a changelog page somewhere Jun 07 19:14:48 This thing of killing activity when screen rotates add points into MVP where Activities and Fragment are part of View layer. Jun 07 19:31:16 da3m0n22: There are ~500 other repositories as well. You have to look at the manifest. Jun 07 19:33:19 da3m0n22: I think Android Police does a human readable version of the changelog Jun 07 19:50:58 in gson can you explicitly defer serialization of certain variables without using the annotations? Jun 07 19:52:57 it looks like you can create exclusion strategies Jun 07 19:56:03 wow Marshmallow got to 10% Jun 07 19:56:37 dammit kitkat Jun 07 20:00:30 kroot: this may be it? http://www.androidpolice.com/android_aosp_changelogs/android-6.0.1_r25-to-android-6.0.1_r45-AOSP-changelog.html Jun 07 20:04:16 Is it bad practice for image processing, when I take pictures every 1s (or 500ms) and then send the image to some filters ? (like edge detection or so) ? Jun 07 20:04:32 Is there a library for that ? Jun 07 20:22:33 sponge-tmp: OpenCV Jun 07 20:23:02 kroot: yep, thx. just found that also. downloading the sdk :) Jun 07 20:29:17 what is the difference between SCREEN_ORIENTATION_SENSOR_PORTRAIT and SCREEN_ORIENTATION_PORTRAIT Jun 07 20:31:21 self-explanatory, the one with sensor will use sensor to adapt the portrait Jun 07 20:31:34 the other one is fixed portrait in only one position Jun 07 20:32:17 (if you rotate your device 180° with the one without sensor, things will not follow and will stay in default portrait) Jun 07 20:32:34 I have toglles that I add into a linear layout as needed. So there are multiples Toogles inflated. But when I rotate screen. If the first is on when refresh it shows all off. If the last is on it shows all on. Looks like the last one is setting everybody else. They all have same id. Is this the problem ? Jun 07 20:33:05 adq: ok cool, thanks Jun 07 20:33:54 wviana, looks like mutability issue with drawable? Jun 07 20:34:45 or simply you don't handle orientation change to refresh the different toggles state Jun 07 20:35:35 adq: Maybe it's finding the view from context not from current view. Take a look in constructor. https://gist.github.com/wviana/af9d24cd474529d1e2a97befc9a95b30 Jun 07 20:37:37 yeah in your snippet, i don't see where you provide initial state or restore current state of the toggle Jun 07 20:37:55 but i have no other idea sorry Jun 07 20:38:38 when you rotate, the activity is destroyed and recreated Jun 07 20:41:03 so I'm going to walk you through this flow before I ask my question: Jun 07 20:41:58 User views the RouteFragment, taps on a Route -> User views Stop, taps a stop -> User views train arrivals Jun 07 20:42:06 now the user presses the back button twice Jun 07 20:42:21 next time we go through this flow, do you reuse the already instantiated fragments? Jun 07 20:45:52 Right now I'm passing the backing data as an argument to the constructor of the StopsFragment and the ArrivalsFragment. Trying to figure out a different way to pass this data back and forth Jun 07 20:46:21 adq: There is a problem about it. I'm recreating these toggles views every time screen rotates. As you can see in SideBarFragment file in https://gist.github.com/wviana/af9d24cd474529d1e2a97befc9a95b30 Jun 07 20:46:59 adq: So I really don't know why it's setting other layers to on when setting last one. Jun 07 20:53:53 RustyShackleford: A repository pattern could come in handy Jun 07 20:54:17 RustyShackleford: basically, the data gets cached in a database, and when you open a route, you open it with a route id Jun 07 20:54:33 RustyShackleford: if the route id is in the database, you use that, refreshing it if it stale Jun 07 20:54:40 I do have data cached in a database Jun 07 20:54:47 RustyShackleford: if it isnt in the database, you fetch it Jun 07 20:54:49 so you're saying something like: Jun 07 20:55:28 Does most of u uses RxAndroid, or something like it ? Jun 07 20:55:34 user clicks on a route -> write that route's id in a specific database field -> StopsFragment uses that stored route id to look up the info it needs Jun 07 20:56:03 yea basically Jun 07 20:56:17 wviana: not everyone uses it, but it is quite popular now Jun 07 20:56:41 grr Jun 07 20:56:46 everythings fucky right now Jun 07 20:57:20 explodes, might make testing a little tougher Jun 07 20:57:31 since now there's another coupling between the database Jun 07 20:57:40 but I'll explore that option Jun 07 20:58:23 repository pattern doesn’t make testing tougher Jun 07 20:59:22 lol what is the repository pattern Jun 07 20:59:41 is MVP out of style already ? Jun 07 21:04:51 * g00s tries gradle 2.14-rc5, supposed to be much faster + more efficient Jun 07 21:08:29 g00s, hope not. I'm still getting the hang of MVP haha Jun 07 21:08:45 it’s orthoganal to MVP Jun 07 21:08:52 okay this is sort of a noob question, but how do you use the FragmentTransaction.add() method? Jun 07 21:09:04 not sure if I should be using replace() or add() Jun 07 21:09:22 you use add if there isn’t one there, and replace if there is one there Jun 07 21:09:26 i'm sure somebody is blogging about separating the presenter into 2 layers this very moment, and inventing a new name for it :) Jun 07 21:09:26 only one fragment can be added to a view at any given time right? Jun 07 21:09:46 RustyShackleford no Jun 07 21:09:51 you can keep adding Jun 07 21:10:19 so then what happens when two fragments are added to the same view? Jun 07 21:10:26 are both visible? Jun 07 21:10:28 replace, of course nukes what is already there. add just .. adds another one. so maybe you want to hide one, show one, etc Jun 07 21:10:56 i would just use replace Jun 07 21:11:00 RustyShackleford if you didn't set a bg for the fragment root view, you literally see both at the same time Jun 07 21:11:13 you could end up with weird corner cases like ^ Jun 07 21:12:12 actually I remember seeing that before, now that I think about it Jun 07 21:13:10 so just always use replace()? Jun 07 21:13:59 yeah, I would Jun 07 21:14:09 you might have to use add for the first one, if your frame is empty Jun 07 21:14:09 RustyShackleford sometimes i add a few fragments to a container, and just toggle visibility Jun 07 21:14:12 i don’t remember Jun 07 21:14:26 replace works as first Jun 07 21:14:45 s73v3r, seems to work fine in that case Jun 07 21:14:50 RustyShackleford for example, i do that sometimes with tabs that switch between a few fragments Jun 07 21:14:51 where the frame is empty Jun 07 21:17:55 ok, cool Jun 07 21:20:40 i really wish there was some better way to communicate between fragments than passing everything up to the activity, which then becomes a mess Jun 07 21:21:03 don't really like event busses for this because communication is 1:1 Jun 07 21:21:46 i think it would have been a good idea if fragments could be nested hierarchically by some arbitrary group affiliation, not view hierarchy Jun 07 21:22:14 maybe, but I think that would be beyond what fragments were supposed to be Jun 07 21:24:43 gradle is saying i have a module called :app already in my project....yet its not -.- Jun 07 21:31:27 Does anybody use greenrobot's EventBus for reflecting background tasks results in UI? Like, firing event with data after processing some http response? Jun 07 21:31:35 "But it all came to a screeching halt after IT found out that OP had been automating his job for the last six years. That's when OP was officially fired." LOL Jun 07 21:31:55 yeah this eventbus really helped me to get this app started Jun 07 21:32:05 but it seems dangerous. You could really shoot yourself in the foot Jun 07 21:32:26 I'm actually working on refactoring it out right now Jun 07 21:32:37 everyone goes through the eventbus overuse phase Jun 07 21:33:15 RustyShackleford, shot in the foot like how? Lose controle and create too many event classes? Jun 07 21:33:16 i've been studying what they do in keep, its a weird event bus Jun 07 21:33:43 AlexBerdnikov, you could do really confusing things Jun 07 21:33:48 AlexBerdnikov its like shared global state, just events Jun 07 21:33:55 you can subscribe to and post events from anywhere in your codebase Jun 07 21:34:07 with great power comes great responsibility Jun 07 21:34:13 if you import a module into a project from some other directory, and then change the code in module in the new project, does it affect the module code in the original directory? Jun 07 21:34:18 and there could be timing issues if 2 guys subscribe to the same event but 1 needs to happen first, etc Jun 07 21:35:31 you should never get into that situation Jun 07 21:35:43 if you have a specific order, those should be different events Jun 07 21:36:35 g00s: I usually use Handler and Looper technique for communication between my worker thread and UI thread, just like official docs suggests, but I wonder what other people do? Jun 07 21:36:50 rx Jun 07 21:37:02 "official docs suggests"<-- meh Jun 07 21:37:19 Anyone ever try using Nashorn on Dalvik? Jun 07 21:37:21 AlexBerdnikov yeah handler is fine for many things Jun 07 21:37:21 orbyt_ OMG, I'm still a total noob in rx Jun 07 21:37:27 who isnt Jun 07 21:38:01 anyone have an answer for my module question up there^ Jun 07 21:38:11 orbyt_ well, I guess someone who knows at least how to apply it in a situation described above Jun 07 21:38:26 is it bad if i make a method static for an Application class? Jun 07 21:38:47 AlexBerdnikov: pretty much the most common situation for rx tbh Jun 07 21:38:54 use retrofit+rx Jun 07 21:38:57 update ui on response Jun 07 21:39:04 use rxandroid as well Jun 07 21:39:11 bindings8 Jun 07 21:39:12 * Jun 07 21:39:55 I use retrofit indeed, just am a total noob with rx and afraid to learn it omn the fly while working on existing project. Jun 07 21:40:23 if you wanna use it with retrofit, you literally just replace a few things Jun 07 21:40:35 Call changes to Observable Jun 07 21:41:09 then when u have ur retrofit service, u can do api.getData().subscribeOn().observeOn(); Jun 07 21:41:19 easiest to learn it from auto complete suggestions tbh Jun 07 21:41:24 orbyt_ what did you use before rx appeared on the scene? Jun 07 21:41:53 Handler an Looper? Jun 07 21:42:13 probably a few times yea but rx has been around awhile Jun 07 21:42:24 think i used an async task once or twice Jun 07 21:42:26 AlexBerdnikov rx is a few years old, so you're asking about ancient history :) Jun 07 21:43:23 random link: http://orbyt.github.io/RxCookbook/ Jun 07 21:43:43 random use cases Jun 07 21:44:50 g00s: Yeah, I know. It's just I only develop for ANdroid for like one and a half of year and it was kinda a lot for me to start with rx, dagger and all other fancy stuff and I'm only starting to read about that things Jun 07 21:45:51 I have only started to feel like I'm more or less with understanding what's going on in terms of standard android stuff provided by Google... Jun 07 21:46:04 *more or less ok Jun 07 21:46:45 rx is awesome Jun 07 21:46:52 standardized callbacks Jun 07 21:47:03 and the functional operators are useful too Jun 07 21:48:13 So much 3rd party libs became in fact standard de-fact things in Android dev so I really wonder if it's real to start as Android developer really quick even if you have some decent experience with another languages\technologies Jun 07 21:48:24 it entirely is Jun 07 21:48:45 these 3rd party libraries are popular, but nowhere near as ubiquitous as this channel makes it seem Jun 07 21:50:13 But they are. Retrofit, dagger, butterknife, really all the popular square library are used basically everywhere Jun 07 21:50:33 not really Jun 07 21:50:46 lol ok Jun 07 21:51:03 dagger is not used “basically everywhere" Jun 07 21:51:08 neither is butterknife Jun 07 21:51:15 Retrofit maybe Jun 07 21:51:27 Find me a well known app that doesnt use square libs tho Jun 07 21:51:32 Experian Jun 07 21:51:33 i dont know of one Jun 07 21:51:45 any of Google’s apps Jun 07 21:52:24 dont think Googles own apps should count here lol... Jun 07 21:52:33 why not? Jun 07 21:53:02 the android tool seems to be installing the wrong packages for me. i do "android list sdk --all", and then when i do "android update sdk -u -t ", after accepting the license agreement, it tells me it's installing something else Jun 07 21:53:05 Meh, seems kinda strange but I suppose your right. They just might have some reason for not wanting to use 3rd party libs in their own platform Jun 07 21:54:33 oh Google does use Glide in an app tho Jun 07 21:54:35 so there that Jun 07 21:54:51 part of it is that those are kinda reference apps, so they should, for the most part, not be using 3rd party stuff Jun 07 21:54:52 ah i see, i'm missing the --all in the update command Jun 07 21:54:57 thanks all Jun 07 21:56:18 orbyt_: Google is effectively the author of Glide Jun 07 21:56:27 oh really? Jun 07 21:56:38 dagger seems kind of overrated to me Jun 07 21:56:48 I also struggled with it... a lot lol Jun 07 21:56:58 didnt know he worked at google Jun 07 21:56:59 lol Jun 07 21:57:29 almost seems easier to do dependency injection yourself manually Jun 07 21:57:34 it isn't Jun 07 21:57:41 build something non-trivial and you'll drown Jun 07 21:57:51 touche Jun 07 21:57:56 its overkill for my side project Jun 07 21:58:08 it can be overkill for smaller projects Jun 07 21:58:19 maybe i'll take another *stab* at it in the future Jun 07 21:58:33 get it? stab? dagger? Jun 07 21:58:41 JakeWharton is dagger 1 going to keep evolving separately from dagger 2 ? Jun 07 21:58:54 dagger 1 hasn't evolved in 3 years Jun 07 21:59:01 oh Jun 07 21:59:21 JakeWharton, are you involved in the development of dagger also? Jun 07 21:59:30 less nowadays Jun 07 21:59:41 pre-2.0 i was heavily, and 1.x Jun 07 21:59:41 I wish my github looked like yours :p Jun 07 21:59:47 do you ever have time to sleep? Jun 07 21:59:51 orbyt_: btw plenty of Square libs in Google apps Jun 07 22:00:30 JakeWharton: Thats what I thought, s73v3r disagreed Jun 07 22:00:53 okhttp is bundled in most, and if not they're using it because Android is using it Jun 07 22:01:54 what do you mean Android is using it Jun 07 22:02:01 not internally Jun 07 22:02:03 yes Jun 07 22:02:11 Android 4.4 and higher uses OkHttp to back HttpURLConnection Jun 07 22:02:14 it’s the network stack in Android from about 4.3 or so Jun 07 22:02:23 interesting Jun 07 22:02:25 err, 4.4 Jun 07 22:04:40 btw I knew about butterknife for quite a time but for some reason didn't try it; Tried for the first time on my recent project and found it absolutely brilliant thing... Jun 07 22:05:15 It doesn't do much at a first glance but when you start using it daaamn it feels so good Jun 07 22:05:24 Saves a lot of time Jun 07 22:07:05 it's grown on me as well Jun 07 22:07:08 it started as a joke Jun 07 22:07:13 yeah, using a chance I want to thank JakeWharton for this Jun 07 22:07:23 So, you know, thank you :) Jun 07 22:07:48 I only use @BindView so far Jun 07 22:08:08 I should branch out a bit more, but that annotation alone is super useful Jun 07 22:08:19 RustyShackleford even this make me happier than not using it Jun 07 22:08:33 which other bindings do you use? Jun 07 22:08:44 I know you can set click listeners Jun 07 22:09:05 Resources Jun 07 22:09:22 what if I want to set a click listener to R.id.foo and also do something like @BindView(R.id.foo) View view; Jun 07 22:09:24 and sometimes listeners Jun 07 22:11:21 RustyShackleford, well you bind the element with @BindVIew and then add a listener using @onClick Jun 07 22:11:59 seems more straightforward to me to bind it to a variable, then set the click listener on that variable Jun 07 22:12:11 why? Jun 07 22:12:42 from a readability perspective, I think thats easier to follow and with less magic Jun 07 22:13:05 well you've bound the view at a different location than you set the listener Jun 07 22:13:09 that seems harder to follow Jun 07 22:14:07 I need a little help. I'm a Spring noob and I'm doing a kind of bastard Spring project, meaning that I'm using AndroidStudio to make an Android app, but I've added second project within AndroidStudio next to my "app" called "backend". This is basically a SpringBoot RestController application. Jun 07 22:14:17 But AndroidStudio keeps complaining about "Call required API level 24" and such. Is there a way to make it calm down? Can a Spring application co-exist with and Android app like this? I find it really convenient to have the app and backend so close in my IDE so it would be nice to make it work. Jun 07 22:14:31 I'd put them into separate git repos Jun 07 22:15:08 RustyShackleford variables holding references to View-derived elements usually initialized in the very start of Activity or Fragment, and they rarely changed, like almost never. Jun 07 22:16:01 So in case when you're using butterknife initializing just jumps up to the top of the class from the method where you initialize them without it Jun 07 22:16:11 Zta: You might try using IntelliJ instead Jun 07 22:16:25 So I don't see how it makes the code less readable and add any real magic Jun 07 22:16:44 s73v3r: ..."I find it really convenient to have the app and backend so close in my IDE so it would be nice to make it work." Jun 07 22:16:54 i know Jun 07 22:16:58 use IntelliJ for both Jun 07 22:19:28 I'd prefer a way to make AS keep its Android-warning out of non-android projects. Jun 07 22:19:38 file a bug Jun 07 22:19:44 I've specifically added a Java Library module. Jun 07 22:19:47 yeah Jun 07 22:19:58 i see the same thing in my mixed projects Jun 07 22:20:02 keep forgetting to file it Jun 07 22:22:54 I just picked "Disable inspection" in the hint. Now it's all quite. Too quiet maybe. I wonder of that was a global options I just ticked. Jun 07 22:26:46 why the **** does wear rotate icons? I've created an action with addAction(new NotificationCompat.Action(R.drawable.ic_add_black, "Increase budget", pendingActionIntent)) when ic_add_black is the "plus" icon and wear rotates it by 49 degrees Jun 07 22:26:51 *45 degrees Jun 07 22:27:34 if I set the 3 dots instead, it's rotated by 90 degrees Jun 07 22:32:30 https://www.reddit.com/r/androiddev/comments/4n1e7f/librarysdk_and_sample_application_project/ Jun 07 22:32:38 nifty ideas welcome Jun 07 22:35:34 why would you need a nifty idea to write a library... Jun 07 22:35:56 no, im asking about how to structure my project Jun 07 22:36:12 to have it meet the reqs outlined in the thread Jun 07 22:36:34 so just have 2 git repos Jun 07 22:36:36 one public and one private Jun 07 22:36:49 check them out into a meta-project that contains both :app and :library Jun 07 22:36:52 done Jun 07 22:37:17 than add a dependency on the library to the app? Jun 07 22:37:31 that method won't work for outside consumers, though Jun 07 22:37:56 could u elaborate? It will be used for partners with the company Jun 07 22:38:09 Well, it will be given to them Jun 07 22:40:55 it would work the same as any other multi-project build Jun 07 22:41:03 you just split your git repos at different places Jun 07 22:42:38 how is that an issue for outside consumers? Jun 07 22:42:44 If I understand correctly: Jun 07 22:42:59 the project won't build because the project dependency won't be present Jun 07 22:44:11 i've set my app to have RECEIVE_BOOT_COMPLETED but if i unlock my screen too early after a reboot it crashes and stacktrace says it cant find MainActivity.class Jun 07 22:44:36 Hold on..So check the repos out, as seperate modules into local project, depend the sampleapp on the sdk, and then thats that? Jun 07 22:44:37 anyone any what i did wrong? Jun 07 22:44:48 idea* Jun 07 22:45:09 What their suggesting is to build an .aar file and distribute it manually with the sample app Jun 07 22:45:11 orbyt_, yes, that's that Jun 07 22:45:18 you could do that, too Jun 07 22:45:23 but it doesn't make for a smooth development workflow Jun 07 22:45:36 Ha tell me about it Jun 07 22:45:44 and like I said, what I suggest breaks external consumers Jun 07 22:45:49 since they will not have access to the sdk project Jun 07 22:46:05 you will need to change the compile dependency from :sdkproject to the aar you publish Jun 07 22:46:22 but there's several ways you can achieve this Jun 07 22:46:25 i guess the weird thing is that you wnat to distribute the sample app without the code to the SDK Jun 07 22:46:38 might be able to write gradle logic to selectively choose between aar or project Jun 07 22:46:52 or you can publish 2 git branches, one for sdk external consumers, and internal consumers Jun 07 22:47:03 s73v3r: Selling the sdk is part of the business Jun 07 22:47:04 that's not the least bit weird Jun 07 22:47:20 \s right? Jun 07 22:47:39 no, i meant that you’re distributing the code to the sample app to people who haven’t bought the SDK Jun 07 22:47:48 sorry, I didn’t mean that selling the SDK is weird Jun 07 22:47:59 were not, its private as well Jun 07 22:48:08 i think... Jun 07 22:48:15 Hello, is there a way to manually link resources from android support libraries? Jun 07 22:48:23 I don't understand the problem Jun 07 22:49:04 how many of you guys fly frequently? Jun 07 22:49:11 is in-flight wifi expensive? Jun 07 22:49:30 I've seen it be around $25 for the duration of the flight Jun 07 22:49:45 it’s not cheap Jun 07 22:49:55 taking a 4 and a half hour flight tomorrow Jun 07 22:50:01 seems like a good time to do some android dev Jun 07 22:50:03 of course, I’ve always been able to expense it Jun 07 22:50:10 ah, then don’t buy the wifi Jun 07 22:50:16 just concentrate on dev Jun 07 22:50:25 well... docs and stuff Jun 07 22:50:38 I suppose I could do without wifi Jun 07 22:50:43 orbyt_: do the customers get access to the SDK source? Jun 07 22:50:51 RustyShackleford: Offline Docs. Dash Jun 07 22:51:43 s73v3r: They dont want them too, but they dont really know why they dont want them too. Does that make sense? I'm on a skype chat with the cto and was thinking about that as well. Jun 07 22:54:33 pfn: Was your "I don't understand the problem" referring to me? Jun 07 22:55:26 s73v3r: is there a reason the sdk should be open source? is having it closed weird? Jun 07 22:55:47 no, not particularly Jun 07 22:56:04 having it open source would aleviate this problem, but having it closed source is perfectly cromulent Jun 07 22:57:07 cromulent ... Jun 07 23:05:17 pfn: If you create a local meta project and import the 2 modules (which are themselves their own repos), changes to the code while in the meta project dont save back down to the actual modules Jun 07 23:05:21 eg. their copied locally Jun 07 23:05:41 if they’re in git repos, they should Jun 07 23:06:24 in CoordinatorLayout, is there any meaning to the order of its children ? Jun 07 23:06:56 a lot of times i see the recyclerview first, then the AppBarLayout - seems weird Jun 07 23:07:15 s73v3r: Why? They are both in git repos Jun 07 23:13:12 wow, my gradle daemon is using much less memory Jun 07 23:13:19 hoorah gradle team Jun 07 23:20:19 but you need to allow 2GB to get gradle faster g00s? :p Jun 07 23:20:43 adq i have Xmx:2048 for dex in process, but its taking 400mb Jun 07 23:20:53 i used to take much more Jun 07 23:21:01 400mb at steady state Jun 07 23:21:25 steady state = me staring at screen in confusion Jun 07 23:21:31 wait an hour, it will leak lol Jun 07 23:22:03 i'm curious how much of gradle gets rewritten in kotlin Jun 07 23:22:18 i guess now its just plugins ? Jun 07 23:22:29 i was partially shocked when i heard that @google they don't use gradle internally to build their android apps Jun 07 23:22:30 they might be able to turn this thing around after all Jun 07 23:22:43 what do they use? Jun 07 23:23:07 whats so bad about gradle? Jun 07 23:23:12 adq hm, yeah - might have to ask cbeust about that. i thought the internal apps, which were often AOSP apps , uses Android.mk stuff originally Jun 07 23:23:31 s73v3r bazel i guess Jun 07 23:23:47 ^ Jun 07 23:23:54 that what i heard, yes Jun 07 23:24:07 " At Google, we use Bazel to build everything from server applications running on systems in our data centers to client apps running on mobile phones." Jun 07 23:24:29 how ironic!!! :D Jun 07 23:24:38 my machine is an old 2009 MBP , Core 2 Duo - and i'm getting like 5-7 sec build times which i think its pretty respectable all things considered. Jun 07 23:24:53 but i dont have multidex or annotation processors, i bet those slow things down Jun 07 23:24:56 now, does Bazel do the actual building, or does it just run the gradle scripts? Jun 07 23:25:08 well i guess IR uses multidex so thats still kinda interesting Jun 07 23:25:19 like, we use Jenkins, but it’s just calling out to Gradle Jun 07 23:25:44 I'm wondering again why my custom View is not updated after an item has been inserted using ContentProvider. the CP's insert() calls notifyChange() and its query() calls cursor.setNotificationUri(). could it be that I don't have some necessary attributes defined for the CP in manifest? Jun 07 23:25:46 and then Gradle calls out to bash script, which then calls out to make ... Jun 07 23:25:57 which then calls back into Gradle :D Jun 07 23:26:35 http://gradle.org/blog/gradle-team-perspective-on-bazel/ Jun 07 23:27:02 now, does Bazel do the actual building, or does it just run the gradle scripts? << i just heard they do _not_ use gradle Jun 07 23:27:10 so it's nor for calling from bazel something they don't use Jun 07 23:27:21 otherwise they would not have mentionned they don't use gradle (loop is looped) Jun 07 23:28:44 the CP does not have any observers registered. are they needed? Jun 07 23:35:54 this time, the 'k' makes a clever name https://github.com/x2bool/kuery Jun 07 23:42:59 I get this to log: LoaderManager: Current loader is running; attempting to cancel Jun 07 23:46:20 pfn: "The library module is copied to your project, so you can actually edit the library code" Jun 07 23:46:27 https://developer.android.com/studio/projects/android-library.html Jun 07 23:46:32 thats what my issue was Jun 07 23:46:52 importing a module creates a whole new copy of your old code Jun 07 23:47:12 what company make oneplus one? Jun 07 23:47:22 oneplus Jun 07 23:47:32 lol Jun 07 23:47:35 what company? Jun 07 23:47:46 no, that’s the company’s name Jun 07 23:48:22 oh thanks s73v3r :) Jun 07 23:48:29 huh? Jun 07 23:48:31 importing what? Jun 07 23:48:36 you shouldn't be importing anything Jun 07 23:48:48 The "meta" project Jun 07 23:48:48 you should only import the root build.gradle once everything is checked out Jun 07 23:49:06 how else do you get the modules into a single project Jun 07 23:49:19 you do that and it works automatically Jun 07 23:51:53 how terrible of an idea is it to give a reference to the parent Fragment to a RecyclerView.Adapter Jun 07 23:52:08 pretty awful Jun 07 23:52:14 yeah... Jun 07 23:52:21 you’re making it so that adapter can only be used in that fragment Jun 07 23:52:32 which i would be fine with I guess Jun 07 23:53:00 I'm trying to get from an item click to the parent fragment Jun 07 23:53:24 this is why I used an EventBus lol Jun 07 23:53:44 pfn: for fucks sake: I just cloned both the sampleapp and the sdk into /modules. So each is their own repositiory, eg. modules/sampleapp and modules/sdk Jun 07 23:54:03 To work on them at the same time, I need to import them into an android project Jun 07 23:54:16 keep in mind there both already android projects Jun 07 23:54:23 so you import them as modules Jun 07 23:54:33 you import the root build and that pulls in the submodules automatically Jun 07 23:54:35 doing anything else is wrong Jun 07 23:54:48 and changes you make, are not actually made to the original directories Jun 07 23:54:55 lolwut Jun 07 23:54:57 as the new project copies them Jun 07 23:55:03 there should be no copying Jun 07 23:55:11 if there's any copying, you're doing it wrong Jun 07 23:55:15 https://developer.android.com/studio/projects/android-library.html Jun 07 23:55:16 RustyShackleford if the adapter is only used in that fragment, go ahead and do the simplest thing - often adapters are inner classes of frags / activities. i wouldn't bother to separate it out until it actually becomes necessary to reuse Jun 07 23:55:20 it does it automatically Jun 08 00:00:54 anybody know how to disable AppbarLayout scrolling of its child (via app:layout_scrollFlags="scroll|enterAlways") when the AppBar itself is touched ? i only want the scrolling when the recyclerview is touched Jun 08 00:01:43 for example, if I go to google Keep, i can scroll the yellow app bar up by dragging in that yellow area Jun 08 00:01:48 that just seems bizarre to me Jun 08 00:03:08 especially if the recyclerview is swapped out for an 'empty' view Jun 08 00:03:37 in that case, scrolling the main area does nothing but you can still scroll the AppBar Jun 08 00:04:12 pfn: http://stackoverflow.com/questions/28989911/how-to-include-library-projects-in-android-studio-that-are-stored-in-a-separate Jun 08 00:04:25 his comment Jun 08 00:05:10 nobody knows about the quirks of ContentProvider? Jun 08 00:12:02 ?exit Jun 08 00:12:55 Is it possible to get "The item you requested is not available for purchase" even if you've followed all of the correct steps for uploading an app to alpha/beta? Jun 08 00:13:16 the latest APK contains no changes to any IAB-related code Jun 08 00:18:16 matt_j, it might takes few hours to being propagated Jun 08 00:18:41 or you're not using the apk signed release in your test Jun 08 00:18:52 (assuming you published in alpha/beta as you said) Jun 08 00:20:52 g00s, looks like you have a lot of fun recently lol, never saw you asking so many questions ;) Jun 08 00:21:55 adq ha, found it http://stackoverflow.com/questions/34108501/how-to-disable-scrolling-of-appbarlayout-in-coordinatorlayout Jun 08 00:25:57 is it a massive hassle to convert an app from 4.x to 6.0? i made one that listens on a socket and sends/receives sms messages. Jun 08 00:29:19 adq: It's signed the same way as our previous APKs... Jun 08 00:29:28 and I've waited over 24 hours Jun 08 00:30:20 could it just be a case of google being really slow? Jun 08 00:30:30 maybe you forgot to make active your (new?) purchase item? Jun 08 00:30:42 nothing has changed with IAB: items or otherwise Jun 08 00:30:47 or the product_id is wrong? Jun 08 00:30:51 it was a patch to a completely unrelated thing Jun 08 00:31:08 then i have no idea, it should not take 24 hours for sure Jun 08 00:31:13 yeah :( Jun 08 00:31:16 this is very annoying Jun 08 00:31:22 indeed :/ Jun 08 00:32:53 what i meant with signed with the release key, it happened to me few times that forgot and run a debug version of the same app version ofc Jun 08 00:33:21 but due to not matching the sig, etc, it was not possible to purchase (but querying the item list should not work too iirc) Jun 08 00:33:33 and then i realized that i was not running the release version to test Jun 08 00:34:18 you should have a status/error code anyway, time to debug lol Jun 08 00:38:47 adq: can you even upload if it's signed with the wrong key? Jun 08 00:38:53 I figured the signiture had to be the same Jun 08 00:38:59 nope Jun 08 00:39:06 i was talking about the "tester side" Jun 08 00:39:18 well, I don't think the app will upgrade with different certs anyway Jun 08 00:39:23 and I know the cert is the same Jun 08 00:39:39 oh forgot one thing Jun 08 00:39:56 your account for testing must _not_ be the one you use for the developer console Jun 08 00:40:01 it isn't Jun 08 00:40:11 and of course the tester account for alpha/beta must be allowed Jun 08 00:40:19 just to clear up: this has been working *fine* before Jun 08 00:40:24 it just randomly stopped with this build Jun 08 00:40:24 then really i have no idea, you need to look the status/error returned Jun 08 00:40:43 PurchaseError{type=3 subtype=4} Jun 08 00:40:43 hmm Jun 08 00:40:51 by the way, I appreciate you taking the time to help me Jun 08 00:40:53 :) Jun 08 00:40:59 np Jun 08 00:42:22 first link result: http://stackoverflow.com/a/32448515/1373568 Jun 08 00:42:42 idk the delta of time since your last test/modif: Now tester email must be listed as testers in either Alpha or Beta Testing . After add a tester list . the tester need to open the 'Join Test' url , after join the test , I can test the purchase Jun 08 00:43:05 yeah, I did that, still doesn't work :( :( Jun 08 00:44:12 i also know some ppl have issue when they use more than one account on their device to test, and when the test account is not the primary account on the device Jun 08 00:44:40 i think i saw something in the issue of official iab-sample mentionning that Jun 08 00:45:02 https://github.com/googlesamples/android-play-billing/issues/2 Jun 08 00:45:32 "I have to say that I am disappointed with the fact that this issue has been mentioned at least three years ago" Jun 08 00:45:38 lol, sorry :x Jun 08 00:48:19 for me the test account is primary Jun 08 00:53:37 I already asked a question about how do you guys handle communication between worker threads and UI thread, but I'm continuing to read various stuff on that, and wonder why official doc ( https://developer.android.com/training/multiple-threads/communicate-ui.html#Handler ) doesn't mention how to handle configuration changes at all? Jun 08 00:55:54 OK, I use Handler - Looper technique but if I need the results of my worker thread immediately in th UI and config change is happening, how Google manual suggests me to handle that? Jun 08 01:06:49 this is more of a java question: when do you use static inner classes vs non-static inner classes? Jun 08 01:07:23 RustyShackleford when you want to enforce the class has no reference to the outer ... Jun 08 01:08:08 I think non-static inner classes can potentially leak memory Jun 08 01:08:51 so, custom RecyclerView as a nested class of a Fragment: would you make it static or non-static? Jun 08 01:09:40 custom RecyclerView ? Jun 08 01:11:54 RecyclerView.Adapter actually Jun 08 01:12:07 custom = my own subclass Jun 08 01:13:23 i have mine as non-statics Jun 08 01:13:41 i only spin out the adapter when it gets so complicated its hard to read Jun 08 01:13:56 into its own file Jun 08 01:14:06 or if it needs to be reused Jun 08 01:15:08 there is no right or wrong here Jun 08 01:16:20 yeah i'm kinda nitpicking Jun 08 01:16:31 while I'm doing all this refactoring, might as well do it right haha Jun 08 01:16:35 if it doesn't need anything from the outer class make it static, makes its coupling explicit Jun 08 01:17:08 yeah I might want that reference to the outer class Jun 08 01:17:19 I usually make all inner classes static Jun 08 01:51:03 Napalm there ? Jun 08 01:58:06 i notice in a few gapps, you can collapse the AppBarLayout but never expand it again Jun 08 02:27:28 anyone familiar with jitpack Jun 08 02:29:10 cant seem to get it to recongnize a private repo Jun 08 02:56:11 Is there a slack channel comparable to this channel? Jun 08 02:58:19 kinda Jun 08 02:58:27 not very active tho, last time i checked **** ENDING LOGGING AT Wed Jun 08 02:59:59 2016