**** BEGIN LOGGING AT Tue Dec 15 02:59:58 2015 Dec 15 03:09:05 reto "You know that cool undocumented Android API you're using in your app via reflection? Please stop. It will break and you will be very sad." don't most android APIs behave like that anyhow? Dec 15 03:11:01 g00s: it seems like there's a story behind that comment... Dec 15 03:18:07 reflection doesn't work with obfuscation right? Dec 15 03:20:52 g00s, lol Dec 15 03:28:55 Bubo: well, unless you put some rule in proguard Dec 15 03:39:22 why is it that I see no devices when I do sudo ./adb devices Dec 15 03:39:31 I have devices that had the developer tools enabled Dec 15 03:39:42 has something changed recently in the software? Dec 15 03:39:55 I do see that there is a: adb -P 5037 fork-server process running Dec 15 03:57:51 Using MVP, would form validation be a job for the view, the presenter, or would/could there be a model class for that? Dec 15 04:03:29 Probably presenter, keep the view stupid simple Dec 15 04:08:06 Yeah, that's what I ended up doing Dec 15 04:44:50 any advice on REST app patterns? except ones from google, don't like ContentProviders and Cursors Dec 15 04:45:26 specifically interested how to do rest right on android client with Rx Dec 15 04:45:37 *interested on Dec 15 04:45:39 vigilancer: Use Retrofit, you get both Dec 15 04:47:24 CedricBeust : yeah, I'm using it. but there is the thing. If I'm isolating network operations in Service, how can I sync Spinner visibility with current operation Dec 15 04:47:35 is it pending? is it done? was it done before? Dec 15 04:48:41 I'm not sure what you're asking Dec 15 04:50:35 Imagine situation when you need to show Spinner while your network request is pending. It's straight forward if you make request from Activity, just bound Spinner visibility changes to Observable callbacks Dec 15 04:51:12 Subscribe to the Observable returned by Retrofit, post an update event when you get a response (and add a time out for good measure). What's hard about that? Dec 15 04:51:56 post an update event? Dec 15 04:52:05 Post to the EDT to update your UI Dec 15 04:52:36 what's EDT? Dec 15 04:52:57 The main thread, also called the UI thread ("Event dispatch thread") Dec 15 04:53:08 ah, yeah Dec 15 04:54:59 what about situation when you make request, show spinner, close activity, open (recreate) activity, request still pending but you do not know about it Dec 15 04:55:05 am I overthinking? Dec 15 04:55:18 The time out will kick in Dec 15 04:55:45 vigilancer did you see https://www.youtube.com/watch?v=BlkJzgjzL0c&index=2&list=PLWz5rJ2EKKc_Tt7q77qwyKRgytF1RzRx8 Dec 15 04:55:51 its pretty general, but may help Dec 15 04:56:07 You could also id your queries and when you receive a response, make sure it's a response to the current query and not an outdated one Dec 15 04:56:29 Don't overthink that, just make sure you clean up your stuff and you never confuse the user Dec 15 04:59:39 CedricBeust : I just don't like the idea to pull retrofit right from activities. I want to isolate networking completely Dec 15 04:59:47 g00s : thank, I'll take a look Dec 15 05:00:09 vigilancer: This is already supported by Retrofit, the service is an interface you can implement any way you like, including with mocks Dec 15 05:05:19 CedricBeust : >>The time out will kick in. || Previous request will be cancelled because of timeout and new one will be created? Dec 15 05:25:44 hello Dec 15 05:35:26 anyone has any idea how do i implement bandpass filter into my current android project? do i have to first create a low pass and high pass then i can do a bandpass filter? Dec 15 05:35:57 i am trying to add a 18k - 20k bandpass filter (iir) to my code found some libraries but not sure how to make sure of it Dec 15 05:39:43 anyhowput try to find adq when he Dec 15 05:39:47 's around Dec 15 05:43:09 thanks for the recommendation :) Dec 15 05:53:35 hello, do you guys know how can i set the style for the AlertDialog? Dec 15 05:53:50 I am trying this: @style/AppTheme.AlertDialog but its not working Dec 15 06:07:25 hmm, probably time to drop gingerbread support for qicr Dec 15 06:07:34 I can't get a new feature to look right Dec 15 06:07:55 rather, I don't want to try Dec 15 06:13:37 g00s : thanks again for link, their use cases covers my needs totally. android-priority-jobqueue is what I was looking for Dec 15 06:13:47 cool Dec 15 06:14:32 g00s : have you experience with jobqueue ? Dec 15 06:15:19 vigilancer no. i think yigit created it while at Path Dec 15 06:15:59 there is another one called Goro thats similar Dec 15 06:16:08 but i haven't used either Dec 15 06:16:11 hmm, appcompat doesn't set elevation on toolbar by default? not even when set as support action bar? meh Dec 15 06:16:51 * g00s had hard time understanding yigit in the talks - can not decipher that guy's accent Dec 15 06:18:50 not jobqueue specific, I'm just wondering if there is more convenient way to send events other than EventBus Dec 15 06:19:13 own global Rx event bus maybe Dec 15 06:20:05 but more.. androidish in some sort) Dec 15 06:20:32 broadcasts require context and boilerplate Dec 15 06:21:28 fwiw, i put all that stuff in a content provider and then use ContentObservers to monitor Dec 15 06:21:57 but, its a controversial thing these days to use CP for private data Dec 15 06:22:24 serves me well though ;) Dec 15 06:22:56 <_genuser_> man, just importing a project from eclipse into android studio after a long time and it's just breaking left and right. Dec 15 06:23:23 long time waiting Dec 15 06:23:45 <_genuser_> long time of not androidstudio use. long time of not looking at code. Dec 15 06:23:52 <_genuser_> completely clueless in places about what I had written, lol. Dec 15 06:24:10 _genuser_ : look at readme inside imported project, there may be clues Dec 15 06:24:20 also, pastebin whatever errors Dec 15 06:24:22 <_genuser_> vigilancer: only if it was that easy Dec 15 06:24:29 <_genuser_> canvs2321: pfft pastebin. Dec 15 06:24:31 about how to fix, not about your code) Dec 15 06:24:46 <_genuser_> I wrote code with methods that take 3 args. and then used it somehow as only taking 2. Dec 15 06:24:53 <_genuser_> and now I wonder how it ever compiled in eclipse, lol. Dec 15 06:24:59 <_genuser_> it's all my own code now that's breaking. Dec 15 06:25:12 <_genuser_> regular importing of non jars and moving whatever was on gradle to gradle, all taht worked great. Dec 15 06:25:18 cool Dec 15 06:25:40 <_genuser_> I'm eager to get it to run and move the project to AS. so I can once again get coding. Dec 15 06:25:58 what version of AS did you go with? Dec 15 06:26:13 <_genuser_> 1.5.2 is what's stable right now? Dec 15 06:26:20 <_genuser_> 1.5.1! Dec 15 06:26:29 are you questioning or answering? Dec 15 06:27:01 <_genuser_> first was a question to check what the stable was. I just knew I had moved to stable one. and second was to clarify that it is 1.5.1 (after I checked). Dec 15 06:27:39 should be a good build to transition with Dec 15 06:28:58 <_genuser_> yea, it's nice. I have some project on AS already. this was just started long time ago and I never moved it from eclipse. Dec 15 06:33:08 Hi, I have a set of APIs which require SSL to be on, so for the dev setup I am using a self signed certificate. The device is unable to establish a connection then, how can I fix it? Dec 15 06:41:26 zoso: Is it a regular rest api? Can you visit the endpoint in your browser on the device your trying to connect with? Dec 15 06:43:23 orbyt_, it is an rest API. Yes I am able to reach the endpoint from the browser Dec 15 06:43:46 What error are you getting then? Dec 15 06:44:55 orbyt_, I dont see the call coming to the endpoint. I do not see an entry in access log of the web server. Dec 15 06:46:25 zoso: Then wouldnt that suggest that theres a problem with network call? Cant really help further without seeing the code Dec 15 06:48:46 orbyt_, I was guessing the problem to be there because the API is behind a SSL gateway and the certificate is not signed by a trusted CA Dec 15 06:49:32 zoso: If that was the problem youd get an error. If nothings hitting the server then obviously theres an issue with your call Dec 15 06:50:11 orbyt_, oh ok, thanks :) Dec 15 06:50:15 Also pretty sure you wouldnt be able to visit the endpoint in the browser using the same device Dec 15 06:50:24 if that was the case Dec 15 06:50:41 orbyt_, on the browser I can do accept a bad certificate Dec 15 06:50:55 and I have to do it when I open the url.. Dec 15 06:51:11 zoso: which browser r u using? Dec 15 06:51:22 <_genuser_> well, it compiles! Dec 15 06:51:35 <_genuser_> now see if it runs and actually does what it supposed to Dec 15 06:52:41 orbyt_, firefox Dec 15 06:52:57 zoso: what happens if you use the chrome mobile app Dec 15 06:52:58 how to center horizontally text in wrapped text in text view? Dec 15 06:53:36 wrapped part not centered but just hangs on left side Dec 15 06:54:37 do you guys know how can I add elevation to the buttonbar in an alerdialog? apparently i did, i added this to my theme. 10dp but it only works if i add a @android:color/holo_purple even if that background is being ignored by the app because it keeps getting the background tint for the dialog not that purple for ex Dec 15 06:54:37 ample Dec 15 06:54:44 vigilancer, try using "android:gravity="center_horizontal"" Dec 15 06:55:23 ah, thanks, added android:layout_centerHorizontal="true" but forgot about gravity Dec 15 06:57:50 hello Dec 15 06:58:41 any idea on how can i set the colour for the dividers below the title and above the buttonsbar in an alertdialog with a list of items in it? like in the Ringtone alert dialog when you scroll those dividers appear Dec 15 07:28:12 Hey how can I make a headsup notification to go into my app once clicked? Dec 15 07:29:35 <_genuser_> son of a gun. Dec 15 07:29:41 <_genuser_> I can't just create an AVD and use it. Dec 15 07:29:47 <_genuser_> it's either waaaay too small or waaaay too big. Dec 15 07:31:18 cart_man: Look into PendingIntents, _genuser_ use genymotion Dec 15 08:14:28 a question - a way or library to draw smooth path (or lines) crossing points Dec 15 08:14:32 like chart Dec 15 08:15:36 orbyt_: Ok soo Dec 15 08:16:51 orbyt_: There is a couple of pending intent types... which one will I use if I only need it to start an activity with data that the called class will pull from somewhere else? Dec 15 08:19:38 hi Dec 15 08:20:01 cart_man: You use it like a regular Intent. http://www.vogella.com/tutorials/AndroidNotifications/article.html goes over it pretty well Dec 15 08:20:40 does anyone know of any app on github or just open source that connects to bluetooth devices? perhaps with some profile implemented? Dec 15 08:20:53 <_genuser_> has any of you done layouts based on orientation? Dec 15 08:21:13 <_genuser_> so landscape both ways, one orientation. portrait both ways, another orientation. Dec 15 08:34:16 <_genuser_> hmmm, emulator is pathetically ... Dec 15 08:34:17 <_genuser_> slow Dec 15 08:38:24 Do you guys have a good name for models that strictly represent a database table? DBO's? Dec 15 09:53:21 Morning Dec 15 09:53:42 s Dec 15 09:53:50 Hi Dec 15 09:54:04 Is there a way to publish new version of my app to few of my users. Like 5-10% ? Dec 15 09:54:09 That would be amazing Dec 15 10:02:38 vegetabl4salad19: yeah, you can do a closed beta on google play. Dec 15 10:03:15 vegetabl4salad19: there are a couple of ways to do it, one by sharing a link (open beta) and another by creating groups of emails who will be authed on that given channel Dec 15 10:03:38 vegetabl4salad19: i use it for testing, so i have the alpha channel set up with a few testers who get the newest builds Dec 15 10:04:03 vegetabl4salad19: as they're proven stable they can be promoted alpha -> beta -> production Dec 15 10:05:14 teasp00n, yes I have that but only on some 30 users Dec 15 10:05:33 I need to push new version to 1000-2000 ppl Dec 15 10:06:40 App is getting bigger and can't afford any mistakes Dec 15 10:15:08 vegetabl4salad19, you could do a staged rollout Dec 15 10:17:40 oh, wow. That is exactly what I need. I have never seen this in dev console. Weird Dec 15 10:17:42 Can someone please tell me why I keep on getting this error? The error is on the bottom of the paste - > http://pastebin.com/ueHrGJnz Dec 15 10:17:56 I can not seem to get the right classes imported >.< Dec 15 10:18:06 darken, I can manage percentage there ? Dec 15 10:19:23 hi, how can I specify a uniform custom ttf font (some theme probably) via XML? Dec 15 10:20:29 ideas? Dec 15 10:23:07 cart_man, perhaps NotificationManager needs to be android.support.v4.app as well. Just guessing Dec 15 10:23:58 ll Dec 15 10:24:29 agaurav77, I use https://github.com/chrisjenx/Calligraphy Dec 15 10:26:06 vegetabl4salad19: great !!! thanks :) Dec 15 10:30:11 vegetabl4salad19: No did not work Dec 15 10:31:59 hi guys, what is the best way to check internet connection over wifi? I want internet connection, not just wifi Dec 15 10:36:20 icemanbp, just ping any server.. http://stackoverflow.com/questions/6493517/detect-if-android-device-has-internet-connection Dec 15 10:40:38 you should use the clients3.google.com one Dec 15 10:41:08 that's what Android uses internally to check if there's an internet connection or captive portals (login required) Dec 15 10:43:19 Don't ping Google servers, ping an actual DNS root. Dec 15 10:43:41 Google servers like clients3.Google.com are down every few months, too. Dec 15 10:43:49 Which can be quite annoying. Dec 15 10:57:48 can someone please help with this: http://stackoverflow.com/questions/34286893/why-is-my-listadapter-not-showing-any-data Dec 15 11:02:46 siaw, do you get a stacktrace in logcat? Dec 15 11:02:56 hello Dec 15 11:02:58 Zharf: no. nothing Dec 15 11:03:20 I've to remove a button from navbar Dec 15 11:03:28 Zharf: only error i get is “12-15 12:01:20.358 6459-6495/com.todoapp.android.json E/[DRVB][EXT][UTIL]: disp_only_chk: DRVB CHECK PROCESS DONE ! STATUS (2/0x2002) Dec 15 11:03:29 " Dec 15 11:03:40 I've get systemUI.apk Dec 15 11:03:45 *got Dec 15 11:04:06 siaw, replace e.printStackTrace() with Log.e("foo", "error", e); Dec 15 11:04:50 Zharf: ok one sec Dec 15 11:05:11 siaw, also run it in a debugger and put a breakpoint in onPostExecute Dec 15 11:05:12 siaw, do you call notifyDataSetChanged in your adapter ? Dec 15 11:05:34 that is one crazy json Dec 15 11:05:35 vegetabl4salad19, shouldn't have to, he's creating a new adapter Dec 15 11:05:51 I've changed the layout .xml file Dec 15 11:06:23 but it's not enough, I've also to change the class java file Dec 15 11:06:31 Zharf, that is my knee jerk reaction to any List adapter question :) Dec 15 11:06:36 vegetabl4salad19: no i don’t Dec 15 11:07:00 siaw, check the update on the answer from blackbelt Dec 15 11:07:05 he's got a point Dec 15 11:07:25 vegetabl4salad19, :) Dec 15 11:07:34 I've installed dex2jar and then I've extracted .class files from classes.dex Dec 15 11:07:49 Zharf: yeah done that Dec 15 11:08:02 siaw, he updated 1 minute ago Dec 15 11:08:06 check it again Dec 15 11:08:18 Zharf: i saw it Dec 15 11:08:21 class files now are reachable, but I can't open them by a text editor Dec 15 11:08:24 Zharf: now i get this: E/foo: error Dec 15 11:08:24 org.json.JSONException: Expected literal value at character 1 of {\n\t\"items\": [{\n\t\t\"index\": 1,\n\t\t\"name\": \"Bobby\",\n\t\t\"events\": [{\n\t\t\t\"index\": 19,\n\t\t\t\"email\": \"louis@hardy.eg\"\n\t\t}, {\n\t\t\t\"index\": 13,\n\t\t\t\"email\": \"cynthia@mills.mc\"\n\t\t}, {\n\t\t\t\"index\": 0,\n\t\t\t\"email\": \"leo@graham.kp\"\n\t\t}]\n\t}]\n} Dec 15 11:08:35 Zharf: that’s after changing the log time Dec 15 11:09:09 how could I open .class files (in human readable mode) for systemUI package? Dec 15 11:09:15 Any ideas? Dec 15 11:09:16 my eyes hurt from this json :( Dec 15 11:09:20 siaw, well your json is invalid Dec 15 11:09:46 you're double escaping \ in \n which results to json trying to parse the string "\n" Dec 15 11:10:05 yes, this json doesn't validate Dec 15 11:10:39 siaw, useful tool https://jsonformatter.curiousconcept.com/ Dec 15 11:11:43 vegetabl4salad19: this is weird :( Dec 15 11:11:54 vegetabl4salad19: 2 sites are saying my json is valid Dec 15 11:12:19 siaw, the json you have without the escapes is valid Dec 15 11:12:23 the one in your code isn't Dec 15 11:12:33 Zharf: ok Dec 15 11:12:52 just remove all \n and \t's, they're useless Dec 15 11:13:09 Zharf: this would be ok? https://api.myjson.com/bins/2k6dt Dec 15 11:13:22 yes Dec 15 11:15:13 ok Dec 15 11:15:21 Can someone please check out my class and tell my why nothing happens when I click on my notifications ? Dec 15 11:15:22 http://pastebin.com/RVDuYpNi Dec 15 11:15:26 Zharf: in my logcat, i can actually see the json data Dec 15 11:15:35 Zharf: except that it’s not showing in my view on the phone Dec 15 11:16:02 Zharf: after “try” this line executes Log.d("Response: ", "> " + jsonStr); Dec 15 11:16:07 and it logs the response Dec 15 11:19:04 hey guys, I run ubuntu on my laptop, how could I capture HTTP requests from my app knowing that my tablet is connected to my computer via USB ? Dec 15 11:19:45 siaw, it also prints the \n and \t, which are not supposed to be visible characters Dec 15 11:19:56 but are because you're escaping the \ instead of the n or t Dec 15 11:20:15 just keep it simple and don't use \n or \t Dec 15 11:20:22 and use single escape for " Dec 15 11:20:28 Zharf: ok. the question i think i should be ask is. how do i put json directly in my code then? Dec 15 11:21:41 String jsonStr = "{\"items\": [{\"index\": 1,\"name\": \"Bobby\",\"events\": [{\"index\": 19,\"email\": \"louis@hardy.eg\"},{\"index\": 13,\"email\": \"cynthia@mills.mc\"},{\"index\": 0,\"email\": \"leo@graham.kp\"}]},{\"index\": 2,\"name\": \"Maxine\",\"events\": [{\"index\": 14,\"email\": \"miriam@horne.mo\"},{\"index\": 20,\"email\": \"danny@joyce.ro\"},{\"index\": 25,\"email\": \"christina@davenport Dec 15 11:21:48 .fo\"}]},{\"index\": 3,\"name\": ... Dec 15 11:21:49 well that was longer than expected Dec 15 11:21:51 ... \"Ruth\",\"events\": [{\"index\": 1,\"email\": \"heather@kirk.bm\"},{\"index\": 29,\"email\": \"kim@middleton.ve\"},{\"index\": 2,\"email\": \"harold@arthur.net\"}]},{\"index\": 4,\"name\": \"Brandon\",\"events\": [{\"index\": 3,\"email\": \"danny@parrott.eg\"},{\"index\": 5,\"email\": \"sarah@underwood.net\"},{\"index\": 11,\"email\": \"bonnie@banks.ye\"}]},{\"index\": 5,\"name\": \"Kristina\",\"ev Dec 15 11:21:57 ents\": [{\"index\": 18,\"email\": ... Dec 15 11:22:00 ... \"frances@law.mf\"},{\"index\": 15,\"email\": \"nancy@o.mo\"},{\"index\": 6,\"email\": \"ben@holden.um\"}]},{\"index\": 6,\"name\": \"Keith\",\"events\": [{\"index\": 10,\"email\": \"alfred@baldwin.za\"},{\"index\": 9,\"email\": \"courtney@hinson.us\"},{\"index\": 7,\"email\": \"tracey@keller.li\"}]}]}"; Dec 15 11:22:11 http://cb4e7ecb9330913b.paste.se/ Dec 15 11:22:12 there Dec 15 11:22:34 Zharf: thanks. let me try :( Dec 15 11:22:43 Zharf: Hey are you familiar with notifications ? Dec 15 11:23:10 Zharf: :o Dec 15 11:23:15 Zharf: it works!!!! Dec 15 11:23:39 Zharf: :D :D :D :D :D Dec 15 11:23:56 Zharf: thanks so much. i spent a whole day on this! Dec 15 11:24:08 Zharf: how did you get the json to that format? Dec 15 11:25:04 siaw, just removed all linebreaks and tabs... Dec 15 11:25:07 cart_man, sure Dec 15 11:25:41 Zharf: manually? no. Dec 15 11:25:55 Zharf: I just want my Heads up to go into an intent when clicked -> I just do not know what more to do -> http://pastebin.com/RVDuYpNi Dec 15 11:25:58 siaw, for this particular case I used sed Dec 15 11:26:13 cart_man, pIntent is null, isn't it Dec 15 11:27:16 siaw, but I assume you're getting the json from a network eventually, so just use the data as is and don't do anything to it Dec 15 11:27:23 Zharf: what’s sed? Dec 15 11:27:36 siaw, it's a program for string manipulation on the command line Dec 15 11:28:11 Zharf: ok ;) Dec 15 11:28:20 Zharf: Ahh man lol.. ok but how do I give that intent Data so that it can know where to display what? Dec 15 11:28:57 cart_man, you can put extras to it and read them when whatever starts that it's supposed to start Dec 15 11:29:37 cart_man, I assume pIntent is supposed to be the PendingIntent.getActivity? Dec 15 11:29:46 It is yes Dec 15 11:29:59 cart_man, so just put extras to the /intent/ parameter that's passed to getActivity Dec 15 11:30:13 not the PendingIntent Dec 15 11:32:09 Zharf: Ahh like putExtra() ...etc Dec 15 11:32:17 yep Dec 15 11:32:23 Ohh lol ok Dec 15 11:32:31 cart_man, you can then read the stuff in Showcase.onCreate or something Dec 15 11:33:05 Also... 1 more thing... The headsUp tends to stay even if you click on it and came back out of the called intent... how do I make it scoot off when clicked? Dec 15 11:33:10 it's just like starting an activity normally but with the intent wrapped in a pendingintent so that it can be called later Dec 15 11:33:17 Is there a way to make it display for a shorted duration? Dec 15 11:33:36 Zharf: Makes waaaaay more sense :) Dec 15 11:33:42 Zharf: i have one more problem with my layout xml files here http://stackoverflow.com/questions/34286893/why-is-my-listadapter-not-showing-any-data/34287062#34287062 why isn’t my list scrollable? :( Dec 15 11:34:00 cart_man, builder.setAutoCancel(true) Dec 15 11:34:25 cart_man, using that will dismiss it automatically when clicked Dec 15 11:35:20 Thanks allot Zharf! Really appreciated ! Dec 15 11:36:10 Android tutorials should probably use RxJava by default nowadays. Dec 15 11:36:11 siaw, listview should have a fixed height (such as match_parent) Dec 15 11:36:22 justJanne, nah Dec 15 11:37:26 siaw, listview with wrap_content height will be as tall as the content so it thinks there's no need to scroll Dec 15 11:50:21 Zharf: how do i fix it? Dec 15 11:53:14 Android emulators are really slow :/ Dec 15 11:53:16 siaw, depends on what you want, but use layout_height="match_parent", usually Dec 15 11:53:30 have you tried Windows Phone emulators? :P they are so fast. Dec 15 11:53:38 AbuDhar, yep, if you're on windows and an intel CPU, you can try intel HAXM Dec 15 11:53:49 but I don't generally use emulators anyway Dec 15 11:53:57 I am trying to emulate my ionic application... it takes years just to boot up :/ Dec 15 11:54:05 I wish I had a device right now. Dec 15 11:54:06 some people use genymotion Dec 15 11:55:01 AbuDhar, also make sure you're using x86 image Dec 15 11:55:06 not an arm one Dec 15 11:55:11 Zharf: I am using the arm one Dec 15 11:55:34 because the x86 won't work when Virtualbox is opened at the same time. Dec 15 11:56:28 http://stackoverflow.com/questions/16168799/android-emulator-and-virtualbox-cannot-run-at-same-time Dec 15 11:56:48 that would be in my activity_main.xml right? Dec 15 11:56:48 works for me(tm) Dec 15 11:56:52 siaw, yep Dec 15 11:56:59 read the thread Zharf Dec 15 11:57:01 or actually the content whatever Dec 15 11:57:42 Zharf: please look at this https://gist.github.com/anonymous/f968d313e68a26f56e89 Dec 15 11:58:23 your listview is in content_main, you should know that Dec 15 11:59:41 AbuDhar, did you try genymotion yet Dec 15 12:00:02 no Zharf.. I don't really have the money to pay for it :P Dec 15 12:01:47 also, have you tried running windows phone emulation and vbox at the same time? last time (like 3 years ago) I tried it, it bluescreened the box :p Dec 15 12:02:47 windows phone emulator runs fast because it uses hyper-v and it conflicts with vbox Dec 15 12:03:15 also I don't think they use arm images either Dec 15 12:03:24 though not 100% sure about that Dec 15 12:03:44 running arm binaries on an x86/x64 cpu is by definition slow Dec 15 12:03:49 because you need to translate on the fly Dec 15 12:04:49 yeah seems so slow. :P Dec 15 12:05:14 and quality looks horrible lol Dec 15 12:11:11 hi, is it possible to add governor schedulers without compiling from source Dec 15 12:12:38 anyone? Dec 15 12:25:48 Zharf: am i doing the right thing to make my list scrollable? https://gist.github.com/anonymous/f968d313e68a26f56e89 Dec 15 12:27:47 siaw, I don't know, what are you doing? :) Dec 15 12:28:19 Zharf: i have a list adapter that display data from json. i want to make the list scrollable Dec 15 12:28:25 siaw, open content_main.xml and change android:layout_height of the listview to be match_parent instead of wrap_content Dec 15 12:37:30 Zharf: ok Dec 15 12:38:30 Zharf: hmmm that’s not making it scrollable Dec 15 12:41:27 do you have enough data? Dec 15 12:43:25 Does ListView even work with CoordinatorLayout? Dec 15 12:43:31 Zharf: let me check Dec 15 12:44:15 The support lib has its own nested scrolling interface, I don't believe that works with framework classes Dec 15 12:45:59 Zharf: it’s working, had to add more dummy data. thanks a lot for all the help :) Dec 15 12:49:35 SimonVT, no clue, I don't use listview anymore... and I've never used coordinatorlayout yet :p Dec 15 13:00:44 Zharf: http://pastie.org/10633819 :/ Dec 15 13:00:49 when I choose the x86_64 Dec 15 13:04:47 :( Dec 15 13:05:17 I have only had problems with KVM :) Dec 15 13:07:33 SimonVT, yeah internets says no Dec 15 13:10:49 Will probably work in weird ways the differs a lot on the different platform levels Dec 15 13:11:22 it just doesn't seem to do anything Dec 15 13:11:23 tried it :) Dec 15 13:11:29 Heh Dec 15 13:18:40 Hello, does anybody knows how to classifate and rate a videochat app like chat roulette? Dec 15 13:19:49 i got it rejected 2 times because category and classification was wrong they said Dec 15 13:21:02 okdam, communication or entertainment ? Dec 15 13:21:35 if it's chatroulette, I wouldn't be surprised if they required 18+ too :P Dec 15 13:21:54 perhaps wrong maturity level, with all the *dick stuf* Dec 15 13:22:09 ^ exactly Dec 15 13:27:06 hi Dec 15 13:27:33 when I need context in a Fragment, should I use `getActivity()` or `getContext()`? Dec 15 13:28:25 AlmogBaku , http://stackoverflow.com/questions/30278290/what-is-the-difference-between-this-getcontext-and-getactivity Dec 15 13:28:33 saw that Dec 15 13:28:44 not answering what the best practice is Dec 15 13:30:30 Activity extends Context, so it doesn't matter Dec 15 13:30:52 it will get Context out of your Activity Dec 15 13:31:39 best practice would be to use just what you need, if it's just Context then use just Context Dec 15 13:32:48 I wish there was a comprehensive changelog for support library stuff Dec 15 13:37:25 vegetabl4salad19: it is a videochat random people i don't know :( Dec 15 13:37:33 vegetabl4salad19 thanks Dec 15 13:37:33 which category is related? Dec 15 13:37:34 noted Dec 15 13:39:31 AlmogBaku, in theory you could have a context but no activity Dec 15 13:39:46 make sense, thnx Dec 15 14:22:09 Zharf: can you help me on how to reach nested data in JSON? Dec 15 14:22:47 Zharf: Id one wants to swipe away the notification when it first pops up BUT NOT let it get dismissed in the list at the same time... is there some setting for that? Dec 15 14:28:42 hey Dec 15 14:40:21 SimonVT, support nested scroll view works fine with framework nested Dec 15 14:40:53 either will recognize the other Dec 15 14:43:19 Oh, listview won't work in coordinatorlayout Dec 15 14:43:33 not unless you're on api21+ Dec 15 14:48:08 Ah, alright. Guess they can just delegate to the framework method when it exists Dec 15 14:50:53 Eventually the nested scroll api will let you pass fling velocity, then you probably don't want to use framework classes on api 21 Dec 15 14:51:27 How the heck do you run an NDK application built with Gradle on the command line? Dec 15 14:51:29 *run with Gradle Dec 15 14:51:31 I can't find any tasks Dec 15 14:51:31 D'oh Dec 15 14:51:36 to be able to run Dec 15 14:51:45 ./gradlew arm7Debug installArm7Debug jarArm7DebugClasses Dec 15 14:52:04 this installs the apks on my devices, but how do I tell gradle to also run the apks on each device? Dec 15 14:52:34 Gradle tasks: https://paste.kde.org/poib6tyhc/6b0vkt/raw Dec 15 14:55:22 Gradle is not smart after all Dec 15 14:55:54 it could learn how to start an app by looking at the main activity specified in the AndroidManifest.xml Dec 15 14:56:03 somebody needs to teach it Dec 15 15:08:25 SimonVT, the support nested scroll is basically copying framework api, it cannot. change Dec 15 15:08:32 SimonVT, it can add new methods though Dec 15 15:08:58 and iirc, nested scroll already has fling velocity Dec 15 15:10:08 SimonVT, basically, support nested just brings the exact api to pre-v21, except they force you to implement it yourself Dec 15 15:10:54 mflow, it does what you tell it to do. Not it's problem that you can't speak the same language Dec 15 15:11:57 D'oh! Dec 15 15:12:59 fling, time for a nick change Dec 15 15:13:40 If you have a RecyclerView in a CoordinatorLayout along with a CollapsingToolbarLayout, flinging the RecyclerView to the top will not expand the toolbar. That requires an extra swipe. Chris Banes has mentioned that api changes are necessary to properly pass fling velocity between views Dec 15 15:14:21 yeah, I know, I worked around that Dec 15 15:14:25 pfn: you are a term for saying goodbye to a friend when you know you will see that person again shortly. An acronym derived from the commonplace Russian-English hybrid phrase, "paka for now." Dec 15 15:14:58 except this channel isn't #russianenglish Dec 15 15:15:09 Ok, then PFN or a "post fap nap" is the nap you have after a rather satisfying wank, not a term used by young people as they are still ashamed of it Dec 15 15:15:12 :D Dec 15 15:15:22 I implemented my own collapsing toolbar stuff to work around it Dec 15 15:16:31 SimonVT, it's not too hard, add scroll listener to recycler from.behavior, store velocity on fling, when recycler goes idle and is at top, decay the velocity and fling the coordinator Dec 15 15:17:59 another team wrote their own coordinator style layout Dec 15 15:18:18 that was painful, and so application specific and unreusable Dec 15 15:19:14 it looks good though Dec 15 15:20:35 better than coordinatorlayout imo Dec 15 15:21:34 I write my own implementation as well. Very application specific, and only works with ScrollView. But it didn't take too long to do :p Dec 15 15:22:39 Hoping to throw it away once CoordinatorLayout works out of the box Dec 15 15:26:53 https://gist.github.com/pfn/4c235ace9cd38937c92a Dec 15 15:27:07 I wrote that in an extension to the scrolling behavior Dec 15 15:27:20 and the toolbar flings naturally now Dec 15 15:50:15 Yet another Fragment replacement: https://redd.it/3wxoyq Dec 15 15:50:36 As far as I can tell, anyway. Dec 15 15:51:27 Hello! Is it possible to add dynamicaly atrs to theme and apply new theme? Dec 15 15:52:04 huh, I thought DrawableCompat.setTint automatically colored images on <21 -- what is it that I'm thinking of then? Dec 15 15:55:37 oh, have to wrap it Dec 15 15:55:43 xgearx: AFAIK, it's not possible. But I'm not certain. Dec 15 15:56:15 TacticalJoke: i am struggling with Resources.Theme setTo Dec 15 15:56:25 and other methods of this calss Dec 15 15:56:42 but no luck Dec 15 15:58:07 Hello guys, I receive data from a network connection, the data will be used by multiple views (multiple fragments or activities). What's the best place to hold the received data so it can be presented on multiple views? Dec 15 15:58:45 I mean, what's the best practice/pattern to handle such situation? Dec 15 15:59:56 I was thinking about a Dictionary in an Application's subclass, what do you think? Dec 15 16:00:13 and ugh, DrawableCompat tints all of my images of the same resid, I don't want that... Dec 15 16:00:45 pfn: mutate() maybe ? Dec 15 16:00:51 That's because they're shared, do .mutate(). Dec 15 16:00:53 The original Drawable Dec 15 16:01:07 Or the compat will apply color filter to the shared drawable object. Dec 15 16:01:13 thanks Dec 15 16:02:07 xgearx: Can't you create a new static theme and call Activity.setTheme? Dec 15 16:02:34 I guess that's ContextThemeWrapper.setTheme. Dec 15 16:02:37 Don't know how to fill it with attrs Dec 15 16:02:40 perfect, I don't recall drawable by resid being shared before, maybe it was something else I was using Dec 15 16:04:09 can someone explain how this array of shorts works, when recording a stream of bytes from an audiorecorder object? http://stackoverflow.com/a/13487250 The line that says "short sData[] = new short[BufferElements2Rec];" Dec 15 16:04:25 BufferElements2Rec was chosen to be 1024 - why is that?? Dec 15 16:08:54 morning! anyone around that could help me with HlsPlaylists? Dec 15 16:11:25 i'm a little freaked out - using nested fragments and everything actually seems to work. have they gotten to the point where its stabilized? many think they are terrible Dec 15 16:11:46 i always feel bad when using nested fragments Dec 15 16:11:49 wonder if i'm just not poking it hard enough Dec 15 16:11:51 just because of doing it Dec 15 16:12:27 But I think a lot to fragment -> viewpager -> fragment Dec 15 16:12:35 do* Dec 15 16:13:02 if you have a nav drawer, which is switching fragements in and out, seems very common where the root fragment would be a container for multiple other fragments Dec 15 16:13:35 (for each item in the nav drawer) Dec 15 16:15:23 yup Dec 15 16:15:46 ok, well thats weird. for some reason the animations of some views don't work right when they are in a fragment thats in another fragment Dec 15 16:15:56 ugh Dec 15 16:16:20 stupid queue Dec 15 16:16:24 transition animations? Dec 15 16:16:28 yeah Dec 15 16:16:54 i think the reason is that the animation gets played before the frag is actually visible Dec 15 16:17:00 u need to dedlay it Dec 15 16:17:06 delay* Dec 15 16:17:17 I had the same issue with viewpager Dec 15 16:17:30 also with android:animateLayoutChanges="true" Dec 15 16:18:23 never used that flag Dec 15 16:18:37 for me the problem was an activity transaction where the shared element was in a fragment Dec 15 16:18:51 used that flag, results were horrible Dec 15 16:18:54 and I had to delay the animnation until viewpager dre the fragment Dec 15 16:19:09 danijoo http://stackoverflow.com/questions/20103888/animatelayoutchanges-does-not-work-well-with-nested-layout Dec 15 16:19:11 did it programatically Dec 15 16:19:13 lol, piece of crap Dec 15 16:20:27 OK. Question. I am building an app that will take a few strings and put them together, but each string will have it's own properties (highlights, possibly a link somewhere, etc.). Should I use one text view or multiple? Dec 15 16:20:58 one is enough Dec 15 16:21:51 danijoo: OK. I looked this up before ans saw something called StringBuilder. Would that work, or do you suggest something else? Dec 15 16:22:41 look into spannables Dec 15 16:23:11 danijoo: Cool. I think I came across those as well. I will look more into them. Thanks. Dec 15 16:34:27 hello Dec 15 16:35:19 hoy can i change the background of the alertdialog in my theme? i also want to change the colour of the lines that show up then i scroll the items in the dialog is that possible? Dec 15 16:39:26 Hello everyone, this is my first time using an IRC so I apologize ahead of time for any goofs... Dec 15 16:40:16 N00b3r: you have to say “over”, over Dec 15 16:40:29 You have to say what, Brian? Dec 15 16:40:37 N00b3r: just don't paste a lot of text, over. Dec 15 16:40:56 Thank you Squirrel, over. Dec 15 16:41:51 don't say over, over Dec 15 16:42:03 I'm actually looking for some help on setting up a SQLite DB for an app. I don't quite understand the components and I am struggling to grasp the various class files needed. over. Dec 15 16:42:06 lol, over. Dec 15 16:42:26 Would anyone be able to help me? over. Dec 15 16:42:58 N00b3r, have you checked out https://www.google.ca/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjq8I7Tp97JAhUBHWMKHRcqDPsQFggcMAA&url=http%3A%2F%2Fdeveloper.android.com%2Freference%2Fandroid%2Fdatabase%2Fsqlite%2FSQLiteOpenHelper.html&usg=AFQjCNEBb8YvlGxrEdTTNAan7LjslOLlYQ&sig2=RS1oVzgfm3wGpM-YG7WV8Q over. Dec 15 16:43:14 let me write that down Dec 15 16:43:15 gah. sorry about that link. http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html over Dec 15 16:44:20 Yes I have, over. Dec 15 16:45:12 I prolly shouldn't add the greater and less than signs when responding to someone. over. Dec 15 16:45:27 copy that Dec 15 16:45:33 10-4 Dec 15 16:45:57 can i change the colour of the fading edge of a listview inside the alertdialog? Dec 15 16:46:21 we're just screwing with you. no need to put over after everthing. copy? over. Dec 15 16:46:26 dunkel2, isnt that colorAccent? Dec 15 16:46:34 or colorPrimaryDark Dec 15 16:46:36 something like that Dec 15 16:46:43 N00b3r, have you used databases before, are you familiar wiht relational databases? Dec 15 16:46:48 with colour accent i change the buttonbar text colour Dec 15 16:46:54 Freenode 1, N00b3r 0. lol. Dec 15 16:46:58 colour primary dark does nothing Dec 15 16:48:22 or is it an option i have to set specifically for that listview inside the alertdialog like when I set barbuttonstyle? Dec 15 16:48:29 truckcrash: yes. I have it create in the app as well. I pretty much have the app almost completed, however, I am trying to make a "next" button that refreshes the ListView with a new random record from the DB. I can't seem to figure it out. Dec 15 16:48:56 dunkel2, what api are you targeting? Dec 15 16:49:12 siaw, you'd be better off using something like gson to parse json, but you pretty much just use getJSONObject, getJSONArray and friends to get nested data from a json Dec 15 16:49:28 targetSdkVersion 23 Dec 15 16:49:55 N00b3r, can you post some code where you are getting stuck? (use a paste bin such as pastie.org) Dec 15 16:50:07 Zharf: this is my current problem http://stackoverflow.com/questions/34294766/trying-to-reach-an-inner-json-data Dec 15 16:50:09 The problem I am having is I don't quite understand the relationship between the Contract, ArrayAdapter, ListLoader, Provider, and SQliteOpenHelper classes. Dec 15 16:50:26 dunkel2, and what is your min api and testing platform api? Dec 15 16:50:31 N00b3r, if its to hard, use an orm Dec 15 16:50:36 man, why is debugging against emulator ungodly slow... Dec 15 16:50:43 minSdkVersion 18 Dec 15 16:50:46 truckcrash: Ok, let me look pastie.org up. Dec 15 16:51:13 danijoo: I don't know what an orm is. Dec 15 16:51:28 N00b3r, google it. Dec 15 16:51:58 siaw, learn java :) Dec 15 16:52:14 siaw, you need to define your variables in the score you use them, or an outer scope Dec 15 16:52:24 you're using a variable from a scope that's already ended Dec 15 16:52:39 hah. this is the first result when googling orm: http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html Dec 15 16:52:48 not exactly a selling point Dec 15 16:53:33 cacheColorHint is not working either on my alertdialog theme Dec 15 16:54:28 danijoo: I'm using a DAO from what I can tell. Dec 15 16:54:43 truckcrash: ha! I saw that. lol Dec 15 17:01:28 any idea canvs2321 Dec 15 17:05:25 ugh, I always find a need to align things on a row of items' center line in relative layout :( Dec 15 17:05:37 and I don't have a solution except to nest it into a linearlayout :( Dec 15 17:05:57 pfn have you tried GridLayout ? Dec 15 17:06:09 pretty powerful, but the docs stink Dec 15 17:07:10 actually use GL more than RL these days Dec 15 17:07:38 truckcrash: are you still there? Dec 15 17:08:49 N00b3r, I am around. yes. Dec 15 17:10:16 truckcrash: would you mind taking a quick glance at my code? I have the pastie url. Can I send it to you via PM? Dec 15 17:10:31 or just put it here Dec 15 17:10:59 truckcrash: http://pastie.org/10634254 Dec 15 17:12:16 truckcrash: brb... Dec 15 17:12:40 N00b3r, What is your question, or what part are you trying to get working? Dec 15 17:14:19 Alright people, so I am making a market for Android, just for the sake of a high level practice (I might release it as well), so I am in the designing phase, I am just writing blue prints, and now I am defining the way apps and feeds should be queried from server, but, Dec 15 17:14:51 I have two questions, first, should I use JSON? or just use simple CSV (harder)? Dec 15 17:16:16 Second, I have two options, either send full application info, including screenshot urls, rating, partial as well as full description, title, developer, and all the info except downloading assets, ALL AT ONCE, OR, get partial info, and when the user taps on an app, all the info is queried and displayed Dec 15 17:16:23 Which one? Dec 15 17:17:57 I made some examples with JSON, for full info, it takes 0.7KB for each app (Compressed with ZIP), while partial info, like only short description, title, developer, and rating (Maybe few more), took 0.15KB (Compressed too), which one looks best? Dec 15 17:18:20 I mean, downloading all the info at once makes navigation snappier, but more hungers for more network Dec 15 17:18:26 Am I asking the wrong question? Dec 15 17:19:07 OverCoder: how does downloading it all at once make the navigation snappier..? How quick does it download? Are you displaying these items in a list? Dec 15 17:19:54 orbyt_, It makes navigation snappier because for example if the user made a search, and tapped on an app, all the information is displayed with no loading time, except screenshots and cover image Dec 15 17:20:28 OverCoder: Ok but you have to have spent time loading the data at some point in the user experience. So where are you doing the loading Dec 15 17:20:33 I'll use some PHP to create an API that the application uses to query for a list of apps depending on search, or category, or, just the home feed, all stored in a SQL database Dec 15 17:21:03 orbyt_, At the moment when the user searches, or when the user opens the app (Home feed, featured apps, etc.) Dec 15 17:22:09 How long is the download? Dec 15 17:22:19 In other words: The user opens my app, the home page is loaded with apps, and when a user searches, a list of apps is displayed, I am trying to define the way my market should download the information Dec 15 17:22:27 How long? depends on user's network Dec 15 17:23:21 Sure but on average, if it takes longer then a split second to load all data when opening the app, it would make more sense to load it as needed Dec 15 17:23:43 Usually it wouldn't be too much (I guess), because for full info, say I want to load 20 results for the user at each scroll (the API is queried on scroll), it'd take around 14KB for all the informations to be downloaded, except application icons Dec 15 17:23:44 show a progress wheel when searching Dec 15 17:23:50 until the data is availablke Dec 15 17:24:02 load stuff when needed and cache whenever its possible Dec 15 17:24:10 Sure, except the user has a decent to low speed network Dec 15 17:24:19 So you think downloading data as needed is better? Dec 15 17:24:45 truckcrash: I am trying to create a "next" button that populates the ListView with a new random record from the DB. Dec 15 17:24:53 you cant know what data the user wants before he queries for it, right>? Dec 15 17:25:12 What do you mean? Dec 15 17:25:18 danijoo, ^? Dec 15 17:25:23 OverCoder: I do. You could load the small amount of data for displaying the items in the list. When the item is clicked on, fetch the rest of the data to display in the new Activity/View. This is pretty common Dec 15 17:25:27 you cant load the searchquerie before its performed Dec 15 17:25:47 truckcrash: The problem is I don't know where to add the button code and I don't know if I need a new class or even how to have it do a refresh of the query. Dec 15 17:26:26 danijoo, Yeah but I could query ALL the informations for ALL the apps at once, and display them as needed, without querying the server multiple times, orbyt suggest to load data just as needed, no need to load it all at once Dec 15 17:26:52 OverCoder: the problem with your first approach is it isnt scalable. at all. Dec 15 17:26:53 does anyone have any experience with cordova ? Does it store the js files in the apk ? Or do you transpile js to java ? Dec 15 17:26:55 well.. depends on how many items there are Dec 15 17:26:57 Maybe orbyt's suggestion is right, at least that's what Google Play does Dec 15 17:27:04 if its not too much you can do that Dec 15 17:27:37 orbyt_, Ah, right, that's great, because I am looking for scalability and well built application, because I generally hate huge upgrades that forces the user to upgrade the app or something Dec 15 17:28:07 danijoo, Mhm, thanks Dec 15 17:28:08 >scalability Dec 15 17:28:12 >android app Dec 15 17:32:22 OverCoder: you can look into prefetching algorithms, which would help you download things before they’re needed, but the first couple of runs it’s not going to help Dec 15 17:33:34 anyone look at this yet ? https://github.com/lyft/scoop Dec 15 17:33:51 drose379: did you send me a message? Dec 15 17:34:52 Yes, asking if you needed help Dec 15 17:36:00 drose379: yes I do. Sorry, this is my first time using an IRC so I didn't know what it was. Can you send it again, please? :) Dec 15 17:39:13 s73v3r, hm, well I don't want to do that kind of prefetching, I hate when an app does something while I want it to be doing nothing Dec 15 17:39:23 (Example of that is Facebook, it's always doing stuff on my behalf) Dec 15 17:40:56 at the same time, it’s a solution for crappy internet speeds Dec 15 17:47:52 Zharf: can you please help me, for some reason my layout is blank again. don’t know what i did wrong? http://stackoverflow.com/questions/34294766/trying-to-reach-an-inner-json-data?noredirect=1#comment56331388_34294766 Dec 15 17:48:23 Is there anything worth reading on TDD with Android? Dec 15 17:53:36 generally you'd window your queries with some sort of algorithm so you fetch more than the user is likely to see Dec 15 17:54:10 so depending how fast you expect your user to scroll, you'd fetch the next 100 or 200 and slide that window forwards as they descend (ie, consume 2/3 of your prefetch would trigger fetching the next block) Dec 15 17:54:37 Also you can optimize based on content - fetching the titles and descriptions is "cheap" since its just text, but you'd probably want to more aggressively window fetching images if that's part of the display Dec 15 17:54:51 and the user can tolerate images loading into place if they scrolled aggressively past your prefetch Dec 15 17:55:05 no reason to make your prefetch a background fetch really unless you want Dec 15 18:06:41 why is Android Bluetooth so slow? Dec 15 18:07:03 the average response time I get from the BT hardware I'm communicating with is almost 1 second Dec 15 18:07:09 MooGoo, because its bluetooth Dec 15 18:07:51 yea but it seems way too slow, should it really take almost a second to get a response back from a BT device? Dec 15 18:08:02 MooGoo BT classic or BLE ? Dec 15 18:08:09 classic 2.whatever Dec 15 18:09:13 I've profiled it, and it's pretty much spending all its time in BluetoothInputStream.read() as I expected Dec 15 18:09:59 thing is, we have PC software that also communicates to the same hardware via BT, and it does not seem to have these performance issues Dec 15 18:10:32 but I have no experience working with any other BT device on android so I have no idea if this is normal Dec 15 18:11:00 anyone in here try react native? thoughts? Dec 15 18:11:50 the big issue really, is the hardware itself requires you to send everything to it in 512 byte packets, so in this case I'm trying to send a ~300kb firmware file in 512b slices, which results in around 600 pages Dec 15 18:11:57 add almost a second to each one of those and it drags badly Dec 15 18:12:51 it's not normal Dec 15 18:13:03 if there were that much latency on every packet, nothing bluetooth would work at all Dec 15 18:13:34 MooGoo you'll have to try another device, see what happens Dec 15 18:13:42 guess so... Dec 15 18:13:43 but you probably know that already Dec 15 18:14:03 there's also the fact that around 20% of all the packets sent to the hardware get no response, and have to be resent Dec 15 18:14:20 so it could be some hardware problem Dec 15 18:14:59 anyways, this issue is consistent with all android devices I've used, so it seems like it has something to do with the particular BT hardware in the device I'm communicating with Dec 15 18:16:02 MooGoo maybe lots of interference there? try it someplace else Dec 15 18:16:04 perhaps the way you open the connection/profile is affecting this Dec 15 18:16:05 * pfn shrugs Dec 15 18:16:13 or maybe the way android negotiates the connection profile Dec 15 18:16:29 in fact I've had nothing but trouble with this hardware and android BT, especilly since whatever changes they introuduced in JB Dec 15 18:17:04 is there any way to get any more info on exactly how Android negotiates the connection? because it seems pretty opaque Dec 15 18:17:09 logcat Dec 15 18:17:23 MooGoo, I haven't had that problem with SPP hardware using shitty embedded adapters Dec 15 18:17:38 MooGoo, but I was largely doing bulk transfer (command + streaming response) so I wasn't hugely latency sensitive either Dec 15 18:17:45 MooGoo aha, JB has bluedroid, not bluez. i had problems too from JB onwards Dec 15 18:18:34 tho come to think of it this was pre-jb as well Dec 15 18:18:58 dragorn do you see any signs they are going back to bluez ? Dec 15 18:19:05 well that's what this is...a crappy SPP adapter, I've been able to make it "reliable" by brute forcing everything and aggressivly resending packets and forcing connections to work by trying over and over again in the background... Dec 15 18:19:08 g00s, haven't looked/followed it to really know Dec 15 18:19:25 MooGoo, sounds like you're going to have fun redefining your protocol to handle that nonsense :( Dec 15 18:19:35 its not very satisfying, and its still slow Dec 15 18:20:19 Hey all. What is the easist way to create an android app that basically is a webview? I am not a Java developer, so not super interested in creating such an app from scratch. Maybe there are app generators or other third party solutions? Any advice? Dec 15 18:20:28 squeakytoy2, cordova Dec 15 18:20:42 squeakytoy2, but anything cordova-related is outside the scope of this channel Dec 15 18:20:51 g00s, I saw a talk where thei said they know bluedroid still has issues but that they will get fixed over time Dec 15 18:20:59 MooGoo, I was using some flavor of the hc05 devices Dec 15 18:21:11 pfn, i just found manifold.js too, you heard about it? Dec 15 18:21:21 they kinda said "we know it sucks compared to bluez" Dec 15 18:21:22 :D Dec 15 18:21:37 squeakytoy2, cordova is the only one I hear of, I don't care about it in any way, shape or form Dec 15 18:21:40 danijoo great so i'll just wait a few years Dec 15 18:21:42 but they'll fix it soon right, like all those other bugs Dec 15 18:21:44 bt on linux has always been a bit of a shitshow Dec 15 18:22:07 hey guys can somebody recommend me a best practice? I have a listview full with Strings which are taken from my sqlite DB. I want to represent the entries in square (like cards) and add the cards to a slidable view (recyclerview?). Dec 15 18:22:08 it's just screwy that the old system seemed so much more reliable least in my experience Dec 15 18:22:14 what did they get from switiching Dec 15 18:22:29 pfn, ok, thanks Dec 15 18:23:28 android_presley: RecyclerView and ListView are different things. You should just fill an ArrayList with your data, use RecyclerView, wrap your content in a CardView xml layout etc etc Dec 15 18:24:18 http://code.tutsplus.com/tutorials/getting-started-with-recyclerview-and-cardview-on-android--cms-23465 Dec 15 18:24:40 if it's an excessive amount of data consider using a cursor instead of a static array, too Dec 15 18:25:06 You could use cardview with your existing ListView as well, if you don't want to change to RecyclerVeiw Dec 15 18:25:19 liuwenhao: yeah I am sorry for confusing. I ment I have stored the entries in an array. So I need to adapt the Entries, create cards and attach a horizontal layout to the recycler view? Dec 15 18:25:40 does anyone know if there is a way to index the sdcard for quick lookup of files? Dec 15 18:25:53 write your own indexer Dec 15 18:25:57 keepassX 2.0 final out, after years ! Dec 15 18:25:58 and that will suck Dec 15 18:26:19 pfn: I know :( Dec 15 18:26:22 Yes, you just wrap your content in a CardView in XML, you don't have to do anything with Java to get the CardView look @android_presley Dec 15 18:26:31 that's why I was hoping there was one already around that is efficient Dec 15 18:26:32 And then use whatever layout manager you want Dec 15 18:26:42 and works well Dec 15 18:27:01 aren't most sdcard ext4? Dec 15 18:27:09 no Dec 15 18:27:19 it very much depends on the phone Dec 15 18:27:28 do you guys typically avoid using enums? Dec 15 18:27:31 liuwenhao: if I want to order the cards next to each other in a row and it make a (horizontal) slidable view, which layout should I use? Dec 15 18:27:38 grekkos: wedo Dec 15 18:27:42 grekkos: we do Dec 15 18:27:46 grekkos no :D Dec 15 18:27:56 LinearLayoutManager.HORIZONTAL Dec 15 18:27:56 pfn: hmm. I know Android has a MediaScanner which indexes media files Dec 15 18:28:00 squeakytoy2: you can check out React, but other than that, not many people here are going to have experience not using java Dec 15 18:28:01 sleepster: do you create your own annotations for some compile-time help Dec 15 18:28:04 pfn: I guess I can lookup how they do it Dec 15 18:28:13 grekkos: I use enums plenty. Dec 15 18:28:18 grekkos: we use @IntDef Dec 15 18:28:25 liuwenhao. thank you Dec 15 18:28:55 what should be result code in android? Dec 15 18:29:03 i get -1 Dec 15 18:29:33 result code for what? Dec 15 18:29:47 sleepster: interesting, thanks for the tip. I wasn't aware of this. So it's an annotation that already handles that enum int pattern? Dec 15 18:30:15 oh I see Dec 15 18:30:20 it only handles it at compile time, however Dec 15 18:30:22 you use that WITH an interface Dec 15 18:30:24 yeah Dec 15 18:30:26 Are enums really that bad performance wise on Android? I've heard that Google has told devs to avoid them at all costs Dec 15 18:30:50 from what I gather it uses more memory but it's not much of a performance hit per se Dec 15 18:31:13 they’re bad if you’re the platform developer Dec 15 18:31:18 enums are fine on Android Dec 15 18:31:20 from an application perspective, they’re fine Dec 15 18:31:27 one of my friend treats enums like the devil, but I like enums still Dec 15 18:31:40 Your friend needs to read up on things Dec 15 18:31:59 my friend is very opinionated and gullable in a programming sense Dec 15 18:32:04 grekkos, there is this superold page in the google guidelines telling you shouldnt use enums Dec 15 18:32:07 Yeah I know the kind Dec 15 18:32:26 danijoo: yeah I've seen that, I thought it was removed, then added back in though Dec 15 18:32:34 It was written by the person writing all the low level stuff on Android, she’s talking from her point of view, not that of app developers Dec 15 18:32:41 if you are writing libraries, you'd like to avoid enums because you can't assume how consumers of your library will use it Dec 15 18:32:41 danijoo: but my feeling is that with more recent phones it shouldn't matter Dec 15 18:32:42 yep Dec 15 18:32:59 Well, they just recently had some videos warning against enums as well Dec 15 18:33:01 i.e. https://www.youtube.com/watch?v=Hzs6OBcvNQE Dec 15 18:33:11 jaana otoh, thet #perfmatter guy talked about them, and the audience is app devs ... Dec 15 18:33:26 i think they made a big to-do about nothing Dec 15 18:33:32 I've never found a use for enums personally in my apps but I think it's kind of bogus that they shun them so much Dec 15 18:33:50 enums are super useful from a code cleanliness standpoint Dec 15 18:34:18 static ints with extras :) Dec 15 18:34:22 enums are amazing from a design perspective Dec 15 18:34:27 enabled by the fact they are full blown classes Dec 15 18:34:35 there's a whole chapter on enums in effective java Dec 15 18:34:56 jaana: almost full blown, I don't think they support inheritance or some such detail? Dec 15 18:35:03 yeah there are a few liitations Dec 15 18:35:59 Effective Java is such an awesome book... I need to finish it -.- Dec 15 18:36:10 liuwenhao would be cool if it were updated Dec 15 18:37:32 liuwenhao: it is Dec 15 18:37:51 g00s: yeah I agree, still very good points are brought up which are still relevent Dec 15 18:39:31 i think we need 'Effective Android' :D Dec 15 18:39:34 g00s: the Fragmented podcast is doing episodes on every chapter of the book and how they are useful for Android patterns. Koushik Gopal (the podcast guy) should do an Android specific version of the book imo :) Dec 15 18:39:50 g00s: liuwenhao: one thing I ahve noticed which is out of date is where they mention how to create a method to build generics saying how they might one day include something in the language for that (which they now have) Dec 15 18:39:53 hm. did they change something on instantrun in 2.0.0 alpha revision 3 Dec 15 18:39:58 g00s: +1 Dec 15 18:39:59 it suddenly actually works oO Dec 15 18:40:06 even with multidex enabled Dec 15 18:40:12 the information i get from second activity is not shown in the screen.i debug my code.here is result https://paste.kde.org/pihdf2sbf Dec 15 18:41:12 asdasd_: can you show the code? Dec 15 18:42:14 Java 9 comes out in 10 months... I wonder if Android will support Java 8 features by then Dec 15 18:42:47 dang I haven't even looked at java 8 yet Dec 15 18:43:04 liuwenhao java 9 was pushed out to 2017 Dec 15 18:43:10 https://paste.kde.org/pgiwnay08 here is caller activity Dec 15 18:43:45 Really? Wikipedia still says 2016. Guess it needs to be updated Dec 15 18:43:58 liuwenhao yeah, jigsaw delay Dec 15 18:44:04 what java version is recommend for android dev nowdays? Dec 15 18:44:46 7 Dec 15 18:45:06 but doesnt really matter Dec 15 18:45:15 just remember you cant use j8 features Dec 15 18:45:22 asdasd_: this is a known bug Dec 15 18:45:24 grekkos: I use retrolambda+java 8 in my apps but they aren't really 'true' lambdas Dec 15 18:45:37 keep your REQUEST_CODE to something higher Dec 15 18:45:38 It's nice for code style though https://github.com/evant/gradle-retrolambda Dec 15 18:45:41 i use kotlin. -> true lambdas :p Dec 15 18:45:41 I use 111 Dec 15 18:45:54 asdasd_: try and tell? Dec 15 18:46:09 danijoo at least now seems you have to decide between kotlin and instant run Dec 15 18:46:15 tough choice Dec 15 18:46:23 I am curious about Kotlin but I know my boss will never allow me to use it in our projects Dec 15 18:46:50 g00s, the project im currently working on is half kotlin half java. and instant run works when editing java classes. Dec 15 18:46:57 even though its multidex Dec 15 18:47:25 let me try what happens if i edit a kotlin file.. Dec 15 18:47:28 g00s: You got instant run to work properly? I had so many problems with it that I just turned it off completely Dec 15 18:47:44 liuwenhao no i haven't, just from what i've read Dec 15 18:48:05 agaurav77: still same problem Dec 15 18:48:41 g00s, yeah not working with kotlin atm :/ Dec 15 18:49:11 but its already a nice to have for the few java files + xml Dec 15 18:51:16 liuwenhao: I'm interested most in optionals I think Dec 15 18:51:46 liuwenhao: but that could be implemented easily as well Dec 15 18:52:39 optionals would be great in Android. I hope Google doesn't get caught up in legal issues again so they can actually move the platform forward Dec 15 18:53:12 liuwenhao: yeah I started learning swift and I kind of like it, still learning the ropes though Dec 15 18:54:44 asdasd_: difficult to say then Dec 15 18:55:10 I was recommending from this : http://stackoverflow.com/questions/6147884/onactivityresult-not-being-called-in-fragment Dec 15 18:55:33 Does anyone here use Espresso for UI testing? Dec 15 18:55:56 liuwenhao: I've used it in the past, but not on my current project Dec 15 18:56:27 Is it easier to use than UI Automator? I don't need to fill in any custom fields, just test clicks mainly Dec 15 18:57:10 liuwenhao: I've never used UI automator, so I can't say, but probably not... I remember doing a lot of findView-like stuff, btu it's been a while Dec 15 18:57:25 liuwenhao: You have to write code to do whatever you want it to do Dec 15 19:00:28 agaurav77: i guess my problem is about fragment.i get the values in the activity from second activity and show them in fragment by using recycler view Dec 15 19:01:51 i get them what is in edittext but could not show them Dec 15 19:02:29 try logging in the onActivityResult(....) Dec 15 19:02:39 liuwenhao: i've been using it, it seems great when it works Dec 15 19:02:41 is it even called when the other thing returns? Dec 15 19:03:35 yes i should display them in fragment by using recycler view Dec 15 19:03:57 grekkos: storkme: Is it hard to write tests for Espresso? I don't really need anything advanced (logins, etc), just clicks mainly Dec 15 19:04:20 liuwenhao: not in my experience. Dec 15 19:04:21 Although that will probably change in the future once our login servers are up Dec 15 19:05:11 storkme: Thanks. I will try it out Dec 15 19:05:59 asdasd_: try putting a Log.d(...) as the first statement in onActivityResult(...) Dec 15 19:06:11 do you see that in the debug messages? Dec 15 19:12:12 Espresso has 16,000 methods... does the dex limit matter for testing? Dec 15 19:12:22 Because this would put me over the method limit Dec 15 19:12:52 hey guys how do I enable scrolling in my recyclerview? I have put cards horizontally next to each other but instead of going off screen and being able to scroll to the right their size just gets adjusted to the screen and I cant scroll Dec 15 19:13:28 android_presley: That’s cause you’re not adding them to the recyclerview Dec 15 19:13:37 agaurav77: https://paste.kde.org/p3jdsjeab here is my fragment and here is my activity https://paste.kde.org/pgiwnay08 Dec 15 19:13:47 you don’t add things to a recycler or list view in the XML. You do it with an Adapter Dec 15 19:14:09 s73v3r nvm, it is srolling I just didnt have enough cards. Why is it that the first card is wider than the other ones, which are all equal? Dec 15 19:14:14 the things in activity are not showed in fragment Dec 15 19:14:23 and also in the screen Dec 15 19:14:36 android_presley: pastebin your XML Dec 15 19:14:53 asdasd_: okay, seeing Dec 15 19:15:12 is the string longer? Dec 15 19:15:23 post code for your adapter Dec 15 19:16:34 liuwenhao: http://pastebin.com/Si80gu3Y Dec 15 19:16:38 yes s73v3r Dec 15 19:16:55 that would do it Dec 15 19:17:01 how are you wrapping your textview Dec 15 19:17:06 asdasd_: one thing I notice is that you're using the default constructor Dec 15 19:17:13 ahh, you’re not Dec 15 19:17:16 s73v3r: http://pastebin.com/zU5WpWbY Dec 15 19:17:24 I often create Fragments from the newInstance() function Dec 15 19:17:30 that sets it up right Dec 15 19:18:34 android_presley: add android:singleLine=“false” Dec 15 19:18:55 will it wrap the text vertically then? Dec 15 19:19:11 it should tell it to go on multiple lines if needed Dec 15 19:20:36 i want to have all the boxes the same size Dec 15 19:20:46 if needed text should be just cut off Dec 15 19:20:49 android_presley, set minWidth, I guess Dec 15 19:21:00 OverCoder: on the cards? Dec 15 19:21:02 singleLine="false" maxLines="whatever" will probably work Dec 15 19:21:03 android_presley: then do android:ellipsize=“true" Dec 15 19:21:17 android_presley, on the EditText Dec 15 19:21:19 also change your cardview to android:layout_width="xxdp" instead of match_parent Dec 15 19:24:35 agaurav77: i changed it to newInstance() but did not solve the problem Dec 15 19:24:58 do you have any idea what cause that problem ? Dec 15 19:25:03 i've just updated all my tools/sdk and im trying to tell android studio to take my gradle wrapper which points on 2.9 Dec 15 19:25:11 it works if i run gradlw build from command line\ Dec 15 19:25:20 but android studio seems to always want to use 2.2.1 Dec 15 19:25:23 asdasd_: I'm guessing ToDoManager is custom made Dec 15 19:25:30 its not in the docs Dec 15 19:26:35 yes i can send you https://paste.kde.org/px7yjvvx4 Dec 15 19:27:22 DrGonzo: Did you go to project structure -> project -> Gradle version and set it there? Dec 15 19:28:29 thats the fun part, the gradle version is not in my project structure Dec 15 19:28:39 i had the same problem on osx yesterday and now it's on windows Dec 15 19:28:51 for osx updating to jdk 1.8 worked but on windows im already on 1.8 Dec 15 19:30:04 it's quite weird, basically because the project config fails... the project structure menu looks different than what you would expect Dec 15 19:30:18 (could be considered as bad design) Dec 15 19:30:54 What do you mean it's not in your project structure? The field doesn't show up at all? Dec 15 19:31:51 https://i.imgur.com/cYFAA5F.png I always just set it from here Dec 15 19:33:53 You also have to go File -> Settings - > Build Execution/Deployment - > Gradle - > Use local gradle distribution and set the path to gradle 2.9 Dec 15 19:34:12 i.e. C:\Program Files\Android\Android Studio\gradle\gradle-2.9 Dec 15 19:38:42 liuwenhao, correct. because the thing is broken, it shows you a different structure of the menu Dec 15 19:38:46 asdasd_: still there? Dec 15 19:38:49 i know it sounds weird but that's what it does Dec 15 19:39:01 yes agaurav77 Dec 15 19:39:06 DrGonzo: Can you screenshot it? I'm curious Dec 15 19:39:13 im trying to switch between the general settings right now see if it helps Dec 15 19:39:15 sure Dec 15 19:39:16 did you try a Log.d(...) inside onActivityResult? Dec 15 19:39:17 2 sec Dec 15 19:39:22 also what version of Android Studio are you on? Dec 15 19:40:23 latest Dec 15 19:40:34 i saw the exact same thing on my boss's computer yesterday Dec 15 19:40:38 i thought his theme was doing it Dec 15 19:40:47 but the menu comes back to normal once the build works Dec 15 19:42:10 asdasd_: ? Dec 15 19:42:15 Log.d? Dec 15 19:42:19 http://imgur.com/pCGWiZZ Dec 15 19:42:21 did it work? Dec 15 19:42:37 funky huh :) Dec 15 19:43:06 i did not do that because the thing i write in edittext is in result onActivityResult() Dec 15 19:43:38 the thing that not working is recycler view does not show the written thing Dec 15 19:45:00 DrGonzo: If you set the local gradle distribution and path and settings and then build, it should probably show back up in the Project Structure (just a guess) Dec 15 19:45:13 thats what im trying Dec 15 19:45:20 i was already on local... but the path was wrong Dec 15 19:45:33 switching back and forth (and waiting for dependency sync Dec 15 19:45:36 hopefully it'll fix it Dec 15 19:45:40 with the correct path Dec 15 19:45:46 asdasd_: so the onActivityResult(...) is being called? Dec 15 19:45:49 you sure? Dec 15 19:47:54 yes i am Dec 15 19:48:23 Is there a way I can make the height of a RemoteView bigger when used in a Notification ? Dec 15 19:53:32 hello Dec 15 19:54:10 hihi Dec 15 19:54:19 how can i set the background colour for a button Widget.AppCompat.Button.Colored i tried the backgroundTint and it affect also the disabled state Dec 15 19:58:36 Just give your button a custom xml drawable i.e. android:background="@drawable/my_button" Dec 15 19:59:11 http://pastebin.com/XswMbLi1 something like this for the button Dec 15 19:59:52 the tag is your background color Dec 15 20:00:20 The rest is just styling Dec 15 20:01:49 let me check it thanks Dec 15 20:04:59 cart_man, use big content Dec 15 20:05:07 cart_man, max is like 240dp or so Dec 15 20:06:52 seems 6.0.1 fixed adb over wifi ... at least it seems to work now. Dec 15 20:08:29 do I say noti.bogContent() ? Dec 15 20:08:37 do I say noti.bigContent() ? Dec 15 20:13:45 yeah, 256dp is max Dec 15 20:13:59 cart_man, look at the api, and what's closest to bigContent Dec 15 20:14:19 although, the notification api isn't very clear, it's such a mix of so many public fields Dec 15 20:14:20 bigContentView Dec 15 20:14:35 pfn: I just cant get the context right on this ..sigh Dec 15 20:14:44 get what right? Dec 15 20:15:03 the context you use for remoteviews doesn't matter Dec 15 20:19:00 pfn: No I mean ... Notification.BigTextStyle notificationBuilder = new Notification.BigTextStyle(CONTEXT) <- Dec 15 20:19:10 How do you get that context at the end without having an activity Dec 15 20:19:30 how do you have a context to post a notification from? Dec 15 20:19:47 pfn: Well I do not know that Dec 15 20:19:58 you can't post a notification without a context Dec 15 20:20:15 pfn: I am trying to figure that one out.. Yes that it waht I though Dec 15 20:20:57 pfn: Since I am using Notification out of a Service that HAS not context... I never know what ot put in there Dec 15 20:21:11 how do you think service doesn't have a context/ Dec 15 20:21:30 cause its not a activity? Dec 15 20:21:42 cart_man, so, all contexts are activities? Dec 15 20:21:45 it does have though...just does not work Dec 15 20:22:15 pfn: not sure.. confused by the service not wroking Dec 15 20:22:15 but of course it works Dec 15 20:22:26 pfn: How do I get a services context though? Dec 15 20:22:42 cart_man, check the type hierarchy for service Dec 15 20:25:48 weird, toolbar menu items don't show up when phone has hw buttons? Dec 15 20:26:20 well, if it has a hw menu button anyhow Dec 15 20:26:46 dragorn if you start an emulator with hw buttons, the menu doesn't show up even after clicking the menu button :/ Dec 15 20:26:53 appcompat I might add Dec 15 20:27:06 that's broken, heh Dec 15 20:27:20 cart_man use "this" Dec 15 20:27:52 Afzal, it's detectable runtime via ViewConfiguration, which actionbar should be using Dec 15 20:27:57 or actually my bad, only Samsung has that problem Dec 15 20:28:08 Afzal, but that comes from, if i recall, build prop Dec 15 20:28:14 so if it's a common image maybe it won't work Dec 15 20:28:28 we had this problem where our phone advertised a hw menu button it didn't have, it broke a bunch of stuff Dec 15 20:29:07 dragorn I see, so just override the ViewConfiguration? Dec 15 20:29:41 Afzal, no, you should detect from viewconfiguration Dec 15 20:29:51 hasPermanentMenuKey() Dec 15 20:29:59 so if that's reporting wrong, the device/emulator is broken Dec 15 20:30:03 and is going to be broken system-wide Dec 15 20:30:20 ah...the menu key is present Dec 15 20:30:23 it just doesn't work Dec 15 20:30:24 lol Dec 15 20:30:49 either way, just wanna show the items in the toolbar instead of the old old old menu :p Dec 15 20:30:51 I'll google more Dec 15 20:30:55 thanks Dec 15 20:31:12 I got a question - there are a few things I'm doing inside "onCreate" of an activity. I launch the activity using "adb shell am start -n mypackage/.activityname". The first the onCreate code gets executed. But the second time I fire "am start" ( the same command basically) it doesn't get triggered Dec 15 20:31:18 you can listen for it explicitly in an activity, but actionbar ought to be handling that for you Dec 15 20:31:40 I'd imagine you need to do setSupportActionBar for the menu button to work with a Toolbar Dec 15 20:31:48 ashish_d do you quit the activity after the first start Dec 15 20:31:49 ashish_d, if the activity is still in the recently run tasks you'll just get an onresume Dec 15 20:31:52 Might be multiple Toolbars, they can't just all open Dec 15 20:32:01 Afzal: I am starting the service... then I start a Gimbal class and in the Gimbal class I do this -> Notification.BigTextStyle notificationBuilder = new Notification.BigTextStyle(CONTEXT) Dec 15 20:32:13 SimonVT tried that and then used the old stuff. Yeah, I'll give it a few more tries, I remember I came across this long ago Dec 15 20:32:16 Soo should I pass down the service context 2 levels Dec 15 20:32:26 dragorn: No I don't quite the activity. Is there a way to quite the activity using an adb command or internally after doing stuff I want? Dec 15 20:32:33 Afzal: ^ Dec 15 20:32:48 dragorn: I tried onresume, but it doesn't get triggered :/ Dec 15 20:33:10 ashish_d I dunno about that but that's why onCreate is not being called because the activity is already started and am start wouldn't start it again I'm guessing Dec 15 20:33:25 any time an activity goes from background to foreground onresume should fire, so I suspect you have some other issues (or aren't even backgrounding the activity) Dec 15 20:34:01 cart_man hmm..the easiest way to show the notification in the service would be to use a broadcast intent. You could bind the service too but ... that's a lot of boilerplate Dec 15 20:34:11 dragorn: Yeah that could be one reason, I'm not pushing the activity to the background Dec 15 20:34:18 oh wait nvm, you need context for broadcastintent lol Dec 15 20:34:57 dragorn: is there a way to put the activity into background programmatically or via adb? Dec 15 20:35:10 press home Dec 15 20:35:14 dragorn: I know I could do home Dec 15 20:35:30 dragorn: haha yeah, thats one Dec 15 20:36:47 ashish_d, or, the first google result for 'stop activity adb': adb shell am force-stop com.my.app.package Dec 15 20:37:37 dragorn: thanks for that. I could have done that if I didn't have other services in the same package that I want running Dec 15 20:38:48 if you want oncreate to happen again, that's what you're going to need to do Dec 15 20:39:48 I suppose you could try to turn on instantly kill activities in debug settings Dec 15 20:39:59 but you'd still be hitting home manually Dec 15 20:40:34 or just, you know. launch another activity via adb to force it into the background. Dec 15 20:47:01 Could someone tell my why my NotificationCompat keeps on complaining about Finding android.support.v7.app.NotificationCompat.Builder but Require android.support.v4.app.NotificationCompat Dec 15 20:51:00 you're probably including the wrong notification compat; check your imports at the top Dec 15 20:52:41 NotificationCompat.Builder and NotificationCompat are two different classes.. Type safety at work Dec 15 20:53:00 mm or that, heh Dec 15 21:02:49 SimonVT: I have import android.support.v7.app.NotificationCompat; and import android.support.v7.app.NotificationCompat.Builder; included and still ...MORESOO though when the line " .setPriority(NotificationCompat.PRIORITY_MAX) " becomes red Dec 15 21:05:55 read what simon said more closely, he's right - you're mixing entirely different things. A builder is not a notification. Dec 15 21:06:59 cart_man is a bit fuzzy on types Dec 15 21:07:50 so tl;dr you're using the api wrong. you probably need to call .build() in the builder or something, but I haven't looked to see if my memory of the api is correct Dec 15 21:08:02 build is correct Dec 15 21:08:34 hooray they were consistent for once then Dec 15 21:08:46 they do make an effort for it Dec 15 21:09:50 one day, they will have a Builder where they implement both .build() and .create(). And there will be much wailing and gnashing of teeth Dec 15 21:10:09 pfn, sometimes :p Dec 15 21:16:18 pfn: Ugh ok I do not know then... Cause it says Require android.support.v7.app.NotificationCompat.Builder Found android.support.v4.app.NotificationCompat.Builder . I do not even have V4 included ? I have nothing else included accept for android.support.v7.app.NotificationCompat.Builder Dec 15 21:19:08 <_genuser_> so I want to have an app on my phone that I can communicate with over wifi. I'm thinking of a regular server with sockets... Dec 15 21:19:13 <_genuser_> anybody got any better suggestions? Dec 15 21:19:56 communicate how exactly Dec 15 21:20:02 <_genuser_> so app runs as service on the phone always. I use a client on any desktop on the network and connect and then issue commands Dec 15 21:20:16 <_genuser_> commands are: dial phone, mute phone, hold/unhold, etc. all telephony stuff. Dec 15 21:20:28 use gcm Dec 15 21:20:45 <_genuser_> gcm would give me... push notifications? Dec 15 21:20:46 yup. then you have the bonus of not having to be on wifi to do it Dec 15 21:21:03 yes. and your app can receive the push, and know that it has to dial some number Dec 15 21:21:12 the number given in the push notification Dec 15 21:21:21 <_genuser_> s73v3r: in a way wifi is better (wifi meaning on local network really). but I can work with gcm. Dec 15 21:21:46 it’s not, because your service has to constantly keep the socket open, draining battery Dec 15 21:22:04 <_genuser_> you're saying learn a whole new thing. instead of just cranking out an app. Dec 15 21:22:08 SimonVT: THing is everything I just included was V7 .. I dont know what I am getting wrong here Dec 15 21:22:11 an open socket doesn't drain battery all by itself Dec 15 21:22:15 <_genuser_> and all I'm hearing is... I have started YET another project, lol. Dec 15 21:22:29 i’m really not, because GCM is quite vital to Android, AND it’s not difficult at all Dec 15 21:22:36 <_genuser_> but I'm sure we all have active projects that are ... "active" but collecting dust. Dec 15 21:23:23 <_genuser_> s73v3r: yeah, I can spend a little time on gcm. I just have having to unlock the phone every time to dial out, etc. and then also to reach for it when it's charging. Dec 15 21:23:48 <_genuser_> while being on desktop, it would be easy to just hit a shortcut and dial/pick up, etc. Dec 15 21:23:49 actually my irc application is running 24/7 (using sockets) with no visible impact on battery life. but others' mileages vary Dec 15 21:23:51 squirrel: the service constantly polling the socket does Dec 15 21:24:07 s73v3r: why would a service poll the socket Dec 15 21:24:20 <_genuser_> so I'm assuming gcm is all rolled into android base and would add any battery toll. Dec 15 21:24:23 apart from pinging that is Dec 15 21:24:32 it would have to know when something came in Dec 15 21:24:59 wifi will wake the processor when it has an incoming packet Dec 15 21:25:12 <_genuser_> technically, the OS should handle all that low level crap. or the driver, no? Dec 15 21:25:15 an app holding a socket open on wifi when you keep wifi on at all times would likely not have a huge impact. Doing it on cell definitely would. Dec 15 21:25:21 doze is going to screw your life tho on that Dec 15 21:25:27 <_genuser_> the socket won't be polling, per se, if you do block i/o Dec 15 21:26:08 <_genuser_> but I think I'll stick with gcm. plus it's another buzzword to add to my resume. Dec 15 21:26:14 GCM basically holds a socket with all the nice power save/wakeup stuff handled already and dispatches messages so you don't have to Dec 15 21:26:18 that’s true, if you’re running on 6, then doze is going to shut your socket down Dec 15 21:26:39 it's also the only way to get woken up in 6 if the device is in doze mode, because it's blessed as a privileged communication in ways non-system apps can't be Dec 15 21:26:47 <_genuser_> I'm going to ignore "doze" because it seems like it's another thing I'll be reading about for days.... Dec 15 21:26:57 dragorn: can't you white-list apps? Dec 15 21:27:02 squirrel, no Dec 15 21:27:03 well Dec 15 21:27:06 D: Dec 15 21:27:06 the user may be able to manually Dec 15 21:27:15 <_genuser_> I'm still coding for 4.1 and you're all on 6... pfft. Dec 15 21:27:20 which is a shitty thing, because there are plenty of people who want push without having to go through Google’s servers Dec 15 21:27:25 yeah, manually is what i was asking about Dec 15 21:27:27 you can't programatically. there is a "i need to be exempted" flag in the manifest, which can get you banned Dec 15 21:27:47 which is somewhat stupid - it's a valid manifest flag, but they're banning apps from the store for using it Dec 15 21:28:02 can't you ask user for a permission on 6 like using a dialog window or sth Dec 15 21:28:04 s73v3r, yup. google wants you using google services, period Dec 15 21:28:06 squirrel, afaik no Dec 15 21:28:17 crazy Dec 15 21:28:32 they’re not banning for using the flag; they’re banning for using it spurriously. Which is still bad, but they don’t want everyone just using the flag Dec 15 21:28:35 squirrel, very few apps need to keep a socket open all the time, so the net gain for users battery is positive and *most* users won't know Dec 15 21:28:57 s73v3r, you say that, but there's lots of legit uses getting banned too since all they do is sort-of read the description. I'd consider it a dangerous thing to set. Dec 15 21:29:17 s73v3r, hell, they banned *tasker* for a day. Imagine if you don't have the userbase tasker does to raise an outcry to get your app re-examined? Dec 15 21:29:29 it depens on what they believe is a legit use Dec 15 21:30:11 well a single app that doesn't do this doze things can have as much effect as turning the whole doze thing off doesn't it Dec 15 21:30:25 pretty much Dec 15 21:30:53 if i wanted to communicate from java to some NDK code is JNI and TCP the only options? Dec 15 21:31:23 Google said, “You assholes didn’t use the JobScheduler API we introduced in Lollipop (despite Lollipop having a gnat’s fart’s worth of users), so we’re going to bring down the iron fist” Dec 15 21:31:36 _genuser_, doze is simple. if you're on battery and the phone isn't moving (via accelerometers) for some period of time, doze mode kicks in. All apps are stopped, all periodic alarms are stopped, all network is shut down. The only way for a third-party app to wake up in doze mode is a GCM high-priority message - ie if you're doing voip or messaging and need to get woken up asynchronously Dec 15 21:32:21 _genuser_, most apps don't care since they don't need to do anything when the device screen is off and the user isn't paying any attention. Apps like email clients, chat clients, etc, need to figure out how to do GCM to wake up on new events. Dec 15 21:35:58 truchcrash: are you still in here? Dec 15 21:37:01 dragorn i wonder how this impacts facebook, they used mqtt to sleep + open socket Dec 15 21:37:24 g00s, either they flag themselves and get a pass b/c they're facebook and google wouldn't risk breaking them Dec 15 21:37:28 g00s, or they switch to gcm Dec 15 21:38:03 g00s, afaik. i don't actually use facebook so I dunno how their app works. Eventually my wife will get annoyed with relaying events and I'll have to sign up. Dec 15 21:38:18 Would anyone possibly be able to help me with a small part of an app I am trying to write? I am trying to create a "next" button that populates the ListView of my app with a new random record from an SQLite DB. help? Dec 15 21:38:37 do apps get a message saying that Doze is about to be activated? Dec 15 21:38:40 hm. latest sillyness i'm dealing with is GMS Nearby Messages has to be used from an Activity, they do not support using it from a Service. So we keep getting these mixed messages from google on stuff with contradictory guidelines. Dec 15 21:39:21 i have all my networking / bt in a service, so makes sense that should forward it on to Nearby Dec 15 21:45:01 there's a broadcast Dec 15 21:48:24 Does anyone know a lot about filterTouchesWhenObscured? It's not behaving the way the documentation says it is supposed to for me. Dec 15 21:48:34 dragorn, no, you can request to be whitelisted without the permission, as I understand it Dec 15 21:48:54 dragorn, http://developer.android.com/reference/android/provider/Settings.html#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Dec 15 21:48:59 oh Dec 15 21:49:04 must hold the request permission Dec 15 21:49:05 well, that's lame Dec 15 21:49:31 Note that these applications greatly run the risk of showing to the user has how power consumers on their device. Dec 15 21:49:37 apparently, english is not this doc writer's first language Dec 15 21:49:46 <_genuser_> dragorn: ah, nice simple explanation of doze mode. thx Dec 15 21:50:10 specifically, for FLAG_WINDOW_IS_OBSCURED, " This flag is set to true even if the event did not directly pass through the obscured area." is not true right now Dec 15 21:50:34 i can trigger my button with a toast partially, but not wholly covering the button, and clicking it elsewhere; the flag is still false Dec 15 21:50:36 <_genuser_> AS seems to lose connectivity with the emulator pretty often. Dec 15 21:50:52 <_genuser_> does anybody else keep restarting the emul? plus it just reboots now and then and takes a good 5 min to restart. Dec 15 21:52:11 if I run the emu, I leave it running all day Dec 15 21:52:55 <_genuser_> sure, I leave it running too. with eclipse this worked. Dec 15 21:53:12 <_genuser_> with AS, in an hours or so, it think the emul has shut down. and then wants you to restart it. Dec 15 21:53:19 <_genuser_> or the emu just reboots on its own. Dec 15 21:54:57 alternatively, does anyone know where i can reach people who know a lot about the android framework itself? my app is a research project, and i'm deeeeeep down the rabbit hole of MotionEvents; i have a secury library to build and Toasts are runing everything Dec 15 21:55:10 secure, also Dec 15 21:55:22 and ruining.. Dec 15 21:57:47 i have to verify the state of a button is as expected at click time, which is totally cool without toasts; i can compare bitmaps and make sure the button was presented in the right context. toasts appear outside of the view hierarchy, and filterTouchesWithObscured is supposed to take care of this, but in actuality it lets me partially obscure the button Dec 15 21:58:07 since they're outside of the view hierarchy, AFAIK I have absolutely no way of getting a bitmap of the full screen including toasts Dec 15 21:59:06 this means there's really no obvious way for a library or fragment to prevent tapjacking dynamically Dec 15 21:59:42 <_genuser_> any of you using the dumb floating button stuff yet? Dec 15 22:00:06 <_genuser_> I don't know how I think about it. It's sort of there floating on top of actual UI and it doesn't actually go away. Dec 15 22:00:32 <_genuser_> besides, what's the point of having a + (in most apps) floating and the rest of the actions hidden behind other hidden UI elements? Dec 15 22:00:58 _genuser_ yeah i dont like it much either, use it in one screen, and its supposed to be the most common action Dec 15 22:04:30 <_genuser_> g00s: I like common actions being easily available part. but I guess I just see it as always there and overlaying UI. It's basically ruining the UI real estate. Dec 15 22:07:20 <_genuser_> hmm, appcompatactivity. and xml layouts are getting pretty involved now. heh Dec 15 22:13:49 Hi! I’m scanning barcodes in my app and don’t want to allow duplicates in the list of barcodes. I wanted to use a HashSet which do not allow duplicates, BUT the problem is that it seems that it uses compare/contains on object level. The barcode-data type has an attribute timestamp and even if I scan the same barcode twice, the timestamp will differ and hence the HashSet will consider the two objects as different and not duplicate. Dec 15 22:13:54 What I need is to compare only one of the attributes of the datatype, i.e. the barcode value. How is that possible? Dec 15 22:24:56 <_genuser_> alright who said gcm? Dec 15 22:25:04 <_genuser_> does gcm do two way communication? Dec 15 22:25:08 * _genuser_ googles Dec 15 22:25:13 _genuser_ it does Dec 15 22:25:28 <_genuser_> Afzal: nice. thanks. Dec 15 22:25:59 _genuser_ there is upstream, downstream, and subject-based matching. but you need your own server Dec 15 22:26:22 its just a service Dec 15 22:26:32 <_genuser_> g00s: server as in server code? Dec 15 22:26:53 ya Dec 15 22:27:17 <_genuser_> what I was envisioning was desktop app, connects over tcp/ip socket to an app on teh phone. sends commands (dialer - dial/answer/hangup), and receives status. Dec 15 22:27:30 <_genuser_> g00s: now I'm modifying that thought to go over gcm after suggestions. Dec 15 22:27:55 <_genuser_> guess I should actually start reading the Set up A GCM client app on dev site. Dec 15 22:27:59 You'll need a server. Dec 15 22:28:22 _genuser_ take a look at Pixate, its a node.js app that talks to your phone. it has a few routes, one being Bluetooth Dec 15 22:28:32 <_genuser_> Mavrik: server as in "hosted in the cloud, publicly accessible"? Dec 15 22:28:37 <_genuser_> or can my desktop app be the server Dec 15 22:29:14 Not everything is a "cloud". Dec 15 22:29:18 <_genuser_> g00s: pixate, check. will google that just to make sure I'm not doing all this work for nothing. Dec 15 22:29:36 But having just a desktop app probably won't work due to how GCM API is designed. Dec 15 22:29:38 _genuser_ its a UI prototyping app. it pushes the prototype to your phone using BT Dec 15 22:29:51 <_genuser_> Mavrik: yeah for this convo by cloud I meant hosted on publicly accessible IP Dec 15 22:29:55 Yes. Dec 15 22:30:04 if you want to share with people somewhere else, it can do it via Wifi + their server infrastructure (costs $$$) Dec 15 22:30:10 Something needs to keep track of messages and devices IDs that's accessible. Dec 15 22:30:33 <_genuser_> hence my original idea of just plain socket communication. Dec 15 22:30:45 <_genuser_> but I feel that might be unreliable too in addition to other things we mentioned earlier. Dec 15 22:30:58 Plain socket communication is... Dec 15 22:31:02 not fun on mobile. Dec 15 22:31:19 Pay those 150eur/year for a collocated machine with push server :) Dec 15 22:31:22 <_genuser_> yeah, I've seen wifi cut in and out a lot. Plus sleep modes, etc. Dec 15 22:31:47 That's the least of your problems, especially if you want it to work over mobile network Dec 15 22:32:00 <_genuser_> Mavrik: well to be honest, it's an app because I don't feel like unlockign the screen with a long password or getting up wehn it's being charged farther from my computer desk. Dec 15 22:32:05 g00s, indeed, but gridlayout is basically gridbaglayout, and that pretty much sucks Dec 15 22:32:17 <_genuser_> Mavrik: I don't know if I want to get a colo server at 150/yr somewhere just for that, lol. Dec 15 22:32:34 *shrug* Dec 15 22:32:49 _genuser_ DO droplets are pretty cheap Dec 15 22:32:57 your computer should be fine, I think Dec 15 22:32:58 <_genuser_> Mavrik: but yeah, I don't expect to use it over mobile network. just over home network. Dec 15 22:33:20 <_genuser_> well yeah I could just use my old computer as the push server. Dec 15 22:33:23 have you looked at Airdroid? Dec 15 22:33:27 <_genuser_> I have it as web server within local network anyway. Dec 15 22:33:39 <_genuser_> no idea what airdroid is. Dec 15 22:34:00 look at it. It’s an app/desktop application that kinda does what you’re looking to do Dec 15 22:34:38 but all you need to send GCM is a token, and then it’s just a JSON call to Google Dec 15 22:35:00 _genuser_ well, here is what the UI for pixate looks like, maybe give you some ideas http://help.pixate.com/knowledgebase/articles/665521-3a-connecting-your-devices Dec 15 22:35:27 so they are using BT classic Dec 15 22:35:33 <_genuser_> s73v3r: airdroid seems just for sms'ing primarily. But I see it can place calls too. Dec 15 22:36:15 <_genuser_> g00s: pixate looks nice too. Dec 15 22:36:37 not to kill your enthusiasm for a hobby project, but you might install it, and at least put on a network sniffer or something to see what they’re doing :p Dec 15 22:37:50 <_genuser_> s73v3r: no, not at all. I have 2 other hobby projects that are android. Two other that are non coding. a music album in the making. a second music album in the making under a different project. Dec 15 22:37:58 <_genuser_> s73v3r: I could use a little less hobby projects atm. Dec 15 22:38:06 haha, I hear that Dec 15 22:38:47 <_genuser_> s73v3r: it's good to keep up to date with new thigns now and then. keeps the resume updated. so I might look into airdoird for my purposes but learn gcm later too. Dec 15 22:38:52 s73v3r, Airdroid bounces notifications over their server Dec 15 22:39:16 <_genuser_> s73v3r: altho, atm I don't think anybody will hire me for android since I'm mostly c# dev. but couldn't hurt to try to move to android. Dec 15 22:39:35 Learn to work with Xamarin. Dec 15 22:39:46 If people can pay for it they can pay you well too. Dec 15 22:39:59 i dunno, i’ve had two recruiters in the last month ask me about Android jobs using Xamarin Dec 15 22:40:32 <_genuser_> Mavrik: I had a convo with a dev on teh xamarin team and apparently it's pretty ok now. when I checked it last time, it was pretty annoying. Dec 15 22:40:46 <_genuser_> Mavrik: plus it's not as cheap as I'd like it to be. Dec 15 22:41:03 It's not meant for you to pay the price :P Dec 15 22:41:06 It's your client. Dec 15 22:41:17 <_genuser_> Mavrik: guess I could get the free version and learn to use it. Dec 15 22:41:53 Make a simple app within the free limits, sell the knowledge to someone who'll pay for the license :) Dec 15 22:41:56 <_genuser_> Mavrik: I was hoping to find something that does write once run anywhere (on android and ios). but so far haven't seen anything nice. Dec 15 22:42:40 Of course, because that can never go above average shovelware. Dec 15 22:42:44 closest I’ve seen is LibGDX, and React Native Dec 15 22:43:03 <_genuser_> true that. Dec 15 22:43:37 _genuser_ i'm loving VS Code on mac with .net core ! Dec 15 22:43:42 <_genuser_> I was doing some bit level file manipulation for a specific file format for my app. and I was think if I can put all that in single codebase then it would be easier to just create the front end crap Dec 15 22:44:15 Xamarin is the best of the bunch we work with. Dec 15 22:44:17 <_genuser_> g00s: I kinda got lost in explanation of how many .NET sub projects there are now and what they do and what will be supported for how long. Dec 15 22:44:19 React Native is utter shit. Dec 15 22:44:22 Cordova is worse. Dec 15 22:44:33 There's the Titanium thing we stopped supporting because I want to keep my team Dec 15 22:44:51 libGDX is ok but primarily gaming oriented. Dec 15 22:44:56 i have suspicion flutter.io will become more popular ;) Dec 15 22:45:15 how much have you actually done with React Native? Dec 15 22:45:20 g00s, not in this century. Dec 15 22:45:32 <_genuser_> g00s: so you're running .net code on mac. .net core is just the core framework that's outside of the mainstream framework, yeah? Dec 15 22:45:36 s73v3r, tested it out, didn't even have view state restoration on Android Dec 15 22:45:51 _genuser_ its most stuff minus GUI things Dec 15 22:45:52 documentation is nearly non-existent, anything beyond basic layouts is just a mess because it's missing a lot Dec 15 22:45:52 <_genuser_> Mavrik: if it has a .io in the name, the hipsters will flock to it. Dec 15 22:46:24 <_genuser_> g00s: so you go looking for ".net core for mac"? and download and install it on teh mac and done? Dec 15 22:46:57 _genuser_ https://github.com/dotnet/core Dec 15 22:47:14 .net core and asp.net 5 are cross platform (win.mac,linux( Dec 15 22:47:32 actually you may have heard MS and RedHat agreement that RH will support .net core on their distro Dec 15 22:47:37 <_genuser_> g00s: yeah, I had read up on .NET code in context of asp.net 5 that each app will have it's own runtime, etc. etc. Dec 15 22:47:48 <_genuser_> g00s: but it seems to have lost some steam over time. I don't hear about it as much as it was a while ago. Dec 15 22:48:10 i dunno. also hedge bets - learn swift :P Dec 15 22:48:21 <_genuser_> g00s: heh, or move to middle management. Dec 15 22:49:08 Yes, learn swift, buy Firewire hardware and only lightning port chargers. Dec 15 22:49:12 <_genuser_> g00s: so VS. is there a mac version of VS? Dec 15 22:49:23 nope Dec 15 22:49:25 The longlive apple standards :P Dec 15 22:49:26 <_genuser_> Mavrik: firewire is the bomb man. don't even say anything else. Dec 15 22:49:30 _genuser_ https://code.visualstudio.com Dec 15 22:49:38 TDD looks specially hard on Android Dec 15 22:49:41 there’s a cross platform version of an editor library Dec 15 22:49:44 <_genuser_> g00s: you and links!! Dec 15 22:49:45 its not the regular Visual Studio though Dec 15 22:49:52 autrilla: Testing in general is hard on Android Dec 15 22:49:56 And I feel I made a terrible mistake writing functionality before code Dec 15 22:50:11 <_genuser_> g00s: ah, "code". I had seen that. but since I have VS2013 in my desktop I hadn't downloaded the "code" version. Dec 15 22:50:39 _genuser_ it could be worse, you could be webdev Dec 15 22:50:41 s73v3r: I don't feel comfortable leaving stuff untested Dec 15 22:50:46 look, angular2 beta out now ! Dec 15 22:50:47 <_genuser_> g00s: Code, node.js, asp.net 5. the words mac and microsoft int eh same sentence. MSFT has changed quite a bit in recent years, lol. Dec 15 22:50:54 there’s also Omnisharp, which is a general .NET editor library Dec 15 22:51:13 Omnisharp + rosylyn are pretty amazing Dec 15 22:51:14 autrilla: Me neither, but it’s kinda what you need to do in some cases Dec 15 22:51:18 <_genuser_> g00s: heh, I do some webdev for work. it's a .NET 2.0 app that we still support. lol. Dec 15 22:51:45 _genuser_ i was talking to someone the other day, VB.net ... Dec 15 22:51:53 s73v3r: what things don't you test? Dec 15 22:51:55 instinct said "run" Dec 15 22:52:12 the thing I’m working on now has no tests :(. But that was that way before I got here Dec 15 22:52:51 <_genuser_> g00s: argh. vs.net. I had some recruiter send me an email about vb.net with vb6 experiene and some sql things. they were insistent on vb.net only. Dec 15 22:55:20 <_genuser_> so project fi... anybody using that from google? Dec 15 22:55:50 <_genuser_> I hear it configures the phone at low level to play sip only calls and if you do'nt have data connectivity you're sol. Dec 15 22:56:49 s73v3r: I've only implemented authentication, and I really really feel terrible for not having tests on it Dec 15 22:57:33 you could try going back and redoing it with tests Dec 15 22:57:46 or at the least, you could use UI/functional tests, but that’s not as desirable Dec 15 23:00:11 s73v3r: what's that, clickling on the screen programtically and checking what happens? Dec 15 23:00:56 kind of. You’d either use Espresso, or a 3rd party solution like Appium to write tests, which would then exercise from the UI Dec 15 23:01:44 hi Dec 15 23:01:55 can I set the android emulator to use vbox instead of kvm? yes or no? Dec 15 23:02:01 those sound like integration tests more than unit tests. Anyway, in other languages you just use data bindings and don't test the view Dec 15 23:02:18 AbuDhar: no Dec 15 23:02:22 s73v3r: are you sure? Dec 15 23:02:28 autrilla: they’re not unit tests at all, no. Dec 15 23:02:50 But Android's data bindings are not really good yet Dec 15 23:03:10 You always want to test the views on Android. Dec 15 23:03:15 It's kind of pointless otherwise. Dec 15 23:03:23 There gotta be a virtualbox Android emulator Dec 15 23:03:31 Genymotion Dec 15 23:03:46 Mavrik: it's hard to test views Dec 15 23:03:57 Mavrik: You want to have UI tests, but they shouldn’t be the bulk of your tests Dec 15 23:04:04 most of them should be unit tests Dec 15 23:04:06 is it free s73v3r? Dec 15 23:04:24 Read their site. It’s free for personal, non-commercial use Dec 15 23:04:33 s73v3r, why would you not want to have the bulk of your tests in by far the most brittle code? Dec 15 23:04:40 ok I am not going to earn money on my app I think :D let me try it Dec 15 23:04:50 View and OS interaction on Android is by far the most flakey and the tests catch most issues in those areas. Dec 15 23:05:05 Unit tests are nice, but the View/OS interaction is where our tests suite keeps paying off the time invested. Dec 15 23:05:08 because that code is brittle, which leads to bad tests. And the bulk of your app is going to be in the logic, which is where you want most of your tests Dec 15 23:05:45 Now you're just repeating cargo cult sayings which have little to do with reality of Android :P Dec 15 23:05:51 no, I’m not Dec 15 23:05:53 Think first what you want to achieve with tests. Dec 15 23:05:54 I’ve done it. Dec 15 23:06:05 autrilla, yes, it's not easy and they can be flakey. Dec 15 23:06:08 most UI tests are crappy, because the UI changes Dec 15 23:06:11 autrilla, but they save boatloads of time. Dec 15 23:06:25 Unless you're working on one-off app. Dec 15 23:06:33 Mavrik: so you'd start by writing espresso tests that run on my phone and click on things the same way I would? Dec 15 23:06:41 autrilla, we do both. Dec 15 23:06:55 both espresso and unit tests? Dec 15 23:06:56 s73v3r: are there no other options? Dec 15 23:06:58 you do unit tests for logic and you do have tests that click on stuff to check UI Dec 15 23:07:05 autrilla, those aren't really separate things Dec 15 23:07:10 Mavrik: well I don't really have a lot of logic Dec 15 23:07:18 But think of it this way: Dec 15 23:07:18 AbuDhar: Using an actual device Dec 15 23:07:27 It's just asking Google/Facebook for an auth token Dec 15 23:07:38 Will you REALLY wanna click through ALL possible views and UI states every time you update your app or get a new test device or let a robot do it? Dec 15 23:07:50 Mavrik: robot, of course Dec 15 23:08:07 Ideally I wouldn't need to test the view, but meh Dec 15 23:08:11 So essentially we have tests that only test logic (unit tests) and tests that click on stuff with espresso library Dec 15 23:08:16 s73v3r: can you send me one? :) Dec 15 23:08:22 I'll give you my address Dec 15 23:08:33 Those are all instrumentation tests that run on device, we don't use the "unit testing" on JVM Dec 15 23:08:43 AbuDhar: You should already have one. There is no way in hell you could be ready to release an app without running it on actual devices Dec 15 23:08:57 But that's because of our specifics, you can have both. Dec 15 23:09:00 s73v3r: but I don't have one.. I am a Windows Phone user Dec 15 23:09:01 I just don't see much value in it :) Dec 15 23:09:05 AbuDhar: consider AWS device farm Dec 15 23:09:26 AbuDhar: Doesn’t matter. Get one. No one wants to use a half assed app used by someone who hasn’t tested it on an actual device Dec 15 23:09:28 Mavrik: do you mind saying who 'we' is? Dec 15 23:09:41 autrilla, nop, https://pspdfkit.com/ Dec 15 23:09:49 s73v3r: send me one ok? Dec 15 23:09:56 is there a standard way to handle deep links on android? Dec 15 23:09:56 no, get your own Dec 15 23:10:00 we all go our own Dec 15 23:10:03 nice autrilla Dec 15 23:10:04 this code needs to be set on fire and rewritten Dec 15 23:10:05 RustyShackleford, afaik yeah Dec 15 23:10:20 RustyShackleford, https://developer.android.com/training/app-indexing/deep-linking.html perhaps? Dec 15 23:10:21 hey, pspdfkit Dec 15 23:10:21 but AWS is not free afaik Dec 15 23:10:30 we have some combination of Intents and SharedPrefs going on Dec 15 23:10:34 s73v3r: I don't intend of releasing my app without running tests on all of AWSs API 15+ devices Dec 15 23:10:37 on* Dec 15 23:10:48 maybe a little overkill, but good thinking Dec 15 23:10:51 I will get one tomorrow. Dec 15 23:11:04 a device that is Dec 15 23:17:05 stupid question, but does AS have a refactor/generator for the Builder pattern? Dec 15 23:18:01 Mavrik: so I guess you test things like, what happens if I rotate the device now, what happens if there's no network connectivity, etc? Dec 15 23:18:29 Pretty much, try to test a standard interaction and then possible errors. Dec 15 23:18:39 for that, definitely look into a good network mocking library Dec 15 23:18:40 s73v3r, there's a plugin in IntelliJ repo Dec 15 23:18:54 thanks Dec 15 23:19:23 autrilla, using coverage is usually a good tool for testing - see which codepaths aren't covered. Dec 15 23:30:54 Can I enable multi-dex only when running tests? Espresso puts me over the dex method limit Dec 15 23:31:10 liuwenhao, make a flavor for testing Dec 15 23:31:53 Alright, thank you Dec 15 23:35:17 Mavrik: coverage kind of lies when you don't do unit tests. I mean, the lines will run, but it's very likely the edge case those lines are there for doesn't happen Dec 15 23:35:27 True. Dec 15 23:35:47 I still find it a useful tool for finding error / exception cases I haven't tested yet. Dec 15 23:36:10 (it sometimes lies with unit tests too) Dec 15 23:36:21 That's why you write tests first! Dec 15 23:36:28 <_Atom_> how can i check which version of gimbal a project is using? Dec 15 23:38:09 <_genuser_> damnit. switching between c# and java is driving me bananas. Dec 15 23:38:17 <_genuser_> there is not dictionary in java that we can use? Dec 15 23:38:24 <_genuser_> is this the hashset territory? Dec 15 23:38:35 <_genuser_> oh, Map.. Dec 15 23:40:14 <_Atom_> where are android modules/imports stored? Dec 15 23:40:35 they aren't stored Dec 15 23:40:43 well, they are in cache, but gradle cache is opaque Dec 15 23:41:02 you check which version by looking at gradle Dec 15 23:42:37 <_genuser_> hmmm HashMap> is starting to look too convoluted. Dec 15 23:43:05 <_Atom_> thanks pfn Dec 15 23:44:38 _genuser_, dafuq are you doing. Dec 15 23:44:46 byte[] as a map key? Dec 15 23:44:52 That'll go swell :) Dec 15 23:45:24 <_genuser_> Mavrik: haha, already thinking that exact thing. Dec 15 23:45:41 <_genuser_> Mavrik: doesn't hurt to explain what I'm doing and see if someone's got a better solution. Dec 15 23:46:05 <_genuser_> Mavrik: RegsiterParser(byte[] dataType, Integer version, Type parserType); Dec 15 23:46:30 <_genuser_> Mavrik: so for each dataType, there could be version 1/2/3/4, etc. parsers. Each parser would have it's own type or maybe I should use class or something. Dec 15 23:46:37 maybe do a builder, or some kind of POJO for your parameters Dec 15 23:47:01 <_genuser_> a builder you say... a pojo.. Dec 15 23:47:17 a pojo is a Plain Old Java Object. Basically a bag of data Dec 15 23:47:20 <_genuser_> I could change byte[] to just String. Dec 15 23:47:27 why is dataType a byte[] anyway_ Dec 15 23:47:29 ? Dec 15 23:47:42 Why are you passing strings around as byte[]? :) Dec 15 23:47:57 Wrap your data into meaningful objects :) Dec 15 23:48:06 <_genuser_> because originally I was harcoding it as byte[] type=new byte[]{'a','p','p',1'}; etc. etc. Dec 15 23:48:14 <_genuser_> I don't need it to be byte[] now with the new design. Dec 15 23:48:17 yeah, don’t do that Dec 15 23:48:33 Yeah, thinking each letter is one byte is a great way to fail :) Dec 15 23:49:09 <_genuser_> now, I'm just doing to pass the string around as "app1", "app2", whatever the data type is. it will be embedded in teh file also. Dec 15 23:49:23 Why Mavrik Dec 15 23:49:40 <_genuser_> Mavrik: in my case it worked because I open the file a bytestream and I'm the only reader/writer of that data. outside of here anybody else writing in values would only corrupt the data. Dec 15 23:50:11 <_genuser_> in other words my assumption that a character is one byte only worked only because I am the author of the data. Dec 15 23:50:24 now we’ve just go to get you to stop using Stringy types :p Dec 15 23:50:26 <_genuser_> I know in general assuming a string has characters one byte long will be.... not great Dec 15 23:50:39 <_genuser_> s73v3r: stringy types? Dec 15 23:50:58 exactly what your’e doing, instead of using an enum, constants, etc Dec 15 23:51:10 or actual objects Dec 15 23:51:26 <_genuser_> file type is stored in the beginning of the file. you know like ZIP, etc. etc. Dec 15 23:52:07 <_genuser_> mine says APP1 and then byte data. an enum will work just fine too. Dec 15 23:52:30 <_genuser_> I could store an int or what have you. Dec 15 23:52:33 that might not be a problem Dec 15 23:52:40 <_genuser_> s73v3r: back to the builder tho... Dec 15 23:53:05 <_genuser_> so I was thinking a parser that knows how to parse APP1 version 2 registers itself with the MainParser. Dec 15 23:53:06 just so long as you’re not going “if(dataType.equalsIgnoreCase(“app1”))... Dec 15 23:53:38 <_genuser_> no, I would read it byte by byte and just compare the four bytes. Dec 15 23:53:44 even worse Dec 15 23:54:28 <_genuser_> I use ByteBuffer to read them. and I tell it to read 4 bytes. Dec 15 23:54:50 <_genuser_> then I would just do Array.equals on that newly read array against the already stored array which was hardcoded as shown above. Dec 15 23:54:58 <_genuser_> and that's why it worked just fine without any errors, or problems. Dec 15 23:55:50 <_genuser_> I know I know, I could just tput the entire thing into an xml or json file and base64 the actual binary data. Dec 15 23:56:17 <_genuser_> and bypass all this binary byte reading and song and dance. but that's how I did it and it was fun at the moment. and the logic is all written up. Dec 15 23:57:12 or do the binary byte reading once, and generate an object which enapsualtes all of that info, and you don’t have to compare bytes anymore Dec 15 23:57:38 <_genuser_> s73v3r: well that's exactly what I do. Dec 15 23:57:55 <_genuser_> s73v3r: but now that I'm changing formats around and I don't wish to have the old data become obsolete.... Dec 15 23:58:23 <_genuser_> I decided a wrapper object verified file type (I have multiple), and version. and then sends the bytestream to the parser that knows to parse that version. Dec 15 23:58:43 <_genuser_> so my HashMap above was to store types and versions and classtypes. So I can create the right obj at runtime. Dec 16 00:00:18 reflection is terrible on low powered devices Dec 16 00:00:34 and inters[ecriomnn Dec 16 00:03:21 https://youtu.be/GB1WG2qop5Q Dec 16 00:03:28 I wonder if the dragging artifact is because of emulator Dec 16 00:03:30 or gingerbread Dec 16 00:04:05 ok why does libicu return "d.M." when I do getBestDateTimePattern("M/d") Dec 16 00:04:23 the artifacts that appear when clicking the button are from the recording app Dec 16 00:05:01 <_genuser_> Mavrik: heh, I've already seen stackoverflow issues with using byte[] as key. getting rid of that. Dec 16 00:05:15 and also why does the robolectric impl of ICU return "h:mm a" for "M/d" Dec 16 00:06:22 specifically I'm wondering how it decides to append a trailing dot on d.M. Dec 16 00:06:33 and really I'm wondering if it works at all Dec 16 00:12:15 <_genuser_> do you guys extend your own exception types or just try to re-use existing ones. Dec 16 00:13:00 Depends _genuser_ Dec 16 00:13:50 <_genuser_> drose379: I'm trying to re-use InvalidObjectException, etc. for "invalid data type". Dec 16 00:14:00 Just use that then Dec 16 00:14:06 <_genuser_> but then I think it's misleading. so I should just extend a new one. Dec 16 00:14:28 <_genuser_> it's a one-liner really. but it's extra clutter to have tons of custom exception, I feel. Dec 16 00:15:47 I try not to extend exceptions per "Effective Java" Dec 16 00:16:34 oh, i still have a droid1, I should power it on just to try Dec 16 00:16:55 1) api is easier to learn and use because it matches established conventions Dec 16 00:17:18 2) app is uncluttered with unfamiliar exceptions Dec 16 00:17:35 3) smaller memory footprint (if u care) Dec 16 00:18:23 of course, if u have an exceptional need for extending exceptions, go for it Dec 16 00:21:59 <_genuser_> pfn: I have a galaxy S. I tried installing something on it and it requires an SDcard, lol. Dec 16 00:23:27 my droid1 still works, representing the 0.2% froyo users Dec 16 00:23:33 \o/ Dec 16 00:24:26 <_genuser_> g00s: what's your hourly rate... Dec 16 00:24:36 <_genuser_> maybe I should just have your code my app. Dec 16 00:24:53 working on my own stuff :) Dec 16 00:25:51 <_genuser_> pfft, you know you'll be slacking off. Dec 16 00:25:54 <_genuser_> but if I'm paying you.... Dec 16 00:26:16 <_genuser_> tbh, I do'nt want to shell out the monies. but it's interesting to imagine Dec 16 00:26:26 lol Dec 16 00:32:52 hmm, can't get my droid1 to turn on Dec 16 00:32:56 maybe it needs to charge fo rlonger Dec 16 00:43:21 is it dangerous to do Butterknife.bind(this, view.getParent()) ? Dec 16 00:43:54 leaking context or something? Dec 16 00:44:11 its fine Dec 16 00:44:20 coool :D thanks Dec 16 00:46:19 hmm..maybe I should just move the toolbar down to the fragment instead of having it up in the activity Dec 16 00:51:29 When using android studio for the first time, it appears to spend a great deal of time "indexing" -- is this a one-time thing or does it go through a long process every time you create a new project? Dec 16 00:51:50 ooh, it's turning on Dec 16 00:52:15 jdeisenberg, one time per project Dec 16 00:52:46 it indexes whats in the directories/files for giving you suggestions and stuff like that Dec 16 00:53:14 ie code completion needs the IDE to be aware what classes are in the project Dec 16 00:53:32 danijoo: is there some global indexing that applies to all projects? Dec 16 00:53:40 hah long live Dec 16 00:53:42 no. Dec 16 00:54:18 sdk maybe? Dec 16 00:54:18 in fact I have no idea where it stores the indexed data. but I guess somewhere in the project directory Dec 16 00:55:00 ah, alas. I will be assisting at a class using some older, slower machines, and every time they make a project, well, we can just call a short break or do something else while their machines churn away indexing. Dec 16 00:55:07 It's something like 4-5 minutes. Dec 16 00:55:36 wow.. thats a long time for indexing Dec 16 00:56:23 somebody needs to make an anim repository like MaterialDesignIcons Dec 16 00:57:00 I'll have to time it exactly next time I have access to the room. Dec 16 00:57:24 jdeisenberg you can tell them to clone it before hand :) Dec 16 00:57:28 and build it once Dec 16 00:57:41 clone the project? Thank you; good idea. Dec 16 00:58:39 also, I don't know other people's experience BUT tell them to File > New > Import Project instead of Open to open it, otherwise Android Studio messes up (different paths and stuff). But that's just my experience Dec 16 00:59:23 i always use ´open´ Dec 16 00:59:40 danijoo do you open other people's projects? Dec 16 00:59:56 Afzal, sometimes. Dec 16 01:00:16 I just do open and select the folder with the gradle file in it Dec 16 01:00:33 hmm. maybe it works then. I just never bother with it anymore. I always import the root build.gradle and let AS create all the files Dec 16 01:00:36 the it takes some time for import/indexing and im rdy to go Dec 16 01:01:31 and then I never check in any AS-related files. .idea folder or .iml, because they always seem to change on everyone's computer Dec 16 01:01:41 yeah me neither Dec 16 01:09:20 my droid1's screen won't turn on :( Dec 16 01:11:09 Why are checkboxes so weird :/ Dec 16 01:11:24 Let me rephrase that, why are custom layout checkboxes so weird :/ Dec 16 01:27:27 <_genuser_> so dynamic object creation? not that great? Dec 16 01:29:40 not that great? why not? Dec 16 01:30:04 <_genuser_> somebody mentioned earlier that dynamic object creation is dog slow on low performance devices. Dec 16 01:30:32 <_genuser_> I'm looking to register objects by their class names and later create only when need using Class class=Class.forName(className), etc. etc. Dec 16 01:31:17 <_genuser_> there might be anywhere from 20-50 to 1500 instances of these creates in a for loop. Dec 16 01:31:23 <_genuser_> so if it's slow, it could add up fast. Dec 16 01:32:21 well yeah if you're creating that many then yes Dec 16 01:32:38 4 or 5 is okay I guess Dec 16 01:32:52 <_genuser_> recommendations? Dec 16 01:33:08 I'm not sure what you mean by "registering objects" Dec 16 01:33:17 <_genuser_> so overall that same 2-3 types may get create 1000 times. Dec 16 01:33:47 <_genuser_> shoudl I just pre-create them, and just re-use them during the 1000 count for loop. Dec 16 01:34:08 yes Dec 16 01:34:14 you alloc outside of your loop Dec 16 01:34:30 <_genuser_> adq: I suppose next, you'll say I should implement an interface .... Dec 16 01:34:41 unrelated or irrelevant Dec 16 01:34:49 just avoid allocating object in heavy loop Dec 16 01:35:17 <_genuser_> I guess I'll need to either have a base class or an interface. Dec 16 01:35:31 I use Qt with NDK for make my App But I need to get if device have more then one sim and get full IMEI list. Dec 16 01:35:51 So How I can do it by c++ ? Dec 16 01:36:04 <_genuser_> so I can blindly call a method on the reference which could be to any object (assuming they all provide the same method). Dec 16 01:36:25 oh, you're talking about something different lol Dec 16 01:37:54 <_genuser_> Afzal: 1000 files. possibly of 2-3 different version. I'll go thru a for loop, parse them and see which version they are and spin up the correct parser to then go thru them and actually parse them. Dec 16 01:38:15 why do you need to deal with Class reflection stuff then? Dec 16 01:38:22 why not just create them? Dec 16 01:38:29 ah...yeah I don't know about that Dec 16 01:38:39 On top of that, how many different parsers might there be Dec 16 01:38:58 <_genuser_> s73v3r: goes back to there could be 4-5-10 parsers overtime. Dec 16 01:39:01 and can a parser be reused from file to file, assuming they’re the same type and version? Dec 16 01:39:24 <_genuser_> I just want to be able to say, oh if file type is "app1", version is 6, here's a parser that can go thru that for you. Dec 16 01:39:29 <_genuser_> yes they should be re-used. Dec 16 01:39:49 depending on how big they are, maybe just make all of them up front? Dec 16 01:39:50 <_genuser_> that way, every time I add an update to the format, I just create and register a new parser. Dec 16 01:40:26 <_genuser_> s73v3r: parser itself wouldn't take up that much memory except for when it's parsing and loading up crap in memory in byte arrays in file_contents struct. Dec 16 01:40:34 <_genuser_> otherwise, those will be cleared after parsing is done. Dec 16 01:41:02 If you’ve only got a handful of parsers, which it looks like you do, maybe just create them all, instead of looping and seeing which ones you need Dec 16 01:41:28 then you can be assured you’d have it when you say, “I need parser for , Dec 16 01:41:29 <_genuser_> s73v3r: well, then I'll have let's say 10 parsers up front. Dec 16 01:41:38 <_genuser_> s73v3r: then I'll loop and see which one's needed and use that one. Dec 16 01:42:21 Any one can help plz I try to find way but I don't know java. Dec 16 01:42:25 create them up front, and then as you’re looping and parsing each file, you know the parser is there Dec 16 01:42:37 <_genuser_> s73v3r: guess they'll need a common base class or an interface so I can call the .parse on it without cares, eh. Dec 16 01:42:52 AmR|EiSa: I’m pretty sure they don’t expose that to C++. You’re gonna have to do java Dec 16 01:43:08 <_genuser_> s73v3r: altho, if they return the same data type with same format, that's one thing. but if they want to return different data types... the method signature will change. Dec 16 01:43:25 _genuser_: the more you can do to not care about the concrete type while looping, the better Dec 16 01:43:37 <_genuser_> s73v3r: yeah, I'm arriving at the same conclusion. Dec 16 01:44:00 <_genuser_> s73v3r: instead of returning damn structs, it seems easier to just return List properties, or some such adjusted for data type. Dec 16 01:44:09 <_genuser_> or property bags. Dec 16 01:44:12 <_genuser_> or object bags. Dec 16 01:44:16 well, Java doesn’t have structs Dec 16 01:44:19 <_genuser_> which I believe one of you mentioned earlier. Dec 16 01:44:49 <_genuser_> right, structs or classes Dec 16 01:44:58 you really don’t want to have to turn everything into a String to return it, though Dec 16 01:45:19 <_genuser_> yea, that's why I correct that to "property/object bag". Dec 16 01:45:58 does anyone know of some testing infrastructure that will allow me to run monkey runner on my app and when it crashes, to capture all logs and post them to some server for review? Dec 16 01:46:30 and then start all over again Dec 16 01:46:37 <_genuser_> s73v3r: you know the more I think about it, the more complicated I make it. I need to just step back and find a cleaner solution. Dec 16 01:46:52 <_genuser_> s73v3r: I think I fancy the idea or "registering a parser" more than I have a need for registering a parser necessarily. Dec 16 01:47:02 probably Dec 16 01:47:44 <_genuser_> heh, I register so many action providers with service providers. the idea sounded cool. Dec 16 01:54:11 I have an inner class that extends IntentService, and for some reason its not being calld Dec 16 01:54:57 Any reason why this would happen Dec 16 01:55:51 <_genuser_> I am not familiar with intricacies of java. but I remember stuff like out instance getting destroyed and such and such. Dec 16 01:56:05 <_genuser_> which would throw my entire logic into chaos. but it was quite a while ago. Dec 16 01:56:16 <_genuser_> s/out/outer/ Dec 16 02:00:24 drose379: are you registering it? Dec 16 02:00:43 drose379: have to register it in your AndroidManifest Dec 16 02:01:13 Yeah, messed that part up :P Dec 16 02:01:30 for inner classes, you have to use "$" Dec 16 02:01:44 com.example.outterclass$innerclass Dec 16 02:02:17 Now its saying it cant instantiate the class because there is no empty consturcot Dec 16 02:02:24 But there is an empty constuctor Dec 16 02:02:24 oh, duh, that's why I couldn't turn on my droid1, I thought the camera button was the power button Dec 16 02:04:49 dell xps 13 got good reviews from the verge Dec 16 02:04:59 maybe time to get pc for kicks Dec 16 02:05:47 hm although, usb drivers for android dev :( Dec 16 02:08:28 Is context parcelable Dec 16 02:08:55 drose379: no Dec 16 02:09:00 Danm Dec 16 02:09:16 Trying to figure out the best way to pass data from static inner class to the activity Dec 16 02:09:26 drose379 easy to check, see the docs if it implements Parcelable Dec 16 02:09:34 drose379: are they in the same process? Dec 16 02:09:48 No Dec 16 02:10:02 what information do you need in the Context? Dec 16 02:10:51 oh you just need to send any data? then use the normal way of putting data in the intent Dec 16 02:11:21 Intent i = new Intent(...); i.putExtra(...); startActivity(i); Dec 16 02:11:22 No I need to send the data back from the IntentService Dec 16 02:12:12 Dont really want to use LocalBroadcastManager Dec 16 02:12:45 Oh wait, intentservice is a context Dec 16 02:12:53 So I can use Sqlite in the inner class Dec 16 02:22:53 I use SurfaceView and Canvas to draw my game. My graphics is placed in hdpi folder and is scaled up on other dpi's. But when I move the camera around it seems to make some gaps for a split second. Any ideas? This didn't happen when I placed the graphics in nodpi Dec 16 02:38:44 drose379, of course they're in the same process Dec 16 02:48:21 Is there a way to get android color specifically from dark theme http://imgur.com/frVulbO Dec 16 02:48:39 The gradient from list view in seetings Dec 16 02:48:41 settings* **** ENDING LOGGING AT Wed Dec 16 02:59:59 2015