**** BEGIN LOGGING AT Thu Feb 11 02:59:58 2016 Feb 11 03:03:12 AS Beta 3 is out Feb 11 03:05:01 AS 2.0b3 * - release notes haven't even been published yet Feb 11 03:37:05 your library project should not have the same package name as your app project Feb 11 03:37:10 and yes, your library project must have a package name Feb 11 03:37:15 how else would it know where to generate R.java Feb 11 03:37:20 this is not android studio's fault Feb 11 03:37:22 user error Feb 11 03:39:42 s/should/must Feb 11 03:45:54 can you force the onResume() method to run if your activity is still focused? Feb 11 03:46:14 say, when a timer times out? Feb 11 03:49:36 no, why would you Feb 11 03:49:39 that's terrible Feb 11 03:50:13 onResume() { handleMyShit(); } whenTimerRunsOut() { handleMyShit(); } Feb 11 04:08:14 hi all, does it sound kind of reasonable to merge to .repo directories by just copying (cp -al for example) two into one unique destination ? the aim is to keep as many git objects as possible from both to avoid retransfering them, then do a new repo init on t he merged result Feb 11 04:08:36 merge two repo* Feb 11 04:08:50 That's probably a terrible idea Feb 11 04:09:03 to what end? why would have have two separate .repo for aosp Feb 11 04:09:25 let's say I have cm 11 on one side, and aosp 5.1 on the other Feb 11 04:09:42 neither is a subset of the other Feb 11 04:09:54 and I want to get cm 12.1 Feb 11 04:10:23 but that's a lot of download if I start from either one, whereas if I started from a merge of the 2 I would gain a lot of time Feb 11 04:10:32 yeah, no, you can't merge them Feb 11 04:10:49 You can try, but make sure you only copy the object files Feb 11 04:10:55 but cm should always be merging in upstream Feb 11 04:11:00 Either way you'll have a full copy of it in your working directory Feb 11 04:11:00 so what does it matter Feb 11 04:11:07 you can always repo init -b aosp-branch Feb 11 04:11:15 So you might just do a shallow clone Feb 11 04:11:15 you think they merge in upstream everything ? Feb 11 04:11:17 there's no reason to have 2 when cm is already based on aosp Feb 11 04:11:33 if cm doesn't merge in aosp directly, I would suspect ever using cm Feb 11 04:11:37 well they have their own specific repos I think, in addition to the standard aosp ones Feb 11 04:11:54 doesn't matter, the repo manifest should always be correct Feb 11 04:11:59 as long as they fork aosp properly Feb 11 04:12:14 cm has to be a superset of aosp Feb 11 04:12:46 yes, but they have some packages that aren't in aosp Feb 11 04:12:53 also some devices Feb 11 04:13:25 that's the whole point, cm is a superset of aosp Feb 11 04:13:27 so you get cm and you're done Feb 11 04:14:05 yeah , at the end that's what I want, the point is frmo what I'm starting from Feb 11 04:14:20 I don't want to get it from scratch because I have low bandwidth here :) Feb 11 04:14:41 no, you cannot merge .repo directories Feb 11 04:16:31 maybe what I can merge is project-objects directories ? Feb 11 04:28:59 hello guys, my android emulator whenever i start just gives black screen even after half an hour .. the details of my image is as here http://i.imgur.com/BSwFMZa.jpg Feb 11 04:33:30 the android emulator requires a quantum computer Feb 11 04:40:33 htop 2 is neat Feb 11 04:43:24 what? Feb 11 04:43:45 oh, a top Feb 11 04:43:56 http://hisham.hm/htop/ Feb 11 04:44:07 sorry unix only :D Feb 11 04:45:16 so i see Joe tweeted another article about loaders ... i'd think in 2016 maybe google would have come up with some better ideas ... Feb 11 04:45:29 loaders suck, don't use them Feb 11 04:47:16 the only passingly interesting thing about them is that they're detached from the activity so that lifecycle doesn't really disturb them Feb 11 04:47:37 but that also introduces a shitton of complexity into them because of it Feb 11 05:35:51 trying to add switchcompat in actionbar, added but not responding to On/Off, code : http://pastebin.com/ynTbPaS9 anyone please help? Feb 11 05:52:07 pfn, what'd you recommend using instead? Them being able to "understand" lifecycle is very nice Feb 11 05:53:29 using a service to detach from the activity doesnt really make things simpler Feb 11 05:57:25 I normally don't care about being detached from activity lifecycle, if I need them to exist outside of activity lifecycle, I use some sort of singleton Feb 11 05:57:44 and I do a little bit of work to detect activity state before proceeding, if necessary Feb 11 06:05:55 Came across this question on /r/androiddev and was interested in the answer as well. Anyone have any ideas? https://www.reddit.com/r/androiddev/comments/4541kr/i_put_together_a_primer_on_using_rxjava_with/czvp1l3 Feb 11 06:06:27 put the observable somewhere outside of the activity Feb 11 06:06:28 of course Feb 11 06:09:25 pfn: So what just throw it in a separate class? When the activity is recreated wouldnt it get resubscribed therefore the request would fire off again? Feb 11 06:09:38 depends on hot/cold observable Feb 11 06:09:57 I don't use rx, so no idea what that does Feb 11 06:09:59 I normally use futures Feb 11 06:10:26 Alright thanks, i'll read up a bit on hot/cold observables Feb 11 06:10:55 orbyt_ its a topic covered quite often, surprised you haven't found it in your googles Feb 11 06:11:37 * pfn really doesn't like the concept of hot/cold observables Feb 11 06:12:03 I want my data to load independently of being subscribed to, and when I want it to (so either on observable creation, or at some other point) Feb 11 06:12:06 wc Feb 11 06:12:15 g00s_: Up until recently I was passively checking out Rx, but the past week or so have been getting into it a bit more. Have heard of hot/cold observables but didnt read into them, yet Feb 11 06:12:58 and for the most part, the most common uses of rx aren't even streaming data, observables are completely overkill Feb 11 06:13:06 I'm surprised people don't use something like jdeferred more Feb 11 06:14:12 they even have an android-specific build Feb 11 06:16:38 * pfn still uses his own futures library when possible Feb 11 06:16:41 https://github.com/pfn/android-futures Feb 11 06:17:39 I should write some rx adapters for it as well, to convert to/from Singles Feb 11 06:21:43 a coworker was showing me something cool he made with react native Feb 11 06:22:02 stopped being cool as soon as you said react native Feb 11 06:22:03 RustyShackleford how is the toe ?! Feb 11 06:22:22 I don't think its broken. It fucking kills man Feb 11 06:22:51 dude - telling you, could have torn ligaments / tendons - see pediatrist ! Feb 11 06:23:05 podiatrist Feb 11 06:23:06 fucking wind up with hammer toe or some shit Feb 11 06:23:18 it does feel much better, it can support some weight but I can't walk on it very far Feb 11 06:23:51 * g00s_ steps on RustyShackleford toe for test Feb 11 06:23:59 don't even joke Feb 11 06:24:53 hey Feb 11 06:25:00 anyone online :P Feb 11 06:28:30 Hi. Is there a lib which can help me setup Authenticatation with a backend server for Google Sign-In Feb 11 06:28:36 Don't know a lot of python Feb 11 06:32:21 Should be easily doable using play services ? Feb 11 06:32:56 Client side Sign-In is done. Wanted to authenticate with the backend. Feb 11 06:33:09 Check this out - > https://io2015codelabs.appspot.com/codelabs/sign-in#1 @WantToCode Feb 11 06:33:22 Oh Feb 11 06:34:13 I have completed this. I am look at this step - https://developers.google.com/identity/sign-in/android/backend-auth Feb 11 06:34:55 oh ok Feb 11 07:19:26 Is FLAG_ACTIVITY_NEW_TASK same as singleTask launchmode? Feb 11 07:22:56 Is it necessary to authenticate with backend server after google sign in? What are the advantages or should I say the security concerns if I don;t do authentication? Feb 11 07:36:49 https://publicobject.com/2016/02/08/linkedhashmap-is-always-better-than-hashmap/ Feb 11 07:37:18 is it also better for android? Feb 11 07:38:36 did you even read it? Feb 11 07:44:06 yeah i read it but never used it in vast Feb 11 07:45:09 hey all :) Feb 11 07:45:12 so do not have any idea about perfomance using LinkedHasmap in apps Feb 11 07:47:21 What's the equivalent intent flag for singleTask launchmode? Feb 11 07:48:02 I was experimenting and found that FLAG_ACTIVITY_NEW_TASK doesn't have similar behavior to singleTask Feb 11 08:13:41 I am formatting a response from server and was expecting DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", but for some reasons I sometimes get "yyyy-MM-dd'T'HH:mm:ss'Z'" Feb 11 08:13:46 How should I be handling this ? Feb 11 08:16:08 check the length of the string? Feb 11 08:16:11 efficient / elegant way to wrap string with symbol? i.e. something -> something Feb 11 08:16:23 "" + string + ""; looks ugly Feb 11 08:17:44 String.format(Locale.XX,"%s",string); Feb 11 08:18:48 its even uglier Feb 11 08:19:04 why the html? can use spannables Feb 11 08:20:23 well i get semi-html and just in some cases i want italize text Feb 11 08:20:35 i already just do setText(Html.fromHtml()) Feb 11 08:20:49 dont wanna mess with spannables Feb 11 08:21:40 i thought wrapping would be a common thing but apparently its not Feb 11 08:23:22 Ashiren: "" + s + "" Feb 11 08:23:43 mhm Feb 11 09:12:43 Morning all, beginner question - is it generally correct to do any UI updates (e.g updating some view with data) inside onResume rather than onCreate? Feb 11 09:16:55 depends Feb 11 09:17:03 normally i do updates in onResume Feb 11 09:17:35 onResume mostly will be called more frequent than onCreate Feb 11 09:18:37 in onCreate i update things only if i know they wont change Feb 11 09:25:32 Ashiren: okay, makes sense. thank you! Feb 11 09:43:01 hi Feb 11 09:43:04 do you have any clue what this error means? Feb 11 09:43:07 Error:com.android.dx.cf.iface.ParseException: class name (shared_presage/com/google/gson/internal/bind/A) does not match path (shared_presage/com/google/gson/internal/bind/a.class) Feb 11 09:43:27 A.class is not the same as a.class Feb 11 09:44:06 okay, but it's in shared_presage, right? So not one of my libraries Feb 11 09:44:38 i dont know what shared_presage is Feb 11 09:45:03 ah sorry danijoo! It's one of my classes x_x Feb 11 09:46:56 convention is to name classes upper case Feb 11 09:47:02 first char uppercase Feb 11 09:52:34 any thoughts on using wrap_content with buttons? to my eyes different sized buttons look really ugly Feb 11 09:53:27 wrap_content doesn't specify the size directly. Feb 11 09:54:24 yes Feb 11 09:59:30 murosai, depends on the surroundings, I'd say Feb 11 09:59:38 but it's a UI design decision Feb 11 10:00:47 murosai: use weight=1 and width=0px to get equal widths :) Feb 11 10:02:04 Don't use weight unless you have to. Feb 11 10:19:55 Hey guys one question, i received design suggestion and its simple png, now i need to code this http://imgur.com/U40KZab into code, any suggestions how should i accomplsh edittext style? Feb 11 10:21:07 you could use drawableLeft for icon and drawablePadding for spacing between icon and text Feb 11 10:22:42 Yeah but i will still get "material" stylish edittext Feb 11 10:37:11 If arcanewater had waited a few more minutes, I could have helped... Feb 11 10:54:30 Can i test in-app in the emulator or i need google play for this to work? Feb 11 10:56:42 Can this be done or i need a device for this to work and could this work in the new emulator in android studio 2.0? Feb 11 10:57:27 * Zharf never tried Feb 11 10:57:39 Hey Zharf:) Feb 11 10:58:14 hi? Feb 11 10:58:40 :) Feb 11 11:30:48 Hello guys, where should I look at to disable a view, so it looks like inactive as if a semitransparent layer covers the view. I tried it with view.setEnabled(false) but that didn't change the look of the view as inactive. Feb 11 11:33:34 Number5: something like state list drawable Feb 11 11:33:38 http://stackoverflow.com/questions/14042866/state-list-drawable-and-disabled-state Feb 11 11:34:45 Ashiren, thnx. No other easier solution than creating a style to modify states? Feb 11 11:35:52 well style or background drawable Feb 11 11:37:10 maybe a slight alpha view that covers it, and just change its shown state? Feb 11 11:42:41 Hey all, quick question. Anyone know why I would be getting an error such as: Task 'incrementalNormalDebugSupportDex' not found in project ':app'. Feb 11 11:44:01 It seems I only get it when Instant Run is enabled. and it's not consistent Feb 11 11:44:49 I'm assuming it's a bug with Instant Run? But I guess it could be a problem with my Gradle build as well Feb 11 11:48:48 android studio 2.0? its stil lbeta isnt it Feb 11 11:50:18 Is there a reason why my activity seems to remain on the navigation stack after I press back? suppose I go a -> b ->(back) -> a -> b ->(back) -> b. this increases each time i start b, with the back button just starting the same activity again. Feb 11 11:51:28 Are you overriding onBackPressed? Feb 11 11:51:45 I'm not - at least not in activity b Feb 11 11:52:15 How do you know it is on the stack? Feb 11 11:54:03 well, I don't but after i've 'visited' it once and then press the back button, when I return and go back again it redisplays the same activity. it's difficult to explain but it seems to be as though activity b is remaining on the stack after back is pressed. Feb 11 11:54:48 Paste your code of A starting B Feb 11 11:54:48 @Ashiren yeah, I think it's a new bug with beta 3 (since I just started seeing it today after upgrading) Feb 11 11:54:58 it's possible i'm missing something obvious, as it's only my second week doing android dev Feb 11 11:58:24 rmrrn: have you been playing with launchMode in AndroidManifest? Feb 11 11:58:29 barq: ultimately, it comes down to this https://gist.github.com/anonymous/dd4f7a38e96c6074d22c this is in c# (I am using xamarin) but hopefully should be straightforward enough Feb 11 11:59:07 Ashiren: no, I haven't touched launchMode! Feb 11 12:04:49 Where are you calling that method, which btw should not be capitalized or static Feb 11 12:07:25 :lib1 :lib2— both have dependency on :lib3. How do I set up the dependencies such that while development these point to project and while building releases they point to maven dependencies. Feb 11 12:08:21 debugCompile(project) and releaseCompile(maven/jcenter depency) would this be right approach ? Feb 11 12:11:51 barq: I'm calling it from within activity A. It's an extension method (C#) which is the reason for it being static. Feb 11 12:14:17 C#? Feb 11 12:16:02 why java programmers wear glasses? because they cant C#. bazinga Feb 11 12:16:25 Indeed, I am using Xamarin to build the app Feb 11 12:22:04 Should ask in #xamarin Feb 11 12:24:11 liuwenhao: I have tried :( Feb 11 12:25:42 I don't believe the issue is related to that. I'm likely doing something incorrect somewhere but have spent a number of hours on it now, and not getting anywhere Feb 11 12:36:03 interesting. could this be related to the fact i'm adding fragments to the back stack? does this change the behaviour of the back button? Feb 11 12:37:55 Can I draw stuff in a canvas and then transform the stuff I drew? Feb 11 12:38:18 For example, I draw a circle, then I get this circle and transform it, changing it's scale and opacity, color, stuff like that Feb 11 12:45:28 afaik whatever you draw in canvas is drawn Feb 11 12:45:43 what do you mean by circle? Feb 11 12:45:51 drawCircle takes position and radius Feb 11 12:46:03 do you want to transform already drawn circle Feb 11 12:53:34 Ashiren yes Feb 11 12:55:09 meh youd need to plan everything before actually drawing things ~ Feb 11 12:58:42 hm Feb 11 13:04:26 hithere Feb 11 13:10:16 I minified my library. It minified everything it seems. Not able to include even a single class :| Feb 11 13:10:27 where did I go wrong ? Feb 11 13:31:04 Well. Feb 11 13:31:14 Philosophical question that. Feb 11 13:40:42 Interesting. I have a fatal crash where the app keeps on running. Feb 11 13:44:22 If I have a memory leak in one app, can that affect another app or do they have completely separate heaps? Feb 11 13:44:46 they have their own heaps Feb 11 13:45:11 still system might be more eagier to kill some apps if it runs out of memory Feb 11 13:45:41 during startup (onCreate) of my main activity (which is only started after logging in), could it recover fast enough so that it's not even noticeable? Feb 11 13:46:58 I fixed some leaks in one app and now I can't reproduce the OOM in the other app, strange. Feb 11 13:48:36 :o Feb 11 14:03:36 any recommendation for articles that help me to make my android app less ugly? Feb 11 14:06:03 * loke`` suffers from the same Feb 11 14:07:09 adb uninstall your.app Feb 11 14:07:13 hallway test Feb 11 14:07:18 Hello guys, sounds this familiar to you? I designed a layout which looks good on Preview window of Android Studio, however, on a real device a view is positioned wrong. And I really know what I'm doing when it comes to layout design. This really weird. Feb 11 14:07:55 What exactly is positioned wrong? Feb 11 14:08:48 murosai https://www.google.com/design/spec/material-design/introduction.html Feb 11 14:09:02 murosai materialup.com for inspiration or whatever Feb 11 14:10:19 read everything in the material design guide Feb 11 14:14:46 barq, I found the problem. This is a nasty one Feb 11 14:16:17 There's also a Material course on udacity Feb 11 14:18:02 For one fragment, I hide the Toolbar, which is the home fragment. In onStop I set the Toolbar to VISIBLE. When switching to another fragment, the new layout seems to calculate the position based on dimensions WITHOUT the Toolbar. This way the View on the bottom is moved below the bottom of the screen. Feb 11 14:19:33 If I go to another fragment with Toolbar and go back to the fragment where the layout wasn't correct, the fragment than shows the layout correctly. Feb 11 14:39:35 Hello, anyone knows why I can't change the color of my ProgressBar ? http://pastebin.com/raw/dhvQtR8a Feb 11 14:40:34 Ok guys, does anyone has a good solution for changing fragment to fullscreen without AppBar or normal screen with AppBar for API versions from 15 to 23? It doesn't work smooth in my situation. What I did for fullscreen is hiding the AppBar by setting its visibility to GONE and when closing the fragment put the AppBar back to VISIBLE. Feb 11 14:40:48 I'm also compiling the appcompat v7 Feb 11 14:42:00 Number5, use DialogFragment instead of Fragment. This will show out of Layout bonds and fill the full screen Feb 11 14:42:20 Is there a simple way to center the items in a recyclerview if they’re less than required to fill the screen? Feb 11 14:43:16 danijoo_, I'm afraid that if I want to use the menu drawer, it will show below the dialog fragment. Feb 11 14:43:47 whats not working on your approach? Feb 11 14:44:04 danijoo_, I don't use the fragment as a splash screen, but as a main page with a full screen minus status bar. Feb 11 14:44:45 you said setting it to GONE does not work. why? Feb 11 14:48:09 danijoo_, when the app start with the Main fragment, it hides the toolbar which is working good. But than I switch to another fragment and the onStop of the current fragment is called where I set the Toolbar to VISIBLE. What happens is the next fragment calculates the view positions based on screen dimensions WITHOUT Toolbar. As a result, my listview at the bottom is a bit moved below the screen. Feb 11 14:49:23 If I switch to another normal fragment (with the toolbar) and than go back to the fragment with the wrong layout position, than the layout is displayed correctly. Feb 11 14:49:46 I'm testing it on an old HTC Sensation with Android 4.0.3. Feb 11 14:51:09 Is it possible to update Android Studio without downloading the whole package? Feb 11 14:51:19 Also will that affect my projects? Feb 11 14:52:31 Number5, try to move it from onStop of a fragment to the function of the activity where you create the fragment transaction and call it before the transaction itself Feb 11 14:53:21 fragment lifecycles are asynchron, meaning that the onCreate and onCreateView of your second fragment might already be called before onStop from the other one is called Feb 11 14:53:33 danijoo_, aaah that's a good one, thnx I'll try it out. Feb 11 14:53:46 OverCoder, no & maybe Feb 11 14:53:46 Anyone knows why http://pastebin.com/raw/XDHYCdtV doesn't apply the colors? I have a progressBar and it keeps showing the freaking blue color Feb 11 14:54:12 Twirl, I think you use the wrong attribute to change the color. Feb 11 14:54:25 danijoo_, hmm, looks like 2.0 is released (even if it was in beta), and I think I am going to get it Feb 11 14:54:25 Twirl, ^ and also the wrong parent Feb 11 14:54:26 Number5: alright, which one is it then Feb 11 14:54:29 <3 betas Feb 11 14:54:38 danijoo_: i want to change the accent color globally Feb 11 14:54:45 danijoo_: which should i use? Feb 11 14:55:25 Twirl, I'm working on another problem, but you can Google, it's not something difficult. Google for 'Android Progressbar change color' Feb 11 14:55:26 OverCoder, if you switch to beta, it will automatically change the gradle plugin version in your build.gradle. Feb 11 14:55:35 thats what I meant with affecting your project Feb 11 14:55:38 Number5: you joking buddy? Feb 11 14:55:49 danijoo_, ah, who cares about Gradle? I mean I don't do :P Feb 11 14:55:50 Number5: google your problem then come here to ask Feb 11 14:55:55 Twirl, no I'm for real man Feb 11 14:56:03 Number5: then go back to google Feb 11 14:56:20 Twirl, don't misunderstand me please. Feb 11 14:56:24 Twirl, if you want to change the color globally, dont apply the change to the progess bar but to the app theme Feb 11 14:56:33 Number5: don't talk to me buddy, you are /ignored Feb 11 14:56:46 and stop being rude if you want help Twirl lol Feb 11 14:56:49 You see Twirl, you change the wrong attribute, I already said it to you. Feb 11 14:57:09 lol danijoo_ Feb 11 14:57:33 danijoo_: he is the one being rude imho Feb 11 14:57:57 anyways i ignored him so, nothing to worry about Feb 11 14:58:30 Twirl, http://stackoverflow.com/questions/5745814/android-change-horizonal-progress-bar-color?rq=1 Feb 11 14:58:47 too bad, because he just posted a link to the solution Twirl :D Feb 11 14:59:06 danijoo_: did you read the paste? http://pastebin.com/raw/XDHYCdtV Feb 11 15:00:10 danijoo_: you said to apply the color to the AppTheme, it's what i'm doing Feb 11 15:00:17 OverCoder, I think you only have to load the full package when going from stable to beta though. Once you are in beta, beta updates are shipped incremental Feb 11 15:00:30 Ooh, nice Feb 11 15:00:47 Because it'll take me 6 hours to download Android Studio on my 128Kbps :| Feb 11 15:00:48 at least that has been the case while they updated 2.0 in canary channel. Feb 11 15:01:03 Hm Feb 11 15:01:05 OverCoder, wow.. where do you live? Feb 11 15:01:08 2.0 is in Beta too Feb 11 15:01:29 danijoo_, I always say, 'the worst yet most interesting place, Syria' Feb 11 15:01:33 (arguably I mean) Feb 11 15:02:34 I see. I was wondering because your whois says you are connected through texas. And I thought they would have a better download rate there ;) Feb 11 15:02:36 I am confused on what's the difference between Canary and Beta Feb 11 15:02:43 But for syria it makes sense, i guess Feb 11 15:02:47 haha yeah because it's an EliteBNC Feb 11 15:02:52 (#EliteBNC) Feb 11 15:02:53 Canary is like one stage before beta Feb 11 15:03:00 alpha or worse :p Feb 11 15:03:04 Ah, which one you recommend me? Feb 11 15:03:25 right now, canary is the same as beta Feb 11 15:03:34 I mean I don't mind getting weird crashes sometimes, but I don't like having impossible to solve problems lol Feb 11 15:03:42 last week, there was no 2.0 beta but only canary Feb 11 15:03:55 I cant recommend anything beside stable. Some builds are good, some suck Feb 11 15:04:09 Ah, so I guess it was stable enough, I gotta lookup the changelog, seems quite interesting Feb 11 15:04:15 I always keep a stable version installed to be able to go back if I have to work but theres problems with the IDE Feb 11 15:04:35 Meh I don't :P Feb 11 15:04:38 danijoo_, YOU'RE THE MAN! Thank you buddy, now it works as expected :) Feb 11 15:04:47 Number5, yw Feb 11 15:04:50 My Firefox is dev build, Chrome's beta, Opera beta on my phone too, haha Feb 11 15:04:56 I always get the very very latest Feb 11 15:05:02 OverCoder, until you need to hotfix something and your ide keeps crashing :p Feb 11 15:05:24 I never had that lol Feb 11 15:05:30 yet Feb 11 15:05:37 Yeah, yet :P Feb 11 15:06:00 Hello Feb 11 15:06:24 How do you keep a twitter oauth secret secure in an android app? Feb 11 15:07:32 Is it opensource? Feb 11 15:07:54 nope Feb 11 15:07:58 Because if so, you should omit the key when pushing the source code somewhere, and you can just store the key anywhere in any variable in your app Feb 11 15:08:19 yeah but you can just decompile the app and get it Feb 11 15:08:37 minifyEnabled true in your gradle Feb 11 15:08:51 obfuscates all your code, though there could be some chance to get that, idk Feb 11 15:09:22 it obfuscates the variable names, not the literals Feb 11 15:09:49 wat Feb 11 15:09:56 raycar5: afaik there is no 100% safe way. Feb 11 15:10:00 ^ Feb 11 15:10:13 ._. Feb 11 15:10:18 I have seen Google recommend constructing the key at runtime Feb 11 15:10:41 the only way to keep it save is to use a middleman-server Feb 11 15:10:41 so people just integrate twitter login insecurely Feb 11 15:10:49 You can decompile and get the parameters and do the exact same thing to get the ouath again Feb 11 15:10:57 danijoo_++ Feb 11 15:10:59 store the key on your server, make requests to the server and let the server append the oath key Feb 11 15:11:37 and watch the server logs for someone using it against your will + ssl Feb 11 15:12:06 You gotta do some work to best secure your API Feb 11 15:12:15 the thing is how do i know it's my app and not another one the one trying to get the key from the server? Feb 11 15:12:28 raycar5, theres no 100% security ;) Feb 11 15:12:35 oh man Feb 11 15:12:40 I hate that Feb 11 15:12:46 you can make it hard, you cant make it impossiblwe Feb 11 15:12:53 is there a way for your server to check an app's release signature Feb 11 15:13:01 use ssl, client side certificates, watch for strange useragents and ips.. stuff like that Feb 11 15:13:14 missingno, yes Feb 11 15:13:15 like, google seems to do that somehow for google api keys Feb 11 15:13:44 how does it work without an external party verifying the app Feb 11 15:13:45 what hinders me to fake the signature? Feb 11 15:13:49 missingno: not practically, no. Someone can always override the code that transmits the signature – your server has to trust something on the device. Feb 11 15:14:01 missingno, You really don't need to do that much of work regarding your APi Feb 11 15:14:05 API oauth* Feb 11 15:14:05 You have to trust something, which is why a third party is necessary that both sides trust. Feb 11 15:14:12 and even that can be manipulated. Feb 11 15:14:16 missingno, http://android-developers.blogspot.si/2013/01/verifying-back-end-calls-from-android.html Feb 11 15:14:20 This is the best you can do. Feb 11 15:14:34 sweet thank you for this link Feb 11 15:14:51 Mavrik that seems like a good solution Feb 11 15:15:24 Thanks! Feb 11 15:16:22 huh Snapchat uses this doesn't it Feb 11 15:26:47 There are days where I wished I could mandate that people learn why allowing users to modify the software that’s running on their systems is important. Today is one of those days. Feb 11 15:29:23 missingno, ultimately you're trusting a computer you can't control to not be completely messing with you Feb 11 15:29:46 missingno, if you're really really interested you can do something w/ the keystore to generate a client-side cert and store it in there, but you're still trusting the generation process Feb 11 15:30:55 justjanne, so you can access services without authorization, ok Feb 11 15:32:19 pfn: Rule #1: DRM does not work. Never did, never will. If your "authorization" is checking that the client app is okay, then you have no authorization. Feb 11 15:32:41 the google play thing looks interesting Feb 11 15:32:43 Second thing: if a user wants to modify that stuff, they always find a way Feb 11 15:32:53 and if they end up loading systemless Xposed onto their system, Feb 11 15:32:55 really all that stuff is there to try to ensure the client isn't modified w/out the users knowledge Feb 11 15:32:58 Steam DRM always worked. has never been broken :p Feb 11 15:32:59 modfiy the bytecodeloader for your app, Feb 11 15:33:07 once the user is trying to modify stuff, you're going to lose Feb 11 15:33:10 and load a different app instead of yours Feb 11 15:33:35 Steam DRM has been broken before, danijoo_, I’ve used one of the cracks to use a legitimately owned version of Anno 2070 in WINE Feb 11 15:33:38 dragorn: exactly. Feb 11 15:34:11 All you guys are advising is creating a badly working, maybe 90% successful "authorization" scheme that only stops users who want to modify some parts, Feb 11 15:34:16 but doesn’t stop anyone with evil intent. Feb 11 15:34:33 It purely annoys end users, and doesn’t provide any benefit for you. Feb 11 15:34:41 says you Feb 11 15:35:14 I'm writing a simple app that sends a couple of GET?POST requests to a rails app and displays the results. I want to to have all URLs in my app point to "test.mydomain.com" while developing, but to "mydomain.com" in release Feb 11 15:35:15 pfn: What are you gonna do when the end user modifies the Android Framework in RAM after your authorization signature already has been generated? Feb 11 15:35:16 justjanne has it right though - security against people in the middle is very different than security againt someone who has (essentially) infinite time to attack the device. Of course that said if I've got something handling anything sensitive i'd sure like any extra protection on it to make sure I'm running what I think I'm running. Feb 11 15:35:19 ^ Feb 11 15:35:21 what's the correct way to accomplish this Feb 11 15:35:36 wasnt anno 2070 Uplay DRM ? Feb 11 15:35:43 Rhainur, one way would be gradle flavors and putting the host as a string in xml Feb 11 15:35:50 danijoo_: it had both in the steam version, that was the issue. Feb 11 15:36:03 Rhainur, then you just drop two different strings.xml in the different flavors and pick which one you build Feb 11 15:36:05 are there any limitations I should be aware of? Feb 11 15:36:06 the UPlay DRM worked fine in WINE, Steam on its own, too, but not the combination of both DRMs Feb 11 15:36:19 Rhainur, if you don't want to go to that level, you can just put the host in strings.xml and change it yourself before release Feb 11 15:37:06 dragorn: well, even that barely works. In the end, as long as the user can open up the device, freeze it, and read RAM manually, they can completely break your authorization. Any DRM attempt where the user has control over the device is useless. Feb 11 15:37:24 Rhainur, if you dont want to use flavors, you can also put them both in your app and check at runtime Feb 11 15:37:29 seems a bit overkill to do it for one string Feb 11 15:37:32 if(BuildConfig.DEBUG) ..... else .... Feb 11 15:37:39 a whole different flavor I mean Feb 11 15:37:51 but I'll definitely keep it in mind if I have more things I need to swap between dev/prod Feb 11 15:39:13 justjanne, that said, that attack is (currently) more or less state level (or at least, extremely extremely targetted). Plus use of the TE environments and hardened physical key storage can significantly improve it - witness the debates about how to unlock encrypted devices under legal order. It's possible to make good decisions even while, in theory, anything can be broken given time. Feb 11 15:40:30 dragorn: yes, surely. But on Android only Google really has the capability to do Trusted Computing anyway, the best you can do is use the Google tools to check the signature of your app and the system at app start. Feb 11 15:40:42 After that, anyone can on Android always modify your in-RAM structure Feb 11 15:41:17 that's not really true, manufacturers can expose TE elements to apps. Feb 11 15:41:34 dragorn: but then you have to rely on your own apps code being okay. Feb 11 15:41:52 Which we already defined as not a given, considering that that’s what we want to check Feb 11 15:41:57 and "anyone" can't unless the device is entirely compromised Feb 11 15:42:35 well, dragorn, as I said, we assume a device with a compromised bootloader and TrustZone Feb 11 15:42:47 which is a given on all Android devices 5.1 or lower. Feb 11 15:43:09 if you've compromised the bootloader the game is completely over; it's also targetted, no-one is doing drive-by bootloader mods Feb 11 15:43:26 Although on devices after KitKat you have to blow a qFuse for that, which means your app can recognize if the bootloader is compromised – Feb 11 15:43:40 except, you have already compromised the code that reads the qFuses for userland Feb 11 15:44:22 dragorn: no one is yet. Currently 4 different "App with no permissions" to "Full SBL TrustZone" exploit chains are out there, unpatched before M. Feb 11 15:44:45 Sure, you won’t find them in the play store, but the user can always exploit their own system willingly. Feb 11 15:45:31 anything before M is a joke for security unless the vendor went out of their way to implement proper protections. You CAN do dm-verity and validated /boot and /system on L. Most manufacturers did not. Feb 11 15:45:31 DRM was never effective, and will never be. Anyone advising people to use App Signatures to check access to their backend is advising the dev to do Security by Obscurity, and misleading the dev into believing that would actually work. Feb 11 15:45:41 that said, nobody cares about single users exploiting something Feb 11 15:45:51 the problem is in scale Feb 11 15:45:56 danijoo_: well, missingno seemed to care about that. Feb 11 15:45:58 You're falling into the trap that the perfect is the enemy of the good. Nothing stops everything, but advocating "don't even try" solves nothing. Feb 11 15:46:09 > is there a way for your server to check an app's release signature Feb 11 15:46:39 That only stops the people who try to modify the app to patch a dark theme into it, for example. Feb 11 15:46:41 Stopping, for instance, attacks except targetted device compromise or users compromising themselves can have tremendous value Feb 11 15:46:50 Doesn’t stop anyone trying to abuse your backend Feb 11 15:56:31 what a fun debate Feb 11 15:56:45 justjanne what is your opinion of Google Wallet Feb 11 15:57:01 they seem to try to use every trick in the book to authenticate the client Feb 11 15:57:06 bootloader checks and all Feb 11 15:57:07 missingno: not available in my country, therefore wasn’t able to decompile and check yet. Feb 11 16:02:57 hello Feb 11 16:04:31 test Feb 11 16:04:49 I'm currently trying to replace the Android Framework in an emulated image (Nexus 6 running 6.0.0 from genymotion) Feb 11 16:05:02 but it isn't going very well Feb 11 16:05:25 JakeWharton: Any easy way to espresso test with ProcessPhoenix? I have a cleardata button essentially, and just wanna make sure it works and starts the app back up, but ProcessPhoenix seems to kill the app. Ideas? Feb 11 16:05:50 anyone knows why the styling i made to my progress bar is only visible on the emulator but no in a real device? Feb 11 16:09:16 filipelteixeira, #android-root Feb 11 16:09:36 and it might not work because genymotion is x86 and your image most probably ARM Feb 11 16:09:58 the image is stock from genymotion Feb 11 16:10:07 i've downloaded android source tree Feb 11 16:10:20 made minor changes in the java files Feb 11 16:10:28 and compiled it for x86 arch Feb 11 16:10:45 filipelteixeira, neverthelesss, this is a channel for application development Feb 11 16:10:54 JakeWharton: does Picasso support image/vnd.microsoft.icon, image/x-icon, image/ico, image/icon, text/ico, application/ico – you get what I mean, the .ico file format? Feb 11 16:11:21 ok sorry, i'm at android-root aswell Feb 11 16:12:37 justjanne: If BitmapFactory does, Picasso doesn't decode anything itself Feb 11 16:15:17 SimonVT: testing right now, let’s hope it does. Feb 11 16:17:41 Okay, BitmapFactory can decode it, with picasso, the app force closes Feb 11 16:17:42 great Feb 11 16:18:27 hi! how to transfer the "hello World!" app to my mobile device so that it runs even when the USB is not connected. thanks Feb 11 16:19:10 smorgasbord, adb install your.apk Feb 11 16:19:18 adb wireless Feb 11 16:19:36 okay, works. neat. Feb 11 16:19:43 i.e. https://play.google.com/store/apps/details?id=za.co.henry.hsu.adbwirelessbyhenry Feb 11 16:19:45 day before yesterday i had to go to grandle>assume something.... today forgot. Feb 11 16:20:00 gradle assmebleRelease Feb 11 16:20:06 gradle assembleRelease Feb 11 16:20:20 gradlew :P Feb 11 16:20:34 gradle Feb 11 16:21:35 today when i click on gradle nothing happens.. :( Feb 11 16:21:40 left hand side.. Feb 11 16:24:29 please guide. Feb 11 16:25:24 orr.. where is the app located in PC in the android studio folder ? Feb 11 16:25:44 OverCoder, about your question earlier today: http://prntscr.com/a1xb9g Feb 11 16:25:57 patch file :) Feb 11 16:26:12 smorgasbord, yes. its located under app/output/apk/apkname Feb 11 16:26:25 checking Feb 11 16:26:44 but if you install it through as (the green triagnle), it will also stay installed if you disconnect the cable Feb 11 16:28:13 danijoo_ awesome! thanks Feb 11 16:28:43 "C:\Users\****\AndroidStudioProjects\Learning\app\build\outputs\apk\app-debug.apk" Feb 11 16:28:44 vs Feb 11 16:28:50 "C:\Users\abcd\AndroidStudioProjects\Learning\app\build\outputs\apk\app-debug-unaligned.apk" Feb 11 16:28:53 please guide Feb 11 16:29:03 smorgasbord, read what zipaligning means Feb 11 16:29:20 okies. Feb 11 16:31:04 http://developer.android.com/intl/pt-br/tools/help/zipalign.html - reading Feb 11 16:32:00 we dont need regular status reports Feb 11 16:33:45 react native is super cool Feb 11 16:34:15 I dislike javascript, but it seems like you can throw an app together so quickly with this Feb 11 16:34:31 the way it live updates your emulator is awesome Feb 11 16:34:55 https://www.youtube.com/watch?v=LJLLyua0bYA Feb 11 16:34:56 :P Feb 11 16:35:31 do you know any case of app rejection due to using another payment processor instead of google for in-app products? Feb 11 16:36:27 RustyShackleford, in reality, you can't do much with it, not reliably Feb 11 16:36:58 dynamic languages like javascript are an utter pain to work with, since you have no static guarantees, testing is much more important to make sure changes don't break shit Feb 11 16:37:06 RustyShackleford, there are solutions to do that without crappy javascript :p Feb 11 16:37:19 react native is practically a requirement to make javascript usable Feb 11 16:37:33 it's not that react native makes development faster, it makes javascript usable for development Feb 11 16:38:14 yeah Feb 11 16:38:21 and makes battery drain faster ;) Feb 11 16:38:34 In theory I hate these alternative android frameworks Feb 11 16:38:40 but I'm going to give react native a try Feb 11 16:38:51 if you like javascript... Feb 11 16:38:54 RustyShackleford Angular 2 uses TypeScript Feb 11 16:38:57 only reason to like it Feb 11 16:38:59 which looks much better to me Feb 11 16:39:05 usually you can immediately spot one of these js frameworks. Read native loooks well, native Feb 11 16:39:19 g00s: nope I hate js. Just trying something different Feb 11 16:39:41 use scala.js ;P Feb 11 16:39:51 yeah, 'cept that doesn't work :P Feb 11 16:39:54 i'm just waiting for some better info, but the electron apps I've used have been pretty impressive Feb 11 16:39:54 not for react, lel Feb 11 16:40:01 Hm.. When I let a user pick an image to open with my app, how can I make sure it wont cause an OOM? I cant scale it down because I need to be able to modify and save it again. Feb 11 16:40:09 g00s: I hate electron apps Feb 11 16:40:14 they take a lot of space Feb 11 16:40:21 both on disk and in memory Feb 11 16:40:29 checking size and gracefully show a dialog if its bigger then >something< ? Feb 11 16:40:32 how does android studio determine if new library is available ? Feb 11 16:40:33 do it in jni Feb 11 16:40:59 hi pfn, danijoo Feb 11 16:41:00 gordon_ nothing take up more ram than my java crap so meh Feb 11 16:41:06 hi g00s Feb 11 16:41:08 not really Feb 11 16:41:12 javascript takes up more ram Feb 11 16:41:14 hey suhas_sm Feb 11 16:41:15 meh.. jni :/ Feb 11 16:41:24 g00s: we need to wait for java9 then Feb 11 16:41:31 and jigsaw Feb 11 16:41:37 that will be cool Feb 11 16:42:03 hope they wont make it bad Feb 11 16:42:28 danijoo_, jo process it in slices. Feb 11 16:42:34 i'd also like desktop multi-tenant jvm Feb 11 16:42:42 danijoo_, and render downscaled. Feb 11 16:42:52 Anything else is just kicking a can a bit further away. Feb 11 16:42:55 Until you die of OOM. Feb 11 16:43:07 g00s: what's wrong with openjdk ? Feb 11 16:43:09 Mavrik, right. Feb 11 16:43:14 how does android studio determine if new library is available ? #repost #question Feb 11 16:43:16 gordon_ is it multi tenant ? Feb 11 16:43:22 thats a good idea. let me see if this is possible Feb 11 16:43:22 suhas_sm, it doesn't Feb 11 16:43:42 g00s: what do you mean by that ? Feb 11 16:43:53 one jvm running all the apps Feb 11 16:43:53 I get a notification in down if new versions of certain libraries are available :| Feb 11 16:44:09 like single process / Feb 11 16:44:11 security issues abound Feb 11 16:44:16 or what Feb 11 16:44:17 yeah can't trust AS Feb 11 16:44:26 One step includes swapping pixels arround based on an algorithm. Im not sure if and how this can be done in slices. Feb 11 16:44:34 basically an app-server, but for arbitrary java apps Feb 11 16:44:38 I think ill have to investigate this a bit further Feb 11 16:44:38 suhas_sm: probably checks local maven repo Feb 11 16:44:52 hmmm Feb 11 16:45:08 danijoo_, what kind of processing are you doing_ Feb 11 16:45:09 ? Feb 11 16:45:20 So android studio downlaods dependencies and puts in local maven repo ? Feb 11 16:45:34 suhas_sm, no Feb 11 16:45:51 hmm Feb 11 16:45:52 actually, no idea what android studio does Feb 11 16:45:59 I assume it used the gradle cache, maybe not Feb 11 16:46:11 pfn: isnt gradle cache the same as maven repo ? Feb 11 16:46:16 gordon_, no Feb 11 16:46:24 ok Feb 11 16:46:30 maybe it was in the past Feb 11 16:46:32 for some reason, gradle thought it was better to implement their own internal cache that does not interop Feb 11 16:46:37 ah, it was ivy back then Feb 11 16:46:40 s/not// Feb 11 16:46:50 er, nevermind s// Feb 11 16:47:00 pfn: I wish sbt would drop ivy ;) Feb 11 16:47:16 gordon_, that is the least of the complaints against sbt Feb 11 16:47:33 I've seen this pretty often Feb 11 16:47:51 that download is slow Feb 11 16:47:56 and takes a lot of time Feb 11 16:47:56 Mavrik, I recently stumbled upon this article and want to make a small POC for android out of it: http://www.ijert.org/view-pdf/8777/color-image-encryption-and-decryption-using-pixel-shuffling-with-henon-chaotic-system Feb 11 16:48:02 download is pretty slow in every dependency-resolving system Feb 11 16:48:29 it was said that ivy will be replaced Feb 11 16:48:31 in post 1.0 Feb 11 16:48:32 basically its applying Arnolds cat map + XORing with a henon map Feb 11 16:48:39 post 1.0 means forever away Feb 11 16:48:45 danijoo_, on how large of a kernel? Feb 11 16:48:48 well, yeah ;) Feb 11 16:49:16 is there a way to center the items of a recyclerview in it vertically? Standard vertical recyclerview, but want to center the items if there are less items than necessary to fill the screen Feb 11 16:49:56 Mavrik, i dont understand? Feb 11 16:50:18 justjanne i wonder if you could wrap_content the next version of RV and put its gravity as center_vertical in a framelayout or something Feb 11 16:50:19 danijoo_, (too lazy to read the doc), what's the size of the image the algorithm touches at once_ Feb 11 16:50:21 ? Feb 11 16:50:27 Can you break it up in several blocks? Feb 11 16:50:36 Mavrik, oh thats a nice idea. Feb 11 16:50:50 in the paper its 256 px but I wanted to do it for the full image size Feb 11 16:50:55 g00s: that’s exactly what I wish to do, but I need it today. Feb 11 16:51:03 but I think it should be possible to do it in blocks Feb 11 16:51:29 justjanne next version of support lib is supposed to have wrap_content for RV height , shame if you wasted effort now ;) Feb 11 16:51:30 why havent I think about that Feb 11 16:51:45 g00s: well, unless I have an ETA, that won’t help me much :/ Feb 11 16:51:58 yeah, when the hell is the next support lib drop going to be ... Feb 11 16:52:13 not like its free of bugs and shit Feb 11 16:52:38 i dont think i've seen an update since last year nov-ish ... Feb 11 16:53:33 is there a way to get ALL google fit data of a specific type? Feb 11 16:53:34 i think this is the only one working on it http://imgur.com/M8vON7Y - replaced chris Feb 11 16:55:05 currently trying to use a request with a time range from unix time 1 to now and bucketed by minDuration 1 second. Feb 11 16:57:12 danijoo_ good read. thanks. Feb 11 17:09:33 danijoo_, hey yo Feb 11 17:09:37 danijoo_, about that printscr Feb 11 17:09:41 Is that you doing it? Feb 11 17:09:50 Are you doing it from a 1.x version? Feb 11 17:11:14 Also how did you manage to set it to get the beta update? when I check for updates it only shows me 1.5.x as the latest stable version Feb 11 17:13:11 Hey Gang Feb 11 17:13:49 Can anyone recommend a good java FFT library? I know there are a bunch but it's hard to tell which one I should go with Feb 11 17:17:34 Ankhwatcher adq might know; but sounds like c would be better Feb 11 17:18:23 Ankhwatcher maybe also consider something in RS https://github.com/nesl/renderScriptFFT Feb 11 17:20:04 Ankhwatcher, try fftpack Feb 11 17:20:14 but if you want performance, you should go jni or RS Feb 11 17:21:31 Ankhwatcher, you could also try the fft in superpowered sdk, or find an fft port of FFTW (Fastest Fourier Transform in the West) Feb 11 17:23:17 another alternative would be feeding a buffer to the android visualizer class, they got an fft implement which directly returns you the magnitudes of the bins Feb 11 17:24:02 but it sux high, and it will degraded things too (8bits pcm iirc), not mentioning it's very unclear for the window size and you cannot choose the windowing algo you would like Feb 11 17:24:09 yeah, I just came across that now while looking for options Feb 11 17:24:32 I'm using fftpack in a project, i'm pretty happy with it but it's expensive Feb 11 17:24:47 and i have to do windowing myself of course Feb 11 17:25:17 cool, I'll check those out Feb 11 17:25:45 at the moment we do our fft based on apache commons maht Feb 11 17:25:50 s/maht/math Feb 11 17:25:51 you will also need to compute yourself magnitude (real * real + imaginary * imaginary) Feb 11 17:26:08 I was thinking I'd have a look at JTransforms Feb 11 17:26:28 what are you using the fft for? Feb 11 17:26:34 idk for apache, it might come with a zillion of dependencies Feb 11 17:26:40 fftpack is pretty self-contained Feb 11 17:26:47 yeah it seems pretty messy Feb 11 17:27:08 RustyShackleford: quantifying EEG data Feb 11 17:27:31 cool stuff Feb 11 17:28:23 okay. whats EEG? Feb 11 17:28:28 lol so many acronyms Feb 11 17:28:35 Electroencephalography Feb 11 17:28:37 Ankhwatcher i've seen a few books on ML and diagnosis from eeg Feb 11 17:28:43 you should learn to search more efficiently RustyShackleford :) Feb 11 17:28:46 whats Electro... nevermind Feb 11 17:28:55 * g00s steps on RustyShackleford toe Feb 11 17:29:18 oh man it kills this morning Feb 11 17:29:27 everyday with AS Feb 11 17:29:29 dude .. go .. to .. podiatrist ... Feb 11 17:29:32 feels like the road runner dropped an anvil on my toe Feb 11 17:30:36 g00s: I just feel like they're going to tell me tape it to its neighbor, ice it, and don't put weight on it Feb 11 17:30:49 mayeb , or maybe not Feb 11 17:30:52 unless I need pins in my foot, theres not much they can do Feb 11 17:31:35 when I was in secondary school one of my friends accidentally put all of his weight on my toe Feb 11 17:32:07 hi, can i install the rom of galaxy i8552b in genymotion ? Feb 11 17:32:27 i have a crash in my app with this device and version 4.1.2 Feb 11 17:32:33 the podiatrist had to remove the nail, unfortunately they missed a bit and I had to keep going back so they could dig around in my big toe for bits of nail Feb 11 17:32:58 t0th_-_: I think I know that crash, it's an old support library Feb 11 17:33:17 no, i am usign a lib secure-preferences Feb 11 17:33:49 java.lang.IllegalStateException: java.security.NoSuchAlgorithmException: SecretKeyFactory PBKDF2WithHmacSHA1 implementation not found Feb 11 17:33:56 i need simulate this crash to fix Feb 11 17:33:59 try fix it Feb 11 17:34:21 Ankhwatcher: oh god stop Feb 11 17:34:26 lol Feb 11 17:35:01 its rediculous. On sunday I was on a ladder, I jacked up my 3500 lb car and climbed underneath Feb 11 17:35:09 did it all safely without injuring myself Feb 11 17:35:24 but walking in my own house is too much to handle Feb 11 17:37:20 yeah.. I should look up a podiatrist. Theres one guy i've been to before, but he was a a-hole Feb 11 17:37:45 he might have to amputate it Feb 11 17:37:45 t0th_-_, pass another implementation you are sure it is not supported Feb 11 17:37:46 I still wonder how I should ideally display an account selection screen Feb 11 17:37:53 or throw yourself the exception Feb 11 17:38:08 it’d show a number of already logged in accounts, or an "add account" button. Centered both. Feb 11 17:38:18 But recyclerview has no wrap content, no center, nothing Feb 11 17:38:19 UGH Feb 11 17:38:33 justjanne maybe like account picker in most happs + nav drawer ? Feb 11 17:38:40 *gapps Feb 11 17:38:49 Are there any cases for the Nexus 5x that cover up the fingerprint sensor? Feb 11 17:39:15 barq: you want it covered? Feb 11 17:39:44 Yes, I don't want to use it. Feb 11 17:40:37 Oops, I thought I was in #android Feb 11 17:41:13 barq actually you are in #podiatry Feb 11 17:41:21 hmm, in code, where can IntentFilter be used besides registerReceiver? Feb 11 17:43:47 i've been working on this simple issue for like 4 days. My team must think I'm a moron Feb 11 17:44:34 Is drawable animation intensive? I'm performing scale and opacity animations on views inside a recyclerview. These views repeat themselves 3 times per item, and there are about 7 or 8 items on screen Feb 11 17:44:46 It's getting slow Feb 11 17:45:09 g00s: I’m more talking about first login, or if you’ve logged out of that account before Feb 11 17:45:32 I'm doing an animation like this: http://codepen.io/renatocarvalho/pen/VvMNjN Feb 11 17:45:33 the second issue is that I already need the drawers’ account picker, Feb 11 17:45:35 But it's slow Feb 11 17:45:42 because each account has subaccounts that are configurable Feb 11 17:52:04 I wish android apidoc had a 'uses of' link like normal javadoc... Feb 11 17:53:14 Hi, I've got snapdragon 900 devkit with root, what's the easiest way to install gcc and compile/run programs on it? preferrably w/o install sdk/studio Feb 11 17:53:27 the package manager has some apis related to it (one depracated, one unclear to me) Feb 11 17:54:14 pfn: Why on earth would you think documentation would try to help you use the thing that’s being documented? Feb 11 17:54:34 voker57: Try #android-root. This is mainly for app development. Feb 11 17:55:02 for the most part, only registerReceiver uses IntentFilter Feb 11 17:55:08 (developer facing code) Feb 11 17:55:36 i think you use it in a notification too, but I’m not 1000% sure about that Feb 11 17:57:41 hmm, nevermind, can't really write an extension function for context to register a receiver, since there's no way to unregister it Feb 11 17:57:59 eh, I guess I could return the created receiver Feb 11 17:58:13 yuck either way Feb 11 18:05:02 casadogg, it should not be too much intensive maybe the bottleneck is somewhere else Feb 11 18:05:17 profile & find where the bottleneck is Feb 11 18:05:57 hm ok, I use a bunch of listeners to trigger some animations Feb 11 18:06:58 you might need to use an animator sets, delaying the start of each dot Feb 11 18:20:19 JakeWharton: Any easy way to espresso test with ProcessPhoenix? I have a cleardata button essentially, and just wanna make sure it works and starts the app back up, but ProcessPhoenix seems to kill the app. Ideas? Feb 11 18:23:10 eghdk you could make in intent launch just before the app is killed to start the app up. Feb 11 18:24:06 Yeah, but I think espresso tests fail when the process is killed. So the process is killed and a new activity starts up, but espresso fails when process dies Feb 11 18:36:39 you can't espresso test processphoenix Feb 11 18:36:42 that seems rather clear Feb 11 18:36:48 process exit => tests end Feb 11 18:37:02 the tests run within the process Feb 11 18:37:28 state restoration doesn't not include test runner Feb 11 19:16:24 http://open.blogs.nytimes.com/2016/02/11/improving-startup-time-in-the-nytimes-android-app Feb 11 19:17:55 but sounds like they made lots of poor decisions upfront Feb 11 19:18:49 nimbledroid seems neat though Feb 11 19:26:38 hi Feb 11 19:26:46 hello Feb 11 19:27:24 for a game, we have basically 3 versions: free, pro and a sequel just called "game-name 2" Feb 11 19:27:47 is there a recommended way to manage these 3 different android apps, because they share much of the same code? Feb 11 19:28:15 build flavors? Feb 11 19:28:23 product flavors? Feb 11 19:30:07 g00s: interesting, that reminds me why my startup times recently went so bad. Feb 11 19:30:30 I added Guava and a reflection based appstate serializer. Feb 11 19:31:07 looks like they moved away from Groovy Feb 11 19:32:02 i remember reading their blog, where it was full steam ahead groovy ... Feb 11 19:32:07 * g00s was shaking his head Feb 11 19:32:23 as someone whose never used groovy, what's wrong with it? Feb 11 19:32:54 They added Groovy just to get the closure syntax? I guess they deserve what they got Feb 11 19:32:57 well, in their case, it was causing slowdown issues upon startup, and the article was about them reducing startup time Feb 11 19:33:04 if i recall too much dynamic typing slowed thing down Feb 11 19:33:11 No kidding Feb 11 19:33:17 :') Feb 11 19:33:34 I hope Google is reading this, and sees that people want closures, and want to move up to Java 8 Feb 11 19:33:36 they used groovy to use closures just so they looked great? Because they said, the code folding removed the need :/ Feb 11 19:33:44 yeah it’s facepalm time Feb 11 19:33:51 s73v3r, s/java 8/kotlin :p Feb 11 19:33:56 no Feb 11 19:34:06 yes :) Feb 11 19:34:15 as cool as kotlin looks, I want Google to keep up with the times Feb 11 19:34:30 yes Feb 11 19:34:31 yeah, me too. and if you want to use kotlin then great Feb 11 19:34:40 eventually there’s going to come a time where their Java has diverged from regular java, and then we can’t share libraries anymore Feb 11 19:34:56 thats the worst that could happen. yeah :/ Feb 11 19:35:12 in some cases thats already happened, but thanks to the openjdk merger - who knows how long thats going to take though Feb 11 19:35:22 I’m not saying no to Kotlin, but I’m saying that’s not an acceptable solution from Google Feb 11 19:35:47 lets not debate this again :p Feb 11 19:35:52 Ceylon 1.2.1 is out, looks like they are modularizing their runtime. so you can grab what you need. Feb 11 19:36:07 for more interesting looking language imho Feb 11 19:36:10 *far Feb 11 19:36:29 i honestly don’t know what there is to debate. Google needs to keep up with their tools. Keeping up with Java developments is part of that Feb 11 19:36:37 yeah Feb 11 19:40:43 need less bugs, more boilerplate and more stability Feb 11 19:41:48 adq more boilerplate ? Feb 11 19:41:50 lol Feb 11 19:41:52 yes Feb 11 19:42:03 it's crazy the number of lines you have to write for doing simple things Feb 11 19:42:24 at least most of it is automated by the ide Feb 11 19:42:39 code completion everywhere Feb 11 19:42:43 the ide is the worst thing which happened in the whole android dev ecosystem Feb 11 19:42:53 cf b.android.com Feb 11 19:43:04 i've limited myself to write _one_ ticket per day now Feb 11 19:43:25 adq i gave up after each one was 'provide more info' Feb 11 19:43:28 first (different) issue i hit is always in the morning Feb 11 19:43:36 * g00s doesn't write any now Feb 11 19:43:54 So you can't write tickets? :P Feb 11 19:44:02 g00s, i'm lucky they tend to fix what i report except some major issues still there after few years Feb 11 19:44:08 Opened June 2013, status "new" :/ Feb 11 19:44:17 obsolete Feb 11 19:44:23 ^ worst :p bot sweep Feb 11 19:44:28 Mavrik happens a lot, to many tickets. they are just closed - i think the triage team is just lazy and punts be 'needsinfo' Feb 11 19:44:56 probably have a bunch of people offshore as human filter Feb 11 19:45:05 *shrug* They should just have a private tracker for people that they trust like Apple does. Feb 11 19:45:06 i talked to ppl using IDEA and not AS, they don't have so much and similar issues Feb 11 19:45:12 Too many incompetent morons in dev community. Feb 11 19:45:17 Just creating useless noise and time waste. Feb 11 19:45:31 sorry... Feb 11 19:45:41 new dev which means probably incompetent Feb 11 19:45:46 i'm competent when it's about to click "report to google" in AS Feb 11 19:45:50 i do it everyday Feb 11 19:45:53 AntigravityHat, it's not the same. Feb 11 19:47:16 adq, I've used for some time IDEA instead of AS, i think you are right in that it seems there are usually less bugs in it. Feb 11 19:47:26 btw, do any of you know of a mostly complete guide on using okhttp-ws? Feb 11 19:47:38 the wiki is barely anything Feb 11 19:47:45 well, i specifically asked from time to time ppl i know if "this issue" or "that issue" already occured and they always denied Feb 11 19:47:49 Adyrhan, less features => less features that could be broken Feb 11 19:47:56 maybe people will realize now eclipse was not so unstable, but the ADT was crap Feb 11 19:47:59 I have a RelativeLayout inside a FrameLayout and it’s displaying almost normally except it has a big margin around it. Am I combining the wrong things? Feb 11 19:48:33 g00s, yes this is what i'm thinking now but it was not the case until a year or a bit more after AS was released as eclipse supplicant Feb 11 19:48:37 The developers before me had used a instead of RelativeLayout but that’s not working with the new design Feb 11 19:48:47 Now I'm also using AS, and it took a few updates to get to one where I could work without the thing crashing. I'm kinda scared of updating now that it works xDD Feb 11 19:48:53 now i see that refactor is going very wild (if not wrong) and that this ide is not capable of proper undo/redo sometimes Feb 11 19:48:58 mangling your code! Feb 11 19:49:05 among manyyyyyy other problems Feb 11 19:49:39 Use vim then_ Feb 11 19:49:41 ? Feb 11 19:49:51 i do too Feb 11 19:49:57 I was good enough for writing several operating systems, you'll be able to handle a single app. Feb 11 19:49:58 (gvim, shame on me :p) Feb 11 19:50:06 It's not like it's illegal to use tools not provided by Google. Feb 11 19:50:11 Or libraries not provided by Google. Feb 11 19:50:15 Or anything not provided by Google. Feb 11 19:50:39 Doesn't work? Replace it. Feb 11 19:50:47 adq btw vim + fzf = joy :) Feb 11 19:51:01 i guess ctrl-t does the same thing as fzf Feb 11 19:51:16 Mavrik, I can still complain but also provide relevant feedback via tickets Feb 11 19:51:21 fzf? Feb 11 19:51:26 fuzzyfind? Feb 11 19:51:30 yes Feb 11 19:51:33 You're not doing anything but complain. Feb 11 19:51:43 Adyrhan https://github.com/junegunn/fzf Feb 11 19:51:44 Meanwhile smart people actually fix shit. Feb 11 19:51:47 And ship. Feb 11 19:51:49 -__- Feb 11 19:52:00 adq too much bro here Feb 11 19:52:17 What do you use for compiling etc using vim Feb 11 19:52:22 gradlew Feb 11 19:53:20 Adyrhan ghostmoth you can say $ cd ** and get a dir picker with bash / zsh ... very nice Feb 11 19:53:40 that's cool Feb 11 19:53:45 kinda like fasd Feb 11 20:03:26 Afternoon everyone, could anyone help me figure out my issue with navigation drawer? My question can be seen here :http://stackoverflow.com/questions/35307219/fragment-not-switching-for-navigation-drawer?noredirect=1#comment58324680_35307219 Feb 11 20:05:16 circ-user-zKqer ... i dont see any code that switches fragments O.o Feb 11 20:05:27 I dunno, I need to talk to my team lead. I cannot think of a way to fix this without changing a whole bunch of stuff Feb 11 20:05:38 or breaking a whole bunch of stuff. I've got a lot of time sunk into this Feb 11 20:06:37 circ-user-zKqer here is a good tut https://guides.codepath.com/android/Fragment-Navigation-Drawer Feb 11 20:06:56 g00s, isn't the fragment Transaction.replace replacing the current fragment? Feb 11 20:07:22 What’s the simplest way to show a setup activity with separate slides, similar to Android’s first time setup? Feb 11 20:07:34 circ-user-zKqer oh sorry missed that Feb 11 20:10:47 justjanne, this lib has popped recently in some android weekly news: https://github.com/Cleveroad/slidingtutorial-android but you might also want to simply look like at the burger sample Feb 11 20:11:04 I've looked over quite a few examples and it seems like i've included everything that I would need, but when i launch it in the emulator, it almost seems like it's skipping over the if statements Feb 11 20:12:02 do people run into trouble using openjdk instead of oracle when doing android development on linux? (debian in this case) Feb 11 20:12:20 adq: I already looked at https://github.com/PaoloRotolo/AppIntro, which is similar, but neither really supports input screens with edittexts and the ability to choose things, and so on Feb 11 20:13:09 duboisj, its fine Feb 11 20:16:29 I’m getting problems from internal.view.ContextThemeWrapper failing to find my onClicked listener. Oddly, the same source built on my Mac and run on the same device works fine, but the build from debian is busted. Maybe there’s some other config difference. Feb 11 20:18:24 adq: I’ll end up copying the layout from Google’s setup for a new device Feb 11 20:18:39 duboisj: it happened to me once using java/awt classes Feb 11 20:18:48 so I always just install oracle jdk Feb 11 20:19:06 Fabric released a new tool you didnt know you need https://fabric.io/blog/introducing-screengrab Feb 11 20:19:07 RustyShackleford: what’s happened? same error? Feb 11 20:19:08 99.9% of the time i've used jdk, it's worked Feb 11 20:19:12 (and you most probably dont) Feb 11 20:19:43 duboisj: I dunno exactly. I just remember getting strange behavior. Tried it on a windows box with oracle jdk and it worked flawlessly Feb 11 20:20:05 (well, I guess I didn’t paste it. this is what I see: java.lang.IllegalStateException: Could not find a method showKeyboardClicked(View) in the activity class android.support.v7.internal.view.ContextThemeWrapper for onClick handler on view class android.widget.ImageButton with id 'show_keyboard' ) Feb 11 20:20:18 RustyShackleford: ah, OK. maybe I’ll try it. Feb 11 20:20:25 danijoo__: woah, that’s awesome! Feb 11 20:20:27 not the same error, this happened on the PC Feb 11 20:20:37 no android classes involved Feb 11 20:21:01 Oh, this wasn’t android development on a PC, just using java. Feb 11 20:21:21 ( awt … missed that I guess.) Thanks Feb 11 20:21:40 openjdk contributes to oracle jdk I believe Feb 11 20:21:44 justjanne, serious or sarcasm? Feb 11 20:22:24 if serious, look at what you need to do to implement it ^^ Feb 11 20:22:54 danijoo__: well, that’s not automated enough for me Feb 11 20:23:10 I’ll continue using my hacky bash script that uses adb shell and so on for the same Feb 11 20:23:26 you need extra permissions in manifest + create test cases Feb 11 20:23:41 In that time I can make 10000 screenshots by hand or with calabash Feb 11 20:24:37 well, danijoo__, I even have my own tool that automagically overwrites the status bar on each screenshot ;) Feb 11 20:24:57 im too lazy to upload localized screenshots Feb 11 20:25:02 i should but... meh Feb 11 20:25:21 well, my localizations are: 70% German, 30% norwegian. Feb 11 20:25:23 great, eh? Feb 11 20:25:35 30% ? ^^ Feb 11 20:25:45 of ressources localized. Feb 11 20:25:49 100% english, ofc Feb 11 20:25:49 ah! Feb 11 20:25:59 it’s hard to localize into German >_> Feb 11 20:26:12 yeah it is... Feb 11 20:26:25 german is so verbose. it always exceeds the textview space if they are made for english :/ Feb 11 20:30:50 They need The Elements of Style. Feb 11 20:34:37 danijoo__, though, try fitting this one in a nice layout "Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft" Feb 11 20:34:39 :D Feb 11 20:34:56 exactly :p Feb 11 20:39:09 yeah, even worse: Feb 11 20:39:14 try using twitter in German Feb 11 20:39:21 you barely fit like 3 words in a tweet Feb 11 20:41:17 that will change soon though Feb 11 20:41:34 yeah, finally Feb 11 20:41:39 will they increase the limit? Feb 11 20:41:48 yes. to 10k Feb 11 20:41:49 ha. Google translate autodetects that as german Feb 11 20:41:59 no english translation though Feb 11 20:42:28 10k? that's quit e a big jump Feb 11 20:42:31 truckcrash, if its more than 20 chars without space it must be german. thats an easy algorithm :D Feb 11 20:56:57 how do apps with authentication use GCM? for example, if someone logs into an account within an app how does one restrict notifications for that account with GCM? Feb 11 20:57:40 why do you want to restrict access for someone who is logged in? Feb 11 20:57:53 danijoo__: not restrict access, but restrict those notifications Feb 11 20:58:12 ie if someone logs in, "follows" someone to receive notifications, then logs out and logs in as another account Feb 11 20:58:43 dont send gcms if hes logged out Feb 11 20:59:10 so then the back end has to manage login state? Feb 11 20:59:27 also, if you're using GCM topics how would that work? Feb 11 21:01:18 i think this should be backend managed yes. but im not into gcm Feb 11 21:02:03 the notification should contain something like "account has new information" Feb 11 21:02:11 and the app should fetch new information Feb 11 21:02:18 if the account doesn't match currently logged in account, ignore it Feb 11 21:02:32 alternatively, unregister from gcm when logging out/switching accounts Feb 11 21:08:23 you guys hated my chained onActivityResult() tactic haha Feb 11 21:08:46 pfn: yes, unregistering is fine. but if the device is added to a bunch of topics, how do you handle that? Feb 11 21:08:49 but that is the best approach i've taken so far. I HAVE NO IDEA HOW THIS APP WORKS! Feb 11 21:08:56 resubscribe them once they log in to the account that is subscribed to the topics? Feb 11 21:09:08 sure Feb 11 21:09:24 depends on how you implement account switching Feb 11 21:09:35 if you completely log out, then you should unsubscribe everything on logout Feb 11 21:09:51 if you do google-style account switching, then you shouldn't unsubscribe anything Feb 11 21:10:20 pfn: no, it's a third-party auth Feb 11 21:10:32 so the back end manages what topics the 'user' is subscribed to Feb 11 21:10:52 once they switch accounts, the app asks the back end what topics to subscribe to, and it subscribes accordingly Feb 11 21:10:55 like that? Feb 11 21:10:59 then the backend knows which device a user is logged into then Feb 11 21:11:04 pretty much Feb 11 21:11:09 ok, i think i have this Feb 11 21:11:12 thank you pfn Feb 11 21:35:00 Hey all, what do you guys do about MediaPlayer? Doesn't seem like it works, at least not universally, and yet the device in question is perfectly capable of playing media...what gives? Feb 11 21:36:18 as a reference point all I'm doing is trying to play a 11 second mp3 file - I tried converting to webm, no dice Feb 11 21:37:15 a better reference point would be your actual code or a stacktrace.. http://imgur.com/jacoj Feb 11 21:39:46 hmm, nvm might be a non issue Feb 11 21:40:11 confusing message from the jni I guess, it was saying some impl was unavailable...looks like it was something wrong with my inputstream... Feb 11 21:40:24 confusing and def unhelpful... Feb 11 21:40:27 oh well Feb 11 21:41:58 Hey, considering that viewpagers scroll left-right, and my scrollview scrolls top-bottom, can I somehow nest them and make it work properly? Feb 11 21:42:18 currently the viewpager just eats all scroll events ontop of itself Feb 11 21:44:02 justjanne, is your viewpager IN a scrollview? because the other way arround i dont have probs Feb 11 21:44:17 yes Feb 11 21:44:34 ........ Feb 11 21:45:11 JakeWharton: Any easy way to espresso test with ProcessPhoenix? I have a cleardata button essentially, and just wanna make sure it works and starts the app back up, but ProcessPhoenix seems to kill the app. Ideas? Feb 11 21:45:33 no, the answer is no Feb 11 21:45:43 ........ Feb 11 21:46:11 justjanne, no way to do it the other way ? i think each fragment should chose on its own if its scrollable or not Feb 11 21:46:52 danijoo__: nope, no way to do it otherwise Feb 11 21:47:01 well, no simple way Feb 11 21:47:27 maybe theres a way to catch scroll events and aplly them to the scrollable fragment manually. im not sure Feb 11 21:47:28 I’ll probably end up building something with coordinatorlayout :/ Feb 11 21:47:48 danijoo__: so, yes, the pager is in a scrollview Feb 11 21:48:00 heyooo! :D Feb 11 21:48:05 justjanne, coordinatorlayout also works if the scrollview is inside the viewpager Feb 11 21:48:45 ie will still make coordinatorlayout work Feb 11 21:48:48 it should be able to work as is Feb 11 21:48:54 well, it doesn’t Feb 11 21:49:00 the viewpager eats all scroll events Feb 11 21:49:16 you might have to intercept events, but otherwise able to work Feb 11 21:53:16 I'm trying to make a simple LWP, and I was thinking, is it possible to use an SVG as animated element? also, is it possible to keep one path still while animating another one? or should I use two different drawables? Feb 11 22:00:39 pfn: how’d I go for that? I haven’t done anything with touch events yet Feb 11 22:00:48 (I usually do more backend stuff) Feb 11 22:00:57 you can request disabling of touch intercepts and such Feb 11 22:01:16 and you can request intercepts (from parent and child, respectively) Feb 11 22:04:19 when to use a Service vs an IntentService? Feb 11 22:05:21 read the doc and decide for yourself Feb 11 22:06:24 a service is a lifecycle container Feb 11 22:06:30 choose a particular implementation that does what you /need/ Feb 11 22:06:41 okay I guess I can read more. I'm not sure what works better Feb 11 22:07:20 I'm thinking of a service that reprensents the user's session Feb 11 22:08:14 I don't need communication between the service and activities. Its going to have a timer that will close the session after the session times out Feb 11 22:09:11 pfn: how’d I do that? sorry :/ Feb 11 22:10:08 justjanne, there are several methods on view/viewgroup with 'intercept' in their name, they should give you an idea of what you might be able to do to get around that Feb 11 22:11:46 RustyShackleford think of IntentService like a job queue Feb 11 22:12:24 I don't need a queue. Actually I think i'd want only one user at a time Feb 11 22:12:30 ;) Feb 11 22:12:53 I don't fully understand what binding to a service means either Feb 11 22:13:16 luckily the docs are pretty good in this area ;) Feb 11 22:13:53 guess I'll just read more. Better hobble upstairs and grab some more coffee Feb 11 22:14:31 binding to service means that you ask the android to perform an elaborate dance after which it hands you that particular service instance Feb 11 22:14:53 oh hai alankila Feb 11 22:15:06 so that you can call methods on it directly rather than just send intents and then maybe hope the service is catching them Feb 11 22:15:09 hai hai Feb 11 22:16:56 Is it possible to have a single background image that can be seen through the toolbar, any tabs the activity might have, and the content of the view? Feb 11 22:17:25 Like a backgound in a layout and transparent toolbars so it looks seamless Feb 11 22:18:22 ghostmoth, make those components transparent Feb 11 22:19:01 I did but the background image is set in the layout for the content and doesn’t go behind the toolbars danijoo__ Feb 11 22:19:13 So where would I set the background image? Feb 11 22:19:20 root view Feb 11 22:19:38 Cool, I’ll look into that. Thanks! Feb 11 22:20:03 lol ^^ Feb 11 22:21:07 ? Feb 11 22:21:13 ghostmoth also see View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN Feb 11 22:21:26 Thanks g00s Feb 11 22:21:51 http://developer.android.com/training/system-ui/immersive.html is a jumping point even if you arent using immersive Feb 11 22:22:19 so if I wanted the one that is simpler, would that be Service or IntentService? Feb 11 22:22:34 it's hard to tell at this point. Docs arent always the easiest thing to read Feb 11 22:22:36 RustyShackleford apples and oranges Feb 11 22:22:53 like i said, intentService is like a job queue Feb 11 22:23:57 i dont like how intentservice kills the thead between intents. is that still true? or am i lost? Feb 11 22:24:18 is the queue is empty, to be more precise Feb 11 22:24:24 if* Feb 11 22:24:28 I don't need multithreading and I don't need a job queue Feb 11 22:24:33 maybe I just don't need a service Feb 11 22:24:42 whatcha doin? Feb 11 22:25:03 maybe you dont need an app :p Feb 11 22:25:26 I'm picturing a SessionService. It has the users account info and handles logins/logouts Feb 11 22:25:48 I want a dialog that looks like a contextmenu to be displayed on Click of a button. Should I do that by extending DialogFragment? Feb 11 22:35:36 anyone knows what is the correct way of passing a bunch of JSON to my LEMP server? Feb 11 22:35:41 no hints for me? :( Feb 11 22:35:46 PUT route or POST or what? Feb 11 22:36:32 PUT or POST, depending on what you’re doing Feb 11 22:37:01 i just said what i'm doing Feb 11 22:37:13 "passing a bunch of JSON to my LEMP server" Feb 11 22:37:17 you said you’re sending JSON to your server. You didn’t say what that JSON is doing Feb 11 22:37:30 JSON doesnt do anything Feb 11 22:37:37 why send it then :p\ Feb 11 22:37:41 it's Javascript Object Notation Feb 11 22:37:46 the intent does. whether you’re updating or creating Feb 11 22:38:06 In theory, PUT and POST are for two different operations, updating vs creating. In practice, use whichever one you want Feb 11 22:38:10 danijoo__: its data, data doesnt do anything :P Feb 11 22:38:16 no, stop this. Feb 11 22:38:23 context does matter, no matter how much you want to disagree Feb 11 22:38:24 lmao Feb 11 22:38:31 i don't disagree Feb 11 22:38:49 clearly you do, hence you being an ass whenever someone asks for context Feb 11 22:39:10 no i don't i just said it doesn't do antything, it's data Feb 11 22:39:21 you want help, not we... Feb 11 22:39:27 no, now you’re being obtuse. you know damn well what I was talking about Feb 11 22:39:54 well, i just want to know what is the correct way to do it under android development Feb 11 22:40:01 or the best way Feb 11 22:40:09 morse it Feb 11 22:40:09 future proof Feb 11 22:40:15 and I said it depends on what you’re doing. PUT and POST are for different situations Feb 11 22:40:23 and Android has fuck all to do with it Feb 11 22:40:44 morse is damn future proof Feb 11 22:41:02 danijoo__: well, looks like you don't know what is the best way to do it then Feb 11 22:41:19 Twirl, nice try ;) Feb 11 22:41:21 morse has been around since the 1830s, so it has proven pretty resilient so far Feb 11 22:41:38 you still didnt answer s73v3r question so you wont get a good answer from anyone.. Feb 11 22:41:49 great, another kindergarten chan... Feb 11 22:41:50 i'm using some kind of morse code anyways, i'm talking higher level Feb 11 22:42:05 Twirl likes to play 'i have a question, come get it!" Feb 11 22:42:09 if you look at what's coming out of my network adapter it looks pretty similar to morse code Feb 11 22:42:21 g00s, maybe thats why he never gets good answers :P Feb 11 22:42:51 carefully explaining your question is half the solution Feb 11 22:43:18 g00s: you jumped into the conversetion to make that comment Feb 11 22:43:32 g00s: you must feel a great sense of accomplishment so far Feb 11 22:43:35 you could also make the app send pidgeons. Feb 11 22:43:40 g00s: i'm proud of you son Feb 11 22:43:40 Or owls.. Feb 11 22:43:51 not owls. not again Feb 11 22:44:04 Hogwarts used owls with great success. Feb 11 22:45:31 adq: i agree, i need to send a bunch of JSON into my LEMP server, i could make that into a POST request or make it a PUT request or something else, i'm trying to find the best way to do it, in this scenario i will be inserting client input into the database Feb 11 22:46:11 JSON would make my life easier but it doesn't have to be either Feb 11 22:46:17 that has already been answered Feb 11 22:47:21 s73v3r: where? Feb 11 22:47:29 scroll up and look for it Feb 11 22:47:32 maybe i'm blinking too much Feb 11 22:48:27 it was the owls answer Feb 11 22:49:20 well, that's really not very specific to android expect if you in fact are asking how can i send http data to from android to your lemp server, in this case you should have a wrapper to send your data, why a wrapper? because you will find most example use an DefaultHttpClient but there are probably more efficient ways so you just have to later on try other alternative to send http data/request Feb 11 22:50:07 i don't think there is a "correct way" without much info Feb 11 22:50:40 just make your stuff ready to be swapped with alternative http send and use DefaultHttpClient until you're not satisfied anymore Feb 11 22:50:43 which he will not want to provide Feb 11 22:50:59 RustyShackleford, no, you don't need an /intent/ service Feb 11 22:51:00 lets give it a name... retrofit Feb 11 22:51:15 twirl likes to waste our time Feb 11 22:51:17 naw, volley is a better match here Feb 11 22:51:30 pfn: lol look who it is Feb 11 22:51:37 pfn: just in time for another great contribution Feb 11 22:51:45 or okhttp Feb 11 22:51:56 so many possibilities to send http requests Feb 11 22:52:05 volley sucks Feb 11 22:52:16 if google ever properly publishes, maybe that will change Feb 11 22:52:33 exactly why i was suggesting it for him Feb 11 22:52:45 I missed the sarcasm :( Feb 11 22:52:51 understandable Feb 11 22:52:56 i was trying to be dry Feb 11 22:53:20 adq: alright, that gave me some stuff to investigate, ty Feb 11 22:54:12 * pfn throws a logcat activity into his app Feb 11 22:54:24 * Twirl farts Feb 11 22:54:31 I think the function to send http request shouldn't be more than like 10 lines so that function alone suffices as an abstraction which can be replaced later. Feb 11 22:54:36 Twirl, one thing important is to not do anything related to network on your UI thread Feb 11 22:54:47 that's part of this yet-undiscovered correct way for sure Feb 11 22:54:50 adq: yea i got the asynctask :) Feb 11 22:54:56 asynctask is not the best choice Feb 11 22:55:07 it's for short op most of the times like few seconds Feb 11 22:55:28 you might prefer to handle yourself the thread because of how slow the network can be before timing out at worst Feb 11 22:55:57 I think handing the asynctask to the thread pool executor should be fine. It probably has the width to deal with a few slower tasks too Feb 11 22:55:57 but again, if you wrap everything, you just have to change with "better" alternatives later on or when needed Feb 11 22:56:25 iirc it had something like 30 threads limit for concurrency Feb 11 22:56:26 pfn: I now went in another direction, which ended up being easier usable even. Feb 11 22:56:50 yeah there is also a limited amount of max asyntask pool iirc Feb 11 22:57:02 so you cannot send like 1024 network requests in parallel Feb 11 22:57:21 i won't be sending more than 1-2mb at a time from the client to the server Feb 11 22:57:32 this scrollview is sooo weird Feb 11 22:57:35 most of the times below 500kb Feb 11 22:57:51 and it can be done in one transcation Feb 11 22:57:52 I add a top margin to the first element of n dp (where n is number), Feb 11 22:57:58 it adds it to the bottom of the last element Feb 11 22:58:26 lol that's weird justjanne Feb 11 22:59:12 maybe it's related to an issue (i have hit recently) with ID regeneration when you change & move xml Feb 11 22:59:16 there are few tickets Feb 11 22:59:22 try with a clean just in case Feb 11 22:59:33 I always run clean and rebuild before every run Feb 11 22:59:39 because every time I don’t, Feb 11 22:59:42 it crashes somewhere Feb 11 22:59:49 with some lambda reuse, or view id reuse Feb 11 23:01:02 it's crazy this is still happening Feb 11 23:01:18 tickets like this one https://code.google.com/p/android/issues/detail?id=200405 or this one https://code.google.com/p/android/issues/detail?id=199553 Feb 11 23:01:42 I've been at this for a few hours. Not sure what to do. Not exactly android, but related. I have jenkins CI, and it is generating test results. I want to move those results to /var/ww/html so that they will be public. It's the same machine. All I should have to do is a copy, but keeps getting file not found. Any suggestions? Feb 11 23:02:03 eghdk_: maybe you’re clearing the workspace afterwards? Feb 11 23:02:16 use the deploy plugin to run as post-build action a file copy there Feb 11 23:02:53 adq seems like something tests would catch ? Feb 11 23:03:02 eghdk_, check permissions if files really exist Feb 11 23:03:08 g00s, :D Feb 11 23:03:25 adq wonder if the team is reaching the upper bound of complexity they are capable of Feb 11 23:03:28 man i should ot complain too much, otherwise Mavrik (free highlight) gonna say smart ppl fix things Feb 11 23:04:15 adq: So if I run the exact cp command through terminal as the jenkins user it works... should I be using a plugin to execute a cp command? Feb 11 23:04:37 eghdk_: you can also just add the post build action Feb 11 23:05:06 that i have no idea, you should just be sure your copied files have the right user, group and permissions Feb 11 23:05:33 eghdk_: now I know why I used that plugin Feb 11 23:05:44 jenkins doesn’t support post-build shell commands Feb 11 23:06:03 justjanne: what plugin should I use? Feb 11 23:06:11 Well, you can also hack it like this: Feb 11 23:06:15 add, as last build step, Feb 11 23:06:19 a shell execution, Feb 11 23:06:22 with your cp command Feb 11 23:06:40 yeah at last ressort if you have the privilege, you can still chmod and/or chown the files Feb 11 23:06:44 isnt there a jenkins plugin for stuff like that? Feb 11 23:06:45 like cp $WORKSPACE/app/build/out/... /var/www/... Feb 11 23:06:52 justjanne: That's what I'm currently doing. Feb 11 23:06:57 danijoo__: yes, there is, but he wants to manually do it manually Feb 11 23:07:02 adq, ? Feb 11 23:07:06 I use ArtifactDeployer to handle these things automagically Feb 11 23:07:25 Mavrik, sorry :/ was just complaining about the fact you might complain that i'm complaining ;) Feb 11 23:07:43 that’s also how I copy the artifacts from https://ci.kuschku.de/job/QuasselDroid-ng/ to https://dl.kuschku.de/releases/quasseldroid-ng/ Feb 11 23:07:44 adq, so now besides being a whiny ass you're deliberately being a dick on top of it_ Feb 11 23:07:59 It's the same machine. I'll use a plugin if needed, I don't care. But I'm trying to move it to /var/www/html so as root I chowned the thing as jenkins:root, so jenkins should have access to it Feb 11 23:08:03 :+1: Feb 11 23:08:31 * that escalated quickly * Feb 11 23:08:42 eghdk_, hmm, you might be getting "File not found" for destination as well with cp Feb 11 23:09:14 eghdk_, e.g. if you don't have full directory structure available (/var/www without html or something like that). Feb 11 23:09:29 Yeah it's weird, if I change the destination and remove the last /, it tells me that the source can't be found, if I put the / back on the destination, it tells me the destination can't be found. Feb 11 23:09:41 Same goes for source, check jenkins node (!) process user and permissions Feb 11 23:10:02 Mavrik: what do you mean"if you don't have full directory structure available"? Feb 11 23:10:28 How would I give jenkins access to it? Feb 11 23:14:12 Here are the jenkins console output. + cp -r /var/lib/jenkins/jobs/android-instrumentation-tests/htmlreports/HTML_Report/ /var/www/html/test/ cp: directory /var/www/html/test does not exist Feb 11 23:14:44 I can navigate to the source and SEE that there are files there currently. I can navigate to the destination and see that it DOES exist Feb 11 23:17:54 adq this just happened : i did build in AS, it compiled fine, and hung when it tried to install. I had to kill adb. to another build, and it stopped on a syntax error Feb 11 23:18:17 nm instant run, its pretty nondeterministic as is Feb 11 23:19:17 Hey, short question: Is there a way with a scrollview to let it stack the elements from bottom? Feb 11 23:19:51 not sure, but with nestedScrollview it might be possible iirc since i did it few weeks ago Feb 11 23:20:06 like, if the content of the scrollview has size N, but screen has height N+M, where M positive, how can I make the elements have gravity=bottom? Feb 11 23:20:17 the scrollview usually freaks out when I set the gravity directly Feb 11 23:20:30 (when M is negative, it shall behave normally) Feb 11 23:21:49 maybe you could do something like the scrollview having itself a gravity of bottom, not its child and when it grows with more childs until it reaches the top it should stay at bottom before enabling scrolling when childs are beyond the parent size Feb 11 23:22:57 surprisingly, that works Feb 11 23:23:06 i had something simialr to what you describe weeks ago i told you, with android.support.v4.widget.NestedScrollView and playing with attr like android:fillViewport Feb 11 23:23:38 of course, having child stacking from bottom to top was not what i was after so i did not kept it but i saw it Feb 11 23:26:00 it works :D http://imgur.com/a/UF3Ay Feb 11 23:26:01 thanks Feb 11 23:26:19 after being so used to recyclerview I forgot that scrollview had a wrap_content mode Feb 11 23:29:09 and it works on phone, too! :D http://imgur.com/a/UF3Ay Feb 11 23:29:12 thank you <3 Feb 11 23:32:22 https://github.com/pfn/qicr/blob/master/src/main/scala/com/hanhuy/android/irc/LogcatActivity.scala Feb 11 23:32:29 my logcat viewer in 100 lines Feb 11 23:32:35 colorized Feb 11 23:32:36 heh Feb 11 23:33:36 http://imgur.com/yQ5559P Feb 11 23:34:12 I wonder if there’s a simple way to get parallax scrolling for a background on Android Feb 11 23:34:34 yes, there is Feb 11 23:34:34 neat Feb 11 23:35:57 np justjanne, yes with CoordinatorLayout and inside in one of its child app:layout_collapseMode="parallax" Feb 11 23:36:18 adq: someone already made a parallaxviewpager, I’ll use that instead ;P Feb 11 23:36:28 eheh yeah Feb 11 23:36:45 pfn, can you read logs on the devices now? I thought that was limited in jelly bean Feb 11 23:36:58 Zharf, that's my intention, reading my own app's logs Feb 11 23:37:05 ah Feb 11 23:37:49 sometimes something happens, and I'm not at my pc to see wtf happened Feb 11 23:37:54 and logcat buffer is too small Feb 11 23:38:01 and 100 lines via acra isn't big enough Feb 11 23:38:15 this is easy enough to embed in my apps Feb 11 23:38:28 > and 100 lines via acra isn't big enough Feb 11 23:38:29 o.O Feb 11 23:38:37 what are you doing that that happens? Feb 11 23:39:02 lots of it gets scrolled off because android framework makes some assumptions about IDs Feb 11 23:39:07 so it spams Feb 11 23:39:37 I guess you don’t have nullity annotations and assertions everywhere? Feb 11 23:39:42 if you navigate to another activity, will the previous one be destroyed? Feb 11 23:39:42 LOL Feb 11 23:39:44 02-12 00:39:38.317 11692-11733/de.kuschku.quasseldroid_ng W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (2560x1600, max=2048x2048) Feb 11 23:39:55 what does nullity have to do with 100 lines of logcat Feb 11 23:40:02 or do you need to explicitly call finish()? Feb 11 23:40:19 http://hanhuy-acra.appspot.com/public/com.hanhuy.android.irc.lite/6df0ccbe344dc6ec7fa4f5cb4460ccedc359e03c Feb 11 23:40:21 pfn: well, usually, you’d want to have assertions everywhere in your code – if an unknown state occurs, you’d instantly error in the place it occurs Feb 11 23:40:33 for example, SpannableStringBuilder wastes a bunch of log lines Feb 11 23:41:11 RustyShackleford: What do you mean by "navigate to another activity"? By default, starting a new activity adds it to the activity stack. Feb 11 23:41:22 justjanne, that's not what you want for a production app, and when I'm away from my computer, I don't want it asserting everywhere Feb 11 23:41:31 Assuming it's starting in the same task. Feb 11 23:41:34 and I spend >50% of the time away from computer Feb 11 23:41:59 pfn: that’s why you want it to automatically recover from the error and send a bugreport, without the user ever noticing anything Feb 11 23:42:17 in debug builds, you’d also show a snackbar with a button to see the bugreport in full Feb 11 23:42:19 I don't need to explain myself to you Feb 11 23:42:30 no, but to your users. Feb 11 23:42:37 nope, I don't need to do that, either Feb 11 23:42:58 I assume it's for personal builds Feb 11 23:43:09 Zharf, yeah, if (buildconfig.debug) Feb 11 23:43:13 yep Feb 11 23:43:13 pfn, remember textview has a limit of max lines? :) Feb 11 23:43:24 like 5000 or 9000 i don't remember exactly Feb 11 23:43:26 adq, not a textview though Feb 11 23:43:30 ahhh ok Feb 11 23:44:05 cause years ago while coding an android irc client, i was using a textview and reached this limitation Feb 11 23:44:21 o.O Feb 11 23:44:31 I think ListView or RecyclerView is better for an IRC client. Feb 11 23:44:33 you put everything in a channel on a single textview? Feb 11 23:44:40 TacticalJoke: yeah, adding it to the stack. Suppose you call startActivity(OtherActivity.class) inside MainActivity Feb 11 23:44:44 Though I haven't made one on Android. Feb 11 23:44:49 but yeah i see, you use one textview per row in your recyclerview Feb 11 23:45:00 I'm seeing that MainActivity gets destroyed after navigating to OtherActivity Feb 11 23:45:22 RustyShackleford: Why not create a simple test project to try it out? Feb 11 23:45:31 TacticalJoke, still waiting for your reddit client :D Feb 11 23:52:48 I should rewrite my irc client to not use sorcix sirc Feb 11 23:52:51 it sucks Feb 11 23:56:47 man .. custom attributes D:.. Feb 11 23:56:53 are the best Feb 11 23:58:29 why does it have to be in some attrs.xml :X Feb 11 23:58:44 ? Feb 11 23:59:03 Aoi, where else do you want it to be? a .txt? Feb 11 23:59:04 and I don't even understand how it's tied to my own class.. Feb 11 23:59:16 uhm straight in the element? Feb 11 23:59:43 Aoi, how should the other elements know about it then? magic? Feb 12 00:00:04 well fair enough .. Feb 12 00:00:20 but how does it know which attributes in attrs.xml are tied to which custom class? Feb 12 00:00:29 or perhaps.. it does not at all? Feb 12 00:00:39 you query for them Feb 12 00:00:52 Aoi: I hate them too. Feb 12 00:01:00 Boilerplate and verbosity. Feb 12 00:01:19 Aoi, it. doesn't, your custom class knows what they are Feb 12 00:01:20 hehe.. yeah.. I wish I could somehow tie them to my custom widget Feb 12 00:01:55 well yes.. what if I need "defaultValue" for one control to be format="string", yet format="integer"? for another Feb 12 00:02:50 Aoi, thats fine because you define it in different styleable elements Feb 12 00:03:33 I wonder if xml namespaces, such as used in android, have ever done anybody any good. It seems a bit excessive way to basically define a prefix Feb 12 00:03:37 ahh.. hm.. I just figured there is a ? well .. this file is odd somehow anyway Feb 12 00:03:46 danijoo__: Hmm, really? I thought what Aoi said was correct. Feb 12 00:03:50 At least from what I remember. Feb 12 00:04:13 Never mind, I'll try in a minute. Feb 12 00:04:23 hm maybe I am looking at something strange.. not entirely sure Feb 12 00:04:39 i think under different namespaces, the same variable name is allowed to exist Feb 12 00:05:11 not with a different format, no Feb 12 00:05:19 not? Feb 12 00:05:21 good to know Feb 12 00:05:28 ah.. alright.. I think I should try it out instead of just having question marks over my head Feb 12 00:05:29 i wonder why Feb 12 00:05:39 although, declare styleable may work if it matches your widget type, I suppose Feb 12 00:06:14 in my example (I am using a NumberPickerHorizontal.java that I found somewhere), it seems to get a layout and somehow create a TypedArray from it.. or maybe not Feb 12 00:06:15 tbh even if it would be possible, its bad Feb 12 00:06:30 because you will always mixing them up in the end if they have the same name.. Feb 12 00:06:51 danijoo__: If they were scoped, it'd be impossible to mix them up. Feb 12 00:07:01 danijoo__ - imagine you have 2 custom classes.. one is something extending a textbox .. and one is something e.g. extending a spinner or something Feb 12 00:07:02 Yeah, I checked: you can't do it. Feb 12 00:07:21 one might need defaultValue to accept strings.. and one might need to accept something else than strings Feb 12 00:07:22 [error] (android:collectResources) C:\Users\pfnguyen\src\irc\src\main\res\values\attrs.xml: Error: Found item Attr/fontNameKey more than one time Feb 12 00:07:43 The whole attrs.xml thing seems weak to me. So many problems. Feb 12 00:07:50 yup D: Feb 12 00:07:52 I always hate defining custom attributes for this reason. Feb 12 00:07:53 good to know. I blindly assumed its allowed under different styleable paces Feb 12 00:07:53 you cannot have the same attribute declared twice in difference styleables Feb 12 00:08:27 Aoi, defaultValue already has a type declared, and it's string Feb 12 00:08:29 you can't change that Feb 12 00:08:50 the actual controls behind a preference don't have it I think Feb 12 00:08:51 after a little bit of confusion, I like the attr system a lot Feb 12 00:08:52 not a huge problem though. give it another name ;) Feb 12 00:09:12 well thanks god I am not using reflections @danijoo Feb 12 00:09:13 it's just not very clearly documented Feb 12 00:09:18 maybe its to prevent clashes if multiple styleable inherit from another Feb 12 00:09:24 thats my guess Feb 12 00:09:25 or else I'd be doomed to use if/then/else or switch or instanceof Feb 12 00:09:26 danijoo__, styleable can't inherit Feb 12 00:09:35 pfn, but the classes that belong to them Feb 12 00:09:57 ie you define one for View.class and one for somethig that inherits from View Feb 12 00:10:20 danijoo__: It's a big limitation, IMO. You simply can't reuse an identifier in different contexts. Feb 12 00:10:29 they would have to do complicated checks for that if same name could exists for different namespaces Feb 12 00:10:30 danijoo__, indeed, it would lead to /some/ confusion Feb 12 00:10:45 yeah I have an xml here, that uses uhm.. .. .. Feb 12 00:10:45 Imagine if that applied to classes: you can't use the same field name in two different classes. It'd be a mess. :s Feb 12 00:10:49 but indeed, it's not quite implemented that way Feb 12 00:11:04 TacticalJoke, inheritance :) Feb 12 00:11:15 Aoi, there's no reason to use unless you're using nested classes Feb 12 00:11:18 for two different classes, danijoo__? Feb 12 00:11:57 danijoo__: Using the same identifier doesn't mean that there is a parent/child relationship between two things. Feb 12 00:12:05 I see .. well.. I guess if I want to continue on my app and if I want those custom attributes (which I do .. don't want to use setters all the time), I'll have to stick with the attrs.xml Feb 12 00:12:28 TacticalJoke, I see the limitation. But i think this happens rarely Feb 12 00:12:32 actually, being able to shadow fields is a nightmare for inheritance, and a cause of numerous bugs Feb 12 00:13:19 there's really no way around attrs.xml and all that stuff if I want custom attributes, right? Feb 12 00:13:24 like .. absolutely no other way Feb 12 00:13:29 Aoi, absolutly Feb 12 00:13:44 well .. thanks :) Feb 12 00:13:59 attrs.xml is wonderful Feb 12 00:14:03 don't be a whiner Feb 12 00:14:19 it'd be wonderful if I was a messy D: Feb 12 00:14:31 the file name isn't limited to attrs.xml if that's the problem you have with it Feb 12 00:14:32 it does seem like a lot of it could be tooled, or generated Feb 12 00:15:12 damn netsplit Feb 12 00:16:21 anyhow .. thanks.. gonna stick with it for now.. Feb 12 00:16:48 there isn't much boilerplate in declare-styleable Feb 12 00:16:53 other than the usual xml rigamarole Feb 12 00:16:58 Aoi: You've gotta have a high pain threshold on Android. :D Feb 12 00:17:20 I think it's nice so far - except for this custom attributes stuff Feb 12 00:17:40 tho I must admit at least the XMLs allow custom attributes to begin with Feb 12 00:17:44 the boilerplate is in *java* when using these attributes Feb 12 00:17:50 *that* is the pain in the ass Feb 12 00:17:52 I remember XAML and from what I remember it does not allow those Feb 12 00:18:03 hm really? D: Feb 12 00:18:11 * pfn <3 his styleableAttr and resolveAttr functions Feb 12 00:18:23 "SoundCloud could be forced to close after $44m losses". i think thats where mttkay works :( Feb 12 00:18:30 yeah.. why is there no getAttribute(id, defaultVal) without extension functions :x Feb 12 00:18:44 https://github.com/pfn/iota/blob/master/src/main/scala/iota/Themes.scala#L13-L29 Feb 12 00:19:09 yeah I have something similar in Kt Feb 12 00:19:18 hm couldn'T you use AttributeSets instead? Feb 12 00:19:46 Aoi, you don't use the attributeset directly, you pass it to something to get a TypedArray to work with Feb 12 00:20:00 well but you could do: attrs.getAttributeValue(namespace, "custom_text"); .. Feb 12 00:20:13 that's not what you want Feb 12 00:20:15 which apparently is not recommended, but possible Feb 12 00:20:15 never do that Feb 12 00:20:31 speaking of, styleableAttrs doesn't account for attrs, damnit, need to fix that Feb 12 00:20:36 that's just for theme :( Feb 12 00:21:06 jeez so I first have to use context.obtainStyledAttributes.. Feb 12 00:21:17 then again, that's not a problem for me, I don't have xml attrs anywhere, lel Feb 12 00:21:34 and then I can only access it via offset.. dafuq o.o? Feb 12 00:22:48 Aoi: You can use R.styleable.Foo for the offsets. Feb 12 00:22:49 you use R.attr.MyStyleable_attr Feb 12 00:22:52 which is the offset Feb 12 00:23:28 oh and it returns the value? Feb 12 00:24:02 I mean if I use ta.getString(offset) (ta being a TypedArray) Feb 12 00:24:19 ta.getString(R.attr.MyStyleable_myattr) Feb 12 00:25:18 Pretty sure it's "R.styleable.whatever". Feb 12 00:25:28 R.styleable.MyView_whatever Feb 12 00:25:31 alright. I'll give it a try.. last thing.. why is it advices to recycle a ta? Feb 12 00:25:52 save memory Feb 12 00:25:53 why else Feb 12 00:26:28 ah.. hm makes sense.. thought GC would know anyway, but then again maybe it wouldn't Feb 12 00:27:11 faster than gc, since the system maintains an object pool of certain, frequently used resources Feb 12 00:27:28 ahh.. alright - I suppose that explains it Feb 12 00:27:31 TypedArray being one of those, along with Message, etc. Feb 12 00:27:46 heh thanks for the advices :D Feb 12 00:28:51 I'm getting a strange error: Google Services Availability Error: SERVICE_VERSION_UPDATE_REQUIRED (2), but when i check my phones google-play-services version # its 7.5.71 Feb 12 00:29:05 I can't imagine that's 'too old' especially considering i'm on android 5+ Feb 12 00:29:19 the app requires a newer version Feb 12 00:29:30 current google play services is 8.4 or something Feb 12 00:29:59 compile 'com.google.android.gms:play-services:8.4.0' Feb 12 00:30:02 oh wait.. so all the attr-names should be unique - throughout ALL stylables? Feb 12 00:30:10 Aoi: Yeah. Feb 12 00:30:19 holy cow.. alright Feb 12 00:30:20 could it be something else? does the google-services.json file ever need to be updated? Feb 12 00:30:30 for qicr, a full 40% of my installed user-base is on a version 2 years old or older... Feb 12 00:30:47 Aoi, that was stated already Feb 12 00:31:04 yeah seems I did not refresh my brain in-time.. Feb 12 00:31:07 almost friday nerds Feb 12 00:31:50 pfn: any other ideas for that error? Feb 12 00:32:01 there isn't much literature on it Feb 12 00:32:03 already explained Feb 12 00:32:11 what changes on friday Feb 12 00:32:12 thanks god! Worked 9,5 hours each day this week.. I feel broken and violated Feb 12 00:32:13 and i've already responded - i'm running 8.4 in the app Feb 12 00:32:14 you're on 7.5, and you're using a newer google play services Feb 12 00:32:17 b4b: A certain Ms. Black wrote a song about that. Feb 12 00:32:24 eemgr, then update your google play services! Feb 12 00:32:27 that's precisely the problem Feb 12 00:32:36 you're on 7.5, and you are using 8.4 in your app Feb 12 00:32:55 either update your phone, or downgrade your app Feb 12 00:33:05 grr, it isn't giving me the option to update the phone Feb 12 00:33:10 i guess i'll downgrade the app Feb 12 00:33:34 I am sure you could enforce it >_> somehow .. not sure it'd work though Feb 12 00:34:16 i don't remember this being an issue before, it seems relatively new... Feb 12 00:35:09 I refuse to work beyond hours I'm paid Feb 12 00:35:29 a good attitude to take Feb 12 00:35:50 i suppose that is the attitude of anyone who doesn't have a vested interest in what they're doing Feb 12 00:36:01 equity at startups is so pitiful Feb 12 00:36:02 funny thing is I am getting paid, but I still would rather work 8 hours D: Feb 12 00:36:14 the expected value of those work out to like a bonus of 10k a year or something pitiful, unless you hit the jackpot Feb 12 00:36:26 eemgr: I have plenty of vested interest. I also have vested interest in doing my own thing, or being with family Feb 12 00:36:28 and considering the likelihood of such hits, I prefer to take the up-front cash Feb 12 00:37:12 you must be assuming the vested interest is in something like an app hitting the jackpot Feb 12 00:37:31 no, I just don't do free work for employers, it sets a bad precedent Feb 12 00:38:15 I have tons of my own projects that need working on, if I need to exercise my creativity outside of work hours Feb 12 00:38:43 eemgr: like i said, i have lots of interests Feb 12 00:39:32 I usually kill my creativity in the evening by playing some Dead or Alive 5 LR on PC.. but sometimes it survives and then I fire up Android Studio to kill the rest Feb 12 00:40:13 the 1-2 minute long compilation times is enough to kill any creativity Feb 12 00:40:21 I enjoy programming outside of work if it's something new Feb 12 00:40:25 it’s important for the brain to have some off time away from work Feb 12 00:40:41 yeah, I spend that time drawing future layouts for my apps ;P Feb 12 00:40:58 that's what I usually do during my meeting times, justjanne :D Feb 12 00:41:10 I’m a student ;P Feb 12 00:41:15 hehe .. Feb 12 00:41:24 Aoi I play dead or alive during meeting times Feb 12 00:41:27 Joking Feb 12 00:41:31 It's Helldivers Feb 12 00:41:51 hey, slightly off topic, but has anyone used Wiremock or Mock-Server? Feb 12 00:42:41 lol I need to look busy :D Feb 12 00:43:25 Management sucks at my current job, they're not giving much attention to the mobile platform of their service Feb 12 00:44:25 It sucks enough that I can't event upload apks with bug fixes, it needs to go through a guy who thinks it's superman Feb 12 00:44:26 1-2 minute compilation? Feb 12 00:44:30 I have 5 second compilations Feb 12 00:44:30 :P Feb 12 00:44:52 that’s why you’re not willing to work overtime. you don’t get that break in between compilations Feb 12 00:45:06 Why are your compilation times so huge? Feb 12 00:50:09 Im trying to use Observables with Retrofit2, and noted I needed a RxJavaCallAdapterFactory in the Retrofit builder, but the only one Im getting is from Retrofit 1, and I cant use it because its expecting one from Retrofit 2 Feb 12 00:50:24 So whats the equivalent in Retrofit 2? Feb 12 00:56:18 And I have an issue where a FloatingActionButton, which is in front of all other views, receives no touch events o.O Feb 12 01:12:43 add a click listener to it Feb 12 01:14:19 I added one Feb 12 01:14:23 Never gets called Feb 12 01:14:28 then I added a touch listener Feb 12 01:14:31 never gets called either Feb 12 01:14:45 wow I had to actually debug for my first time within the emulator in AS to understand what's the difference between R.stylable.MyStylableName_MyAttrName and R.attrs.MyAttrName Feb 12 01:15:07 but now I figured it out >.< .. Feb 12 01:15:54 also @justjanne there should be no button in front of all views.. I think.. though I suppose if you only had one activity layout and somehow included the others, you could have .. Feb 12 01:16:07 Aoi: FloatingActionButton Feb 12 01:16:16 has anyone ever experienced a situation where your app works fine in an emulator but crashes on a device? i implemented this solution and thats what exactly happens, its so frustrating. no idea what the issue is Feb 12 01:16:16 that thing is always in front Feb 12 01:16:18 http://stackoverflow.com/a/26196831 Feb 12 01:16:35 @justjanne - basic activity Feb 12 01:16:39 that one? Feb 12 01:16:51 no, completely custom stuff Feb 12 01:16:55 ah Feb 12 01:16:57 but I found the bug Feb 12 01:17:02 I’m sooo stupid >_> Feb 12 01:17:20 ahh cool - where has it been in? Feb 12 01:17:49 well, I have a function that checks your input constantly for validity, and disables all buttons to proceed unless it is valid Feb 12 01:18:00 obviously, the validation function is buggy Feb 12 01:18:06 ah .. hehe Feb 12 01:18:40 Controless emulator is engineering build, device is consumer build. you have have more leniency with things on emu Feb 12 01:19:29 ugh true. i cant even connect my device to my mac to see whats wrong because my s6 cant connect to it for some reason. Feb 12 01:19:53 RxJava 1.1.1 Feb 12 01:20:19 ugh, I published to sonatype, but I forgot to enter the password for my pgp key :( Feb 12 01:20:39 thank you, ill check that out Feb 12 01:21:20 now I have to wait for sonatype to sync... Feb 12 01:24:32 hm so they added this Completeable api Feb 12 01:27:22 "Kim Jong-Un Found To Be Mac User" Leader of Best Korea uses Best Computer Feb 12 01:27:22 :D Feb 12 01:27:57 I thought the current one is Kim Jong Il? Feb 12 01:28:13 besides.. their redstar os is very "maccy" - so what do you expect :D Feb 12 01:28:29 doesn't mean either are "best" though >_> Feb 12 01:30:03 Aoi: Kim Jong Il died several years ago Feb 12 01:30:24 ahh so it /is/ the current one .. keep mixing them up Feb 12 01:30:27 Un is the son who studied at a swiss university, who hired a japanese sushi maker, etc. Feb 12 01:35:04 yay I am happy things work as expected! means I amm going to bed! good night everyone! Feb 12 01:48:48 I'm polling an Api using Observable.interval() and then .flatmap(long -> myApi.getLocation()) to hit the api every 3 seconds. How would I go about pausing/resuming when the fragment is changed? Feb 12 01:49:23 With a Handler I figured I could do something like handler.removeCallbacks(runnable) in onPause() which would stop the requests, but am trying to do this in Rx Feb 12 01:57:57 no takers? Feb 12 01:58:51 he was just trying to tell a tale of a radioactive man and you slick talking nerds took him for all he was worth Feb 12 02:02:21 Hi guys, I am a total android noob, i've made an app in cocos2d-x and trying to implement some 3rd party code. I've spent an hour fumbling through these instructions on how to install the android side, and i'm slowly getting there, but this one sentence is pretty vague and googling isnt really getting me anywhere Feb 12 02:03:22 “… Once you did that, set MainActivity to the main activity in your AndroidMainfest.xml file and add AppActvity and NoGPGAppActvity to the list of Activitys. “ - this is the sentence im confused about Feb 12 02:03:44 MainActivity is a .java file. but what does it mean to set it to the main activitiy in the AndroidManifest ? Feb 12 02:13:07 anyone? :( Feb 12 02:32:30 * pfn ponders how to turn activity into a more functional state machine Feb 12 02:35:16 I'm working on a similar issue, too. Feb 12 02:35:35 But that's something for next week, this week I'll have to handle login flow. Feb 12 02:36:55 https://dl.kuschku.de/videos/device-2016-02-12-030419.mp4 Feb 12 02:49:26 justjanne really need that third step just for a name ? Feb 12 02:49:39 hopefully step 1 verifies the machine is reachable too right :D Feb 12 02:49:44 sirchopsalot: The tutorial you are using may not be the best one, or may assume more Android knowledge than you have. Your question is very basic - try a hello world app first. Here would be a start: https://developer.android.com/training/basics/firstapp/index.html Feb 12 02:51:00 duboisj: its ok, fumbled my way through it, I added this line " " and it seems to include the .java file when I build at least... now for those compile errors... Feb 12 02:51:44 cheers for that link though, im sure i need to look at it **** ENDING LOGGING AT Fri Feb 12 02:59:58 2016