**** BEGIN LOGGING AT Tue Jan 19 02:59:58 2016 Jan 19 03:00:55 reside menu? Jan 19 03:01:07 transparent status bar isn't that difficult Jan 19 03:01:25 https://github.com/SpecialCyCi/AndroidResideMenu Jan 19 03:01:31 yeah, but combination is Jan 19 03:01:53 the only implementation of reside-menu I've found so far Jan 19 03:02:29 that's very counter to the platform Jan 19 03:04:09 customers have own very special visions some times Jan 19 03:04:22 vigilancer: yeah.. it came up. took a long time. Jan 19 03:04:35 the darn thing keeps making a notificatoin noise for no reason Jan 19 03:04:35 well, that sort of thing requires a lot of work Jan 19 03:04:42 no matter the platform Jan 19 03:04:46 hopefully this complete reflash will fix Jan 19 03:05:14 although... first thing it did booting up was make the dumb noise... Jan 19 03:05:31 not sure if any malwar can survive ./flash-all.sh Jan 19 03:05:50 hays: is there already not so hairy method for rootin 6 on nexus 5? Jan 19 03:06:17 not sure. this device im actually not rooting Jan 19 03:06:44 is it hairy? last i remember you just flash twrp and then upload supersu Jan 19 03:06:56 but i may be out of date Jan 19 03:07:28 pfn: well, yeah. but this implementation seems working. but not respection window flags for now Jan 19 03:07:33 * vigilancer expecting more bugs Jan 19 03:11:09 *not respecting Jan 19 03:11:44 ahh i see that the latest supersu is beta Jan 19 03:13:03 hays: also it depends on kernel version. too many gotchas, sticking with 5 for now Jan 19 03:13:40 i find it hard to run anything but stock on an nexus Jan 19 03:13:57 CM works fine Jan 19 03:14:02 just because its so easy... you get all the lastest everything.. things are sensible Jan 19 03:15:07 if you buying now you'll get adb-over-wifi button in menu) Jan 19 03:16:12 and root out of box Jan 19 03:16:34 offtopic, i know -_- Jan 19 03:18:22 there will come a time when the lastest stock image is too slow or otherwise sucks and ill start using CM or some other ROM Jan 19 03:19:27 its cool cm is already on 13 Jan 19 03:20:44 they only do nightlies though right? that i think i found annoying last i used them Jan 19 03:28:05 vigilancer that is ... bizarre Jan 19 03:28:37 (reside menu) Jan 19 03:35:37 Anyone know why my action bar is not appearing? I see that it is leaving space for it, but nothing shows up... https://gist.github.com/emilabraham/7877645b439b445be04e Jan 19 03:35:59 I have a feeling it might have to do with my theme? Jan 19 03:36:50 honestemu look at the cheese squared app and compare notes Jan 19 03:36:55 pretty simple Jan 19 03:37:33 cheese squared? Jan 19 03:37:55 :D Jan 19 03:38:26 I don't get it Jan 19 03:38:27 https://github.com/chrisbanes/cheesesquare Jan 19 03:39:46 I'll take a look, thanks! Jan 19 03:45:28 What is the difference between extending Activity vs extending AppCompatActivity? Jan 19 03:50:01 yall nerds need to holler at a g Jan 19 03:50:51 CedricBeust do you know what b4b is babbling about Jan 19 03:53:21 g00s: agree. waiting when they decide to add animated gif on splashscreen Jan 19 03:54:23 g00s: hook thing was funny Jan 19 03:55:07 haha , so WhatsApp found out how to make money Jan 19 03:57:34 " companies will now be able to pay to contact users directly" Jan 19 03:58:06 so i think this dovetails nicely with https://np.reddit.com/r/AskReddit/comments/41izqi/what_industry_is_shadier_than_most_people_realise/cz2o90h Jan 19 03:59:31 g00s: sup homegirl? Jan 19 04:03:04 I want to replace my galaxy s5 pretty soon Jan 19 04:03:16 do you have any favorites? Vanilla android would be awesome Jan 19 04:03:28 but the Nexus 5x is not supported by verizon Jan 19 04:05:14 hmm... do I want an iPhone? never had one lol Jan 19 04:05:18 i'd feel like a traitor Jan 19 04:08:30 RustyShackleford it will be up to date for longer :D Jan 19 04:11:01 When I create an About This App button, should I have the info pop up in a dialogue box or have it go to a new Activity? Which is the standard? Jan 19 04:13:59 g00s: sorry I don't understand. Which would be up to date for longer? Jan 19 04:14:17 RustyShackleford the iphone of course, even longer than nexus Jan 19 04:14:45 I'm pretty invested in the google apps. I dunno how much I want to transition Jan 19 04:15:09 all the google apps are on iOS too Jan 19 04:15:19 honestemu: not sure if about info is some kind of standard. imo if it brief dialog is fine Jan 19 04:15:36 g00s: which do you use for your personal phone? Jan 19 04:15:50 i have a lumia 521 (old) Jan 19 04:16:05 love it, still works great for me. its small so i can run with it Jan 19 04:16:20 phones are definitely too large haha Jan 19 04:16:25 windows phone, really? Jan 19 04:16:27 still running from bullies? Jan 19 04:16:53 I wish Windows would get big in the mobile area. Jan 19 04:16:56 Their OS looks great. Jan 19 04:17:22 The keyboard even lets you pick whether you're right-handed or left-handed, whereafter it shows on the correct side. Jan 19 04:17:32 Loads of little niceties. Jan 19 04:17:40 TacticalJoke: like interface or dev-friendly? Jan 19 04:17:46 from what i've heard, the OS is great but there are no apps for Windows phones Jan 19 04:18:10 vigilancer: The UI. But I hear that development is good too. Jan 19 04:18:22 RustyShackleford that is .. correct. i don't really use apps though, so i didn't care. it came with Here offline maps Jan 19 04:18:41 wonder if one can develop for winphone in os x Jan 19 04:18:42 it has that and kindle, all i cared about really Jan 19 04:19:00 vigilancer not that i'm aware of, but you could learn c# on os x Jan 19 04:19:15 .net core moving along nicely Jan 19 04:19:27 apple and oranges Jan 19 04:19:35 and windows in this case) Jan 19 04:19:36 ;) Jan 19 04:20:28 My local phone shop had an MS employee in there training people on Windows phones. Jan 19 04:20:39 She actually knew her stuff, a rarity in phone shops (or anywhere). Jan 19 04:21:27 god I hate the phone shops Jan 19 04:21:33 those salesman are sooo pushy Jan 19 04:21:40 here in the US carriers actively persuaded people from windows phones from the beginning Jan 19 04:21:53 g00s: how so Jan 19 04:21:55 they would rather seem them use their android device loaded with bloatware Jan 19 04:22:02 RustyShackleford: The more they push, the less I buy. :D Jan 19 04:22:11 Actually, it makes me haggle with them. Jan 19 04:22:19 If they want the sale that bad, they can knock $100 off the price. Jan 19 04:22:20 MS was pretty strict about what could be loaded on the phone. also, MS does updates themselves also Jan 19 04:22:36 which is the way it should be, but cuts the carriers out Jan 19 04:22:41 I wish Google was a bit more strict about what was allowed. Bloatware on Android devices sucks. Jan 19 04:22:55 Google would end up banning itself. Jan 19 04:23:01 and if its one thing carriers will do reliably, is whatever is not in your best interest :D Jan 19 04:23:03 Especially if we talked about user privacy. Jan 19 04:23:11 I wish I wasn't so uncomfortable with confrontations Jan 19 04:23:29 RustyShackleford: It takes practice. Also, get angry. Jan 19 04:23:34 Angry people lose inhibitions. Jan 19 04:23:42 I try to politely refuse whatever they offer me, it doesn't work Jan 19 04:23:51 RustyShackleford yes, start by throwing stuff around Jan 19 04:24:03 hah there's a balance Jan 19 04:24:18 just walk around the store and throw the phones all over the place Jan 19 04:24:20 RustyShackleford: A good technique is to play Mr. Hard to Please. Jan 19 04:24:37 Be unimpressed by everything, but be gentle about it. They'll go to great lengths to find your interest. Jan 19 04:24:45 They might even haggle. Jan 19 04:24:57 RustyShackleford and no 2 year contracts ! Jan 19 04:25:49 just keep asking if they have potatos Jan 19 04:26:53 but with buttons and small screen like in good ol' days Jan 19 04:27:01 vigilancer tell them you are looking for the phone with the most bloatware Jan 19 04:27:14 already have android, thank you Jan 19 04:27:56 what cracks me up, is that Google gave carriers in 5.0, the ability to put apps not on the system partition, so they could be uninstalled (if i understand this right) but ... nobody bites ! Jan 19 04:28:08 not like google does the same with their apps :P Jan 19 04:28:41 All I know is Nexus devices for life. Jan 19 04:29:10 i'd rather have a blank slate and install gmail and maps, which is pretty much all i use Jan 19 04:29:21 i think i disabled like 30 things Jan 19 04:29:31 and that crap needs to be recompiled on every OTA, which totally blows ! Jan 19 04:29:38 I use Gmail, maps, hangouts, youtube, and calendars. Jan 19 04:29:59 k9mail maps and Dropbox :) Jan 19 04:30:06 lol k9mail Jan 19 04:30:14 k9mail is almost good but not quite Jan 19 04:30:17 Don't y'all use web browsers... or the phone app? Jan 19 04:30:24 It does encryption Jan 19 04:30:39 capella-s3: That I could be down with Jan 19 04:30:50 and doesnt route through Google Jan 19 04:30:52 i'm thinking about iphone, 5 or maybe even 4. just you know, to use it as phone. since I don't do ios development Jan 19 04:31:06 vigilancer: I would go with the 5s. Jan 19 04:31:19 the stock email app doesn't route through Google Jan 19 04:31:21 jessie: 4 too old? Jan 19 04:31:25 capella-s3: True. BTW, Yubikey Neo is pretty sweet Jan 19 04:31:42 where is the stock email app these days ? Jan 19 04:31:49 vigilancer: Yeah, the 4 is pretty aged at this point. The 5 is borderline, but the 5s will likely be supported a bit longer. Jan 19 04:31:51 I need a yubikey usb token thing Jan 19 04:31:52 g00s: Dead Jan 19 04:32:04 Yubikey NEO does OTP & GPG over NFC Jan 19 04:32:07 g00s: os x have nice mail stock client Jan 19 04:32:09 why would you get an iPhone 4 to use as a phone... Jan 19 04:32:12 So no storing your NFC key on device. Jan 19 04:32:18 pfn: why not Jan 19 04:32:30 jessie: yah UAF/ U2F / FIDO stuff Jan 19 04:32:31 That + OpenKeyChain + Password Store is my ideal password store solution. Jan 19 04:32:32 every android device will become testing machine Jan 19 04:32:49 I've become lazy now, and I mainly use the Android emulator. :s Jan 19 04:32:59 i'm using the braintree dropin UI to collectet CC info, but it doesn't seem to inherit my apps v7 AppCompat (dark material) theme correctly. the only style it inherits is the white text. So it's a white background w/ white text. Is there a way to force the activity to use a theme? Jan 19 04:33:02 TacticalJoke lol, you with many rams Jan 19 04:33:15 TacticalJoke: because you have 12GB now) Jan 19 04:33:18 I can haz all the apps now. Jan 19 04:33:35 It requires 2 factor auth (something you physically have that can't be copied, something you know (pin)), doesn't depend on 3rd parties, and is 100% open source Jan 19 04:33:41 Minus the Yubikey hardware Jan 19 04:33:45 But it's about as good as it gets. Jan 19 04:34:25 wow, that yubikey is cool Jan 19 04:34:49 jessie: I'm ccurently lurking / observing https://bugzil.la/1065729 — NEW, nobody@mozilla.org — Implement the FIDO Alliance u2f javascript API Jan 19 04:35:01 jessie: 2 factor not so perfect. if malware listen while you entering pin, it's enough to wait until you enter N-1 symbols and then bruteforce last one Jan 19 04:35:20 yeah, like if you are wearing a smart watch :D Jan 19 04:35:20 i have the yubikey, it's not that bad Jan 19 04:35:22 vigilancer: Only 3 attempts before it wipes Jan 19 04:35:33 but it's a bit far from a typical cryptoken, no pin, etc.. Jan 19 04:35:41 jessie: 3 from 10. not so bad Jan 19 04:35:57 Yeah, it's better than average. And it's a hell of a lot better than storing the key on device. Jan 19 04:36:04 That allows for an offline attack Jan 19 04:36:26 jessie: depends what are you trying to hide Jan 19 04:36:32 vigilancer, for defeating malware listening to your pin, you use a secure pin reader, but then it costly, not for average consumer but more for payment system Jan 19 04:36:46 they can still wait you log-in anyway.. Jan 19 04:36:50 The ultimate fllback is the trust system of the FIDO members themselves Jan 19 04:37:04 Visa, BackO-Merica, eytc Jan 19 04:37:12 adq: my point. if it porno site password don't sweat it Jan 19 04:37:12 (heh - cant type) Jan 19 04:37:20 lol Jan 19 04:37:33 vigilancer: Not looking to hide much, just looking to prevent easy mass survailence. Jan 19 04:37:55 screw surveillance, I want financial loss protection Jan 19 04:38:01 Ha Jan 19 04:38:02 Ha Jan 19 04:38:03 Ha Jan 19 04:38:09 by the way, U2F token does not work well at all with android devices.. Jan 19 04:38:19 The whole banking industry is so behind the times. Jan 19 04:38:19 it's mainly for chrome on your regular desktop Jan 19 04:38:33 capella: Don't use Mint or any other online budgeting system then. Jan 19 04:38:41 I don't ;) Jan 19 04:38:42 Seeing as you literally share your credentials with third parties. Jan 19 04:38:49 mint sounds like its in trouble Jan 19 04:38:55 capella: fido was pretty nice, really enjoyed it Jan 19 04:39:11 I dream of a day when all banks offer an OAuth authencated standardized API that offers read only access. Jan 19 04:39:12 I've worked in IT /and/ banking for many years :) Jan 19 04:39:13 capella: but privacy.. c'mon) Jan 19 04:39:27 So I encrypt and provide my own security / privacy Jan 19 04:39:45 But money, I need the banks to recover Jan 19 04:39:53 (If I mess up) Jan 19 04:40:28 Yeah. Banks are generally good about loss prevention though. Jan 19 04:40:36 I had my Chase Credit Card stolen. Jan 19 04:40:48 Ironically, while I was in India, but it was stolen at home, not in India. Jan 19 04:41:09 Probably $800 in fraudulent charges, but they refunded me 100% Jan 19 04:41:31 Yah, they've got a lot on the line too, a whole business model Jan 19 04:42:19 I remember the old movies ... Wells Fargo men ... :) Jan 19 04:42:44 ok time to crawl to work Jan 19 04:43:47 obey your master Jan 19 04:45:01 ok.. now I'm at work Jan 19 04:45:08 ) Jan 19 04:45:35 Working from home is best work Jan 19 04:45:40 +1 Jan 19 04:48:04 Until your remote partner mentions he has to put his pants on to answer the door, and you need to scratch out your minds eye Jan 19 04:48:27 i like this ElasticDragDismissLayout from Plaid, but to use it right you need Window#getReturnTransition() ... which is API 21. Jan 19 04:48:39 it will be great when i can say minSdk = 21 :D Jan 19 04:49:24 ^ Android development in a nutshell Jan 19 04:50:13 Right? minSdk = 23 is going to be best, but 21 will be doable. Jan 19 04:50:28 I'm very glad Marshmallow has ask on demand permissions. Jan 19 04:50:32 That was something iOS got right. Jan 19 04:50:52 yeah ... still wish it let you turn off internet access for individual apps Jan 19 04:51:20 but, ads! Jan 19 04:51:29 but, surveillance ! Jan 19 04:51:48 but ads that spy! Jan 19 04:53:26 * vigilancer imaganing spy that ads Jan 19 04:54:27 all that gloves and hat. "cozy national secrets!" Jan 19 04:54:40 But terrorism!!!1!!!!!!!! Jan 19 04:54:55 "but they so cozy!" Jan 19 04:55:02 But, "the children!" Jan 19 04:55:13 kick the baby Jan 19 04:55:15 heh, maybe not a valid corollary Jan 19 04:59:13 capella did you hear that ? Jan 19 05:01:28 when building apks, is it normal for assemble gradle to output both debug and release version? Jan 19 05:01:32 g00s: mmmm? Jan 19 05:02:01 beaglebagel: I wouldn't think so. Usually just the release. Jan 19 05:03:06 hmm.. and should we control whether to sign debug/release version separately? so the output apks are unsigned/signed? Jan 19 05:03:39 Why do you need a debug apk? Jan 19 05:03:48 jessie: i'm confused on when the signing the apk is needed Jan 19 05:04:03 Typically only when you plan to distriubte the apk, beaglebagel Jan 19 05:04:22 beaglebagel: all apk signed. debug in most cases sign with default debug key Jan 19 05:04:28 i may not need it, it's just that my assemble command builds those, and it's the only one installable on other's device Jan 19 05:04:42 ok Jan 19 05:05:30 beaglebagel: $./gradlew assembleDebug - saves you some seconds if you don't need build all versions Jan 19 05:05:37 by distribution, do you mean distributing to both (appstore, private apk sharing)? Jan 19 05:06:07 Yeah, if you plan to do either (appstore or private apk sharing) you should sign with your private key Jan 19 05:07:18 and is sharing debug apk pointless because the other side can't debug the app anyway? Jan 19 05:07:53 Unless they're a developer they likely won't be able to. And you'd probably need the source to debug easily as well. Jan 19 05:08:09 right i see Jan 19 05:08:40 beaglebagel: if apk signed with different key it will not update currently installed Jan 19 05:10:18 vigilancer: am still confused in this, so if all apks are signed, i'm getting this output "release-unsigned.apk" from asesmble command. is the release apk version not signed here because i missed some key setup? Jan 19 05:11:09 Bit of confusion how do I read a file from internal storage ? Not the app related private storage but phones internal storage. Jan 19 05:11:23 beaglebagel: for release you must provide key. for debug not *must*. Jan 19 05:11:30 Still not sure why Android considers both internal storage and sd card external storage. Jan 19 05:11:35 ok Jan 19 05:12:24 so when i tried installing this unsigned.apk, i got the message "cannot be installed", could that be the reason? (that it's not signed) Jan 19 05:17:56 beaglebagel: yes Jan 19 05:18:05 or something else Jan 19 05:18:14 besides that Jan 19 05:20:45 vigilancer: thank you, ok and what is the general practice regarding release key sharing? (within the team) Jan 19 05:22:28 should there be just ONE release key per app? and can it be shared among developers(to allow anyone to build) Jan 19 05:24:46 It depends. You could have one person only have access to the key, but that means that nobody else could build it. Jan 19 05:25:20 Another option is that the release key is only available on the build server (Jenkins, for example) and have that create the releaes APKs. Jan 19 05:25:27 Or you can just share it, which is probably most common. Jan 19 05:28:30 i see, make sense. then if there is an app already released by one developer with a key, can other developers without access to that key still release the same app using different key? Jan 19 05:29:38 or is it just not allowed..? think vigilancer said above the current one will not update properly, wondered if that'd be the case but still be able to release. Jan 19 05:30:54 You have to use the same key, IIRC. Jan 19 05:32:51 ok thanks Jan 19 05:46:58 you’re still my nerds Jan 19 06:06:22 we are not Jan 19 06:06:24 are not Jan 19 06:06:26 are not Jan 19 06:06:53 Sup Jan 19 06:07:06 eh, totp and hotp are suitable 2fa implementations Jan 19 06:07:31 there is no requirement that "something you have" cannot be replicated Jan 19 06:15:28 pfn: Ideally it would be. Jan 19 06:15:38 Otherwise what good is the second factor? Jan 19 06:15:45 If it can easily be copied, it's not much good. Jan 19 06:16:51 pfn: coursera have nice crypto course Jan 19 06:17:31 just fyi. it's good to share) Jan 19 06:18:39 capella that damn FF bug came back on d.android.com Jan 19 06:18:57 when you scroll the mouse wheel in the nav frame, the rest of the page scrolls too .. Jan 19 06:19:18 oh, bah, yah I remember your complaint Jan 19 06:19:30 it was fixed, then they broke it again Jan 19 06:19:38 thought it hadn't been fixed yet Jan 19 06:20:35 g00s: File a regression ... either on the bug that fixed it, or a new one referencing the bug that broke it again? Jan 19 06:20:49 yeah i have to find that bug ... Jan 19 06:21:03 * capella looking too Jan 19 06:23:53 g00s: shoot me your email? I can search by that if you commented Jan 19 06:24:08 i dont think i ever commented capella Jan 19 06:24:09 wait, you should be able to also Jan 19 06:24:18 ah, frack Jan 19 06:26:54 Bug 844346 - 2 finger trackpad scroll up/down gesture does not work on d.android.com pages with frames Jan 19 06:27:22 capella thanks ! Jan 19 06:29:26 capella strange that mouse wheel works Jan 19 06:29:31 g00s: cc: me out of curiosity if you open a bug :) Jan 19 06:30:19 one of those weird things, i need to make a movie of Jan 19 06:39:17 is there any reason to use an ActionProvider with toolbar these days ? Jan 19 07:19:20 my minimum sdk is 14 and using Toolbar. Should i use AppcompactActivity with it ? Jan 19 07:26:14 rathodvikas10: According to https://developer.android.com/reference/android/widget/Toolbar.html, the Toolbar widget was added in API level 21, so you do need to use App Compat. Jan 19 07:26:50 ok thnx Jan 19 07:52:05 thepoosh ! Jan 19 07:52:15 hi hi Jan 19 07:52:19 what's news? Jan 19 07:52:27 thepoosh did you see what WhatsApp just did ? Jan 19 07:52:38 they just turned free right? Jan 19 07:52:56 yeah, lol. they just turned 'you're the product now' Jan 19 07:53:04 lolz Jan 19 07:53:12 I think they had that plan all the time Jan 19 07:53:31 and since they got bought by FB it was much more apparent if you notice these things Jan 19 07:53:32 the app is the product Jan 19 07:54:09 SpaghettiCat: you're missing the point Jan 19 07:54:23 it's like saying a person seeing an advert is a product, rather than the advertised product Jan 19 07:54:24 https://www.adbusters.org/sites/default/files/adbusters_ProductIsYou.jpg Jan 19 07:54:31 if you cannot spot the source of income, you are the product Jan 19 07:55:00 that's not what a "product" is. Check the dictionary :P Jan 19 07:55:20 Ologn :D soylent green supply chain has tracking at every step ;) Jan 19 07:56:55 i retried "instant run" this morning.... have to launch 2 times the app, then it is stuck on the 3rd launch, then i have to relaunch it to be able to launch it a 5th time to have instant-run again Jan 19 07:56:57 -__- Jan 19 07:57:41 adq: well that AS release isn't even in beta, after all Jan 19 07:58:19 SpaghettiCat: the product is the source of income Jan 19 07:58:38 the income source Jan 19 07:58:44 SpaghettiCat, you're really missing all the points Jan 19 07:58:51 like the price for using gmail Jan 19 07:58:53 to facebook Jan 19 07:58:56 *or Jan 19 07:59:05 and the reason everything.me closed down Jan 19 07:59:36 thepoosh: are governments products when they provide subsidies? Or universities when they provide grants? Jan 19 08:00:02 since when governments and universities need to earn money? Jan 19 08:00:03 adq i'm still on 1.5.1 , their "stable" release - still flaky as hell, wish they would just get it straightened out Jan 19 08:00:20 i'm on both, 1.5.1 should be named alpha Jan 19 08:00:27 hmmm Jan 19 08:00:33 i only use the release channel Jan 19 08:00:44 i send dozen of "report to google" everyday, i could fill few tickets per day Jan 19 08:00:46 the "release" channel :D Jan 19 08:00:50 thepoosh: I mean when a govt gives a subsidy to a company, the govt is the source of income. By your logic, the govt is the product Jan 19 08:00:59 * g00s pictures Dr Evil doing the " " Jan 19 08:01:29 SpaghettiBrains ... Jan 19 08:01:42 haha Jan 19 08:01:59 tired, gnight Jan 19 08:06:00 Hello! I've got an application which exposes a service. That service is "protected" by a custom permission: my.app.ACCESS_MAIN_SERVICE. I've added that custom permission to my other application (uses-permission tag in the manifest), but nonetheless the app crashes due to "java.lang.SecurityException: Not allowed to start service Intent { cmp=my.app/.MainService } without permission my.app.ACCESS_MAIN_SERVICE"... Any hint? Thanks :) Jan 19 08:27:20 i have screen which have two parent activity. How should i handle up button ? Jan 19 08:32:54 user profile is split into few screens and at the end a complete profile screen is shown. so when user edits some part of the profile it opens the activity and get back to profile. But at the time of signup it goes back to previous screen which is an another profile edit screen Jan 19 09:17:40 Hello Jan 19 09:21:30 I have problem running hello world app Jan 19 09:21:36 I see black screen Jan 19 09:21:46 Can't see "Hello world" string there Jan 19 09:21:48 Why ? Jan 19 09:21:52 http://imgur.com/dmqnFSG Jan 19 09:22:15 emulator: device fd:668 Jan 19 09:22:15 HAXM is not working and emulator runs in emulation mode Jan 19 09:22:38 What should i do? Jan 19 09:24:44 shibly: Do you think it's loading? It takes me 4-10 mins for the Android emulator to load up for the first time Jan 19 09:25:18 shibly: if the problem is with your code, then we can't help you because you haven't shown us it Jan 19 09:25:19 I think, it's loading Jan 19 09:25:38 It's hello world app of android studio Jan 19 09:28:15 Is it the problem with emulator? Jan 19 09:28:25 Is the emulator starting well? Jan 19 09:29:23 shibly: install genymotion and start all over Jan 19 09:55:54 what is the guideline for font size on edittext Jan 19 10:05:43 rathodvikas10: https://www.google.com/design/spec/components/text-fields.html#text-fields-labels Jan 19 10:10:02 ty buddy Jan 19 10:35:24 hello, I have a project and when import with studio 1.5 and compile, I show this error: failed: Gradle DSL method not found: 'android()' Jan 19 10:35:59 I reinstalled all my laptop, now I am using jdk1.8 Jan 19 10:38:15 this is my file: app/build.gradle: http://pastebin.com/kaqxswKb Jan 19 10:59:04 Hello! I've got an application which exposes a service. That service is "protected" by a custom permission: my.app.ACCESS_MAIN_SERVICE. I've added that custom permission to my other application (uses-permission tag in the manifest), but nonetheless the app crashes due to "java.lang.SecurityException: Not allowed to start service Intent { cmp=my.app/.MainService } without permission my.app.ACCESS_MAIN_SERVICE"... Any hint? Thanks :) Jan 19 11:01:27 jim87, what kind of protection level did you assign to custom permission? Jan 19 11:02:11 Mavrik: where should I assign it? Always in the manifest? The service is enabled and exported... Jan 19 11:03:06 jim87, when you defined it Jan 19 11:03:12 You had to say which protection level it is. Jan 19 11:03:30 didn't define anything special... will look in the docs :) Jan 19 11:09:58 my minimum sdk is 14 and using Toolbar. Should i use v4 Fragment or Fragment Jan 19 11:10:23 Use v4 Fragment. Jan 19 11:10:26 Just for the bug fixes. Jan 19 11:10:40 and getSupport...() calls. Jan 19 11:11:20 ok Jan 19 11:43:42 hi Jan 19 11:51:31 I try to use an nvidia shield in the same dev environment I already used for my nexus 7 but it looks like nvidia android is not android anymore Jan 19 11:54:39 I begin to be unhappy with this device and feel like I need an iPad xP Jan 19 11:54:54 Engys: ok Jan 19 11:55:54 activity.runOnUiThread(task) doesn't call task.run() .. anyone stumbled upon this? Jan 19 11:56:31 Engys, did you miss the channel perhaps? Jan 19 11:56:43 Zalabinsky, not really... is your UI thread blocked_ Jan 19 11:56:44 ? Jan 19 11:57:28 Mavrik yes it does do synchronizing on task. same code is however used extensively through out the codebase and works Jan 19 11:58:25 if thats what you mean by blocked ui (maybe not?) Jan 19 11:59:43 Mavrik, maybe .. sry 4 that Jan 19 11:59:50 is your UI responsive then? Jan 19 12:01:03 Ashiren locks up as soon as it hits task.wait Jan 19 12:01:12 for the record, I think the shield tablet is the most nexus-like device I'd had for a long time - that isn't a nexus Jan 19 12:01:22 umm Jan 19 12:01:41 what does the task wait for Jan 19 12:02:09 bg thread (legacy code) needs a value from ui thread Jan 19 12:02:17 so i block the bg thread until i have the value Jan 19 12:02:50 or maybe post important parts of code Jan 19 12:08:53 Leeds, ok good to know .. maybe its me who try to use mtp or adb on debian and archlinux without success .. permission denied + ABI incompatible Jan 19 12:10:04 Ashiren hmm, kind of pointless, as the same code works in very similar place... this is a weird one Jan 19 12:10:48 just a simple block bg thread and show dialog Jan 19 12:10:49 Engys: adb seems to work just fine on my shield tab with slackware... which of the three shields do you have? Jan 19 12:11:36 Leeds, the tablet k1 Jan 19 12:11:42 yup, same here Jan 19 12:13:30 when you plug it in, do you get a debug notification? Jan 19 12:16:57 after the system is booted .. adb devices show up the device but without permissions Jan 19 12:19:47 ok, but that's not what I asked Jan 19 12:22:20 yes I get a notification Jan 19 12:27:37 and I can activate use mtp for data transfer on the shield but mtp-detect shows nothing Jan 19 12:28:16 meh to mtp Jan 19 12:42:53 Hey, I am looking thru the com/android/server/net/NetworkStatsService.smali after ripping out framework-res. I am looking for throttling as seen on the xda post, but I do not have the ThrottleService.smali that is mentioned, or a line like mentioned... help to anybody? Here is my guide, last portion... http://forum.xda-developers.com/showthread.php?t=2057344 Jan 19 12:54:21 Leeds, ok I got it, apps now running on the nvidia shield, thanks for your comments! Jan 19 13:03:54 hi could somebody explain me why in this enum the params of Stage are int but the construction use String ? : https://bpaste.net/show/4d348163f3f9 Jan 19 13:05:42 troulouliou_div2: these are int references to translated strings Jan 19 13:06:09 troulouliou_div2: check out http://developer.android.com/guide/topics/resources/accessing-resources.html Jan 19 13:07:35 BoD, R.string.lockpassword_confirm_your_password_header is seen as a string no ? Jan 19 13:07:59 depends on what you mean by "is seen as" Jan 19 13:09:27 BoD, ok ; so TextView.setText(R.string.bla) is in fact calling a setText(int resourceid) ? Jan 19 13:10:41 Ok, can somebody explain where the carriers placed throttling control off and replaced it with? I have found some referenced to a rxlimit and txlimit but its bouncing between v0 - v12 or something as the called variable indicating the rmnet settings Jan 19 13:11:03 pduin, BoD R.string.bla.GetClass() will return an Integer ? Jan 19 13:11:43 It's in fact a constant integer generated at compile time Jan 19 13:11:58 Which can be used to refer to a string resource Jan 19 13:12:09 troulouliou_div2: yes Jan 19 13:12:18 pduin, yes indeed ; didn't know that : String string = getString(R.string.hello); thanks !!! Jan 19 13:12:18 troulouliou_div2: and yes Jan 19 13:12:21 almost Jan 19 13:13:28 Should i make a fragment class singleton or Create new instance every time Jan 19 13:24:34 hi Jan 19 13:24:48 can i do a receiver to check if an app is opened? Jan 19 13:54:10 any? Jan 19 14:00:49 Leeds, only to put the solution for my problem into the log, I missed to add the vendor- and product ID for the nvidia shield into /etc/udev/rules.d/51-android.rules Jan 19 14:01:20 ah, that... I've got into the - probably bad - habit of running the adbd as root, so it doesn't care about those permissions Jan 19 14:01:57 can i do a receiver to check if an app is opened? Jan 19 14:09:22 MaxDate on my datepicker works on a virutal device, but on my actual phone it shows the max date as a selectable date, but i can't select it. Getting pretty irritated. http://pastie.org/10694288 (line 28) Jan 19 14:10:32 Leeds, yep I did not feel that comfortable to spawn the adb server with root permissions so I created a group adbusers to give permission to the devices Jan 19 14:10:47 hope I can remember next time Jan 19 14:37:21 Has anyone ever used maxdate with datepickerdialog? Jan 19 14:41:03 jessie, that's not true at all Jan 19 14:42:38 vigilancer, that's good, people should take it Jan 19 14:50:14 rathodvikas10 do not make your fragment a singleton Jan 19 14:50:16 that will break things Jan 19 14:51:12 in fact, with android development, "do not make anything a singleton" is a good rule to live by. in most cases it will break things. Jan 19 14:52:17 hmf. Jan 19 14:52:18 :) Jan 19 14:56:55 @sarbs I do not. That what was my question, what is the best way?. I googled it and found Singleton is not the way to go Jan 19 14:57:51 ty any way :) Jan 19 14:58:50 rathodvikas10 your fragment needs to have a 0-parameter constructor so that the Fragment Manager can recreate it from scratch on demand. that means that if you want to pass it parameters, you need to do so via the setParameters calls. On my fragments I make static "create(...)" methods that i encapsulate all my creation logic into Jan 19 14:59:06 i'll see if i can find an example Jan 19 14:59:17 anything that is android lifecycle managed cannot be made singleton Jan 19 14:59:33 outside of that, anything is fair game Jan 19 15:01:02 @sarbs one more question. Does it make sense to make a singleton to store data in Preference like MyPreference.setObject(object) and MyPreference.getObject() Jan 19 15:01:02 welp, i don't have any open-source examples, heh.. sorry rathodvikas10. it's a pretty common pattern though, you should be able to find some articles about it. Jan 19 15:01:15 no Jan 19 15:02:10 again rathodvikas10, it's almost *never* a good idea to use Singletons with Android Jan 19 15:02:50 until you're experienced enough to know when that rule doesn't hold, just don't use singletons. Jan 19 15:03:57 yes i do agree singleton is not a way to go for fragments or any activity related stuff. But preference or network libs like volley is something which is required in all around. So why it is not a good practice to have a singleton for this kind of case?. Jan 19 15:04:39 the reason is that android tears down and rebuilds your app's components when it chooses. even when your app is "running in the background", it may not actually be running. android will kill the process - thus destroying all your singletons - if it gets low on memory, but still report to your user that the app is open. when the user switches back to your app, android will recreate everything and your app should be able to restore Jan 19 15:04:39 its state exactly as it was. Jan 19 15:05:51 volley is actually one of the exceptions, annoyingly. i created that in my Application.onStart when i used it. Jan 19 15:06:47 SharedPreferences are expected to be loaded and stored each time you use them however. it does some singleton magic under the covers for you, to optimize things a little bit, but it expects you to use them as one-time things Jan 19 15:07:21 Does anyone have experience with using DatePickerDialog? Jan 19 15:07:23 anyone managed to record video at high speed programatically? Jan 19 15:07:41 if i try to set the profile on the MediaRecorder, it just throws an exeption Jan 19 15:07:43 Is there an API or permission for access to the hardware encryption (for network communication, not disk). Google just refers to disk encryption. Jan 19 15:08:18 yes thats what i say. Things like network libs, SharedPreference, SQLLite Provider etc at startup in application onCreate Jan 19 15:09:40 just initilize there and use them in applicaton till it die, it will reinitilize again Jan 19 15:19:40 does anybody know what the proper way to tint the text handles of an edit text is? Jan 19 15:20:11 I could get the resources in code, apply a tint and set them to the edit text, but that sounds like im doing too much work Jan 19 15:23:30 it's colorAccent or primary, I forget Jan 19 15:23:56 yeah its accent. But i want to change it for a single edittext, not for all of them Jan 19 15:28:02 use a ContextThemeWrapper with colorAccent set to the value you want Jan 19 15:29:08 good idea Jan 19 15:30:45 and you don't have to. do. it in code. eithet Jan 19 15:30:55 use android:theme in appcompat Jan 19 15:31:30 android:theme doesn't work without appcompat, don't know. how you'd do it in xml without appcompat Jan 19 15:32:17 After I start another Activity from my test (like in this example https://gist.github.com/vegetablesalad/2f81a3bfda3d68e0dc59 ), can I continue to test that new activity ? Jan 19 15:33:28 pfn, ah >.> I had style= and wondered why it didnt work.. Jan 19 15:33:33 theme works perfectly Jan 19 15:35:40 indeed Jan 19 15:35:55 never tried it Jan 19 15:40:09 I think ill never understand themes and styles completly.. some things are so weird.. Jan 19 15:40:44 If i set this theme http://pastebin.com/nZtkhX7a as style, it doesnt pick up colorPrimary/secondary etc. But textColor, cursor options are applied Jan 19 15:40:57 and vice versa Jan 19 15:41:13 now I need to set it as style AND theme to have all options Jan 19 15:41:45 because theme applies colorPrimary and style applies the other options Jan 19 15:42:26 because style applies attributes directly to the view Jan 19 15:42:45 and colorAccent is not a legitimate attribute for a view Jan 19 15:42:45 I probably should do it that way Jan 19 15:42:56 and better define a style + theme with proper parents.. Jan 19 15:53:14 hithere Jan 19 15:58:05 hello Jan 19 15:58:21 why when moving project to another folder gives me build errors? (android studio) Jan 19 16:09:07 <_genuser_> yo devs Jan 19 16:12:03 <_genuser_> so why is aapl crashing so hard? Jan 19 16:13:10 it's the whole market Jan 19 16:13:45 probably a good time to invest soon Jan 19 16:15:47 Wulp i wasn't aware of any devices that had hardware-accelerated network encryption Jan 19 16:15:58 which one(s)? Jan 19 16:24:32 sarbs - I want to use hardware AES blocks for network traffic. Most SOC's have hardware AES, just wonder if there is an API for it Jan 19 16:25:09 Wulp, there is not Jan 19 16:25:25 you would call it from the NDK directly Jan 19 16:25:46 i would be surprised if there's even a unified HAL api for it Jan 19 16:25:51 http://stackoverflow.com/questions/34881847/how-to-programmatically-record-high-speed-videos-60-120fps-on-android <-- i created a stack overflow question in case someone knows about this Jan 19 16:26:34 pfn, I'd need access to the driver, so I'm guessing I need a particular permission in my manifest to access it? Jan 19 16:27:01 Wulp, if it's a device, then you will not have permission without root Jan 19 16:27:12 since. this is outside of. standard android api Jan 19 16:27:21 unless it's a world accessible device Jan 19 16:28:20 My understanding was that manifest gave 'group' or other access permissions, so if you ask for camera permission, you can directly access the camera device in NDK? Jan 19 16:28:53 the camera is part of android api Jan 19 16:28:58 it's a whole lot more complicated than that Jan 19 16:29:00 hardware crypto is not Jan 19 16:29:06 like, a WHOLE lot more Jan 19 16:30:15 why do you need crypto acceleration anyway, and hardware primitives are basic cpu instructions Jan 19 16:30:23 i would imagine your best bet would be to get in touch with dev outreach teams from manufacturers who you're targeting (htc, samsung, etc) and see if they have any platform-specific apis you can integrate Jan 19 16:30:31 AES is relatively cheap to do in dalvik Jan 19 16:33:45 <_genuser_> pfn: I see. I clicked away from teh window so didn't see your response. Jan 19 16:34:03 <_genuser_> pfn: too bad, at this price point they offer mini options. otherwise, geez, those would be so much fun to trade. Jan 19 16:34:04 use the scroll back Jan 19 16:34:35 <_genuser_> pfn: heh, I saw it now, I just meant sorry didn't respond sooner. Jan 19 16:34:53 <_genuser_> sometimes people hate responding to a comment and not getting an acknowledgement or something. :) Jan 19 16:38:33 _genuser_: have you used genymotion before Jan 19 16:38:53 regular options are cheap enough Jan 19 16:39:22 anyone here tried using genymotion before Jan 19 16:39:52 lots, i'm sure easyOnMe Jan 19 16:40:11 <_genuser_> easyOnMe: nope. no genymotion Jan 19 16:40:18 i can't figure out why ppl don't just use the HAXM acceleration... apparently nobody even knows that exists, from all the "android emulator sucks, use GM" posts Jan 19 16:40:23 <_genuser_> pfn: yeah, I haven't funded my acct yet. only 1k in there. Jan 19 16:40:37 <_genuser_> pfn: my broker requires cash secured put shorting. Jan 19 16:40:44 sarbs: I tried using a samsung galaxy s5 but for some reason it gives me some error like: Jan 19 16:41:09 easyOnMe oh, i haven't used GM either. it's just a popular emulator Jan 19 16:41:35 sarbs: Unable to start the virtual device. VirtualBox cannot start the virtual device. Jan 19 16:41:49 any ideas why this happens Jan 19 16:42:06 <_genuser_> virtual box. that's the problem there. Jan 19 16:42:07 probably a VB error Jan 19 16:42:09 I got the Oracle VM installed as per requirements Jan 19 16:42:33 and GM will not install successfully if Oracle VM was not installed Jan 19 16:42:42 but I did manage to install GM successfully Jan 19 16:42:49 honestly i'd just uninstall all the VB/GM crap and use intel's haxm acceleration and an x86 emulator image Jan 19 16:42:51 so I was wondering what went wrong here Jan 19 16:42:54 and use android's standard emu Jan 19 16:43:13 sarbs: I am using ubuntu linux Jan 19 16:43:25 and my laptop does not use intel Jan 19 16:43:33 even better, linux supports native KVM without needing intel's module Jan 19 16:43:43 amd/intel same thing for these purposes Jan 19 16:44:07 I tried KVM too but my laptop does not support virtualization technology this really sucks but I have no choice Jan 19 16:44:22 I am a student who is just trying to get by for this thesis project Jan 19 16:44:29 <_genuser_> what is it vtx? Jan 19 16:44:29 Genymotion will not work Jan 19 16:44:38 <_genuser_> kvm supports virtualization (hardware based) like sarbs said Jan 19 16:44:49 easyOnMe if your laptop truly doesn't support virtualization then virtualbox will run dog slow too Jan 19 16:44:57 it requires hardware virt Jan 19 16:45:00 but every single remotely modern intel device supports virtualization Jan 19 16:45:06 i would be extremely surprised if yours truly didn't Jan 19 16:45:10 you might just not have it set up Jan 19 16:45:11 https://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture Jan 19 16:45:26 sarbs: crap now Jan 19 16:45:43 seems I need to get hold of another laptop unit Jan 19 16:45:59 this really sucks man Jan 19 16:46:01 well.. easyOnMe what laptop/cpu are you running? Jan 19 16:46:10 because, again, i would be extremely surprised if it didn't support virt at all Jan 19 16:46:10 or get a real phone if its only for the thesis Jan 19 16:46:15 ^^^ Jan 19 16:46:17 <_genuser_> sarbs: some of them ultrabooks have intel CPUs that don't support. Jan 19 16:46:26 <_genuser_> but I don't think he'd be using an ultrabook for dev work. Jan 19 16:46:44 _genuser_ yeah my immediate thought was super low power chips Jan 19 16:46:47 I've never had an ultrabook without vtx Jan 19 16:47:05 you mean netbook Jan 19 16:47:27 ultrabook = premium Jan 19 16:47:37 <_genuser_> I have seen a few iX's on intel site that don't support vtx. and I"ve seen ultras go for the cheapest cpu's to also save power, battery life. Jan 19 16:47:52 <_genuser_> ultra? hmm, what am I thinking of? Jan 19 16:48:12 <_genuser_> the super thin ones, that have like 1.7GHz dual core and 10 hours of battery or mroe. Jan 19 16:48:15 neat, linux is getting MAC randomization soon. would be nice if Android had that too :D Jan 19 16:48:31 sarbs: http://paste.ubuntu.com/14576080/ Jan 19 16:48:49 ugh, driving during traffic hours sucks Jan 19 16:49:03 <_genuser_> whoa core2 duo? that's an old machine!! Jan 19 16:49:09 g00s when i was at cyanogen i did that for a hackathon. don't think it ever made it into mainline tho Jan 19 16:49:11 _genuser_ thats what i have :D Jan 19 16:49:21 <_genuser_> pfn: lol, don't tell me you're driving and irc'ing!! Jan 19 16:49:27 is it possible to use a LevelListDrawable as one of the CompoundDrawables on a Button? Jan 19 16:49:29 <_genuser_> g00s: still? for dev work too? Jan 19 16:49:31 sarbs yeah, Windows 10, iOS, and linux will have it Jan 19 16:49:35 cuz it just always shows up blank Jan 19 16:49:41 and the docs only talk about using it in an ImageView Jan 19 16:49:53 sarbs http://news.softpedia.com/news/networkmanger-1-2-to-offer-tracking-protection-in-wi-fi-networks-on-linux-systems-499097.shtml Jan 19 16:49:59 _genuser_, at lights Jan 19 16:50:31 _genuser_: yeah man Jan 19 16:50:34 _genuser_, it's a whole motivation for using speech recognition Jan 19 16:50:38 I really got no other choice Jan 19 16:50:50 <_genuser_> pfn: I saw a vid of a biker on YT, he slaps a drivers window at red light saying put the phone down. Jan 19 16:50:55 but at least using this laptop managed me to go this far in my degree course Jan 19 16:51:01 down to the final lap man Jan 19 16:51:03 <_genuser_> pfn: well, the guy followed him and actually hit him. causing big injuries. Jan 19 16:51:05 lol Jan 19 16:51:07 easyOnMe damn Jan 19 16:51:15 <_genuser_> pfn: but the point was you shoudl encourage people to use the phoen at teh lights and not while driving. Jan 19 16:51:35 easyOnMe best option might be to just pick up an old galaxy s3 or s4 for $40 off ebay Jan 19 16:51:45 <_genuser_> pfn: but yeah, I use voice recognition onw also when possible when driving. Jan 19 16:51:47 _genuser_, indeed I would think about Doring him Jan 19 16:52:07 <_genuser_> haha "dooring" as a verb! Jan 19 16:52:33 <_genuser_> pfn: he was actually posting it to say look how bad this driver was and how I didn't do anything wrong. Jan 19 16:52:53 easyOnMe here you go: http://www.ebay.com/itm/Nexus-5-D820-16GB-Black-T-Mobile-Smartphone-/272105657654?hash=item3f5ac2d536:g:X1MAAOSwqYBWmIX9 Jan 19 16:53:29 Holy shit, rain + California drivers = suck Jan 19 16:53:38 20 minutes for this one light... Jan 19 16:53:44 sarbs: yeah seems this is the way to go Jan 19 16:53:47 thanks sarbs Jan 19 16:53:55 <_genuser_> pfn: socal? Jan 19 16:54:03 pfn first part of that sentence is redundant to the second Jan 19 16:57:01 <_genuser_> so I saw ASUS ZenPhone2 with a DSLR camera. Jan 19 16:57:03 <_genuser_> only 199. Jan 19 16:57:11 <_genuser_> but I hear it heats up a lot, etc. etc. Jan 19 16:57:33 <_genuser_> and I wouldn't mind an nexus 5x but it's twice as much.! Jan 19 16:58:55 i saw some bugs in AS, 0$ Jan 19 16:59:07 <_genuser_> just some? Jan 19 16:59:21 man, i'm reaching insanity level Jan 19 16:59:40 no, not socal Jan 19 16:59:43 and slr on a phone is pointless Jan 19 16:59:48 i have to clean the project now, each time i move something in the xml, IF _only if_ i have a CollapsingToolbarLayout Jan 19 16:59:57 100% reproductible Jan 19 17:00:11 it seems to messes the IDs Jan 19 17:00:17 anyone familiar with datepickerdialog? Jan 19 17:00:33 ask your question directly TECFALL Jan 19 17:01:03 ^this Jan 19 17:01:20 adq: MaxDate on my datepicker works on a virutal device, but on my actual phone it shows the max date as a selectable date, but i can't select it. Getting pretty irritated. http://pastie.org/10694288 (line 28) Jan 19 17:01:48 TECFALL, did you check if it is because of api version? Jan 19 17:02:33 hum, be sure you set "valid" date info, i had a problem in the past with setting hours above the range Jan 19 17:02:46 other than that, no idea Jan 19 17:04:38 danijoo: how would i check that? Jan 19 17:05:05 but comparing if it appears on some api versions but not on others.. Jan 19 17:05:49 adq: setting hours above the range? Would that be something that would happen if i am using setMaxDate(c.getTimeInMillis()); ? Jan 19 17:06:01 do i need to strip the h:m:s ? Jan 19 17:06:55 danijoo: ah, i see what you're saying. I am just using the most current. But it is weird that it works in the virtual device but not my actual phone. Jan 19 17:07:25 is your phone also on 23? Jan 19 17:07:49 danijoo: no still on KK. I have the note 5 Jan 19 17:07:58 you said most current. Jan 19 17:08:03 KK is not most current Jan 19 17:08:15 sorry, i meant i was developing my app FOR the most current Jan 19 17:08:25 what version is your emulator? Jan 19 17:08:48 Hi folks, did anyone read this book, is it good? https://leanpub.com/kotlin-for-android-developers Jan 19 17:08:52 danijoo: 6.0 Jan 19 17:09:20 danijoo: how do i set up a emulator for a note 5? Jan 19 17:09:21 TECFALL, thats what I meant when I said check if it is a version problem Jan 19 17:09:50 it might be KK handling setMaxDate differently then Marshmallow. Jan 19 17:10:39 hey all Jan 19 17:12:38 Elezium i'd get the one from Manning, but its still in MEAP Jan 19 17:13:23 the Manning one is from the kotlin people Jan 19 17:13:41 https://www.manning.com/books/kotlin-in-action Jan 19 17:14:24 g00s, worth it? Jan 19 17:14:36 Elezium the manning one? Jan 19 17:14:45 yeah Jan 19 17:15:35 i don't know - but since its from the horse's mouth, given choice i'd pick that one Jan 19 17:15:55 make sense. I'll probably get both. thanks. ;) Jan 19 17:15:58 scheduled to be finished in a few months, you can start reading it now and probably will be done by the time you get to the end Jan 19 17:16:34 yup, that's not a big deal, I'm learning on my own time, so a bit limited. Jan 19 17:19:19 <_genuser_> pfn: guess I have driving in socal but I miss the entire beach feel. I only go there for a visit. and it's always so .... relaxed. people are just driving around in tank tops. Jan 19 17:20:42 driving in socal sucks Jan 19 17:20:52 worse than in silicon valley\ Jan 19 17:21:05 <_genuser_> pfn: so where are you? the valley? Jan 19 17:33:54 Small question, I have three fragments Jan 19 17:34:10 a story of three little fraggies :) Jan 19 17:34:18 I get the data for them in their onActivityCreated Jan 19 17:34:34 Is there some way for me to get data only when user has navigated to 'em Jan 19 17:36:31 Looks like all fragments are created/populated on activity's onCreate Jan 19 17:36:38 I hope and pray I am wrong Jan 19 17:37:01 do the data fetching in onAttach? Jan 19 17:37:17 * Looney goes off to d.android.com Jan 19 17:37:29 or, keep it the way it is, and enjoy having a head start on loading the data for the other fragments? Jan 19 17:37:56 onResume/onStart is a good place to fetch the data Jan 19 17:38:02 if that's what you want Jan 19 17:39:23 So, I will be definitely looking into them pfn Jan 19 17:39:26 sounds good Jan 19 17:41:24 over and out, calling it a day :-) Jan 19 18:02:28 does SupportMenuInflater like not exist anymore? Jan 19 18:02:37 I just updated stuff and now it's red in the import list Jan 19 18:03:51 and nothing works with regular MenuInflater cuz I'm using the support libs Jan 19 18:05:04 er Jan 19 18:05:12 I guess it just moved Jan 19 18:05:51 android.support.v7.internal.view.SupportMenuInflater to android.support.v7.view.SupportMenuInflater Jan 19 18:13:00 Hi... any of I enqueue an OKHTTP request and in the reponse call backs it throws an exception, where and how would I catch that since it's running in the background? this is just for OKHTTP not retrofit Jan 19 18:18:00 hi Jan 19 18:18:09 I got this message from the android studio Jan 19 18:18:11 import android.support.design.widget.FloatingActionButton; Jan 19 18:18:11 import android.support.design.widget.Snackbar; Jan 19 18:18:18 it says cannot resolve symbol Jan 19 18:18:32 the FloatingActionButton and Snackbar are colored red Jan 19 18:18:34 what is wrong Jan 19 18:18:38 here Jan 19 18:18:44 did you add the design support library? Jan 19 18:20:26 s73v3r: wait let me check Jan 19 18:21:58 which design support library s73v3r? appcompat or whats the latest 3rd party? Jan 19 18:22:05 also if anyone has any answer for my okhttp question Jan 19 18:22:07 the design support library Jan 19 18:22:29 and Calguy: you catch that exception just like you’d catch any other exception Jan 19 18:23:29 s73v3r catch it where? it runs asynchronusly so who would catch it? Jan 19 18:24:08 doesn’t matter if it runs asynchronously. you’d surround the potential exception lines with try/catch, like anywhere else in the app Jan 19 18:24:13 eg I can't catch it where I call enqueue because when it throws the exception it would no longer be in that method s73v3r Jan 19 18:24:14 catch doesn’t have to run on the main thread Jan 19 18:24:26 s73v3r: thanks that solved my problem Jan 19 18:24:30 one more thing Jan 19 18:24:40 I got this when I reboot my android studio: IBus prior to 1.5.11 may cause input problem. See IDEA-78860 for details. Jan 19 18:24:41 s73v3r it doesn't so which thread would I run it on? it creates it's own thread so I have no idea how to do that Jan 19 18:24:44 Calguy: Then go look at where it’s actually being thrown Jan 19 18:25:07 Calguy: Threads have nothing to do with it. You catch an exception where it’s thrown Jan 19 18:25:20 easyOnMe: No idea Jan 19 18:25:20 s73v3r: that should I do with the message I got as I always encounter it everytime I boot up android studio Jan 19 18:25:27 s73v3r: thanks Jan 19 18:25:52 s73v3r ah well I have tried to do that and all I get is a stackdump that doesn't list any of my code... it has to be caught on the thread where it's thrown right? Jan 19 18:26:05 yes Jan 19 18:26:18 right so how do I do that s73v3r? right now all I'm getting is Jan 19 18:26:24 01-18 16:25:31.772 26955-29346/com.google.android.apps.trainup W/System.err: java.net.SocketTimeoutException: timeout Jan 19 18:26:24 01-18 16:25:31.802 26955-29346/com.google.android.apps.trainup W/System.err: at okio.Okio$3.newTimeoutException(Okio.java:207) Jan 19 18:26:24 01-18 16:25:31.802 26955-29346/com.google.android.apps.trainup W/System.err: at okio.AsyncTimeout.exit(AsyncTimeout.java:250) Jan 19 18:26:27 ...ryv Jan 19 18:26:28 do not copy here Jan 19 18:26:33 ...etc Jan 19 18:26:41 just 3 lines Jan 19 18:26:58 follow the stack trace down, but it looks like a timeout error Jan 19 18:27:01 but anyway it just seems to be running on a background thread and throwing an exception Jan 19 18:27:26 it is a timeout error and that is fine, there will be timeout errors from time to time I am just trying to figure out, where I would catch that? Jan 19 18:27:49 what's important atm is the exception, not what kind it is (timeout, bad url, whatever) Jan 19 18:28:02 you would catch it where it’s thrown Jan 19 18:28:09 but it’s not in your code Jan 19 18:28:27 s73v3r yes and where would it be thrown? right so how do I catch that? it seems silly to raise exceptions that can't be caught Jan 19 18:28:57 it’s being thrown in the library code Jan 19 18:29:16 s73v3r sure so where do I catch it? Jan 19 18:29:46 you’re gonna have to paste your code where you’re calling the library Jan 19 18:30:55 i was hoping JakeWharton would be here it seems like he's not Jan 19 18:31:10 ok i'll paste it s73v3r give me a second Jan 19 18:35:17 s73v3r look at line 37 and pls lmk where I would catch that since it runs on a different threaded created by okhttp itself http://pastebin.com/0gP3G9e6 Jan 19 18:35:36 this is your code, right? Jan 19 18:35:46 yes Jan 19 18:35:48 don’t Jan 19 18:35:53 don’t throw an exception there Jan 19 18:36:00 you should have an error callback passed in Jan 19 18:36:25 the exception throwing part was part of the code that came from the recipes on the OKHTTP site s73v3r Jan 19 18:36:35 so it is partially my code but based on their prototype Jan 19 18:36:55 i still would not throw an exception Jan 19 18:36:59 THEIR example had that throw in it so I presume it can be caught somewhere? how? and I do have an onFailure Jan 19 18:37:37 ok well still THEY expect it to work and its odd they would have that in onResponse because there is an onFailure Jan 19 18:38:05 i am adding some logging code to girure out whre it's getting called but pls lmk whre exceptions would be caught in any event (no pun intended) st7 Jan 19 18:38:08 s73v3r Jan 19 18:38:17 Does the onFailure get passed an exception? Jan 19 18:38:26 yes Jan 19 18:38:31 Hello Jan 19 18:38:34 public void onFailure(Request request, IOException throwable) { Jan 19 18:38:40 it's on that pastebin Jan 19 18:38:42 In the official android page they never have layout elements as fields of an Activity. What they do is always call 'findViewById'. Is that the correct way to go? Jan 19 18:38:54 they both get passed throwables s73v3r Jan 19 18:39:22 unit73e you can make them fields but you stil have to findViewById Jan 19 18:39:26 it's not C# ;) Jan 19 18:39:34 He's asking if onFailure is called if you throw an IOException in onResponse Jan 19 18:39:44 And I believe it is. Jan 19 18:39:53 Then there's your answer Jan 19 18:40:01 Calguy: I'm aware of that but I thought it was a good practive to always call findByViewId Jan 19 18:40:25 I would assume the library has a try/catch around the onResponse. If onResponse throws an error, okhttp calls the onFailure method with that exception. Jan 19 18:40:27 like there would be some kind of racing condition if you had them as fields or something like that Jan 19 18:41:07 If there isn't I don't see a reason to always call findViewById Jan 19 18:41:34 Using fields is perfectly valid so long as you manage the activity lifecycle correctly. Jan 19 18:42:17 jessie: ok thanks Jan 19 18:42:52 I'll just use as fields than :) Jan 19 18:47:10 ok jessie thanks that never made sence why it would throw that exception Jan 19 18:47:19 i'll give it a try Jan 19 18:47:38 never made sense when onFailure would be called Jan 19 18:48:22 Well, onFailure would be called if an exception is thrown in onResponse or as part of the actual HTTP request that okhttp is doing. Jan 19 18:48:33 I.e. a host not found error or something similar. Jan 19 18:48:48 by the way is there a standard library/dialog for catching and retrying network errors? the code base I inherited has their own retry logic dialog but it's a fucking rat sewer that causes insanity along with the rest of their ancient httpurlconnection based crapola Jan 19 18:52:42 Calguy, syncadapter has an automatic periodic retry on failure Jan 19 18:52:53 but thats only for syncing Jan 19 18:53:01 nor for everyday http requests Jan 19 18:56:30 danijoo okhttp has periodic retry to but i still want to ultimately have a dialog if there is a network or server error Jan 19 18:57:01 also in AS if the manifest says minsdk=10 and targetsdk=21 then I still have to make those changes in the build.gradle right? Jan 19 18:57:17 gradle overrides manifest Jan 19 18:57:24 you can delete the manifest lines Jan 19 18:57:26 if u weant Jan 19 19:03:00 right danijoo I recently upgraded to AS 2.0 canary and it's cool but I want the gradle files to be compatible with the old 1.5.1 stuff any idea about that? or anyone else on maintaining compatible projects Jan 19 19:03:57 gradle and AS are different things Jan 19 19:03:57 i really hate that so many android files cause collisions with other developers (mainfiest/strings/styles/etc) Jan 19 19:03:58 you can't be compatible if you want to use 2.0 features Jan 19 19:04:00 it's so suck Jan 19 19:04:21 so many collisions? Jan 19 19:04:26 pfn it seems I could I tested it for AS 2.0 r 4 and it worked Jan 19 19:04:42 AS 2.0 only changes the gradle plugin version Jan 19 19:04:44 pfn yes so many devs have to modify the same shared (global) files like manifest/strings etc Jan 19 19:04:45 nothing more Jan 19 19:05:01 danijoo right so 1.5.1 can download that? Jan 19 19:05:07 strings resources get modified pretty heavily, not manifest Jan 19 19:05:22 Calguy, i didnt tried it but its one line of code if anyone wants to change it on your project Jan 19 19:05:23 pfn they both do -- anytime a dev adds a dialog it's amanifest change Jan 19 19:05:35 a dialog isn't an activity, and doesn't result in a manifest change Jan 19 19:05:45 pfn btw the tech you wree talking about you created that did hot swapping...is that what they are using for AS 2.0 or is it similar or different? Jan 19 19:05:49 i can't seem to get my app (which i never finished) to launch from android studio v1.5 (Nov 15th 2015) to the avd(api 22) i get a connect to target and then immediate disconnect and the avd just say unfortunatly MyApplication has stopped. where can i find more information as to why? Jan 19 19:05:49 ok i mean activity Jan 19 19:06:03 Calguy, it does similar things, but work differently Jan 19 19:06:10 whenever someone adds an activity they change the manifest so if yo uhave 5 devs creating activities it's the suck Jan 19 19:06:23 you generally shouldn't have 5 developers constantly creating activities Jan 19 19:06:24 pfn dayam i thought you sold it for a bazillion Jan 19 19:06:27 activities are pretty set in stone Jan 19 19:06:54 pfn well know but i have a dev that creates activities and it localizing all the labels so it is constnatly modifying the manifest and it is the suq Jan 19 19:07:27 they add activities and add localization strings, i add activities, constant merges Jan 19 19:07:31 * pfn shrugs Jan 19 19:07:32 labels should be outsourced to strings.xml anyways Jan 19 19:07:34 and strings is even worse Jan 19 19:07:37 you can have multiple strings.xml files anyway Jan 19 19:07:50 usually split up values xml by teams Jan 19 19:07:53 so that they don't collide Jan 19 19:07:58 well now the strings are being generated by PO files Jan 19 19:08:07 thats literally what git merges are for.. Jan 19 19:08:17 that's easy then Jan 19 19:08:19 anyone using PO files? Jan 19 19:08:21 if they're only generated Jan 19 19:08:28 generate them in a build step Jan 19 19:08:37 pfn they stil have to update some files manually Jan 19 19:08:58 danijoo no shit but it creates unneccesarry merges because of all these global files like manifest/strings etc Jan 19 19:09:01 it's just poor design Jan 19 19:09:11 this would be the case in any system Jan 19 19:09:13 its not. Jan 19 19:09:16 not the least bit poor design Jan 19 19:09:23 it's not th ecase in any system Jan 19 19:09:29 * pfn has 100 developers working on android app, this hasn't been a concern Jan 19 19:09:42 if you change some strings, you obviously have to merge somethig Jan 19 19:09:43 you dont have to have a manifest to add activivites in C# Jan 19 19:09:45 because you changed something Jan 19 19:09:48 why is that bad design Jan 19 19:10:13 pfn 100 devs? what app has 100 devs on it? most android apps have 1-5, most i've seen is 15-20...what are you working on that has 100 ? Jan 19 19:10:18 in c#.... you compare a language to a framework .. Jan 19 19:10:30 you dont need a manifest in java too :p Jan 19 19:10:31 danijoo: globals are always bad design Jan 19 19:10:32 Calguy: Facebook? Jan 19 19:10:59 is it safe to use Objects.hash(...) to generate a hashCode on android? Jan 19 19:11:11 danijoo: i mean C# as well as WPF asp.net etc same deal Jan 19 19:11:33 so pfn works at FB? that's cool...I still don't get what the ap pversion of FB does that the web version doesn't Jan 19 19:11:52 Calguy: I don't know if he actually works at FB, but that's about the only thing that comes to mind. Jan 19 19:11:54 so you work at fb pfn? ever pair up with Kent Beck? I hear he works there but more on the php side Jan 19 19:11:56 That or maybe google? Jan 19 19:12:02 no, I don't work at fb Jan 19 19:12:07 well I am working on a google project actually Jan 19 19:12:13 you compare apples and oranges. Jan 19 19:12:17 but it only has 1 or 2 developres to it Jan 19 19:12:28 danijoo in what way? Jan 19 19:12:33 uh, in C# you have a shit of a time merging changed form designers and assembly info Jan 19 19:12:58 pfn forms are 7 years ago now its WPF but even so there are no global files to be modified Jan 19 19:14:11 wpf has the same problem Jan 19 19:14:16 worse off Jan 19 19:14:36 whats the problem with merging string xml. its single line changes Jan 19 19:14:42 git has tools for that Jan 19 19:14:54 if you have problems with that in your company, your architecture suck Jan 19 19:16:16 organize changes properly Jan 19 19:16:26 not add shit chaotically Jan 19 19:18:04 That only works if the developers aren't shit, pfn Jan 19 19:18:08 you're missing the point but that's ok Jan 19 19:18:17 whats the point? Jan 19 19:18:29 the point is modifying the same LINES in a file Jan 19 19:18:30 That having a global file for changes in any part of the app is bad Jan 19 19:18:35 that too Jan 19 19:18:45 especially when yhou have to have several devs modify the same LINE Jan 19 19:18:47 jessie, you dont have to do that Jan 19 19:18:56 danijoo: That's what my next point was going to be. Jan 19 19:18:59 if they aren't the same lines merges are painless Jan 19 19:19:02 if someone has all strings in the same xml, its his problem Jan 19 19:19:14 The only thing that is really global would be app build config type stuff. Jan 19 19:19:19 well the maifest is like that danijoo Jan 19 19:19:37 How often are you making changes to the manifest though? Jan 19 19:19:39 Calguy, dont tell me you are touching the manifest 5 times a day.. Jan 19 19:19:39 if someone changes label from "Sexxor screen" to "@string/sexxor_screen" Jan 19 19:19:40 Adding new activities Jan 19 19:19:46 jessie every day Jan 19 19:19:49 Or version changes Jan 19 19:19:50 Calguy, then its bad design Jan 19 19:19:59 yes manifest is a bad design Jan 19 19:20:01 make it a @string/ the first time Jan 19 19:20:06 and then change the string xml Jan 19 19:20:30 hey danijoo that predated me and that wasnt in the budget at the time and it is not at all unusual that strings start as US or whatever country honly Jan 19 19:20:36 its you doing it wrong if it was ¨Sexxor screen¨ at first Jan 19 19:20:37 and after the app gets traction they localize Jan 19 19:20:48 see above danijoo ^^ Jan 19 19:20:54 thats not the problem of android then Jan 19 19:21:03 its the problem of people not thinking far enough Jan 19 19:21:04 danijoo it has other similar problems Jan 19 19:21:28 like? Jan 19 19:21:33 danijoo people can onlyh think so far when they have 3 months of financing and sstart out in US market Jan 19 19:22:01 Putting a string in the strings.xml file vs in the codebase isn't something that requires a lot of foresight. Jan 19 19:22:04 danijoo like lots of global files .. strings, values, manifests, styles, themes Jan 19 19:22:04 how do you simulate bad networking with your device? i tried to use a proxy but if i start blocking the traffic, my phone just bypasses the proxy o_O Jan 19 19:22:06 I dont need more then 3 month to think far enough to use strings.xml Jan 19 19:22:21 That's like... Android 101 stuff. Jan 19 19:22:41 jessie and it's totally unnecessary for a one of language which most apps are Jan 19 19:22:46 all the files you just mentioned are not global besides manifest. strings values, styles and themes can be distributed among multiple files Jan 19 19:22:52 like that super cat app thing that it is japanese only Jan 19 19:22:52 and even Manifests can be merged if you want Jan 19 19:23:05 if you dont use the tools the system gives you, thats not the problem of the system Jan 19 19:23:08 as long as you don't change the same line Jan 19 19:23:21 Calguy: Having them in the strings.xml isn't just useful for localization. Jan 19 19:23:44 danijoo even if they were in strings.xml you could have 5 devs modifying that file at once Jan 19 19:23:54 do you guys write hashCode methods manually or use some utility like Arrays.hashCode Jan 19 19:24:12 anyway need to get back to work but if anyone knows why wifi adb is so damn slow LMK it makes no sense...it's like 5-10x slower than usb Jan 19 19:24:42 Calguy: It doesn’t matter how much financing you have. these are just best practices. They’re not “best practices if you have time” Jan 19 19:24:56 s73v3r tell that to all the shoe string clients Jan 19 19:25:03 no, you tell them that Jan 19 19:25:07 s73v3r you are in a company of 50+ IIRC Jan 19 19:25:17 or better yet, don’t give them a choice Jan 19 19:25:21 sure I'll go tell them they should have done it a year ago Jan 19 19:25:29 i have plenty to tell them about the architecture Jan 19 19:25:40 how it's a tear down Jan 19 19:25:44 better tell them then tell us ^^ Jan 19 19:26:00 it doesn't change the fact that android has a shitload of bad design baked in Jan 19 19:26:19 i won’t argue there, but that doesn’t mean you have to add to it Jan 19 19:26:24 like...f.f.fffff...ffffffragments Jan 19 19:26:25 There's some bad design, but the values, layouts, etc. isn't where it's at. Jan 19 19:26:39 Fragments suck, vendor updates suck Jan 19 19:26:39 string.xml is definitly not one of those bad designs Jan 19 19:26:45 it mayh be minor compared to some larger issues Jan 19 19:27:02 bbiab Jan 19 19:27:05 string.xml is awesome and makes it super easy to localize Jan 19 19:27:24 <_genuser_> strings.xml ++ Jan 19 19:28:18 the only thing I’d like is a little more guidance on how you should store strings and colors. Should every separate instance of a piece of text be it’s own entry, or should you have one that you reference all over? Jan 19 19:29:12 I'd say that depends. If it's something pretty common like "Save" I'd just have one entry. Jan 19 19:29:15 I guess whatever minimizes your work Jan 19 19:30:06 <_genuser_> yeah, if you want Save everywhere in your app to be changed intantly to "blah blah" one entry makes more sense. Jan 19 19:30:33 if I need a string more then once i usually make one string entry for that and reference that from others Jan 19 19:30:47 ie: Save Jan 19 19:30:48 i like that approach Jan 19 19:31:06 <_genuser_> but you have the word global in the name. Jan 19 19:31:10 <_genuser_> and that's as good as a global var. Jan 19 19:31:17 and then @string/global_save Jan 19 19:31:19 <_genuser_> the pundits will shame you endlessly on their blogs... Jan 19 19:31:23 that way i can change all or only one Jan 19 19:31:59 + I can easily localize if the string is not the same for other languages Jan 19 19:32:13 does anyone use anything like apache commons on android or is that considered too heavy for mobile? Jan 19 19:32:34 You could use it but most will probably suggest that you don't. Jan 19 19:32:44 What are you wanting to use from Apache Commons? Jan 19 19:33:03 just curious... some small bits here and there that I could effectively rewrite myself Jan 19 19:33:27 I think there's a hashcode builder in there? or is it equals builder? or both? i don't remember Jan 19 19:33:30 and some string methods Jan 19 19:33:56 I don't need a whole lot but some select bits would be nice Jan 19 19:54:27 http://www.gizmag.com/odg-smartglasses-r7-review-hands-on/41395/ Jan 19 19:56:29 how good/bad is a user acquisition percentage (play store, organic) of ~9%? Jan 19 19:58:05 I'm not too sure dofidum but I think it also might depend on what you consider acquisitiion ? Jan 19 19:58:20 i have 25% Jan 19 19:58:29 grekkos, percentage of installs? Jan 19 19:58:35 but I think it really depends on what kind of app Jan 19 19:59:08 danijoo, it's a game... so nobody will be looking for it specifically Jan 19 19:59:27 danijoo, 25% is pretty good! what sort of app is that? Jan 19 20:00:30 I guess because its something people really want if they search for it Jan 19 20:02:34 anyone have any idea, how gmail keeps one action bar icon over the master section with the others over the detail section, when in landscape ? Jan 19 20:02:42 danijoo, thanks for the info :) Jan 19 20:04:33 g00s, on tablets? Jan 19 20:04:41 yeah Jan 19 20:12:10 g00s: are you saying there’s two action bars? Jan 19 20:12:46 s73v3r is there are 2 action bars , the could be aligned [ actionbar 1][actionbar 2] Jan 19 20:13:08 but yeah in master detail, each fragments actions are still over its fragment Jan 19 20:13:12 do you have a screenshot for that? Jan 19 20:13:15 i think there’s just one action bar Jan 19 20:13:18 my tablet is off charge Jan 19 20:13:22 so you don't see the list's actions all jammed up in the right Jan 19 20:13:29 with the details as one blob Jan 19 20:16:54 maybe its a separate toolbar in each fragment? Jan 19 20:17:51 maybe Jan 19 20:17:54 i remember there being a post, not sure if it was from Google or not, about the layout of the gmail app Jan 19 20:18:04 it highlighted the different fragments used Jan 19 20:18:17 unfortunately my google-fu is failing me right now Jan 19 20:18:30 s73v3r ok cool, no problem. if you ever find it, please do pass it along Jan 19 20:20:50 oh boy. north east usa 'blizzard for the ages' Jan 19 20:27:56 s73v3r there is this article, but more about slidingPaneLayout http://blog.sqisland.com/2015/01/partial-slidingpanelayout.html Jan 19 20:28:42 i don’t think that’s it. the one i’m thinking of has a picture of the tablet interface, and then the different fragments highlighted with colored boxes Jan 19 20:28:58 oh, sounds interesting Jan 19 20:41:56 with a debug rom, you can use hierarchy viewer to see wtf it's doing Jan 19 20:42:18 you can get an idea by showing view. bounds in dev options Jan 19 20:43:22 you could probably repackage any existing apk and flip debug on Jan 19 20:44:01 seems like this isnt even neccessary on the emulator Jan 19 20:44:31 today i wanted to see how something is done in an other app and i just moved the apk from my phone to the emulator without making it a debuggable apk Jan 19 20:44:39 and hierarchy viewer worked Jan 19 20:44:40 emulator is a debug rom Jan 19 20:44:52 yes Jan 19 20:45:03 you can't just drop gmail on the emulator, though Jan 19 20:45:17 Maybe you can with a gapps image Jan 19 20:45:21 * pfn shrugs Jan 19 20:45:30 you can drop gapps on it i think Jan 19 20:50:09 dex limit reached with proguard. time to finally move to multidex for production.. meh. Jan 19 20:57:49 how hard do you have to try to hit the dex limit with proguard on... Jan 19 21:01:26 it's taken some really big apps for me to cross. that line... Jan 19 21:06:44 lol, just happened to be gmail AB color is same as boundary Jan 19 21:07:03 but yeah, looks like 1 actionbar Jan 19 21:07:09 hello! I've created an apk containing just a service, which, in theory, is being executed by an external app. I've built the apk and installed it, then I've run the app which should call the service... Problem is that it seems to do nothing! (though there's no error during the startService command)........ am I missing anything? Jan 19 21:07:34 (I even tried to log the action's name in the service's onStartCommand method) Jan 19 21:07:57 jim87 is the service public ? Jan 19 21:08:21 g00s: it's enabled and exported Jan 19 21:08:33 hm Jan 19 21:08:36 it has even got a custom permission for it Jan 19 21:09:00 why do i only have an intermidiate v23 folder and not an explicit one? hwere does it generaeate it from? Jan 19 21:12:32 jim87, if you dont show code, we can only guess Jan 19 21:13:06 Calguy, i think android studio makes debug buildss only for the selected target device and skips the others Jan 19 21:13:48 ie if you choose a 23 device for debugging, it will skip unneccessary resource folders and only create v23 versions Jan 19 21:14:13 danijoo: http://pastebin.com/zrSNN6Y5 Jan 19 21:14:59 (even tried onStart to catch all the calls) Jan 19 21:16:24 look at logcat during the start service call Jan 19 21:16:44 also, apps that declare permissions must be installed before apps that use them Jan 19 21:16:52 or the permission will never be granted Jan 19 21:17:19 yep of course Jan 19 21:17:21 hm... i never used setClassName Jan 19 21:17:27 problem the start service call reports no log Jan 19 21:17:39 shouldnt it be simple new Intent(¨com.ags_it.posthellocityupdater.MainService¨) Jan 19 21:17:46 jim87, read all of logcat, not any process log Jan 19 21:17:54 danijoo, that's action Jan 19 21:18:06 btw using adb shell, running: am startservice com.ags_it.posthellocityupdater\.MainService Jan 19 21:18:15 it returns Error: not found (?!?) Jan 19 21:18:30 jim87, of course it's not found Jan 19 21:18:40 you must specify both package and class name Jan 19 21:18:49 you only specified class name Jan 19 21:19:05 so it's com.ags_it.posthellocityupdater\com.ags_it.posthellocityupdater.MainService ? Jan 19 21:19:31 since when is \ the same as Jan 19 21:19:34 / Jan 19 21:19:42 right Jan 19 21:23:56 I guess that means problem solved Jan 19 21:24:56 uhm... it starts the activity from am, but not from startActivity Jan 19 21:30:19 huh Jan 19 21:30:38 setClassName does not set package Jan 19 21:31:35 String packageName, String className <--? Jan 19 21:38:23 that's a pretty good hint when such a thing exists Jan 19 21:40:25 I've tried with and without namespace Jan 19 21:40:41 i.e. packageName (ok) and with simply MainService or with full namespace Jan 19 21:41:16 Hey guys. Is there a way I can create a web service or socket where I can limit access only to my android apps? Jan 19 21:41:37 jetole, you cant make it imposssible for others to access it Jan 19 21:41:43 you can make it hard though Jan 19 21:41:50 I'm open to ideas Jan 19 21:42:07 jetole, client side ssl certificates is an optio Jan 19 21:42:11 FYI I am not a dev but a backend devops guy who will be looking more into the service side than the app dev Jan 19 21:42:34 API keys are another possibility, but really only useful if you have more than one app Jan 19 21:42:40 danijoo, and I distribute the client cert with the app? Jan 19 21:42:45 jetole, yeah Jan 19 21:42:51 then api keys yes Jan 19 21:42:56 the client cert can always be extracted from the app Jan 19 21:42:58 s73v3r, can you elaborate? Jan 19 21:42:58 also encrypt your traffic Jan 19 21:43:00 as. can api keys Jan 19 21:43:10 everything can always be extracted Jan 19 21:43:18 danijoo, Well that would fall under SSL. Right? Jan 19 21:43:20 theres no security Jan 19 21:43:21 @ encrypt Jan 19 21:43:46 Can you guys elaborate on API keys? What are they and how do they work? Jan 19 21:43:49 also not communicating in formats like json makes it harder for others Jan 19 21:43:49 api keys just make it easier to revoke access should one of them be compromised Jan 19 21:43:49 you can try to make it hard Jan 19 21:43:53 ie using messagepack Jan 19 21:43:54 that's all you can do Jan 19 21:44:16 yeah I was leaning towards json but I'll take that under advisement Jan 19 21:44:36 you should ask yourself if its worth it? Jan 19 21:44:46 why would others want to communicate with your server? Jan 19 21:45:01 an API key is just a token that you give the client app, who will send it back with each request in a header. the server will validate the key, and if valid, then do the request Jan 19 21:45:03 To use the data we provide Jan 19 21:45:08 if invalid, it sends back an error Jan 19 21:45:15 and why would anyone want to use the data you provide? Jan 19 21:45:19 OK @ API key Jan 19 21:45:27 jetole, why is it a problem if someone does that? Jan 19 21:45:37 like I said, they’re really only worth it if you have multiple apps Jan 19 21:45:38 if someone does it in large scale, you will notice it by traffic Jan 19 21:45:48 if its in low scale like single users, who care Jan 19 21:45:51 cares* Jan 19 21:45:53 We pay for servers, resources, etc. The data isn't considered sensitive but we don't want leachers Jan 19 21:46:12 I don't care about single users Jan 19 21:46:18 I don't expect them to care either Jan 19 21:46:18 if someone leaches large scale, you should notice it serverside Jan 19 21:46:22 by your traffic Jan 19 21:46:34 and then you can take actions server side by banning ips and stuff like that Jan 19 21:46:39 It depends. Someone constantly polling would hardly be a spike Jan 19 21:47:02 We currently have a very large user base Jan 19 21:47:04 and it would hardly be a drain either Jan 19 21:47:26 jetole, if someone polls constantly you see that the same ip appears over and over again while other users only check in sporadically Jan 19 21:47:28 hmmm Jan 19 21:47:31 I suppose Jan 19 21:48:04 I dont see dont do anything, but also dont do too much :) Jan 19 21:48:15 s/see/say Jan 19 21:48:23 Yeah. I understand Jan 19 21:48:42 SSL is pretty basic to do, and will ward off most casual attackers Jan 19 21:48:53 yep Jan 19 21:48:56 yeah Jan 19 21:49:25 this concern isn't android specific... Jan 19 21:49:52 you would run into this problem securing your service against all types of clients Jan 19 21:50:35 Well android and ios are my only concerns at the moment Jan 19 21:50:43 but I get the point Jan 19 21:50:58 desktop, Web, etc Jan 19 21:51:14 Not really Jan 19 21:51:31 oh you mean the clients I want to prevent access to Jan 19 21:51:40 yes ios and android are the only acceptable clients Jan 19 21:52:10 So I guess user-agent can be evaluated, API keys Jan 19 21:52:32 Any other simple suggestions? Jan 19 21:52:55 don’t do user-agent. it’s too easily spoofed Jan 19 21:53:20 id allow all user-agents but check if some other agents appear from time to time Jan 19 21:53:32 so you can see if someone tries to use your service Jan 19 21:53:41 I know but when would it be inaccurate from the client or, let me rephrase, what do I have to lose by evaluating the user agent when android and ios are my only expected clients Jan 19 21:53:46 you might be better off finding a webdev channel, as this is kind of a web issue. Jan 19 21:53:51 if you see another useragent polls you, this is a good indicator Jan 19 21:54:10 Well I just don't know what my options are related to Android and iOS Jan 19 21:54:21 exactly the same Jan 19 21:54:26 there isn’t a difference Jan 19 21:54:29 Yeah? Jan 19 21:54:40 No unique client identifer tokens or anything like that? Jan 19 21:54:48 pretty much. Implementation might be slightly different, but the concepts are exactly the same Jan 19 21:54:54 device ID or nothing like that? Jan 19 21:55:04 none that you can reliably get Jan 19 21:55:11 or should be trying to get Jan 19 21:55:15 Right Jan 19 21:55:17 OK Jan 19 21:55:28 everything you can get can be spoofed Jan 19 21:55:41 Does Google offer a "secure" means of sending data to android clients? Jan 19 21:55:47 if i know some device id works, i can always spoof that Jan 19 21:55:48 through any their services I mean Jan 19 21:55:53 No. Jan 19 21:55:54 gcm Jan 19 21:55:56 regarding user-agent, there are several plugins for both Chrome and Firefox that allow me to set the user-agent to whatever I wish Jan 19 21:56:00 is relatively secure Jan 19 21:56:22 s73v3r, I know @ user-agent being spoofed. I don't need a plugin with wget or curl Jan 19 21:56:45 pfn, so I could push a api key via gcm if I wanted to? Jan 19 21:56:50 no, I’m saying I can spoof my user-agent to be whatever it is you’re looking for Jan 19 21:57:08 jetole, possibly Jan 19 21:57:09 s73v3r, and I am saying I can do that in curl or wget without needing a plugin for either Jan 19 21:57:23 exactly, so ignore user-agent Jan 19 21:57:41 s73v3r, curl and wget are included in pretty much any Linux or BSD and probably on OSX too Jan 19 21:57:56 i know. so don’t bother checking the user-agent Jan 19 21:58:05 do ssl client auth for added pain Jan 19 21:58:08 Uhm... when I launch the service from an app, logcat says "Unable to start service Intent { cmp=com.ags_it.posthelloupdater/.MainService } U=0: not found"... but if I do the am startservice it says "Starting service: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.ags_it.posthellocityupdater/.MainService }"... am I missing anything? I tried uninstalling and installing the caller apk again... Jan 19 21:58:24 I mean they can yank your cert from your apk but they will have as hard of time using it as you will Jan 19 21:58:25 s73v3r, yeah but I am thinking it can be a simple blockade. Some people can easily subvert it but some people won't Jan 19 21:58:37 it’s not worth it Jan 19 21:58:39 jim87, set the package properly. Jan 19 21:58:40 :P Jan 19 21:58:42 OK Jan 19 21:58:59 jim87, your two calls have different package names ;) Jan 19 21:59:03 missingno, got it Jan 19 21:59:07 missingno, that is untrue Jan 19 21:59:08 AH DAMN! Jan 19 21:59:10 yup client side certs will drive a lot of people off i guess Jan 19 21:59:12 thanks Mavrik Jan 19 21:59:14 client cert is easy to use Jan 19 21:59:17 loosing myself in a glass of water Jan 19 21:59:23 and I am familiar with client certs in the normal web app dev so I understand Jan 19 22:00:39 client cert can be self signed with a local CA. Right? I don't need to purchase trusted CA auth'd cert for that. Do I? Jan 19 22:01:08 I know I used easy-rsa and client certs for openvpn Jan 19 22:01:24 and I think I used a self signed one on a intranet app I wrote once Jan 19 22:01:36 yeah. theres no point in a CA there Jan 19 22:01:44 you just tell the server to only accept this cert Jan 19 22:01:53 OK Jan 19 22:02:05 Something to consider at client cert and I like that Jan 19 22:02:50 hey guys, im changing my project from eclipse to studio and encountered an error and needed some help Jan 19 22:03:04 Library reference ../google-play-services_lib could not be found Jan 19 22:03:10 start drinking heavliy. that’s my advice Jan 19 22:03:11 so with GCM, it's pretty unlikely that someone would be pulling messages from their desktop through some hack'd client or anything. Right? Jan 19 22:03:26 depends on how paranoid you want to be Jan 19 22:03:39 its always possible Jan 19 22:03:42 part of GCM is that the device has to send a message to the server with the GCM key Jan 19 22:03:44 but gcm is super hard, yeah Jan 19 22:03:51 OK Jan 19 22:03:52 and how do you know that it came from the device running your app? Jan 19 22:03:58 since the id could change Jan 19 22:04:16 GCM is a reasonable effort for key exchange Jan 19 22:04:18 I know nothing is secure and nothing ever will be completely secure so I am not grasping at straws or anything here. Just evaluating and weighing my options Jan 19 22:04:42 s73v3r, I don't know anything about gcm Jan 19 22:04:45 has anyone explored using GCM for key exchange? Jan 19 22:05:18 for this situation it's a pretty good fit Jan 19 22:05:40 pfn, do you know the approx cost? Jan 19 22:05:43 of gcm? Jan 19 22:05:43 jetole: when the app starts up, it’s going to ask Google for it’s GCM token. This may or may not be the same as the last time the app was run. It will get it, and pass it to the server, which will use that token to send to Google when it wants to send a message Jan 19 22:05:49 free.99 Jan 19 22:05:54 jetole, it's free Jan 19 22:06:04 reliable? Jan 19 22:06:20 fairly reliable, however there is no guarantee of delivery Jan 19 22:07:10 in theory someone could still build a fake desktop client but it will randomly fail Jan 19 22:07:16 The client, running our app could understand that it has not received they key it requires and re-poll or something like that if it hasn't received the event??? Jan 19 22:07:19 and the attacker will have to get a new token somehow Jan 19 22:07:32 which causes lots of attacker-heartache :) Jan 19 22:07:53 I like how on #slack I can edit what I just said. I always type something than see a typo or a missing punct Jan 19 22:07:55 danijoo: Wouldn’t the fake desktop client be asking for a token and passing that to the server? Jan 19 22:08:14 s73v3r, no idea if this is possible Jan 19 22:08:17 or hoiw Jan 19 22:08:34 because they methods are part of google play services and I have no idea what magic they use Jan 19 22:08:36 this method is not foolproof Jan 19 22:08:37 well, assuming the client apk is compromised, they should be able to get the GCM keys Jan 19 22:08:48 just call GCM methods to ask for a new token Jan 19 22:08:57 So you said there is no guarantee it would be delivered with GCM so if my app requires a key which it would poll from gcm and it hasn't received it than my app can re-poll or re-query gcm or something like that and get the key. Right? Jan 19 22:09:14 but it's easy to use an emulator to retrieve keys Jan 19 22:09:23 you’d have to re-request the server to send it Jan 19 22:09:32 don't need a desktop client Jan 19 22:09:46 jetole, yes Jan 19 22:09:51 OK Jan 19 22:09:52 but if GCM were down, then you’d not be able to get the key. although I don’t believe that’s ever happened Jan 19 22:10:11 if gcm is down, a lot of big companies will have a huge proble Jan 19 22:10:17 including whatsapp Jan 19 22:10:18 frankly, there are probably... yeah Jan 19 22:10:20 I see Jan 19 22:10:55 so gcm sounds like a good idea for secure key exchange Jan 19 22:10:56 if you guys do end up going down this road, maybe your company should write something up detailing what you did. I don’t think I’ve heard much about people exchanging keys over GCM/Apple Push Jan 19 22:11:44 oh and yeah I have studied cryptography a lot in the past, read a few books on it. I know this all boils down to the age old issue of how can you trust an unknown client Jan 19 22:12:56 Google is communicating with someone else's devices. I am communicating with someone else's devices. There's no way for anyone to have 100% assurance that the device they are communicating with is the device they expect to be communicating with or that it's operating in the manner that it's expected to be operating in since they exist outside of a controlled environment Jan 19 22:13:01 but this is all good food for thought Jan 19 22:14:45 outside of api keys, gcm exchange and client ssl certs, are there any other ideas? Jan 19 22:15:57 I wouldn't call it secure key exchange, but it's relatively safe Jan 19 22:18:24 pfn: Yeah I get it. Like I said we're dealing with uncontrolled devices outside of controlled environments so no matter what lengths I go to I will never be able to guarantee that the devices and apps in question are the ones I want hence why I am looking for relatively simply methods to evade the 99th percentile Jan 19 22:18:36 jetole, you know, I hope you're paying out a part of your salary for the last couple hours to the people here :P Jan 19 22:19:05 I'm off the clock Jan 19 22:19:08 ;-) Jan 19 22:19:19 and I haven't been here an hour Jan 19 22:19:19 then what the hell are you doing here? Jan 19 22:19:38 don’t do work for your employer off the clock. it demeans us all Jan 19 22:19:48 pretty much Jan 19 22:19:53 since you value working for free Jan 19 22:19:54 I have vested interest in the project and am brainstorming ideas to tighten security Jan 19 22:19:54 we do not Jan 19 22:20:15 So everyone here is at the office now except me? Jan 19 22:20:17 s73v3r: it's okay, I balance it out - barely done any work for months, been paid full-time to not do it Jan 19 22:20:23 so, I hope you plan on sharing some equity with those here Jan 19 22:20:36 I remember when I was younger and tech was considered more fun instead of just an action item Jan 19 22:20:45 I do tons of shit for fun Jan 19 22:20:52 I have a few dozen OSS repos I regularly contribute to Jan 19 22:20:54 pfn, I'll buy you a beer Jan 19 22:20:55 but I don't work for free Jan 19 22:21:03 I’m not saying don’t do tech stuff off the clock Jan 19 22:21:09 lol Jan 19 22:21:15 I’m saying don’t do tech stuff for your employer off the clock Jan 19 22:21:57 they'll just get some H1-Bs that will Jan 19 22:22:10 this is what happens when programmers don't form unions ;) Jan 19 22:22:29 I'm just brainstorming. I didn't think I was inconveniencing anyone but with the amount of hours I've put into helping people on IRC over the past 10+ years I figured that entitles me to like... carry the one, subtract the differential, like almost an hour of expecting people to do the same for me X) Jan 19 22:22:38 hmm, H1-B vs. Hi-C Jan 19 22:22:56 Unions are terrible in any industry and so are H1-B's Jan 19 22:23:02 no they’re not Jan 19 22:23:24 compared to the damage done by big business, unions are benign Jan 19 22:23:30 play store screenshots with or without a device frame? seems like the trend goes to embed them in frames + background.. Jan 19 22:24:05 I'm in ontario and heard in the news recently about a jail guards union wanting to strike at a prison and then I heard about all other staff who are part of different unions being required to report to work at the jail that weekend even if the guards are striking Jan 19 22:24:10 with a device frame is such a terrible iOS thing Jan 19 22:24:36 I think of lazy employees when I think of unions but I have never worked for any union or company that used unions Jan 19 22:25:03 unions cover blue collar labor Jan 19 22:25:23 Maybe. I was thinking white collar Jan 19 22:25:31 it would be nice to be able to upload a version with frame for when the store entry is shown on desktop browsers Jan 19 22:25:34 there are no white collar unions Jan 19 22:25:39 or if play store would add frames there automatically Jan 19 22:25:49 I've known some people in white collar jobs in unions and just the discussions I've heard about it has always bothered me Jan 19 22:25:52 pfn: sure there are - what do you think the law society, BMA, etc. are? Jan 19 22:25:53 find me anything that a union has done that is anywhere near as bad as the motgage crisis. then you can talk Jan 19 22:25:56 but still, the AMA isn't a union precisely, but limits the supply of doctors and sets their rates - so its kinda of collective margainaing Jan 19 22:26:07 lol, bargaining Jan 19 22:26:37 one could say that the Director’s Guild, Writer’s Guild, and Screen Actor’s Guild are white-collar unions Jan 19 22:27:10 quite possibly Jan 19 22:27:38 and if there were an engineer’s union, i’d see them as the model of what to do, rather than say the UAW Jan 19 22:27:52 Like teachers unions. Sure I loved having the days off school when they striked when I was a kid but, especially in the states (I'm a dual citizen and have lived equal amount in Canada and the US), I mean if a teacher doesn't like their job then they should f*** off and quit and if they are slacking around school board can't fire them because of their union and they all get to collaborate on taking days off to strike where they get partial pay an Jan 19 22:27:52 d I mean it just seems to complicate the whole idea of hiring the best person to do a good job and paying them a salary of what they're worth Jan 19 22:28:20 no. saying that someone should quit if they’re being mistreated is a non-answer Jan 19 22:28:36 Don't forget the Film Actors Guild Jan 19 22:28:45 X) Jan 19 22:28:50 the problem with unions is that they tend to protect the lowest common denominator Jan 19 22:29:01 * jetole nods in agreement Jan 19 22:29:23 * pfn says this having immediate family who work in union jobs Jan 19 22:29:40 they’re usually the ones who need protection the most, though. Jan 19 22:29:45 but, might as well take advantage of it while you can Jan 19 22:29:50 * pfn looks forward to having a pension Jan 19 22:29:57 someone who has no bargaining power, that would be run roughshod over by the business Jan 19 22:30:10 speaking of the screen actors guild, I read a couple weeks ago that in order to apply you need to have had a feature role in a screen actors guild movie but those movies typically only hire SAG members so it's like pretty hard to get in Jan 19 22:30:35 jetole, unions tend to be the same way in general Jan 19 22:30:45 I don't like unions Jan 19 22:30:50 it's a pain in the ass getting a job at a union shop Jan 19 22:30:51 I don't like white collar unions Jan 19 22:31:24 If I run a company that I want to hire the person with the best qualifications and fire the people who jerking me around Jan 19 22:31:47 I want them to want to work for me because I offer great pay and benefits and all that Jan 19 22:32:05 and that's how it is now for where I work and with every job I have ever had Jan 19 22:32:20 jetole: you just went out of business, because your competitor is hiring undocumented migrants for half your rate Jan 19 22:32:36 jetole: nothing about that has anything to do with unions Jan 19 22:32:39 absolutely none Jan 19 22:32:51 If someone tells me they want to strike than I would fire them and that's exactly what I would expect every employer I have or have had to do if I strike Jan 19 22:33:05 so you believe that your workers are serfs who are owned by you Jan 19 22:33:16 you believe that they should have no ability to protest mistreatment on the job Jan 19 22:33:51 the View of Fragment A contains Fragment B. How can I get a reference to Fragment B in a method of Fragment A? I am trying A.Fragment.Manager.FindFragmentById during OnCreateView, but this returns null Jan 19 22:34:04 s73v3r, First off, it was hypothetical. I don't own a company. Secondly I choose to work where I feel I am appreciated and I feel that I enjoy doing what I am hired to do Jan 19 22:34:08 there is legislation that protects against mistreatment Jan 19 22:34:10 erisco: you’re talking about child fragments Jan 19 22:34:11 you don't need unions for that Jan 19 22:34:27 jetole: good for you. not everyone has that choice Jan 19 22:34:37 erisco don't forget, child fragments must be added /dynamically/ Jan 19 22:34:38 for a while, I wanted to find a longshoreman job... fuckers get paid more than engineers for menial labor Jan 19 22:34:45 s73v3r, No I don't think they should have the right to do that. I think they should quit and if I run a company that everyone wants to quit from than what do you think will happen to my company? Jan 19 22:34:47 pfn: There’s legislation for minimum wage, too, yet many places are getting around that Jan 19 22:35:09 jetole: you’ll bitch and moan that you can’t find engineers and hire H1-B’s Jan 19 22:35:15 the only way to get around that is to pay cash or hire undocumented workers Jan 19 22:35:27 both of which open you up to business ending consequences Jan 19 22:35:29 yeah, not so much Jan 19 22:35:54 I'm not talking about burger king or construction workers but what about police? They are a union. Does that mean they can strike. Like I said I know of a prison where the guards either did or were going to strike. WTF is that? Jan 19 22:36:00 look into the restaurant industry. there are lots of cases of wage theft by employers, where the employees have very little recourse if they wish to continue working Jan 19 22:36:13 in the us, police are not allowed to strike Jan 19 22:36:24 all those cases I've ever seen always end up in the restaurant being opened up to huge liability Jan 19 22:36:28 Good. I don't know if they can in Canada or not Jan 19 22:36:30 and if the prison guards want to strike, there’s probably a reason Jan 19 22:36:39 police also have 20 year careers with massive benefits Jan 19 22:36:51 pfn: they are open to it, but the risk is minimal, because the workers rarely can afford lawyers Jan 19 22:37:10 s73v3r, no. It's a crutch. They should quit if their employer is causing that kind of a problem Jan 19 22:37:18 and! Jan 19 22:37:27 It's a prison. Like police they should not be allowed Jan 19 22:37:28 jetole: again, not everyone has that luxury Jan 19 22:37:49 unions don't improve the poverty line Jan 19 22:37:53 i’m sorry, but this “survival of the fittest” argument with regards to employment has no place in modern society Jan 19 22:38:12 erisco: this was probably a bad time to ask Jan 19 22:38:14 I read that workers, non guard workers would have been required to work in that prison during the guard strike. The guard union created a dangerous environment for it's coworkers and even the prisoners. Potentially the surrounding neighborhoods as well Jan 19 22:38:17 people who have these problems don't work in union jobs, and the places that have these jobs will never be unionized Jan 19 22:38:42 Leeds, we're off topic so if it's technical than it's a great time to ask Jan 19 22:38:58 Leeds: i thought we answered erisco’s question: They’re doing child fragments Jan 19 22:39:00 jetole: except everyone is ignoring the technical question Jan 19 22:39:13 * jetole scrolls up Jan 19 22:39:14 meh Jan 19 22:39:22 g00s and I both answered Jan 19 22:39:40 Anyways. I'm going to head out Jan 19 22:39:57 s73v3r, pfn and anyone else who helped, thank you for your assistance Jan 19 22:40:11 stop doing employer work on your own time Jan 19 22:40:18 yup, seems I need to use ChildFragmentManager instead of FragmentManager Jan 19 22:40:26 erisco, yes Jan 19 22:40:39 keep in mind there are lots of crappy bugs related to child fragments Jan 19 22:40:46 every fragment has its own childfragmentmanager which manages the fragments in the fragment Jan 19 22:40:49 s73v3r, I am interested in the concepts and being involved in your work increases your value as a employee so pfffffftt! Jan 19 22:41:09 * pfn waits for someone to acquire his OSS projects Jan 19 22:41:11 you can be just as involved during the work hours Jan 19 22:41:21 s73v3r i'd like to find a tally of the current bad ones, beside onActivityResult etc Jan 19 22:41:24 I got an offer for my keepass stuff once, which I ignored :-/ Jan 19 22:41:31 s73v3r, yeah I need a hobby and on that note I am going to the bar Jan 19 22:41:33 Good night Jan 19 22:41:46 Hello There! In a custom ViewGroup, within onMeasure: if the sizes of the children do *not* change, onLayout is not called. Is there a way to enforce this? (requestLayout, invalidate both seem to not work) Jan 19 22:41:47 erisco: child fragments don’t receive onActivityResult, and whatever the callback is for asking for permissions on M Jan 19 22:42:14 After adding a view i should add. Jan 19 22:42:23 s73v3r, non-child fragments dont receive them too, do they? Jan 19 22:42:37 non-child fragments do receive them, I believe Jan 19 22:43:05 it’s just some idiotic bug/design decision that’s related to the hack Google did for child fragments Jan 19 22:43:44 s73v3r i thought even regular fragments get the wrong request code Jan 19 22:44:15 for permissions or for activity result? Jan 19 22:44:21 both. been a few weeks since i looked though Jan 19 22:44:30 i think its actually the same bug Jan 19 22:44:46 wow, that’s even worse than I thought Jan 19 22:45:46 i noticed it was assigned in b.android.com the other day though, so lets hope ... Jan 19 22:45:49 seems like theres a new big android vulnerability.. Jan 19 22:46:15 ? Jan 19 22:46:29 let me see if i can find an english reference Jan 19 22:46:40 http://www.csoonline.com/article/3023019/security/linux-zero-day-affects-most-androids-millions-of-linux-pcs.html Jan 19 22:47:02 did someone else post this today? Jan 19 22:47:10 only priv escalation though Jan 19 22:47:17 no idea. I just saw it now Jan 19 22:47:44 oh, no, i saw something on Ars Technica about it. Jan 19 22:47:54 i hadn’t read it, though Jan 19 22:48:37 wow, since 2012 Jan 19 22:48:48 sup g00s Jan 19 22:48:49 bet the NSA used it meanwhile ;) Jan 19 22:48:55 hi jareddlc Jan 19 22:49:34 i wanted to ask you, have you experienced random bt disconnects? Jan 19 22:49:35 g00s, yeah. the german article I found says everything > 4.4 + a lot older devices due to backports Jan 19 22:49:43 jareddlc of course haha Jan 19 22:49:48 i get complaints about it Jan 19 22:49:58 my only guess, its android that is terminating the service Jan 19 22:50:11 becuase on my phones it doesnt happen Jan 19 22:50:20 i dont know. i have have 3 - 4 devices purring just fine, and then bam! they all disconnect Jan 19 22:50:31 :) Jan 19 22:50:39 k thanks Jan 19 22:50:42 just thought id ask Jan 19 22:50:46 jareddlc there is a library that tries to smooth these things out, but i am skeptical Jan 19 22:50:53 costs lots of $$$ Jan 19 22:51:06 no thx :) Jan 19 22:51:11 http://idevicesinc.com/sweetblue/ Jan 19 22:51:11 to be honest Jan 19 22:51:15 my app is free Jan 19 22:51:20 and I struggle to try to charge Jan 19 22:51:48 sure Jan 19 22:51:54 wow 1k a year for basic Jan 19 22:51:55 1000 $ per year. Jan 19 22:51:57 holy... Jan 19 22:52:20 danijoo i think its worth it - if you are a company going for lots of installs Jan 19 22:52:38 you'll easily spend more than $1K per year debugging BT shit on android Jan 19 22:52:44 if you have the $ then i dont see why not Jan 19 22:52:49 easily Jan 19 22:52:51 at my rate Jan 19 22:53:09 thats like 20hrs of work Jan 19 22:53:17 the problem I'm having now is that wifi drops when I have BT connections, and so my IFTTT integration won't work Jan 19 22:53:20 which is easyily spent on one nasty bug Jan 19 22:53:21 shit, we’ve just got done with a big bluetooth project, and it was a pain Jan 19 22:53:32 yeah I was talking from the one-man-army-pov ;) Jan 19 22:53:37 if something like that worked for us, it would have been a no brainer Jan 19 22:53:47 btw g00s im excited my app is almost hitting 100k downloads Jan 19 22:53:53 never thought id reach 10k :) Jan 19 22:53:58 Congrats, that's pretty good Jan 19 22:54:04 s73v3r i'm using a product which employs sweetblue - AND ITS STILL FUCKED UP Jan 19 22:54:07 link jareddlc ? Jan 19 22:54:24 that great jareddlc ;) Jan 19 22:54:25 https://play.google.com/store/apps/details?id=com.solderbyte.openfit&hl=en Jan 19 22:54:43 ah smartband stuff Jan 19 22:54:52 ^ Jan 19 22:55:03 yup, samsung dropped support for the watch before 1 year of it launch Jan 19 22:55:28 so i made the app formyself and thought id release for free Jan 19 22:55:36 your dialog misses a theme in the screenshot :p Jan 19 22:55:43 but looks pretty complete. nice work Jan 19 22:55:51 thanks Jan 19 22:56:19 danijoo: oh really? Jan 19 22:56:26 i just thought it looked that way LOL Jan 19 22:57:19 4th screen is the default gray dialog. and from the the color of the close/sync button you can see its not using the apps main style Jan 19 22:57:37 colorPrimary and stuff like that is not set for the dialog Jan 19 22:57:50 but im cherry picking ;) the app really looks good Jan 19 22:58:20 for style i set use device default Jan 19 22:58:26 and didnt do any theming at all Jan 19 22:58:39 but i can look into it Jan 19 22:59:53 i did have a question regarding gradle, i recently switched from eclipse Jan 19 23:00:07 and im getting a build error, i need to include play services Jan 19 23:00:27 but based on the docs on androids website: https://developers.google.com/android/guides/setup Jan 19 23:00:48 i do not have the line:pply plugin: 'com.android.application' Jan 19 23:00:51 in my gradle file Jan 19 23:01:25 show your gradle file. Jan 19 23:01:55 https://gist.github.com/jareddlc/2de7a0468517971a28e3 Jan 19 23:02:12 the line is in the other one :) Jan 19 23:02:22 ./app/build.gradle Jan 19 23:02:41 lol thanks Jan 19 23:02:46 np Jan 19 23:02:56 you rarely need to edit the one you just posted Jan 19 23:03:11 most stuff goes in ./app/build.gradle Jan 19 23:04:00 cool Jan 19 23:04:11 is there a editor for gradle or package manager? Jan 19 23:04:35 android studio has something build in like a package manager Jan 19 23:05:07 right click module -> module settings -> select the app -> Dependencies tab Jan 19 23:05:31 or somewhere arround there at least ^^ Jan 19 23:06:02 thanks i'll look for it Jan 19 23:21:02 I think the next talk I develop is going to be on separating out things like Parse, Firebase, etc, from your app Jan 19 23:21:11 trying to decouple the app from those things Jan 19 23:21:39 i'd listen Jan 19 23:22:32 I'm trying to use RecyclerView.Adapter.notifyItemChanged(int) to update an item, depending on the result from a fragment Jan 19 23:23:23 I'm calling it in onResume() in my fragment...but the item only updates after I scroll it off and back on the screen Jan 19 23:24:17 notifyDataSetChanged() works as intened--ie the item is updated immediately when resuming the fragment Jan 19 23:25:27 huh, california paid me $307 in interest? wtf Jan 19 23:26:20 microt: I'd run the debugger and check whether the index is correct. Jan 19 23:35:30 TacticalJoke: now that you mention it, I was getting odd values when I debugged it earlier. I'm using RecyclerView.ViewHolder.getAdapterPosition() Jan 19 23:36:19 the correct item is updating...it just requires a scroll off/on the screen Jan 19 23:37:26 That means the item is *not* updating (until `onBindView`). Jan 19 23:38:19 By "the item" I mean the on-screen View. Jan 19 23:38:29 ah, ok. I guess I need to reconsider how I get the item position in the RecyclerView. Jan 19 23:39:25 I'm brand new to this. Feeling pretty overwhelmed with wrapping my head around the lifecycles, adapters, viewholders, etc Jan 19 23:44:29 It's pretty complicated. Jan 19 23:45:48 danijoo: It mainly comes down to immediately turning your PFObjects into plain Java/Swift objects as soon as you receive them, and not using things that extend from PFObject Jan 19 23:46:35 however, my current idea in Swift, using protocol extentions, doesn’t translate well into Java Jan 19 23:51:04 sup with the droid nerds? Jan 19 23:51:59 droid is cool but the aztecs invented it first Jan 19 23:52:17 they called it rock os and used it on their tree phones Jan 19 23:53:59 how are you so annoying? Jan 19 23:54:47 is there a reason that .getClass().getName() would return "java.lang.Class" ? Jan 19 23:55:02 pfn: shut ya nerdy face Jan 19 23:55:04 because you did it on a class object Jan 19 23:55:09 oh Jan 19 23:55:09 zing Jan 19 23:55:11 there it is Jan 19 23:55:11 haha Jan 19 23:55:35 "Facebook Is Adding Tor Support To The Android App" huhh Jan 19 23:55:36 I saw it at the same time you said that Jan 19 23:55:48 org.jetbrains.kotlin.android:androidRes= Jan 19 23:55:53 I was calling .getClass() on the Class... woop Jan 19 23:55:55 huh, kotlin-android-extensions changed? so annoying Jan 19 23:59:58 http://pastie.org/10694755 Jan 20 00:00:00 yep, annoying Jan 20 00:04:46 TacticalJoke: yeah, my logic for getting the index was wrong. Fixed it! My solution is probably way more complicated than it needs to be... Jan 20 00:06:42 What is the problem and what is the solution? Jan 20 00:08:35 I didn't call RV.Viewholder.getAdapterPosition() in the correct place. I moved the call to the Viewholder's onClick Jan 20 00:10:35 This was part of a challenge from the Big Nerd Ranch book, chapter 10 Jan 20 00:17:52 version 1 or 2? Jan 20 00:17:54 Hi all. I am moving to using android studio and I had a question. i pulled my project via the import from control version via github to android studio. I have a problem though. In my project explorer or what ever it is clalled, I don't see the resource folder, 'res, there. All I see is a folder called main, under that is java, and underthat is all of my code. Jan 20 00:19:04 What did i do wrong in the import. I thought I followed the screens correctly, but no go. Jan 20 00:19:40 I am trying to find where WebView sets the EdgeEffect (for scrolling). I can't seem to find it. Any help. (trying to change the glow color dynamically) Jan 20 00:23:15 PhoenixFyre: did you try switching your project view with the dropdown menu at the top? Jan 20 00:23:51 that is, the top of the project "explorer" sidebar Jan 20 00:26:42 oh, I didn't know that was there. I am blind, and just now learning android studio. is there a keyboard command to activate that menu? Jan 20 00:28:47 surf2b1: what version of android? Jan 20 00:28:55 Napalm, m Jan 20 00:29:04 its in your theme Jan 20 00:29:36 Napalm, are you saying my primary color? Because I want to change it from my primary color Jan 20 00:31:49 surf2b1: no Jan 20 00:32:20 thanks guys I am figuring it out now :) Jan 20 00:32:46 PhoenixFyre: did that fix it? I'm learning as well. I don't know of a shortcut, but you might be able to define one yourself Jan 20 00:33:01 surf2b1: https://developer.android.com/reference/android/R.attr.html#colorEdgeEffect Jan 20 00:34:09 Napalm, I want to change it programmatically. For example, using this class to change glow color for common widgets: https://gist.github.com/jaredrummler/80a0e50724ddec3c664f Jan 20 00:41:42 oh alt+f1, then using arrows/numbers might be what you're looking for PhoenixFyre Jan 20 00:43:48 or alt+1 to focus the project view, then alt+left/right arrows to switch views (alt+ bottom arrow shows dropdown) Jan 20 00:52:27 all microt ever got is mean mugs n cold starez Jan 20 01:01:55 is there any way to debug kotlin-android-extensions Jan 20 01:02:38 they are basically just extension variables Jan 20 01:02:42 that are generated Jan 20 01:04:13 yes, and they're not getting generatged Jan 20 01:04:17 thus the need to debug Jan 20 01:04:19 theres not really anything you can do beside looking at the generated files Jan 20 01:04:25 hm.. Jan 20 01:04:30 !! I keep getting proguard notes like this #Note: com.google.gson.internal.UnsafeAllocator accesses a declared field 'theUnsafe' dynamically Jan 20 01:04:43 does it actually generate files? Jan 20 01:04:48 I add a line like this to keep it -keep class com.google.gson.internal.UnsafeAllocator { java.lang.reflect.Field theUnsafe; } Jan 20 01:04:53 let me check.. Jan 20 01:05:05 then I get a Note like this Note: the configuration refers to the unknown field 'java.lang.reflect.Field theUnsafe' in class 'com.google.gson.internal.UnsafeAllocator' Jan 20 01:05:21 WTF proguard Jan 20 01:06:39 your proguard config is wrong Jan 20 01:06:41 what's so wtf about that Jan 20 01:07:28 it actually seems like it doesnt Jan 20 01:07:35 hmm how is it wrong. It tells me the file and field that I need to keep. I add the line to keep it and then it tells me that the field is unknown Jan 20 01:07:38 thought thats how it works but i cant find files Jan 20 01:07:44 so theres some other black magic.. Jan 20 01:08:28 it generates compile-time only magic Jan 20 01:08:36 yah seems like. Jan 20 01:08:55 are you trying to include it in sbt or are u working with gradle? Jan 20 01:09:42 The original Note is gone but a new one is listed as unknown field. Jan 20 01:09:48 everything you know and build now will be obsolete in a few years Jan 20 01:10:25 include it in sbt for next version of kotlin-plugin Jan 20 01:10:33 I don't think anyone's using it for android, but I like to not release broken stuff Jan 20 01:18:47 pfn: any other hints about my bad proguard configuration? why would it complain about a field and then claim that the field is unknown? Jan 20 01:19:34 shadynastys, dunno, but no idea what warning you got and what you did to mitigate Jan 20 01:20:08 I posted the note. the line I used. and the resulting Note. Jan 20 01:21:10 I have many similar notes that I have tried to fix with similar configuration lines and similar results. Jan 20 01:23:41 shadynastys, since the line is saying something about gson, i assume you try to adjust proguard for gson shadynastys ? Jan 20 01:24:06 if yes, why dont you use one of the dozen config examples for gson that are available online Jan 20 01:24:33 theres even an official one: https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg this sh Jan 20 01:24:51 if you add this lines to your proguard, all gson related errors are gon Jan 20 01:24:54 gone Jan 20 01:27:21 danijoo: I wish that was true Jan 20 01:27:24 https://gist.github.com/px-amaac/60efd1dba923796d33bb Jan 20 01:27:32 here is my current proguard gonfig Jan 20 01:27:55 I have seen the example configs you painted to. Jan 20 01:28:10 I still get Notes warning me about gson stuff Jan 20 01:28:47 things like Note: the configuration refers to the unknown class 'sun.misc.Unsafe' Jan 20 01:28:53 the file you posted misses lines from the example config Jan 20 01:29:26 Which lines? Jan 20 01:29:48 -keep class com.google.gson.examples.android.model.** { *; } Jan 20 01:30:16 That is for your models which as far as I know we do not have. I will double check Jan 20 01:30:31 oh you are right :> Jan 20 01:30:55 Use of gson is very limited in this project Jan 20 01:31:20 let me check my own conifg... i use gson too Jan 20 01:31:31 :) ty Jan 20 01:33:32 http://pastebin.com/yUQXe671 may it help you Jan 20 01:33:42 i have to go now unfortunatly . but good luck Jan 20 01:34:20 ty danijoo have a good day. Jan 20 01:42:28 what does new ArrayList<~> do? Jan 20 01:42:33 never seen ~ before Jan 20 01:46:54 intellij code folding Jan 20 01:49:53 Napalm, after some insane reflection I got it working. http://pastebin.com/taBVEk0R Jan 20 01:50:16 surf2b1: are you serious? Jan 20 01:50:29 that is the worst idea ever Jan 20 01:50:40 especially when the platform gives you ways to change the colotr Jan 20 01:50:41 it's the only way to do it dynamically Jan 20 01:50:43 color Jan 20 01:50:44 I'm sure there've been worse ideas. Jan 20 01:50:46 no its not Jan 20 01:51:05 Napalm, show me how to do it dynamically... you can't :P Jan 20 01:51:22 TacticalJoke: oh rly? using reflection on one of most changing parts that now gets updated dynamically using the play store, yea Jan 20 01:51:30 surf2b1: its a theme property Jan 20 01:51:36 just use a ContextThemeWrapper Jan 20 01:51:54 Napalm, you still can't. there is no public API Jan 20 01:52:02 yes you can Jan 20 01:52:14 Napalm, $20 Jan 20 01:52:27 reflection is just the worst thing ever Jan 20 01:52:52 Jan 20 01:52:54 where's my $20 Jan 20 01:52:57 Napalm, I'll literally give you $20 if you can set the edge effect glow color dynamically without reflection. Jan 20 01:53:03 if you're using appcompat Jan 20 01:53:06 if not, ContextThemeWrapper Jan 20 01:54:23 new WebView(new ContextThemeWrapper(R.style.MyThemeOverlay)) Jan 20 01:54:59 pfn, after the WebView is created Jan 20 01:55:20 surf2b1: why after? Jan 20 01:55:44 check out my app, Root Check: https://play.google.com/store/apps/details?id=com.jrummyapps.rootchecker&hl=en Jan 20 01:55:51 you can change the primary color to anything Jan 20 01:56:00 so, can't use immutable styles Jan 20 01:56:13 are you talking about API level 21+? because as far as I know changing overscroll color in theme is possible only on 21+ Jan 20 01:56:46 StarLight, you can do it from 14+ with reflection Jan 20 01:57:05 Napalm: Yeah, but there have been worse ideas. :D Jan 20 01:57:06 yeah, I know. Talking specifically about doing it with theme Jan 20 01:57:11 Such as mass murder. Jan 20 01:57:36 StarLight: pre-v21 > https://github.com/slightfoot/android-edge-effect-override Jan 20 01:57:50 without reflection Jan 20 01:57:52 :P Jan 20 01:57:59 TacticalJoke: true Jan 20 02:05:16 surf2b1, why would you do it after the webview is created Jan 20 02:05:43 pfn, because I have a preference to change the primary, accent and background colors to anything Jan 20 02:05:58 so recreate the webview when the preference changes Jan 20 02:06:02 instead of using reflection nonsense Jan 20 02:06:16 or even just recreate the activity Jan 20 02:06:26 pfn, it fails on Android M. Jan 20 02:06:43 "it" what does, your reflection nonsense? Jan 20 02:06:51 recreating webview and/or activity doesn't fail Jan 20 02:06:58 no, recreating the activity for the new color Jan 20 02:07:07 the new color is cached Jan 20 02:07:08 that's false, it does take effect Jan 20 02:07:13 * primary color Jan 20 02:07:31 you have a member that you're holding onto that's preventing it from showing Jan 20 02:08:56 pfn, no, major changes were made to TypedArray and Resources on M. I was overridding Resources to return the user selected color but M messed it up. Jan 20 02:09:54 hello Jan 20 02:10:18 I am trying to run my samsung device as the emulator for my app Jan 20 02:10:35 thing is when I issue the adv devices command from the terminal it says the device if offline Jan 20 02:10:53 I do not understand this because my device is connected to my laptop via usb Jan 20 02:11:31 Can I set text color from a shape drawable Jan 20 02:12:41 im confused when i call notifyDataSetChanged on my adapter, I'm using a loader manager, doesnt the loader handle changing the adapters data in onLoadFinished ? Jan 20 02:12:44 easyOnMe: So many causes. Did you try everything that shows up when googling this problem? Jan 20 02:13:50 TacticalJoke: one minute please Jan 20 02:14:13 easyOnMe: did you try killing and restarting the adb server? Tried different cables? You can always do adb over wifi Jan 20 02:17:58 microt: how do I do it over wifi then Jan 20 02:18:31 You have to connect via USB before you can connect wirelessly. Jan 20 02:18:59 Unless you're rooted, I think. Jan 20 02:20:09 TacticalJoke: ok I got this solution from the internet to unplug the usb then switch off debugger and then turn it back on and then plug usb back and type adb devices from the terminal Jan 20 02:20:34 the reply from the terminal is a device with a new id number but still says offline Jan 20 02:20:44 https://diptimayapatra.wordpress.com/2013/09/08/android-device-is-offline-but-connected-for-usb-debugging/ Jan 20 02:32:51 ah, I didn't realize you needed to connect to usb first w/out root Jan 20 02:33:31 a ubuntu tablet http://news.softpedia.com/news/canonical-and-bq-to-unveil-the-first-ubuntu-tablet-that-runs-x11-apps-at-mwc-2016-499131.shtml Jan 20 02:34:05 eh, X11 gross Jan 20 02:41:00 g00s, what happen to the ububntu phone Jan 20 02:41:13 umm ... no idea Jan 20 02:46:05 It ran away with the Firefox Phone ? **** ENDING LOGGING AT Wed Jan 20 02:59:59 2016