**** BEGIN LOGGING AT Thu Jun 02 02:59:58 2016 Jun 02 03:02:33 hey guys, so i made some bluetooth hardware that i'd like to allow apps to use Jun 02 03:03:08 is there a way for multiple apps to communicate with the bluetooth device at the same time? Jun 02 03:57:43 hey even after WhatsApp's end to end encryption i can still open the .db files from root browser Jun 02 03:57:54 if someone copies the .db files, can they just read the contents with a sqlite reader? Jun 02 04:29:49 changes are high Jun 02 04:52:34 hi is there way to hunt doen jni memory leaks? Jun 02 05:22:36 hi guys, who here has published an app to the app stroe Jun 02 05:22:37 ? Jun 02 05:22:57 If i'm upgrading my app but my package name is different Jun 02 05:23:00 what happens Jun 02 05:25:40 when I publish an update for an app, can it be a different package name ? Jun 02 05:34:15 No, it will be a different app Jun 02 05:34:37 Wait, did you mean app id or Java package? Jun 02 05:38:38 java package Jun 02 05:39:00 how do i set up my android app to match the package on the app store Jun 02 05:39:19 lets say : com.organization.appName Jun 02 05:39:24 The id on play is the app id afaik Jun 02 05:39:39 It's commonly the same as the package though Jun 02 05:40:51 ok, i guess i'll just change the whole package Jun 02 05:41:00 found a stack over flow post about it Jun 02 05:41:18 i was wondering if i could change the package between an update Jun 02 05:41:22 got it answer :D Jun 02 05:41:27 http://stackoverflow.com/questions/6600329/how-do-i-rename-the-android-package-name Jun 02 05:56:57 is it possible to connect with multiple channel with single command ? Jun 02 05:57:18 like i want to conenct #kotlin, #java, #android-dev using single comamnd Jun 02 05:58:56 try join #a,#b,#c Jun 02 05:59:05 try spending one command to join #$YOURCLIENTNAME Jun 02 05:59:07 or was it #a,b,c ? Jun 02 06:15:22 another question bout threads: i got a runnable Thread with a single IO (simple) function (and a handler to set params from that threaded function). does the thread dies on its own once the function completes? Jun 02 06:16:38 once runnable completes, yes Jun 02 06:17:50 so in the runnable, i have a single function (no loops at all). when that function completed, the runnable completes and so the thread dies? Jun 02 06:18:06 yes Jun 02 06:18:17 as well my dreams and aspirations Jun 02 06:18:17 good to know Jun 02 06:18:21 \: Jun 02 06:18:52 as a coder, i assume those died a while ago Ashiren Jun 02 06:19:08 eeyup Jun 02 06:29:17 Guys, any idea as to what's wrong with my shared element transitions? https://gfycat.com/ForsakenAntiqueEskimodog Jun 02 06:29:30 code: https://gist.github.com/RubenRocha/3697b8b3aaf86d3d6745f47a95beed10 Jun 02 06:29:33 http://programmerexcuses.com/ Jun 02 06:33:55 gordon_ : lol'd Jun 02 06:49:03 hello where i can start android? Jun 02 06:50:36 this? https://developer.android.com/index.html Jun 02 06:50:59 thanks Ashiren there is a nice book? Jun 02 06:51:02 instead of site? Jun 02 06:52:24 oh. dunno, i dont use books Jun 02 06:52:46 yeah Jun 02 06:54:33 jackcom: search for "learning java by building android games" packt books Jun 02 06:54:47 oh Jun 02 06:54:59 by john horton Jun 02 06:55:06 thanks Raoul11 :) Jun 02 06:55:10 should get you started Jun 02 06:55:17 oh Jun 02 06:55:23 i can get it from google? Jun 02 06:55:28 Raoul11: ? Jun 02 06:55:28 with android studio, basic java and lifecycles Jun 02 06:55:37 you can get it from your local p2p store i guess Jun 02 06:55:44 or buy it from packt/amazon Jun 02 06:55:47 Local p2p store kek Jun 02 06:55:58 topkek best kek Zer0W0rm Jun 02 06:56:14 i have no money Jun 02 06:56:16 :( Jun 02 06:56:23 i want to get it from google. Jun 02 06:56:31 I'm looking to do a bottombar but one of the items would have tabs. Should that end up being fragment with the tab fragment inside? I haven't used the bottombar method Jun 02 06:56:34 All the money is over @ ios-dev Jun 02 06:56:37 But fuck that Jun 02 06:56:39 lol Jun 02 06:57:24 jackcom: then i guess p2p is your path Jun 02 06:57:26 Raoul11: have you any idea about shared element transitions? Jun 02 06:57:45 negative Zer0W0rm Jun 02 06:58:04 oh good thanks Raoul11 :) Jun 02 06:58:27 I can't figure out why it's acting up, been at it since yesterday Jun 02 07:01:40 i should look into shared element transitions Jun 02 07:01:53 looks handy and pretty'er Jun 02 07:10:57 Guys, any idea as to what's wrong with my shared element transitions? https://gfycat.com/ForsakenAntiqueEskimodog Jun 02 07:11:00 code: https://gist.github.com/RubenRocha/3697b8b3aaf86d3d6745f47a95beed10 Jun 02 07:14:11 anyone know how to make status bar not touchable? I mean status bar still show there but not clickable Jun 02 07:18:21 http://www.google.com/url?url=http://appcookiedev.com/wp-content/uploads/2015/09/Learning-Java-by-Building-Android-Games.pdf&rct=j&frm=1&q=&esrc=s&sa=U&ved=0ahUKEwi0nIHl5YjNAhWBl5QKHQXYAvQQFggUMAA&usg=AFQjCNELCuIsmXkAVvndK7hXIgUiu6KHtA <— Raoul11 this is right? Jun 02 07:19:16 PC2K: you can take a picture of it and show the picture of the status bar in full screen mode ;) Jun 02 07:19:30 is it by john horton jackcom ? Jun 02 07:19:51 yeah Raoul11 Jun 02 07:19:56 john Horton Jun 02 07:20:00 right? Jun 02 07:20:10 shmooz: lol'd Jun 02 07:20:25 genius Jun 02 07:21:17 right Jun 02 07:23:13 shmooz: LOL,I want status bar show live information not the picture of itself ,thanks :D Jun 02 07:23:46 update the picture every so often Jun 02 07:27:37 In a recyclerview, where 'holder' is a View_Holder, is holder.itemView the root element? Jun 02 07:27:47 shmooz: LOL Jun 02 07:27:57 RubenADSR: yes Jun 02 07:28:24 Ashiren : thanks, thought it could of been that making my transition fuck up, but in that case nope Jun 02 07:29:36 There should be better docs on this... Jun 02 07:33:23 It could be that I'm assigning a unique transitionName to every row in the recyclerview and since the pages could have a different number of elements it could be getting confused or something but that doesn't make any sense as it wouldn't have a matching pair to transition into Jun 02 07:38:33 I all Jun 02 07:38:35 I have a question about hprof heap dumps Jun 02 07:38:43 Does it make any sense that two hprof heap dumps, one taken after 5 hours of running a process that produces a memory leak, an the other one taken just after rebooting the device are equal? Jun 02 07:50:45 Hello hackers Jun 02 07:51:37 Here is my problem, i've both facebook and google login in my app as well as account login(username/password) Jun 02 07:52:28 and my android app calls to a REST web service Jun 02 07:53:12 when making service calls i pass the token along with every request Jun 02 07:54:39 problem is i can't pass facebook or google token, webservice only understands only one token and that is token fetched via normal (username/password) authentication Jun 02 07:55:19 anybody knows how to remedy this, could be centralizing tokens or anything Jun 02 07:56:02 ??? Jun 02 08:08:22 Hi there. I'm having an issue wth a GridView inside a CardView, which is in a NestedScrollView. My initial problem was that the GridView was not able to be scrolled within the NestedScrollView but I soon realized that this is bad practice anyway so I decided I'd simply use Height=Wrap_Content for the GridView and rely on the NestedScrollView for scrolling. Jun 02 08:08:53 However, if I programatically change the contents of the GridView height does not resize to Wrap to the new Content. Jun 02 08:10:12 Now I'm cornered. I have tried a number of ways to reinflate the GridView but it is fixed to what ever the initial Wrap_Content value was set at compile time. Jun 02 08:11:30 - Jun 02 08:16:25 What's the status of third party dev external SD card storage read/write access nowadays? Do we have reliable API's yet? Jun 02 08:16:50 Is there any way to make sure an element is always on top through the XML? Jun 02 08:21:30 by top you mean top of screen or top as above other views (in depth) Jun 02 08:43:53 I love how gradle Jun 02 08:43:59 's cache is broken Jun 02 08:44:33 pduin depends on what you want to do Jun 02 08:44:38 you can write to your own folder Jun 02 08:45:01 IIRC reading can be done outside of it, but might require jumping through some hoops Jun 02 08:47:17 Ha! Coincidentally, your blog post from 2012 made me throw my hands up and say 'F this' to SD card storage Jun 02 08:47:48 Gettting a lot of requests from users lately if I can support SD card storage, was just checking if it got better the last few years Jun 02 08:49:18 https://developer.android.com/reference/android/content/Context.html#getExternalFilesDirs(java.lang.String) Jun 02 08:49:39 ^^^ returns all the paths you can write to. If an SD card is mounted, this will include a path on the SD card Jun 02 08:49:53 discerning which is which though... :) Jun 02 08:50:04 not sure if this include USB drives as well, but it might Jun 02 08:50:11 (probably OEM specific) Jun 02 08:50:50 just forget about supporting kitkat though Jun 02 08:51:19 I have been using this succesfully on KitKat as well Jun 02 08:51:21 just not all devices Jun 02 08:51:36 you pretty much can't write to anywhere but your own application directory on the external storage Jun 02 08:51:44 Hmm, there are already a few 'ifs' and 'buts' popping up here Jun 02 08:52:14 right Jun 02 08:52:17 as I said Jun 02 08:52:29 also, uninstalling the app tends to wipe that folder if the SD card is plugged in Jun 02 08:52:36 which may or may not be what the user wants Jun 02 08:52:36 yeah Jun 02 08:53:29 though in case of media, I think you can use getExternalMediaDirs() instead and that will probably *not* wipe Jun 02 08:53:51 pretty sure you can't write to those in kitkat either Jun 02 08:54:00 that doesn't exist in kitkat Jun 02 08:54:03 ah Jun 02 08:54:05 well yeah :p Jun 02 08:54:15 in lollipop you can ask for permission Jun 02 08:54:19 but yeah, it is definitely a mess Jun 02 08:54:49 the permission thing is what they should've done in the first place, however, the whole thing is a user experience nightmare Jun 02 08:55:08 user needs to know which folder to give the application rights to write to -.- Jun 02 08:56:00 I see. Thanks for the input guys. I guess I'll just keep using the getExternalFilesDir, and put all my stuff there. Jun 02 08:56:27 not just UIX nightmare Jun 02 08:56:29 also a dev nightmare Jun 02 08:56:33 so many async Jun 02 08:57:07 meh Jun 02 08:57:22 I can see this turning into a customer support nightmare real quick Jun 02 09:00:04 I guess the storage API's haven't come far since 2012 Jun 02 09:00:20 not really no Jun 02 09:00:36 they added the ability to get multiple external storage roots at some point Jun 02 09:02:15 I'll rather deal with complaining customers than jumping down this external storage snakepit Jun 02 09:02:40 what kind of usecase do you have for writing to external storage? Jun 02 09:03:57 It's a database type of app. Can store tons of images, ranging half a gig of space in some cases Jun 02 09:04:36 I can understand why people would like to have the app store the images on SD card instead of the baked-in phone memory Jun 02 09:05:28 for me its the same use case Jun 02 09:05:33 many and large images Jun 02 09:06:22 my client wanted to give the users the option to choose which folder to save to and use the data from Jun 02 09:06:31 I ran into the kitkat problems at that point Jun 02 09:07:15 so I compromised and added an ability to choose which external storage the user wants to use and just used the application's own files folder from that mount point for the data Jun 02 09:07:33 at least they can choose which storage the data is saved on Jun 02 09:07:54 So is there no hope for me with this GridView drama? Jun 02 09:08:33 how many items do you have in the gridview Jun 02 09:08:54 Between 0 and 200 Jun 02 09:09:05 you might be better off using a recyclerview with gridlayoutmanager, maybe? Jun 02 09:09:14 but I haven't messed with nestedscrollingthingie much yet Jun 02 09:09:19 I've sinced realized that I need to remove it from a CardView as I can't have a CardView that takes up all that real estate. Jun 02 09:09:46 Can recyclerViews be re-inflated ? Jun 02 09:09:56 ie. Re-sized Jun 02 09:10:49 sure but recyclerview does some things to be compatible with nestedscrollingthingie Jun 02 09:11:22 Zharf: Choosing a moint point that way a somewhat elegant solution. Jun 02 09:11:30 The thing is I don't have to use a NestedScrollView. I could just use a ScrollView. Jun 02 09:11:50 moint pont? Jun 02 09:11:54 mount point* Jun 02 09:12:08 they are the same beside one allows nested scrolling so this wont help u Jun 02 09:12:51 The problem for me is that the images are aleady saved. If I give the user the option to change it, it would require some kind of storage migration Jun 02 09:13:04 nestedscrollview confuses me, I should actually try it out and see how it works Jun 02 09:13:05 Also, I'm not really looking forward to the 'where did my images go? Jun 02 09:13:20 user questions when they are messing up. Jun 02 09:13:23 pduin, yeah Jun 02 09:13:39 dont put scrollables in scrollables is still a thing :) Jun 02 09:14:05 yeah... I wish my clients designers would listen to me about that Jun 02 09:14:17 Ok so before I try it, I'm just not sure why you're suggesting a RecyclerView with a GridLayout inside. Jun 02 09:14:26 Can you explain why you think this will help? Jun 02 09:14:34 I'm a bit slow today I guess. Jun 02 09:14:38 GridLayoutManager Jun 02 09:14:44 != GridLayout Jun 02 09:14:55 I think I have enough ammo here to tell my boss that implementing SD card storage is going to be a bad idea :) Jun 02 09:15:40 Aren't all smart phone developers desperately trying to remove SD card support anyway? Jun 02 09:15:51 Aside from Samsung failing miserably with the S6. Jun 02 09:15:56 I'm glad they aren't Jun 02 09:16:06 my phone supports up to 200G cards Jun 02 09:16:06 no. its just that the user shouldnt notice a difference Jun 02 09:16:26 If theres an sdcard, put everything on sd by default is my opinion Jun 02 09:16:57 Yeah, I nearly bought an S6 and then read the user reviews in disbelieif. I narrowly dodged that bullet. Jun 02 09:17:12 Now to wait until the S7 is a reasonable price. Jun 02 09:17:50 samsung sucks. s7 as much as s6:p Jun 02 09:18:18 @Zharf I should mention that I'm using the GridView for a text table. Jun 02 09:18:38 do you still suggest RecyclerView/ GridLayoutManager combo? Jun 02 09:18:43 RecyclerView + GridLayoutManager is pretty much the same, but better Jun 02 09:19:23 I was expecting a class called DataTable to exist after reading the Material Design guidelines on it but it seems they talked about the UI but didn't implement it on Android? Jun 02 09:20:03 Ok, here goes. Jun 02 09:55:54 is there a way of preventing a user to remove an app from device admin? Jun 02 09:56:55 Probably not Jun 02 09:56:57 I hope not Jun 02 10:24:30 ohai Jun 02 10:24:43 you Jun 02 10:26:54 so I have this app which uses a lot of native code and after a huge refactoring it does not start anymore. Instead it instantly crashes with SIGSEGV at 0x0. Logcat is not really helping: http://pastie.org/pastes/10861409/text - what do? Jun 02 10:29:14 dang`r`us: probably debug the shit outta this Jun 02 10:29:28 or try AS 2.2 Jun 02 10:30:00 thepoosh, I would, but it crashes before the app's entry point. it's cocos2dx based and I've put a lldb breakpoint in cocos_android_app_init, which gets resolved, but never hit. Crash happens before that. Jun 02 10:30:18 (the -breakpoint- gets resolved) Jun 02 10:30:27 print logs Jun 02 10:30:43 I've put all I have in the above pastie url. Jun 02 10:31:15 no need, I don't do NDK Jun 02 10:33:19 hithere Jun 02 10:33:23 https://raw.githubusercontent.com/xxv/android-lifecycle/master/complete_android_fragment_lifecycle.png Jun 02 10:33:51 cocos2dx ;_; Jun 02 10:33:56 what does the note "Thing get a little weird here if you're using the v4 compat library" mean? Jun 02 10:34:10 I have mental traumas from an old project that we did using that Jun 02 10:34:19 Zharf, it's terrible Jun 02 10:37:01 bolovanos, https://github.com/xxv/android-lifecycle/issues/8 Jun 02 10:38:15 bolovanos, https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#onResume() Jun 02 10:40:40 Zharf, thank you Jun 02 10:42:59 Hello everyone, how is your experience with "instant run". I find its nice but it doesn't work on my nexus 5 but works fine on my one plus one Jun 02 10:43:01 anyone know how I can add resources to androidTest/res/values/ and access them from my espresso tests? Jun 02 10:43:54 azgul: yes. you just have use the correct import statment. Android studio doesn't know how to Jun 02 10:45:11 wouldn't it be the package name in androidTest/AndroidManifest.xml? Jun 02 10:52:45 bolovanos: NOOOOOOOO Jun 02 10:53:37 thepoosh, https://m.popkey.co/6bbfda/eWqlr_f-maxage-0.gif Jun 02 10:54:12 bolovanos: more like http://www.nooooooooooooooo.com/vader.jpg Jun 02 10:55:05 thepoosh, probably something went wrong... ? Jun 02 10:55:50 probably someone looked over the fragment lifecycle Jun 02 10:56:13 bolovanos: I'm the guy that raised issue 8 on xxv.. got any questions. ping them over. Jun 02 10:56:59 thepoosh, you mean that referred IO/16 video? Jun 02 10:59:01 dang`r`us: thats a null pointer dereference crash in your native code. looking at your crash dump you'll see it shows its crashing on /libhellocpp.so (JNI_OnLoad+40) Jun 02 10:59:15 which gives you the library and function Jun 02 10:59:17 Napalm, hi - thank you - I am not sure whether am I having v4/fragment related problem, just solving some issue where my app is crashing when DialogFragment is active and user confirms and rotates display at the same time Jun 02 10:59:22 Napalm, unfortunately I know all that already. Jun 02 11:00:21 libhellocpp is this one huge wad of native code linked together so I can't actually determine the problem from that. but MAYBE I can break in cocos2d::JniHelper::cacheEnv Jun 02 11:00:24 let's see. Jun 02 11:00:44 bolovanos: whats the exception caused by the crash? Jun 02 11:01:02 Napalm, thanks though! Jun 02 11:01:29 bolovanos: p.s. dont forget the +1 the issue :) Jun 02 11:04:30 Napalm, "java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0" - now I probably know where is the problem - I have some results in ListView, there are two versions of results - one for empty SearchView and one for SearchView with query Jun 02 11:05:11 when user uses action on ListView with SearchView filled with query, than the fast rotation wents throught first parts of lifeCycle Jun 02 11:06:35 I have init for content of that listView in part of lifeCycle which successfully go through Jun 02 11:07:36 but unless it successfully undergo last part where it fills query and fills ListView with data which were present in time before screen rotate Jun 02 11:09:17 array adapter which is obviously running in its own thread starts asking for item id with getItemId Jun 02 11:09:45 by that time it starts asking for ids of list view which is still not present Jun 02 11:10:15 long story short - not sure if it is problem directly related to onResumeFragments Jun 02 11:10:18 :) Jun 02 11:50:53 What is a good way to cache data as a variable? In the Application to enable faster read access and when writing persist the data in sharedprefs or in a database? Right now I am caching data in a ContentProvider and have the problem that the ContentProvider is killed at some point and then the data is lost. Jun 02 11:51:24 side note: caching is conceptually different from persistent store Jun 02 11:51:31 a cache is by definition expendable Jun 02 11:52:55 do I need to ask for permission if I want to choose picture from gallery ? Jun 02 11:59:12 dang`r`us: OK, then maybe my question did not use the correct wording. I am currently using a sort of cache in the ContentProvider but the cache is not implemented correctly as it cannot restore itself. Jun 02 12:15:28 Also, if the data is stored in a POJO, what is the best way to persist this? Jun 02 12:16:08 a protobuf? Jun 02 12:32:40 Is it faster to read and write a serialized object in a file or db? Jun 02 12:51:54 barq: i usually store serialized objects in jsons Jun 02 12:52:18 a db seems overkill for storing simple data Jun 02 12:52:22 And then how do you persist the jsons? Jun 02 12:52:26 a file? Jun 02 12:52:53 everything is a file at the end of the line :) Jun 02 12:52:57 yes, under my /data/data/package/files/jsons Jun 02 12:53:11 since i dont want users to fiddle with it Jun 02 12:53:22 OK, and where do you read and write the data from and to the file? Jun 02 12:53:56 various parts of my app, diff' activities, from fragments, etc Jun 02 12:54:36 I have a global object for the application. I guess the best thing would be to store it in the Application then? Jun 02 12:54:42 Right now I hold it in the ContentProvider Jun 02 12:55:25 I'd have some sort of (singleton possibly) caching class handle that, hide the filesystem from the rest of the application Jun 02 12:55:35 really depends on you and your needs Jun 02 12:55:58 Yes, I read about the singleton as well, but the question is where to host that singleton Jun 02 12:56:11 a simple singleton "hosts" itself Jun 02 12:56:52 just do class Foo { private static Foo instance; public Foo getInstance() { if (instance == null) { instance = new Foo(); } return instance; } } Jun 02 12:57:18 then you can just do Foo.getInstance().whatever anywhere Jun 02 12:57:31 also, private constructor Jun 02 12:57:37 private Foo() {} Jun 02 12:57:58 How safe is this singleton to the operating system clearing memory? Jun 02 12:58:20 it gets cleared when the system decides to kill the application Jun 02 12:58:29 It's dangerous, use Dagger for singletons, not static Jun 02 12:58:33 pft Jun 02 12:58:38 it's not dangerous Jun 02 12:58:41 Cannot use dagger Jun 02 12:58:52 didnt u want persistancy barq ? Jun 02 12:58:59 The pass it around yourself, just stay away from static Jun 02 12:59:07 CedricBeust, why? Jun 02 12:59:23 I need some way to hold objects in memory that survive the ContentProvider, Application or whatever getting killed Jun 02 12:59:37 then persist your value, plenty of ways to do that Jun 02 12:59:56 jsons and internal memory Jun 02 13:00:06 there's nothing dangerous about static, stop spreading lies Jun 02 13:00:08 I can persist the serialized object in a file Jun 02 13:00:41 Raoul11: How do you convert the objects to json? Manually mapping out the fields or with some general method? Jun 02 13:00:52 seralized form not ideal, consider sqlite, maybe SharedPreferences (if applicable), or some text format in your own private file (properties, json, xml) Jun 02 13:01:02 with gson.toGson(object, object.class) Jun 02 13:01:27 Zharf: The problems with static values are very well documented Jun 02 13:01:30 The problem not serializing is that you need to map out all the contents of the objects Jun 02 13:01:41 CedricBeust, there's no problems with static, unless you're being an idiot Jun 02 13:01:59 It's very easy to mess up with static, even if you're not an idiot Jun 02 13:02:09 and even if it's immutable Jun 02 13:02:36 And if you have a very complex object you would need hundreds of columns in a database or thousands of key value pairs Jun 02 13:02:50 I can't fathom how stupid the developer has to be to mess up a simple singleton Jun 02 13:02:58 singletons suck Jun 02 13:02:59 this true barq Jun 02 13:03:06 Start asking yourself how you test code that references a static Jun 02 13:03:15 might as well use a db for that purpose. my jsons are failry simple Hashmaps Jun 02 13:03:19 tests, pft :p Jun 02 13:03:25 dang`r`us: No singletons are fine, it's static that sucks Jun 02 13:03:49 could u elaborate more bout static? Jun 02 13:04:02 CedricBeust: Where would you host the singleton, assuming it is implemented properly? Jun 02 13:04:20 Singletons obtained by a static method are pretty hard to replace by another object. For example: if you need a mock singleton for testing purposes Jun 02 13:04:26 CedricBeust, singletons start to suck as soon as you want to test anything that involves them. Or sooner. Jun 02 13:04:38 barq: I let Dagger inject them for me but since it's not an option for you, you will have to pass it around yourself. Or invoke the function that reads it from storage. Jun 02 13:05:08 dang`r`us: Again, no. Singletons managed by Dagger or some DI are trivial to test. What makes testing impossible is using static to implement these singletons. Jun 02 13:05:14 I just don't write tests, there's no raeson to Jun 02 13:05:20 You can abuse the Application object of your app. It's a singleton itself, and will live for the entirety of your app lifetime Jun 02 13:05:30 They are pretty accessible as well Jun 02 13:05:30 The idea would be to read it from storage once and only repeat that if the variable gets lost due to the OS killing stuff. Would it be better to host this variable in a ContentProvider or the Application? Jun 02 13:05:31 http://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf Jun 02 13:06:06 CedricBeust, if you wanna be pedantic, I can rephrase my original statement to ".getInstance() sucks, and Singletons usually only enforce Singleton-ness in absence of DI" Jun 02 13:06:14 Zharf: Stop it, you think static is fine and you don't test, good for you. Most of us care about writing correct code. Jun 02 13:06:34 what makes you say that my code isn't "correct" Jun 02 13:06:44 barq: content provider looks overkill for the use you've described Jun 02 13:07:02 So I could host the object in the application. When writing to the object also persist it in a file some way or another and only read from the file when the object is null Jun 02 13:07:25 (most of the time no one cares if a singleton is actually just-one-instance - especially not when it's mocked. All you want is your dependencies fulfilled, which should be done by DI or something else, externally and threadsafe etc) Jun 02 13:07:25 The application will never be null afaik Jun 02 13:07:33 CedricBeust: Right now the ContentProvider is abused to hold the object, but I am not sure it is the optimal host for the object. Jun 02 13:07:46 though you still haven't explained how static is "dangerous" Jun 02 13:07:47 pduin: The application can be killed Jun 02 13:08:09 dang`r`us: No, it's sometimes very important to make sure that there is only one instance of a class in the entire app (or some scope) Jun 02 13:08:26 If you want data to be present after your app is killed, you need to persist to disk Jun 02 13:09:18 CedricBeust, *sometimes* yes. But without DI, things get really hairy once someone decides "hey, this singleton to the database should actually be a pool, hmmm ..." - but I suppose we agree in principle anyway Jun 02 13:09:33 "just use DI and don't roll your own singletons or gross static h4x" Jun 02 13:09:49 pduin: The application doesn't have a lifecycle though, so I would need to persist on every write or at a certain level of onTrimMemory Jun 02 13:11:20 hey. I have a button styled with ?android:attr/borderlessButtonStyle, but for some reason there's no change on the look when I set it to disabled. anyone knows if this is intended? Jun 02 13:11:31 barq: ActivityLifecycleCallbacks not enough for you? Jun 02 13:11:54 In the Application?! Jun 02 13:12:33 I have data that is shared between activities, so they can all access it via the Application or ContentProvider Jun 02 13:12:47 https://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks%28android.app.Application.ActivityLifecycleCallbacks%29 Jun 02 13:13:37 Which callback would you use in this case? Jun 02 13:14:28 Application#onCreate and onLowMemory would be an option to read and write Jun 02 13:15:17 What's wrong with persisting on every write? Jun 02 13:15:39 That would probably be better in case something is written between onLowMemory and kill Jun 02 13:16:15 So on write update the object and persist, but when reading read the object unless it is null, in that case read from persistent store. Jun 02 13:26:32 @Zharf, I solved my GridView issue with a slight hack. Jun 02 13:27:11 Hello guys, I have a design question. Jun 02 13:27:38 gridView.setLayoutParams() and gridView.requestLayout() Jun 02 13:29:02 I forced the GridView to resize based on the gridView.getMeasuredHeight() of the first row and multiplied it by the number of rows. Jun 02 13:29:25 Seems to work. Hopefully there aren't too many flaws with that. Jun 02 13:30:53 My client wants to swipe up from the bottom to show a listview from the bottom. Ok, so I did it. Than he wants also a button on the bottom corner that shows the listview the same way. Ok, I did that. Now the client wants me swipe up the listview from the button. So I really get annoyed as that's ridiculous. So from design point of view, does it make any sense to swipe up from a button? Jun 02 13:34:38 My opinion: it does not make sense at all, unless you can find some kind of visual indication to put on the button to promote swiping up. Jun 02 13:35:56 Also, does it matter much? The client is probably paying you to do so. Jun 02 13:37:03 it's good to encourage the clients towards good design, so yes, it matters :) Jun 02 13:37:28 anyone knows how to solve this issue? Jun 02 13:37:29 Caused by: java.io.IOException: Cannot run program "git" (in directory "D:\fdroidclient-master\fdroidclient-master\app"): CreateProcess error=2 Jun 02 13:37:41 i installed git, set path variables, restarted android studio Jun 02 13:39:27 Zharf: always voice your concerns and give advice, true. But in the end the one who's paying decides what's being built Jun 02 13:39:53 sure Jun 02 13:44:08 That's why I keep building those shitty date/time pickers with the scrolly wheels :(. I really hate those things Jun 02 13:44:47 Number5: What does swipe up from a button even mean? Jun 02 13:49:25 Number5: you should suggest opening the listview by quietly whispering "open sesame" in the microphone Jun 02 13:50:13 lol Jun 02 13:50:34 That's I'll discuss with the client, cause it's ridiculous and I don't see any point. Jun 02 13:51:32 Another thing, even if he wants it, the button eats up the touch events, so it won't work. Jun 02 13:52:07 I guess... Jun 02 14:16:19 anyone here use sqlcipher? Jun 02 14:16:22 Is it bad practice to have a Handler inside a ContentProvider? Jun 02 14:16:25 yes Jun 02 14:18:16 did you create your own SQLiteDatabase interface if you wanted to optionally use sqlcipher or the regular implementation? Jun 02 14:38:04 Has anyone noticed the Android emulator saying you typed your pin code in wrong the first time after starting it up? Jun 02 14:42:40 yiati: That was me sorryt Jun 02 14:42:45 ;) Jun 02 14:43:05 You work on the Android emulator? Jun 02 14:43:34 yiati: Nope I was joking saying I was hacking your emulator trying your pin when it started ;) Jun 02 14:43:41 Ah :( Jun 02 14:43:48 I've never had a pin on the emulator so never noticed Jun 02 14:44:05 I have a pin so that I can install a charles proxy cert to see network traffic Jun 02 14:45:17 yiati: good point Jun 02 14:52:43 hey y'all Jun 02 15:05:03 Hi guys and others. Jun 02 15:05:27 hihi Jun 02 15:05:47 NeoFrontier: other as in gurls, heameapthdites, and trannies? Jun 02 15:06:45 What is the best solution if you have some routines/methods re-occurring in activities to have those activities call it from a central: Object/class or library ? Jun 02 15:06:53 lol Jun 02 15:07:14 ;) Jun 02 15:07:49 a static class ? Jun 02 15:07:57 Ok then. Jun 02 15:08:01 thanks for listening. Jun 02 15:08:03 :D Jun 02 15:10:31 <3 Jun 02 15:10:51 * NeoFrontier tilts head Jun 02 15:11:16 dont, your marbles will escape Jun 02 15:11:18 I need to learn Chinese. Jun 02 15:11:26 Chinese is hard Jun 02 15:11:30 great. see you in 20+ years Jun 02 15:11:40 lol Jun 02 15:12:11 It cant be that hard. Or must it be because its so small ? Jun 02 15:12:19 ( puns everywhere ) Jun 02 15:12:50 the military teaches it in less then 6 months Jun 02 15:12:50 China ain't small... Jun 02 15:13:54 I figured if I can understand Chinese english like its nothing new. I can learn chinese. Jun 02 15:13:59 In less than 6 months. Jun 02 15:14:45 yuh-huh Jun 02 15:15:42 what is that? pretty sure the menus at chinese restuarants arnt considered chinese english. Jun 02 15:16:11 think its french Jun 02 15:17:24 the proper Chinese restaurants around here tend to have one photocopy of a translated-to-English menu somewhere under the counter - otherwise it's Chinese all the way Jun 02 15:18:05 your in hong kong right? Jun 02 15:18:54 of course Jun 02 15:19:06 lol, k Jun 02 15:19:45 Two places I'd love to visit. Somewhere in China. And New York. Jun 02 15:20:04 I've been to Chinatown in SF, not in NY Jun 02 15:20:12 also, in London, Singapore and China Jun 02 15:20:15 I'm thinking of going to hong kong in octoboer Jun 02 15:21:21 never been to chinatown, but have been to all those cities not in asia lol Jun 02 15:21:43 Eplebit: good time of year for it, after the summer heat/humidity has gone Jun 02 15:22:04 Leeds: yeah, that's why we chose that month :) Jun 02 15:22:37 was originally planning a trip to south korea in september, but we've delayed it to october as we want to visit hong kong as well Jun 02 15:22:48 Korea is also good Jun 02 15:23:08 (I'm pretty happy to say Korea and North Korea, given how rarely people talk about visiting the latter) Jun 02 15:24:08 had a nice weekend in Seoul last year Jun 02 15:24:20 Ok, Mockito is upset: "verify(presenter).unsubscribeDownloads();" says org.mockito.exceptions.misusing.UnfinishedVerificationException: Missing method call for verify(mock) here: at foo.DownloadsAdapterItemPresenterTest.detachView_unsubscribes_downloads(DownloadsAdapterItemPresenterTest.java:64) Jun 02 15:24:33 "presenter" is a spy, so I'm not sure why it's so mad Jun 02 15:39:31 :) Jun 02 15:43:14 hey there. when installing an android-emu from android-studio, i don't have any sound files on the device, not even the most basic notification sound. any idea what could be the problem? Jun 02 15:45:12 No really no. Jun 02 15:45:13 sorry Jun 02 16:05:40 Is there some kind of inlining happening, during compile time, for methods that simply call static methods? Is that a thing? Jun 02 16:07:17 Maybe during ART JIT? Jun 02 16:19:25 I just got rid of retrolambda in favor of using anonymous classes all over my codebase because Retrolambda was causing some build issues when combined with Kotlin Jun 02 16:20:19 Now when I launch the app from Android Studio, LeakCanary shows up with an empty view, but if I launch it from the launcher icon on the device, it will go into the app without any apparent issues Jun 02 16:25:09 nd now we know! Jun 02 16:25:16 ops, sorry. wrong channel Jun 02 16:26:30 joshkovach, fix which activity you want to launch by default in "edit configuration" near your run button Jun 02 16:30:39 adq: It's currently set to Default Activity. Why would that suddenly launch Leak Canary instead? Jun 02 16:31:04 idk check your manifest Jun 02 16:31:19 looks like leak canary activity is default in your case Jun 02 16:34:07 So, with RxJava, if my observables do NOT specify a scheduler to run on, I can't override the scheduler for testing? Jun 02 16:35:15 adq: inspecting the merged manifest, only thing with category DEFAULT is my main activity... Jun 02 16:36:12 then blame AS! Jun 02 16:42:31 morning noobs Jun 02 16:45:23 aha Jun 02 16:46:37 alright, so I have an activity-alias set up as my launcher that links to my main activity, but the DEFAULT category was still set to the main activity instead of the launcher. Leak Canary adds its own MAIN+LAUNCHER activity, and since my MAIN+LAUNCHER was missing DEFAULT, it was for some reason launching the LeakCanary activity instead Jun 02 17:06:05 does the main thread have an affinity for a specific core? Meaning, if I have a task running on the main thread, and then spawn off a thread a new thread, would the core that is executing the main thread Jun 02 17:06:14 switch to the new thread? Jun 02 17:06:20 just curious about context switches Jun 02 17:11:50 http://stackoverflow.com/questions/37553519/shared-element-transition-with-floating-action-button-studders Jun 02 17:19:04 Napalm|afk: Hello Jun 02 17:19:26 How are you today? Jun 02 17:40:52 Has there been any news on when Android Studio 2.2 Preview 3 (with Espresso Test Recorder) will be released? I haven't been able to find anything, I am assuming there is no steady release schedule? Jun 02 17:41:13 no Jun 02 17:44:46 Hey guys, anyone have experience with the googleplay API? I have been using it a bit through a python library, but it seems that it has stopped working lately. Jun 02 17:45:28 kivy? Jun 02 17:46:55 Google Play, the android libraries, or the APIs for Google Play, the store? Jun 02 17:49:10 the store Jun 02 17:49:26 https://github.com/NeroBurner/googleplay-api is the module available on pypi Jun 02 17:50:15 Basically as of last week the login fails with an unknown error. Actually 404s Jun 02 17:51:11 There's no public API for the play store Jun 02 17:52:53 yea theres apis that just scrape the play store and expose the data but theres no official api afaik Jun 02 17:53:50 alright guess I can't get mad at google for changing an internal API, then :) Jun 02 17:53:55 ty Jun 02 17:55:27 you might report the bug on their github, so they’re aware of it, and can try to make a workaround Jun 02 17:55:55 Yeah the only changes in the past 2 years are from me :) but i will try Jun 02 17:56:16 (and that repo doesn't accept issues). will check the forks Jun 02 17:59:41 i dont geet why some repos dont accept issues Jun 02 17:59:43 get* Jun 02 17:59:48 like whats the advantage there Jun 02 17:59:58 because I’ve obviously coded this perfectly Jun 02 18:00:07 what possible issues could you report Jun 02 18:00:21 lel Jun 02 18:00:51 orbyt_: I agree. It's annoying. I was glad they at least accepted my PR. Jun 02 18:02:12 Well, he linked to a fork of a fork.. I assume the author just forked it to fix some issue at one point Jun 02 18:02:22 For his own usage Jun 02 18:02:53 Yeah i am having fun sorting through the forks right now. the original author has abandoned it Jun 02 18:03:01 forkception Jun 02 18:03:30 there are too many forks. I'll make the one true fork Jun 02 18:03:35 https://xkcd.com/927/ Jun 02 18:06:12 As for not accepting issues, sometimes you just want to share some code without having to support it.. If you accept issues you get all kinds of dumb questions, support requests and feature requests Jun 02 18:06:46 If that’s the case, then I would argue that a collaborative website is not the best place to host it Jun 02 18:07:09 Issues are for other users just as much as they are for the author Jun 02 18:07:34 eh Jun 02 18:07:35 So I should only use github for hosting code I want to actively support? Jun 02 18:07:49 I love how gradle caches code and I have old code on device Jun 02 18:07:50 gradle <# Jun 02 18:07:52 <3 Jun 02 18:08:15 SimonVT: you want someoe to support your code ? Jun 02 18:09:30 Come again? Jun 02 18:09:35 I would say yes, at least for the public facing github Jun 02 18:09:48 Well, I disagree Jun 02 18:09:53 that much is obvious Jun 02 18:10:24 but if you’re not going to let anyone post issues, then it makes little sense to host it on a site designed for collaboration Jun 02 18:10:48 issues, even if you’re not going to respond to them, help let other people know about potential pitfalls in the code Jun 02 18:11:54 someone posts an issue, and then later, when I come by to evaluate whether or not i want to use the project, I can see those issues, and be able to decide if they would obstruct me or not Jun 02 18:12:50 Right. At the very least provide some contribution guidelines or say "this project is dead" Jun 02 18:19:36 you’ve already put the code out there, indicating that you either want other people to use it, or at least think that others might find it useful. Why actively handicap people at that point? Jun 02 18:21:23 People expect support if they can open issues Jun 02 18:21:49 people expect support no matter what Jun 02 18:23:03 ... wait I missed the part of the conversation where it was implied it's unreasonable to expect support Jun 02 18:23:26 that’s a whole nother topic that isn’t completely relevant here Jun 02 18:23:59 it has to do with the ethics of engineering vs doing something for free Jun 02 18:25:26 I recently (I believe) had a form of this conversation and we ended talking about the n6 developer edition. essentially the added price is for the "support" of running a device outside it's intended function. I feel things should follow the same model; here's our product. want extended support contracts? thats extra. *to include* interacting with developers/QA staff at all Jun 02 18:25:57 people need to be paid for their work, period. and plenty of people want to do all sorts of work. lets just price everything out and let peopel pay for what they need Jun 02 18:26:14 perhaps, but the vast majority of projects on Github probably do not have support contract stuff. Jun 02 18:26:55 and while I believe in people getting paid for their work, that does also kinda go down the line of making everything on earth paid, although that’s a bit of a stretch Jun 02 18:27:05 nah I'm all for open source Jun 02 18:27:12 but QA is a job, a hard one, a skilled one Jun 02 18:28:09 people are just used to reducing cost as always being a good idea to the bottom line, rather than seeing the value added to paying additional employees at a company to provide you with better QA/support Jun 02 18:28:28 haha so i got the api to work... Jun 02 18:28:37 it 404s if the sdk version is too high Jun 02 18:29:15 In the header? Jun 02 18:29:19 Yep Jun 02 18:29:35 Maybe they have a different login flow for newer devices Jun 02 18:29:55 Yeah so I'll have to mitm a new phone to see how they do it Jun 02 18:36:33 how do I programmatically apply a style to a view Jun 02 18:37:01 i don’t believe you can Jun 02 18:37:46 hah damn so the SDK version in the api is one factor, but so is the account Jun 02 18:37:52 missingno rotate the activity :D Jun 02 18:38:08 i am guessing it's because it checks the phones tied to the account and from there maybe the SDK versions that it supports Jun 02 18:46:09 hi guys, i need to develop a simple Firewall using Local VPN to monitor traffic, but i have an doubt Jun 02 18:46:17 i know how to start a VPNService, i know how to write the packet to the tunnel but i don't know how to read the incoming packet from the tunnel and write them to output stream Jun 02 18:49:53 Is there a way to have Android Studio not collapse folders/packages after a Gradle sync? Jun 02 19:22:25 Nevermind, apparently it's only if you are using the Android view and not Project view, I will just switch to using favorites Jun 02 20:23:26 When a new observable is created, by default it runs on the "current thread," does that mean that it is by default immediate on that thread? Jun 02 20:24:17 explodes yeah i think its synchronous Jun 02 20:24:32 * g00s actually getting somewhat rusty Jun 02 20:25:15 but if you combine two observables, what scheduler does it use? the first one, the second one, the current thread? Jun 02 20:25:21 explodes when you add a observeOn or subscribeOn then that implies a queue, although it could still be the same thread Jun 02 20:25:38 explodes ah , i have a good link one sec Jun 02 20:26:04 explodes must read http://www.grahamlea.com/2014/07/rxjava-threading-examples/ Jun 02 20:31:57 damn it safari still busted on d.android.com , i guess google doesn't care about stuff except chrome. also had problems with FF Jun 02 20:32:15 and at this point i hate chrome, but keep it installed just for that Jun 02 21:00:05 anyone have some experience with MediaSessionCompat? Jun 02 21:01:02 <[1]Psycho> So I started a project and I started it with the drawer activity, the overall code quality is pretty shitty. should I rewrite it as an empty project or rewrite again using the drawer activity? Jun 02 21:01:35 What? Jun 02 21:02:42 1. Hows it shitty 2. That completely depends if you want a drawer or not. Jun 02 21:05:05 [1]Psycho: To put it a better way, you’d have to show what is shitty about the code quality. That would help determine whether a rewrite would help Jun 02 21:05:36 Anyway, in my services onCreate() I have the following: http://pastebin.com/sNcUNCPw Jun 02 21:06:07 then in onStartCommand() i have the following "MediaButtonReceiver.handleIntent(mMediaSession, intent);" Jun 02 21:06:33 the mediasessioncompats callback events dont seem to be called when using the buttons on some headphones Jun 02 21:06:49 any ideas why? Jun 02 21:08:06 <[1]Psycho> I wrote the code quickly and it's not of very high quality because it was a demo app. I do want the drawer but do I didn't really need everything the drawer activity had offered me but design and well, the drawer itself Jun 02 21:18:42 <[1]Psycho> btw when ever I open an activity on my app and then press the back button it goes back to all the previous activities that were on, how can I get back to the main page instead of going through all the activities? Jun 02 21:21:16 Is it possible to turn off the "Gradle files have changed... | SYNC NOW" popup? Jun 02 21:22:43 For those wondering, fix was setting the playback state via mSession.setPlaybackState(PBSCompat state) Jun 02 21:23:36 s73v3r quick q, have you ever used recyclerview to re-arrange items ? Jun 02 21:23:48 yup Jun 02 21:25:26 s73v3r ok, i'm not sure how to approach this. typically, i have UI just respond to model changes, in the old days i'd probably change the model and notifyDataSetChanged and let RV show new order - but now 'm not sure what the best way to do this.... Jun 02 21:25:53 keeping model and UI in sync like this when the RV adapter itself has state Jun 02 21:26:19 this is for re-ordering items in recyclerView Jun 02 21:26:45 I am running into issue 5497 with android for some business development for a rather large company. The issue is currently closed as "WorkingAsIntended". Is there any way we could raise the visibility or priority of this ticket, given it's closed and been around since Android 1.5? Does Google sell enterprise support agreements? Jun 02 21:29:38 s73v3r so if i swap position 1 & 2, i guess i could just write that out to model / disk , let the adapter hold the transient state, if the activity gets recreated things should be sorted out Jun 02 21:33:18 g00s, i don't really understand your problematic Jun 02 21:34:07 yeah sorry. i haven't done dnd items in RecyclerView before. getting it to work would be easy, i'm just not sure how to keep the model (which would contain the order of things) and the adapter positions in sync Jun 02 21:34:17 oh for dnd idk Jun 02 21:34:31 without dnd, i simply use a collection.sort filtered against a criteria (like you know sort by name, sort by position, etc) Jun 02 21:34:48 and notify the thing that the backing array has changed and the UI needs to reflect that Jun 02 21:34:57 obviously the new positions have to be saved to the model, but since the RV already has the correct state as things were dragged, what to do with those events ... Jun 02 21:35:05 ah indeed i have several positions field Jun 02 21:35:38 the default one (cannot be changed, could serve as a reference), and the current one (which is re-ordered if the sort change) Jun 02 21:36:14 sorry, I wasn’t paying attention Jun 02 21:36:19 adq hm ok. i'm used to the old ListView ways of things, stuff changes in db - notifiyDatasetChanged and redo all the things Jun 02 21:37:09 with Loaders, etc Jun 02 21:37:17 damn, you're on your own Jun 02 21:37:26 lol thanks adq :D Jun 02 21:37:30 <- just left irc, afk, etc voice call Jun 02 21:37:34 :> Jun 02 21:37:40 isn't that the android motto "you're on your own from here ;)" Jun 02 21:37:57 well it's better to say nothing than giving wrong advices i believe ;) Jun 02 21:38:05 XD Jun 02 21:38:09 g00s: with my list reordering, I waited to persist til the user hit the “back” button Jun 02 21:38:27 of course, my persistance went to the server, so it had a higher cost than writing to a local db Jun 02 21:38:46 s73v3r oh interesting, so you would not get any kind or reordering events Jun 02 21:38:52 *kind of Jun 02 21:39:10 yeah i could do that too ... Jun 02 21:40:16 not for intermediate states. of course, my reordering was dragging, so if I dragged a cell up 3 positions, I wouldn’t want to fire off 3 different events Jun 02 21:40:29 hm yeah Jun 02 21:41:00 ok thanks s73v3r Jun 02 21:41:47 * g00s still struggling with RV animations :( Jun 02 21:42:02 all i can say is thank god for instant run Jun 02 21:54:07 cool flexbox layout 0.2.0 has min width/height & max width / height constraints now Jun 02 21:54:59 wow 4000 stars for his github repo; a simple things that made lots of devs lives better Jun 02 21:57:26 heard about that awhile ago, how useful is it? Im pretty familiar with flexbox on the web Jun 02 21:58:20 Having problems with SwipeRefreshLayout Jun 02 21:58:35 Is it a good idea to use in as a child of CoordinatorLayout Jun 02 21:58:41 ? Jun 02 21:59:10 It behaves odd when using with CollapsingToolBarLayout Jun 02 22:03:29 orbyt_ its pretty good, i use it in my project Jun 02 22:04:04 crised under coordinator layout, should be OK but yeah i do remember weird stuff happening when things change Jun 02 22:04:46 g00s: mmm https://gist.github.com/crised/fd1ae400f9dd448dd5481edab903641e What can be wrong here? Jun 02 22:04:53 crised at least i've seen SwipeRL as children of CL in gapps Jun 02 22:05:12 maybe they do something in code to correct something Jun 02 22:41:15 i have an ActinMenuView (essentially Toolbar light) with icons that aren't tinted correctly, do we still have to handle that stuff ourselves ? like iterate thought all the items and set tint ? Jun 02 22:41:24 *ActionMenuView Jun 02 22:48:53 g00s: Problem is that views are overlapping inside CoordinatorLayout Jun 02 22:55:18 what is the minimum version of android that lets me use ?attr in state list drawables ? Jun 02 22:55:25 regular drawables its 21 Jun 02 23:04:53 ah shit, 5.1 Jun 02 23:08:32 http://stackoverflow.com/questions/37553519/shared-element-transition-with-floating-action-button-studders Jun 02 23:08:34 anyone Jun 02 23:17:35 What's a view's anchor? Jun 03 01:03:36 is it true that the android implementation of ArrayList initially starts with a 0 capacity? Jun 03 01:17:15 Hi guys, I'm working on some app widget and I have an issue with layout. I have an ImageView there with both width and height set to "match_parent" and also margins set to 20dp, however when I see my widget on the screen my ImageView has no any margins, it simply takes all the space of the widget. Jun 03 01:17:51 How can I add margin there? Jun 03 01:19:23 Widget's root layout has semi transparent background and I have its content to have some margins but maybe there's something special about margins/paddings in widgets? Jun 03 02:11:56 pretty good article about android fragmentation http://penguindreams.org/blog/android-fragmentation/ Jun 03 02:12:14 and what needs to happen minimum at technical level (ABIs, etc) Jun 03 02:25:24 what is gradlew? i click it by mistake. **** ENDING LOGGING AT Fri Jun 03 02:59:58 2016