**** BEGIN LOGGING AT Fri Jun 26 02:59:58 2015 Jun 26 03:01:14 treeprogram, no, you skip 1 Jun 26 03:03:14 er, nevermind Jun 26 03:03:36 er, actually, you skip. it Jun 26 03:03:53 set text to 1 and immediately gets set to blast off Jun 26 03:04:02 no delay, so no appear Jun 26 03:08:05 pfn i see Jun 26 03:13:15 pfn: ok I fixed it by simply putting the wait(1000) after the function that prints the number Jun 26 03:14:30 use do/while and printnumber(n--) Jun 26 03:15:13 that way it still runs the loop when n ==0 Jun 26 03:16:57 wait sucks too you should use a timer and use async functions Jun 26 03:20:01 there's more than one way to stick a cat Jun 26 03:20:14 skin = skin Jun 26 03:20:20 skit.. Jun 26 03:20:30 stick Jun 26 03:20:31 jesus Jun 26 03:24:42 skirt? Jun 26 03:30:49 wait is the wrong way to sleep Jun 26 03:41:01 when im using multiple threads and a classes variable is volatile, this means it is kinda like static? in that the threads run by the class will all change the same variable and not copies? Jun 26 03:42:54 static would make the threads access the same shared variable Jun 26 03:47:08 NateRiver, http://stackoverflow.com/questions/2423622/volatile-vs-static-in-java Jun 26 03:52:13 * NateRiver learned the volatile ability Jun 26 03:55:40 "Two rival self-driving cars have close call in California" gonna get interesting Jun 26 03:58:40 It's like when they see themselves in a mirror? Jun 26 04:00:21 capella high frequency driving :) Jun 26 04:02:41 "Two rival self-driving cars have close call in California" ... If they started snapping finders and dancing we could call it "West Side Story" Jun 26 04:06:51 is there any difference in speed between gradle 2.2 and 2.4 ? Jun 26 04:09:51 a little bit Jun 26 04:26:45 hello, I just wanted to know if anyone knows of a free ORM or different database system with ORM capabilities like realm.io that happens to support the typical needs plus many-to-many relationships Jun 26 04:27:18 I looked at a few like Sugar ORM and cupboard, but they didn't have any documentation on how to go about many-to-many relationships Jun 26 04:30:24 Wilkim maybe that is hint: raw sqlite ! Jun 26 04:44:42 g00s aww man, but ORM's make life quicker and easier Jun 26 04:45:19 In web development I do, using an ORM can save me hours, days or weeks worth of time, especially Laravel's ORM Jun 26 05:02:03 why after Run it takes 5 minutes app to run Jun 26 05:06:12 squ could be worse, AS could show ads for that time :D Jun 26 05:06:30 'your build will continue after add 1 of 1' Jun 26 05:06:38 I'm switching to irc for that time Jun 26 05:07:26 what could be the cause Jun 26 05:07:32 anyhow, xav showed some serious speed improvements at I/O so it should get better Jun 26 05:07:54 not sure if it was gradle 1.3 or 'gradle next generation' whatever that is Jun 26 05:08:17 squ are you using multidex ? Jun 26 05:08:25 what is that? Jun 26 05:08:34 nm Jun 26 05:08:38 I'm using default everything Jun 26 05:09:37 it took 7 minutes to run Jun 26 05:18:32 clicked Run, waiting Jun 26 05:18:33 :) Jun 26 05:22:00 ok Jun 26 05:22:06 4 minutes Jun 26 05:22:06 I have come up with a new name for my media player Jun 26 05:22:12 lo Jun 26 05:22:24 shmooz: ? Jun 26 05:22:31 the DCLAM player Jun 26 05:22:36 no Jun 26 05:22:39 just no. Jun 26 05:22:46 Don't Click Like A Monkey Player Jun 26 05:23:05 "yo check out the dclam player" Jun 26 05:23:19 there is already “Monkey Audio” Jun 26 05:28:56 or YAM, Yet Another Monkey player Jun 26 05:50:32 shmooz why are you renaming ? Jun 26 05:52:51 https://youtu.be/3Nq3NCBN0Sg Jun 26 05:54:26 squ: it's android channel, not orchestra channel Jun 26 05:54:29 g00s: it's not on the playstore and at first it was just video and I called it xwatch but now it plays audio too Jun 26 05:54:58 gordon_: I'm waiting application to run Jun 26 05:55:16 it takes 4 to 8 minutes Jun 26 05:55:24 so buy better pc Jun 26 05:55:33 it is android fail Jun 26 05:55:33 and watching videos wont get it faster Jun 26 05:55:34 get an ssd Jun 26 05:55:51 then he will wait for 1 minute :D Jun 26 05:56:06 it is not because of pc Jun 26 05:56:36 it's because of pc Jun 26 05:56:52 no it is not Jun 26 05:56:58 it is Jun 26 05:57:01 nope Jun 26 05:57:14 my build of any reasonable size apps take under a minute Jun 26 05:57:19 so it's your pc Jun 26 05:57:22 pfn: with sbt ? Jun 26 05:57:24 it is not build which takes time Jun 26 05:57:28 build is done. Jun 26 05:57:44 gordon_, well under a minute with sbt Jun 26 05:58:26 it may be because of vpn, but I'm not sure why Jun 26 05:59:52 squ: i dont care, just dont post not related videos in here Jun 26 06:18:25 which audio source should i use for call recording ? which should be compatible with all devices ? Jun 26 06:19:39 should be able to narrow that down pretty quickly Jun 26 06:55:00 So I'm experimenting with ExifInterface and read from the docs that it rewrites the entire file just to modify the exif data. Is it possible for me to just "append" exif data to a pre-existing JPEG file without having to rewrite the entire thing? Jun 26 06:56:03 I'm working with OpenCV and need to save a 12MP image per second, since OpenCV has no support for exif I'm thinking to just "append" it after writing to disk Jun 26 06:57:03 With ExifInterface, it would read and rewrite so I don't think it's fast enough for 1 image per second Jun 26 07:07:42 hi what kind of apdu commands should I do for nfc tag sector 1 Jun 26 07:15:51 which audio source should i use for call recording ? which should be compatible with all devices ? Jun 26 07:37:04 http://pastebin.com/wavTagh5 Why the width is bigger then the height in this case? Jun 26 08:24:10 i use RxAndroid and have a .groupBy() which gives me 2 observables. But the original stream contains no items, meaning that no observable is ever getting processed further.. how can i detect this? Jun 26 08:33:57 Isn't stream being empty a problem by itself? Jun 26 08:39:56 looks like you got other problems before .groupBy() Jun 26 08:40:51 just subscribe to the original stream, see what you are getting. That way you can see what you are getting. Jun 26 08:41:44 And that sounded weird, I need to wake up. Jun 26 08:47:56 Mornin happy android people Jun 26 08:48:26 #$#%^$% Jun 26 08:51:08 * Mavrik hugs VnM. Jun 26 08:51:22 >:( Jun 26 08:52:41 I'm happy to say that code coverage stopped working after migrating to JUnit4 so that is nice :) Jun 26 08:53:54 which audio source should i use for call recording ? which should be compatible with all devices ? Jun 26 08:54:46 s9iper1, there is no way of recording calls that would be compatible with all devices Jun 26 08:54:52 call recording actually isn't supported at all Jun 26 08:56:03 Mavrik, is it depricated ? Jun 26 08:56:11 it was never really implemented Jun 26 08:56:18 on those that work, I guess MediaRecorder is the way to go Jun 26 08:56:26 hmm Jun 26 08:56:29 but some devices simply don't even pass call audio to the main ARM core Jun 26 08:56:33 claint: no it's not a problem, it should be possible to be empty, as long as it's sending onCompleted Jun 26 08:56:35 yeah me also doing it that way Jun 26 08:56:38 (have direct link from mic to baseband( Jun 26 08:56:43 how to rotate yuvImage (or its byte[] data) without converting to bitmap Jun 26 08:56:45 and some devices require patched kernel Jun 26 08:56:53 Ashiren, which pixel format? Jun 26 08:57:07 e.g. is it planar? Jun 26 08:57:12 Mavrik, recorder.setAudioSource(MediaRecorder.AudioSource.MIC); which audio source would be more helpfull here Jun 26 08:57:16 nv21? dunno, the one from camera preview Jun 26 08:57:23 Ashiren, well, make sure Jun 26 08:57:27 so either planar or semiplanar Jun 26 08:57:38 s9iper1: have you tried googling your question? Jun 26 08:57:39 because you'll have to do it manually probably Jun 26 08:57:56 i found some function but the image is... meh Jun 26 08:58:44 Ashiren, there's libyuv I've seen people use to do that kind of stuff Jun 26 08:58:57 but you're probably getting wierd image due to not recognising the pixel format properly Jun 26 08:59:01 bhans, i have it saying use VOICE_CALL but that is also not workign Jun 26 08:59:04 working" Jun 26 08:59:35 s9iper1: How about this one: http://stackoverflow.com/questions/18887636/how-to-record-phone-calls-in-android Jun 26 09:00:00 i was looking here actually http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html Jun 26 09:00:35 Ashiren, so I guess use libyuv to do NV21 to I420, rotate and save Jun 26 09:01:30 bhans, thanks thats helpful Jun 26 09:02:05 s9iper1: try to google it first then ask here. Jun 26 09:02:14 ok thankies Jun 26 09:02:52 sure :) Jun 26 09:22:45 Can someone explain to me what's going on here? https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests/tests/media/src/android/media/cts/EncoderTest.java Jun 26 09:23:10 razzledazzle, uhm... more specifically? :) Jun 26 09:23:22 in queueInputBuffer(), what's getting put into the buffer? Looks like an empty buffer array, what get encoded then?? Jun 26 09:23:36 *gets Jun 26 09:24:11 yeah, it encodes zero samples as it seems Jun 26 09:24:26 silence I guess since the encoders are for audio Jun 26 09:24:39 right Jun 26 09:25:22 trying to a bit of encoding, fuzzy right now.. stackoverflow.com/questions/31056576/unable-to-transcode-audio-via-android-mediacodec-api/31058898?noredirect=1#comment50157686_31058898 Jun 26 09:25:41 *do Jun 26 09:26:20 Is it possible to add UI elements to regular and lockscreen notifications? Jun 26 09:26:26 besides the 3 default buttons. Jun 26 09:27:31 razzledazzle, uhm, yeah you're not actually muxing audio into a container Jun 26 09:27:44 you just get a raw audio stream that then has to be put into a contaner (look at MediaMuxer class) Jun 26 09:27:48 mux it into an mp4 Jun 26 09:28:01 not many player (hardly any) can play a raw AAC dump :) Jun 26 09:30:07 what is recyclerView.setScrollingTouchSlow(RecyclerView.TOUCH_SLOP_PAGING); supposed to do? feels like it does nothing... buggered? Jun 26 09:33:22 Zharf, it's Slop not Slow https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html#setScrollingTouchSlop(int) Jun 26 09:33:34 did you type that by hand? Jun 26 09:33:38 yes I did Jun 26 09:33:42 wow Jun 26 09:33:53 is there any api available to track app install location like some developer dashboard api? i need to send that location to a webservice. Jun 26 09:34:14 adq, but sure, typo... my question remains the same with your correction ;) Jun 26 09:34:48 if someone knows or want to answer, he/she will reply :) Jun 26 09:35:20 indeed, just throwing that out there Jun 26 09:37:36 the_cyber_guy: what do you mean by 'install location' ? Jun 26 09:38:47 Hi, I'm trying to build a chat application and found a tutorial building it with websockets Jun 26 09:39:06 but then the author mentioned "Today we are going to learn how to build a simple group chat app using sockets. I won’t say this is the only way to build a chat app, but it is the quick & easiest way to build one. The best and efficient way would be using the push notifications instead of sockets." Jun 26 09:39:27 but I can't find how it would be more efficient / better Jun 26 09:39:48 Siamaster: push notifications are inside the android framework, and they are best for battery Jun 26 09:39:51 what does the author mean by push notifications, gcm? Jun 26 09:40:02 dunno how websockets work, but i assume they would keep a connection open Jun 26 09:40:05 yes, gcm Jun 26 09:40:21 with websockets, the messages can't go through my servers right? Jun 26 09:40:22 (gcm actually also uses a permanent open connection though) Jun 26 09:40:28 and so I can't save the history? Jun 26 09:40:52 just use gcm :) Jun 26 09:40:52 but I have to use the xmpp protocol for gcm right? it's more efficient than http? Jun 26 09:40:53 that's all a matter of implementation Jun 26 09:41:13 your server needs to communicate with google's server to send a push notification Jun 26 09:41:21 yes Jun 26 09:41:31 then your app receives it and it can decide to fetch data from your server Jun 26 09:41:46 or maybe you want to store the chat data in the gcm itself, not sure if that's encrypted though Jun 26 09:41:48 I already have gcm functionality in my app so it's great, but I use the http protocol Jun 26 09:43:48 hmm, max size for gcm messages are 4096 bytes Jun 26 09:44:33 I'm gonna test how big of a message it is, sec Jun 26 09:45:44 I feel stupid, every character is a byte Jun 26 09:46:49 osxorgate: like user install country. Jun 26 09:47:02 Then I guess if the users are sending plain texts, I can just send it over gcm Jun 26 09:47:14 the_cyber_guy: then maybe add google analytics to your app Jun 26 09:47:16 Not every character is a single byte. Jun 26 09:47:25 But close enough for western languages. Jun 26 09:47:32 ok Jun 26 09:49:00 the_cyber_guy: give stuff like this http://i.imgur.com/eiC7ESX.png Jun 26 09:49:52 osxorgate: i don't want to use google's dashboard to view only a specific data. is there any way to send only install country data to another server? any rest api available for that? Jun 26 09:50:15 Any idea if I can create notifications with control elements? Similar to music players... although I assume they're using some default notification type. Jun 26 09:52:26 SQLiteStatement.bindString(index, value) where can i get index? Jun 26 09:53:42 Syzygy, there's a special style for them, look at the doc. Jun 26 09:55:13 understand Jun 26 09:56:33 ondroed, it's just a number representing the "?" parameter Jun 26 09:56:37 first has 1, second has 2, etc. Jun 26 09:57:07 osxorgate: ok let me tell you my problem. there are some users who are installing apps for play store and when i detect their country using their IP address it shows US. but when i go to google play developer console it shows install location as VN. so i doubt some users are using some VPN or Proxy IPs. i need same stats on my server as google. I have done many things like using Proxy Detection services from MaxMind but some users are using Jun 26 09:57:07 hosting servers or custom vpn server which even maxmind servers are not able to detect. and i need install location data ultimately to my server not on google dashboard. Jun 26 09:58:06 Mavrik: thanks Jun 26 09:58:10 the_cyber_guy, why not ask the users? Jun 26 09:58:24 If you need ti reliable, any autodetection will go horribly wrong Jun 26 10:01:47 Mavrik: i tried asking them but they lie. it is for an app promotion for which user gets incentive for every unique install. Jun 26 10:03:56 *sigh* :) Jun 26 10:04:19 Mavrik: there are much more complex issues like users changing their device id and all other things but that is a different story. Jun 26 10:05:56 is there anything like play store developer console api from where i can pull app install data? Jun 26 10:29:01 hello, how can I get this https://material-design.storage.googleapis.com/publish/material_v_4/material_ext_publish/0B8v7jImPsDi-ajh6QTBYN05YVDg/components-buttons-fab-transition_speeddial_02.webm growing effect ? Jun 26 10:29:21 with support design library Jun 26 10:30:06 Hey peeps, have any of you implemented multiple photo selection and if so how? Jun 26 10:37:03 what if i cast HttpUrlConnection and url.openConnection returned HttpsUrlConnection? Jun 26 10:38:54 also, why the hell 3rd party fab button libraries has more to offer than official one Jun 26 10:39:12 which you can only change.. size and attach it to view Jun 26 10:45:17 whats the best way to read a response from HttpUrlConnection? Jun 26 10:46:24 IllegalArgumentException: AppCompat does not support the current theme features Jun 26 11:20:10 hi, simple question here: If I send a SMS from my own app, is it listed as sent in the SMS app? Jun 26 11:20:26 in that case, is the user able to see the SMS content? Jun 26 11:24:01 eeyup Jun 26 11:24:26 since 4.4+ your app need to be the default SMS app to send silently SMS Jun 26 11:25:25 nooooooooooooooooooooo Jun 26 11:26:21 hm? Jun 26 11:26:43 I have a customer who wants to develop a door lock system based on sms, if the user can see the SMS content... Jun 26 11:27:10 then the system security is compromised Jun 26 11:28:27 :c Jun 26 11:29:37 The only alternative is bluetooth (limiting range to meters...) Jun 26 11:30:01 or... an embedded system with linux and connected to internet Jun 26 11:30:17 poio: what about utilizing one-time passwords with each password series being individual to lock-user combination? Jun 26 11:30:54 the hardware is a black box, I have no control on the auth logic Jun 26 11:31:02 it only accepts whitelisted numbers Jun 26 11:31:23 when i set my nine patch from xml it works normal but when i try to use it programaticaly it expands in wierd manner. Jun 26 11:33:06 the only way i see is to replace the sms based hardware and use an open system where i can deploy my own solution (based on REST or something) Jun 26 11:33:44 maybe a pi with a 3g modem? Jun 26 11:33:58 or a micro pc alternative Jun 26 11:34:25 poio: it could work - also, SMS gives you 140 bytes of usable data, that's enough to use encrypted OTP system :) Jun 26 11:35:13 p_l yes... the problem with SMS is the customer wants to buy a chinese device which works on its own way, I can't control what info send to the device... Jun 26 11:35:34 yeah, I understand Jun 26 11:35:52 * p_l has similar clients, who first buy crap hw then force us to workaround intel bugs Jun 26 11:35:59 why rotate animation goes back to previous position ? Jun 26 11:36:00 that's it Jun 26 11:36:22 p_l I suggested him to drop the telephony stuff and sitck to internet Jun 26 11:36:32 I just want to rotate element 45 degrees Jun 26 11:36:34 but he pays, so he decides Jun 26 11:37:35 well, anyway thanks for the info guys Jun 26 11:45:19 gordon_, try to animation.setFillAfter(true) Jun 26 11:45:47 danijoo: thank you. I will maybe move to ObjectAnimator Jun 26 11:46:11 how can I get list or properties for the view ? Jun 26 11:47:11 http://developer.android.com/guide/topics/graphics/prop-animation.html#views Jun 26 11:47:13 seems like this Jun 26 11:52:30 if I specify app:theme="@style/AppTheme" on a Toolbar, shouldn't the background color change? Jun 26 11:52:48 no Jun 26 11:52:57 you need to set it seperatly Jun 26 11:53:08 danijoo: toolbars dont get styled by the theme? Jun 26 11:54:00 or should I specify background color in my theme? Jun 26 11:54:10 AppTheme is for styling the app, not the toolbar Jun 26 11:54:29 you should set background color manually on the toolbar Jun 26 11:54:52 or via style="@style/myToolbarStyle" where you define background Jun 26 11:54:55 danijoo: where can i read what is 'set' and what isn't? Jun 26 11:55:09 and add app:theme="@style/ThemeOverlay.AppCompat.ActionBar" Jun 26 11:55:44 I want to have a layout with three items. If you touch any of the items, I want it to expand full screen, with the other two items to slide off the top/bottom. How should I do this? I don't know whether to use a LayoutTransition, or define the animations in xml using objectAnimator etc Jun 26 11:55:51 gavit, http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html Jun 26 11:59:32 if i am connected to my router and there internet cable is not plugged how can i check if internet is really connected with NetworkInfo ? Jun 26 12:00:14 https://code.google.com/p/android/issues/detail?id=176559 Jun 26 12:00:21 last message at 16 jun Jun 26 12:00:28 edittext ignores colors Jun 26 12:00:49 s9iper1, you cant Jun 26 12:01:40 danijoo, how can i check than .? i read i need to ping google but sometimes it does not give the fine result Jun 26 12:01:52 s9iper1, just live with it Jun 26 12:01:55 may be i didnt find the perfect snippet on stackoverflow Jun 26 12:02:00 show an error message with connection error Jun 26 12:02:37 ok Jun 26 12:02:51 Hi guys! I am android newbie so please bear with me. Jun 26 12:03:21 s9iper1, its the same as host is down and connection is working. you can never know if your host is reachable even when connected to internet Jun 26 12:03:35 I am trying to set debugger inside onCreate method of my fragment, but it's not stopping there. Can somebody please explain why? Jun 26 12:03:51 capella-da-star, did you set the breakpoint? Jun 26 12:03:58 Yes, I did. Jun 26 12:04:17 did you start app as debug instead of just running Jun 26 12:05:02 Yes I start app as debug Jun 26 12:05:20 are you sure that method is actually called? Jun 26 12:07:00 I assumed onCreate Method is called every time a view is rendered. Is that wrong? Jun 26 12:07:19 only when its created, not rendered Jun 26 12:07:45 Has anyone managed to use uiautomator when minsdk is lower than 18? Jun 26 12:07:59 So ideally the debugger should stop there? Jun 26 12:09:06 asimas, ui automator wont work before api level 18 Jun 26 12:09:13 capella-da-star, yes Jun 26 12:09:22 capella-da-star, show your code Jun 26 12:09:32 danijoo: uiautomator works in 17 Jun 26 12:09:38 Just a minute. Jun 26 12:09:51 barq, are you sure. I think the support library is for v18 Jun 26 12:10:13 danijoo: I am using it and my maxSdk is 17 Jun 26 12:10:34 So is there any way I can compile it but let it run only when the device sdk is sufficient? Or is that not possible? Jun 26 12:10:42 Here, https://dpaste.de/PdmY Jun 26 12:10:42 max17 ? wtf Jun 26 12:11:14 Docs says Requires Android 4.3 (API level 18) or higher which is odd. Jun 26 12:11:25 I run it on 4.2.2 Jun 26 12:11:35 capella-da-star, i guess the reason why you try to debug is line 10? mContext is null? Jun 26 12:12:36 barq, do you do androidTestCompile in gradle? Jun 26 12:13:16 asimas: ADT Jun 26 12:13:29 Ah. I was putting the debugger inside the if condition, where as the condition was false. I do get the debugger on mIntent now. Jun 26 12:13:33 asimas: Maven Jun 26 12:13:39 Thanks for your help! Jun 26 12:13:42 capella-da-star, :) np Jun 26 12:13:48 but your mContext will be null Jun 26 12:13:53 if you do it like that Jun 26 12:14:04 getActivity() returns nothing in onCreate Jun 26 12:14:49 Oh, thanks. I actually started writing android last week, There is some legacy code that I need to maintain. Thanks for the tip. Jun 26 12:15:11 capella-da-star, getActivity() must be called after or in onActivtyCreated() :) Jun 26 12:15:20 or use onAttach(activity) Jun 26 12:15:25 Could you suggest some good open source Android app code which I can refer for best practise? Jun 26 12:15:39 I only know googlesamples org on github for android code. Jun 26 12:15:56 I want to have a layout with three items. If you touch any of the items, I want it to expand full screen, with the other two items to slide off the top/bottom. How should I do this? I don't know whether to use a LayoutTransition, or define the animations in xml using objectAnimator etc Jun 26 12:17:08 Maybe I should use animation states Jun 26 12:17:22 danijoo, onAttach documentation: "onCreate(Bundle) will be called after this." Jun 26 12:17:23 asimas: You can have a separate project that runs the uiTests. This projects needs minApi 18. But you can test lower Apis with it. Jun 26 12:17:50 danijoo, i need help can you find me a snippet for ping google ? Jun 26 12:18:04 barq, ahh :/ sucks that I need to make a separate project Jun 26 12:18:32 asimas: Why? Jun 26 12:19:17 I mean Eclipse Project, that probably means module in AS. Jun 26 12:19:51 barq, mm I don't know :) Haven't used tests before so I might be misunderstanding how they actually work. AndroidStudio precreates a separate folder inside of your module that holds your tests. Jun 26 12:20:27 asimas: I think that's for unit tests. UiAutomator is something different. Jun 26 12:20:33 barq, oh a module. (curse the IDE naming differences). Jun 26 12:20:48 s9iper1, no. im not your google machine Jun 26 12:21:31 barq, so UiAutomator is supposed to be used for my whole app rather than separate modules? Jun 26 12:22:06 asimas: UiAutomator simulates clicking around in your Ui. How do you want to test this for separate modules? Jun 26 12:23:41 If I put a view in a linearlayout, then animate the view with view.animate().translateX(distance), how does the layout deal with that? Jun 26 12:23:51 wouldn't the layout be fighting the animation or something? Jun 26 12:24:01 barq, mm so that's how it is. I hoped that the automation tools would create some sort of a mock activity to implement my modules and test them there. Jun 26 12:24:04 does the layout just treat the view as being in its original position or what? Jun 26 12:25:44 asimas: That makes no sense. You want to test your real app. Jun 26 12:26:24 asimas: What do you actually want to achieve by using uiAutomator? Jun 26 12:28:21 barq, I thought of creating a separate library (that my project would use) and also create some tests for that library. So when updated I could just run those tests, namely touch tests. I hoped that the library could be independent of my project. Jun 26 12:29:40 asimas: It can be independent of your project. You build, deploy to your device and then deploy the test ontop of it. Jun 26 12:29:52 Then you can watch how a ghost clicks around in your app. Jun 26 12:30:41 barq, what if I wanted to publish my library with those tests? Or is that not usually the case? Perhaps I would need to publish it with a sample to be able to do the tests? Jun 26 12:34:02 asimas: Can the library run standalone? I'm guessing it can't. Jun 26 12:34:38 asimas: What you can do is provide high level test methods that can be reused easily with your library, though. Jun 26 12:34:51 barq, that's why I thought it needs a sample app coming with it. Am I wrong thinking that libraries need tests at all? Jun 26 12:34:52 asimas: Basically a UI testing framework for the library. Jun 26 12:35:14 asimas: It depends what your library does. If it is a Ui Framework for example it makes sense. Jun 26 12:35:20 asimas, you'll have to build a sample app to do UI library tests yes Jun 26 12:35:26 asimas, either that or do Robolectric Jun 26 12:35:35 but problem with Robolectric is that it doesn't really test on "live" objects Jun 26 12:36:27 asimas: What does your library do? Jun 26 12:37:03 barq, it's a ViewPager that provides additional functionality. It definitely needs to be tested before updates can be pushed. Jun 26 12:37:53 asimas: Can those use cases all be tested by clicking around on your app? Jun 26 12:38:16 If so, then you can have a testproject, which contains the library elements and run UiAutomator on those. Jun 26 12:38:52 asimas, also for those kind of tests, using Espresso is usually more elegant Jun 26 12:39:14 so add a sample app as a gradle submodule, use espresso to test that activity Jun 26 12:39:27 UiAutomator is really needed if you want to test cross-app capabilities Jun 26 12:39:59 Yup, that's what I use it for. Jun 26 12:40:38 Or you can use calabash. Jun 26 12:41:20 Ugh so many choices :) I've been ignoring tests for too long Jun 26 12:42:20 asimas: Espresso has api 8 as minimum. Jun 26 12:43:11 hi evryone Jun 26 12:43:32 Hi. Jun 26 12:45:29 barq, Mavrik alright thanks a lot for the help and info :) Thing got much clearer now. Jun 26 12:47:01 asimas, maybe to sum up, there's three ways to do tests - Roboelectric (stubs the OS and tests run on your computer using standard Java test runner without UI), Espresso (tests run as instrumentation tests on device and espresso "clicks" and checks the results from within your app) and UiAutomator (same tests as espresso run on device but UiAutomator is a separate process that clicks on UIs and can thus tests multiple app interactions) Jun 26 12:48:24 Mavrik, is there a reason why robolectric is not mentioned in the documentation (espresso and UiAutomator are)? Jun 26 12:48:44 uhh, because it (was) a third party library Jun 26 12:48:50 which is now replaced by google's own OS stubs Jun 26 12:48:56 asimas, it's refered to as "unit tests" Jun 26 12:49:09 http://tools.android.com/tech-docs/unit-testing-support Jun 26 12:49:45 (Robolectric was a library that "faked" Android OS so you could run tests with mock Android objects on desktop JVM without having a device present) Jun 26 12:49:53 (of course faking stuff does have downsides) Jun 26 12:50:43 losless jpeg rotation - is it possible? (not exif plx) Jun 26 12:50:46 Mavrik, ahh, I see. Tbh it would be so much more helpful if the documentation started with that long sentence of yours to summarize the different ways and tools :) Jun 26 12:51:18 Ashiren, yes, but you'll need a 3rd party lib Jun 26 12:51:29 asimas, ^^ Jun 26 12:51:53 yesh :D Jun 26 12:53:37 Mavrik: What is the Google replacement of Robolectric? Espresso? Jun 26 12:54:01 no, Espresso is a library to click on stuff and check view states on device Jun 26 12:54:23 Google just made “android.jar“ implement fakes instead of throwing “stub“ exception :) Jun 26 12:54:47 What would I use instead of robolectric then? Jun 26 12:55:00 nothing, it should "justwork(tm)" Jun 26 12:55:26 I haven't used it since we abandoned this kind of testing a year ago, so I'm not sure how complete is the support :) Jun 26 12:55:34 Hmm, I guess I don't understand the point of robo then. Jun 26 12:56:04 barq, before "unit testing support", if you actually tried to call any method in android.jar, you'd get an exception Jun 26 12:56:24 Robolectric instead gave you fake implementations (e.g. views, context, etc.) that could be used to run tests against Jun 26 12:56:25 oh Jun 26 12:56:50 it's just a huge Android OS mock library :) Jun 26 12:56:55 for desktop JVM Jun 26 12:57:07 is there a built in way or a 3rd party lib somewhere to allow animating multiple list items out sequentially? Jun 26 12:57:13 Hmm, I don't have unit tests so have't come across that. Jun 26 13:29:02 is dl.google.com slow for you guys also? Jun 26 13:30:31 Hello folks! Jun 26 13:31:47 i'm getting 10 kB/s from dl.google.com Jun 26 13:37:17 How to treat a XML file ISO-8859-1 encoded which is supposed to be showed as UTF-8? Do I need to convert it in the input? Jun 26 13:37:30 The current class is : https://gist.github.com/anonymous/1dcfe7d36cea2495f849 Jun 26 13:39:15 no one else? Jun 26 13:42:35 JakeWharton, you should change the background of http://jakewharton.github.io/butterknife/ my eyes hurt man :D Jun 26 13:47:34 ircfox, i think your input reader should read in ISO then Jun 26 13:47:42 right now it reads in utf8 Jun 26 13:48:04 danijoo: yes, I fixed it. Thank you mister! ;) Jun 26 13:48:25 paulo_, its fast for me Jun 26 13:52:17 danijoo: i'm getting 10kB/s :( Jun 26 13:52:48 paulo_, might be you then ;) Jun 26 13:53:05 no, other things are fast Jun 26 13:55:49 paulo_: where are you from? Jun 26 14:15:01 Good afternoon, could someone point me in the right direction? I have an ordinary AlertDialog fragment that takes a String to display in the body. How would I go about displaying a part of that String in a different colour (if the player busts in a game of Blackjack I want the score in red)? http://pastie.org/10260270 Jun 26 14:16:00 SpaghettiCat: Jun 26 14:16:06 String text = "This is red. This is blue."; Jun 26 14:16:06 textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE); Jun 26 14:16:26 the alertdialog you are using is likely just a textview Jun 26 14:16:34 (with some buttons) Jun 26 14:16:41 THank you I'll look into that Jun 26 14:16:42 or http://developer.android.com/reference/android/text/style/ForegroundColorSpan.html Jun 26 14:17:00 youll need a custom textview in your dialog for both though Jun 26 14:17:09 yep Jun 26 14:40:15 How do I make a android.mk file for java developing on ubuntu? Jun 26 14:44:19 hm? android.mk is for ndk :? Jun 26 14:46:10 yes Jun 26 14:46:37 i dont get the question Jun 26 14:47:09 hi - anyone for short test and houpefully small riddle? Jun 26 14:47:31 :) Jun 26 14:47:44 huh Jun 26 14:48:16 I am having issue with ListViewRemovalAnimation example from google devbytes. I have created repo https://github.com/bolovanos/ListViewRemovalAnimation, first commit original code from google, second commit is slightly modified to easyer demonstrate problem. Jun 26 14:48:37 When problem occurs: 1) user see all available items at once 2) user removes two last items (one by one from the end of the list) 3) user tries to scroll newly repopulated ListView, but he cant. Jun 26 14:48:37 4) user removes some items - this time not from the end but somewhere from the middle. Jun 26 14:48:37 5) user is able to scroll again Jun 26 14:49:19 Should I use junit 4 for testing? The documentation suggests using 3rd version but using the newer versions seems to be possible also. Jun 26 14:49:19 Sometimes OnTouchListener stops working completely - at least app behaves like that. Jun 26 14:49:19 Can you please try the code from git hub and tell me if you experience same behaviour? Are you able to say what is happening? Jun 26 14:54:24 asimas: why not? Do you have a good reason to use JUnit 3 released 13 years ago? :) Jun 26 14:55:34 One thing I wouldn't suggest is using TestNG for android Jun 26 14:55:53 SpaghettiCat, oh lol didn't think it's that old. Jun 26 14:56:12 Why not TestNG? Never heard of it but curious ^^ Jun 26 14:56:47 because testng isn't available as a runner for android Jun 26 14:56:49 you could write one... Jun 26 14:57:14 Does a runner just execute the tests? Because I ran tests with TestNG without writing a "runner" Jun 26 14:58:15 asimas: Because AS is much better integrated with JUnit, and iti has JUnit specific integrations in the Android SDK. And Android-specific TestCases that depend on JUnit. Something like that, from what I researched Jun 26 14:58:49 I see. Jun 26 14:58:59 How do you run a test on the UI thread? @UiThreadTest seems to not work and https://code.google.com/p/android/issues/detail?id=157356 confirms it. Jun 26 14:59:42 Know how to get adb connecting properly when I plug in (Debian) ? The adb connection keeps breaking and I have to quit X and then reconnect so "adb devices" shows the phone before starting X up again. Jun 26 15:00:40 does anyone know of an ORM for android that supports many-to-many relationships or helps to make it easier to use pivot/map/associations tables (which are used in many-to-many relations)? Jun 26 15:00:42 rgr: what's the debug/verbose/error log? Jun 26 15:04:25 is there an aligned bufferedinputstream (and outputstream) implementation anywhere Jun 26 15:07:53 trying to pass a value from one activity to another (in asynctask) but app crashes in async background Jun 26 15:07:58 whats the problem? Jun 26 15:08:13 cosmic rays Jun 26 15:08:19 *cause of this and how do i fix Jun 26 15:08:28 alumium hats Jun 26 15:08:30 http://pastebin.com/H5nk3gci Jun 26 15:08:47 http://pastebin.com/wPYxwgaB Jun 26 15:09:49 there is none. Jun 26 15:09:59 i think i done it correctly Jun 26 15:10:06 no ^^ Jun 26 15:10:13 what did i miss? Jun 26 15:10:23 DarkChaoz: Why are you using an AsyncTask to start a new Activity? Jun 26 15:10:50 he doesnt Jun 26 15:10:54 Im not using async task to start a new actibity Jun 26 15:10:57 there is no code to start a new actrivity Jun 26 15:11:17 that is the new activity Jun 26 15:11:25 let me post the original activity Jun 26 15:11:45 You are creating an intent and not using it. Jun 26 15:12:18 DarkChaoz, db is null Jun 26 15:12:39 because in line 30 you assign MyDatabase(this) to a local variable and not to the class variable Jun 26 15:12:50 read your exceptions... Jun 26 15:12:59 original activity http://pastebin.com/TugcPnYr Jun 26 15:13:18 when its clicked it sends value to this activity http://pastebin.com/H5nk3gci Jun 26 15:14:01 DarkChaoz, read what i wrote Jun 26 15:14:34 DarkChaoz: What is your question? Jun 26 15:14:47 i have another class using that but done differently and it works Jun 26 15:14:55 I die a little inside when I see people using AsyncTasks as inner classes of an Activity. Jun 26 15:15:13 TacticalJoke, yup. Jun 26 15:15:14 Okay, I don't really die. But I get annoyed. :D Jun 26 15:15:20 TacticalJoke lol why's that? :P Jun 26 15:15:24 well forget it.. I'll figure it out myself Jun 26 15:15:26 I kinda hate that AsyncTask even exists. Jun 26 15:15:32 but theres so many wrong in this pastebin i dont even say it. Jun 26 15:15:56 whats wrong with him? I told him where the error is Oo Jun 26 15:16:14 some people refuse to be helped Jun 26 15:16:19 tSilenzio: Inner classes have a hidden reference to their enclosing classes. If the enclosing class is an Activity, this reference can prevent the Activity from being garbage collected in certain cases. Jun 26 15:16:36 TacticalJoke what's wrong with async task? jw Jun 26 15:16:46 in this case on screen rotation the activity would not be GC' Jun 26 15:16:50 danijoo: You haven't provided a working solution ;) Jun 26 15:16:56 until the async task finshed Jun 26 15:16:57 In general, I think it's just too specific. It tries to be one-size-fits-all but fails. Jun 26 15:17:01 barq, yes i did Jun 26 15:17:08 I mean that it uses a too-specific pattern while trying to be generic. Jun 26 15:17:23 Not for it to be copy/pasted Jun 26 15:17:26 danijoo already solved the issue. Jun 26 15:17:27 because in line 30 you assign MyDatabase(this) to a local variable and not to the class variable Jun 26 15:17:28 read your exceptions... Jun 26 15:17:44 he just had to remove the MyDatabase in line 30 ^^ Jun 26 15:18:00 ah, I just thought you meant it just didn't belong there in a correctly structured app kind-of-way. I didn't even think of the memory allocation consequences Jun 26 15:18:15 Also, beginners misuse AsyncTask a lot, and I kinda feel that AsyncTask (along with the AsyncTask documentation) makes it too easy to go wrong. Jun 26 15:18:58 TacticalJoke I think AsyncTask tries to make multi-threading easier for new comers like myself lol Jun 26 15:19:18 but also easier to do it wrong ^^ Jun 26 15:19:34 Hi, i have 2 listview in my layout, category and clients, in client adapter i have a filter, i am filtring clients normal, but how i can change the data of category listview when filter client? Jun 26 15:19:36 tSilenzio: One thing I would say is that most uses of AsyncTask should not be nested (inner or otherwise) classes of an Activity. They should be entirely separate from the Activity. Examples are files, databases, networking. Jun 26 15:19:54 hi fellas, could someone give me a hint as to how one would disable/enable a broadcast receiver with a checkbox element or something similar?? Jun 26 15:20:09 bynarie, register/unregister it Jun 26 15:20:31 but u register it in the manifest, no?> Jun 26 15:20:37 or just do an if(!isChecked) return; as first part of your receiver code Jun 26 15:20:57 tSilenzio: True, it does make things easier. And it can be a nice stepping-stone too. Jun 26 15:22:23 danijoo, i think ive figured it out.. thanks Jun 26 15:22:25 I still recommend it to beginners because the alternative is too much hassle for them. But experienced people probably use it rarely. Jun 26 15:22:56 TacticalJoke: What do you use instead of AsyncTask? Jun 26 15:23:11 best alternative is Rx but trying to learn android and rx at the same time is suicide Jun 26 15:23:25 What if you want native Android only? Jun 26 15:23:43 what is not native on that? Jun 26 15:23:49 rx? Jun 26 15:23:51 is it not native to use a library Jun 26 15:23:52 ? Jun 26 15:24:00 support isnt native then too Jun 26 15:24:06 and design lib isnt native as well Jun 26 15:24:23 barq: I just use a thread pool (via ThreadPoolExecutor) and a Handler to get back to the main thread. Jun 26 15:24:24 Why not? AppCompat is in AOSP, Jun 26 15:24:25 even multidex is not native then :p Jun 26 15:24:43 I thought Rx is third party Jun 26 15:24:55 whats bad with thrid party Jun 26 15:25:02 thats what libraries are there for Jun 26 15:25:20 making life easier by providing you code you dont have to write yourself Jun 26 15:25:28 Some clients prohibit using em. Jun 26 15:27:02 * danijoo is happy to not deal with things like that Jun 26 15:27:15 I always struggle with scope when trying to start a unit test... any suggestions? I usually tend to think that asserting that a specific view becomes visible if data was loaded is a candidate for unit testing but I also feel like it's more suitable for integration testing Jun 26 15:28:38 danijoo: What are the benefits of rx vs asynctask? Jun 26 15:29:08 barq, out of scope to explain it here Jun 26 15:29:13 and im kinda new to it too Jun 26 15:29:19 google it if you want to know Jun 26 15:29:32 rx is composable Jun 26 15:29:35 #1 benefit Jun 26 15:29:40 tx is better. Jun 26 15:29:48 lol Jun 26 15:29:51 it's better to receive than to get Jun 26 15:29:52 :p Jun 26 15:29:53 er Jun 26 15:29:57 goddamnit Jun 26 15:30:00 you failed. Jun 26 15:30:05 I did Jun 26 15:30:45 pfn: What does composable mean? Jun 26 15:31:46 barq, Observable.just(doSomethingAsync).observeOn(Schedulers.io()).subscribe( { result -> doSomethingWithResult() } ) Jun 26 15:31:47 vs. Jun 26 15:31:55 write an async task and handle it in lifecycle Jun 26 15:33:22 Hmm, just wondering if it would be easier for a listener hierarchy to work using Rx. Jun 26 15:33:35 ok Jun 26 15:33:40 I'm disabling my 'rx' highlight. Jun 26 15:33:45 barq, http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/ Jun 26 15:33:48 you win Jun 26 15:33:52 really good read on that Jun 26 15:34:05 Thanks. Jun 26 15:34:33 anyone familiar with Retrofit? Jun 26 15:35:01 tx. you only have one question for free. is this the one you want to ask? :p Jun 26 15:35:17 No. Jun 26 15:35:21 :( Jun 26 15:35:23 :) Jun 26 15:35:46 ah Jun 26 15:35:52 transient is the keyword I am looking for. Jun 26 15:37:15 barq, it means you can put them together Jun 26 15:37:37 anyone tested ListViewReovalAnimation so far? Jun 26 15:37:38 barq, you can make observables work together Jun 26 15:37:57 How is that different from "normal" Android? Jun 26 15:38:12 barq, it just makes things easier Jun 26 15:38:33 its not witchcraft Jun 26 15:38:34 can someone please give me a few hints on how i could do this animation on android https://dribbble.com/shots/1640183-Top-menu-navigation-concept Jun 26 15:38:52 god, I hate how intellij can't read the test target package out of the apk but insists it's in the manifest Jun 26 15:41:35 I am on day four of creating my app and I had another question. I see every now and then some library and one of it's method expects a context via getContext(). What exactly is a context and why do they need it in these situations? Jun 26 15:42:39 tSilenzio it is a link to the android resources. It tells the receiver under what context it is run. and you can access resources like images from it Jun 26 15:43:13 for example a view must know the context it lives in Jun 26 15:43:30 libin: Canvas Jun 26 15:43:41 ahh, I see. I thought perhaps it had to do with threads and if you were on the UI Thread or not Jun 26 15:43:43 ohh Jun 26 15:44:06 yiati.. can we not do it without a canvas? Jun 26 15:44:47 yiati: You could try Jun 26 15:44:54 lol whoops Jun 26 15:44:58 libin: You could try Jun 26 15:45:03 lol Jun 26 15:45:12 i swear android studio is a piece of crap sometimes Jun 26 15:45:13 tSilenzio, "Interface to global information about an applications environment" is a nice summary Jun 26 15:47:22 danijoo thank you! I do (among other languges) JavaScript development, and context in that world means the environment the application runs in, such as in the browser or on the desktop Jun 26 15:47:38 DarkChaoz: What did it do now? Jun 26 15:47:50 also the View Present / HolderView pattern (I do not mean ViewHolder), or whatever other words describe the same pattern, is there any drawbacks to using this pattern in anyone's opinion? Jun 26 15:47:56 tSilenzio, not that much of a different in android. here the context is not the environment, but a link to it :) Jun 26 15:48:43 DarkChaoz, are you sure its not a problem at layer 7? :) Jun 26 15:48:58 '8* Jun 26 15:49:01 :( Jun 26 15:49:18 now i failed in flaming Jun 26 15:49:45 danijoo: You still have 2 laughs left. Jun 26 15:49:48 2 out of 3 Jun 26 15:50:28 When told a joke you laugh once after hearing the joke Jun 26 15:50:34 Once when the joke is explained Jun 26 15:50:39 And once when you got it Jun 26 15:53:51 Is there a way to kill all running task using ADB? I know there is "adb shell am kill-all" but this command is to kill all background processes. Jun 26 15:59:14 Guys if I have a linearlayout nested inside of a relative, can I do layout_below and give it the id of the linearlayout Jun 26 16:00:47 Looks like thats a yes actually Jun 26 16:02:05 Roger that. Jun 26 16:02:14 Sup TJ Jun 26 16:02:43 Hei. Jun 26 16:05:59 moin. Jun 26 16:06:07 Is Qt QML a valid substitute for programming android apps? Or do they insist you use java under "normal" (non optimization) circumstances? Jun 26 16:07:49 Is it a bad practice to use a static imports in tests? It would make my life so much easier: http://pastebin.com/A9ZGFTxf Jun 26 16:08:16 who cares, it's a test Jun 26 16:08:36 Some people use static imports only in tests. Jun 26 16:10:10 i always see tests as the only point where I dont have to care about this evil "best practice" Jun 26 16:11:07 Is it always bad practice to program in C++ on an android? Jun 26 16:11:47 Depends on what you're trying to do, but probably Jun 26 16:12:02 for high performance, you sometimes need a bit fo C Jun 26 16:12:10 :D Jun 26 16:12:18 should a Data Model go in the Activity / Fragment or within a View Presenter? No sure what common practice is Jun 26 16:13:11 to much questions about practice to days Jun 26 16:13:39 lol, I wish i could say I timed that question Jun 26 16:14:29 tSilenzio: Can you give an example of a data model you're thinking of? Jun 26 16:17:43 Person, (using an ORM) which has three fields, "id", "name" and "age". The activity has two EditText for name and age. I have a View Presenter which is a middle man between the layout and the activity. I wasn't sure if the Model should tie to the View Presenter or the Activity Jun 26 16:24:11 What do you mean by "tie to"? Jun 26 16:25:22 tSilenzio: just wite code) Jun 26 16:25:51 android force you write it correct ^) Jun 26 16:26:11 is it possible to override the tab selected indicator color without having to create your own state list drawable and reimplement everything? Jun 26 16:26:18 for the new tablayout in the design support library Jun 26 16:32:31 Does anyone have experience with the GSON library? Jun 26 16:33:51 sorry, I'd robably be making more sense had I gotten some sleep lol. I won't ever be able to make an app between Work, Family and Friends if I don't lose some sleep Jun 26 16:36:18 i have a searchview and set onclicklistener, but is not work, anybody can help me? Jun 26 16:36:21 b2zeldafreak: Nope. You've just entered a strange parallel universe in which nobody has experience with the GSON library. What now?! Jun 26 16:38:10 hmm, how do I access assets using the new android-test-kit? Jun 26 16:38:24 The JSON I'm getting from the API is an object with nested objects whose names are generated based on a user_id relationship. So for example I have {-100004|100001 : {stuff}, -100004|100006 : {stuff}, etc} Jun 26 16:39:03 I need to parse that into a list or array for each relationship, but I'm not sure how to do that since it's not coming in as a JSON array, and the key's change based on the relationship Jun 26 16:41:30 It should be easy to iterate the object and add each member to a collection. Jun 26 16:42:46 Is "iterate" the right word there? I'm too tired to think. Jun 26 16:42:52 so can I just use gson.fromJSON(jsonData, List)? or do I need to do a for loop to get each object then do gson for each? Jun 26 16:43:38 Is there a way to kill all running task using ADB? I know there is "adb shell am kill-all" but this command is to kill all background processes. Jun 26 16:44:38 Or maybe .toJsonTree? Jun 26 16:48:48 b2zeldafreak: Jun 26 16:49:06 yes? Jun 26 16:49:07 GSON is capable to turning JSON arrays into a List of objects Jun 26 16:49:16 alexfu yes Jun 26 16:49:19 That's the problem, it's not coming in as an array Jun 26 16:49:35 lol nvm, I thought that was a question. b2zeldafreak how's your data? Jun 26 16:49:44 https://gist.github.com/anonymous/14ae9b3c21f28b031bc1 Jun 26 16:49:45 b2zeldafreak: then, that's a problem with the server Jun 26 16:50:08 b2zeldafreak: or you need to match your objects to the data given Jun 26 16:50:10 Hi there, should I use v4.Fragment everywhere instead of just Fragment. I intent to use ViewPager, but I'm getting a lot of trouble because I'm using just Fragment Jun 26 16:50:17 see, that's not valid json first of all, b2zeldafreak Jun 26 16:50:23 how so? Jun 26 16:50:28 @id is not a valid thing Jun 26 16:50:36 it should be "id" Jun 26 16:50:46 in raw it's "@id" Jun 26 16:51:00 so all keys *are* strings then? Jun 26 16:51:05 technically, if you wrap it with quotes it should be valid. but thats besides the point Jun 26 16:51:12 yeah, that's just formatted Jun 26 16:51:26 Here's the raw: https://gist.github.com/anonymous/ce7e16a5a5ce479b0f18 Jun 26 16:51:52 b2zeldafreak: this may help you http://www.jsonschema2pojo.org Jun 26 16:51:59 Guys im trying to create a custom EditText class but my app keeps crashin Jun 26 16:52:04 saying theres an error with my XML Jun 26 16:52:11 Whenever I try to use the custom class Jun 26 16:52:31 drose379: What error? Jun 26 16:52:38 Wait, I think I found the issue Jun 26 16:53:31 b2zeldafreak: https://gist.github.com/wviana/7d11d2fbdafa54e8a135 Jun 26 16:53:46 barq its error inflating class Jun 26 16:53:49 Then my custom class name Jun 26 16:54:06 drose379: Show your xml and exact error. Jun 26 16:54:30 drose379: Nobody is going to look at a 1300 line source code that doesn’t even show the error nor the layout Jun 26 16:54:43 Should I use v4.Fragment everywhere instead of just Fragment? I intent to use ViewPager, but I'm getting a lot of trouble because I'm using just Fragment Jun 26 16:55:03 drose379: How do you expect anyone to help you with that information? Jun 26 16:55:05 The problem is the 100004|100001 is generated each time. That's the leader|client relationship Jun 26 16:55:16 wviana: not sure i see the value in that when GSON can deserialize objects for you Jun 26 16:55:24 Well not im getting Didnt find class on path Jun 26 16:56:22 now* Jun 26 16:56:30 alexfu: can GSON deserialize without need to create the host class ? Jun 26 16:57:00 why are my spinners so ugly... Jun 26 16:57:09 wviana: no. but you just create a simple class that has the same structure as your JSON. not sure why a generator is needed. Jun 26 16:57:10 b2zeldafreak here: http://hastebin.com/ijijugatom.java Jun 26 16:57:22 gavit: Maybe you're not using Theme.AppCompat. Jun 26 16:57:52 alexfu: sometimes that are a lot of subclasses on it. The generator just simplify it. Jun 26 16:57:55 ok so I have a model object (ticket) with an ID and all that jazz. when I go to add one of these puppies to a gridview of mine (it is sorted before I call notifydatasetchanged) Jun 26 16:58:01 and I make it fade in Jun 26 16:58:07 the last item in the gridview fades in Jun 26 16:58:14 not the actual one where it should be as sorted. Jun 26 16:58:23 I understand that key will change everytime, if you can, I'd suggest changing that key to something static since you already have the name of the object inside the json Jun 26 16:58:37 Why is that? Jun 26 16:58:57 TacticalJoke: do I have to sett it in every Item? Jun 26 16:59:06 Afzal, Cool, thanks. I think that will work. Can I nest the Date class or does it need to be a separate file? As far as the key, I could change talk to my boss about changing it server side, but that would probably break our Thunderbird extension Jun 26 16:59:15 gavit: Set a theme for your app. Jun 26 16:59:39 b2zeldafreak you can nest the date class but why not just use formatted time, like the java Date class or unix timestamp Jun 26 17:00:04 Can application lunch time be correlated with the execution time of activityStart/onStart() function handled by the Acitvity Manager? Jun 26 17:00:07 barq: https://gist.github.com/anonymous/aabbe631f957fea197c3 like this? Jun 26 17:00:13 Lazieness :P I don't actually need the date stuff right now so it's easier to just store it as a string. How do I go about parsing the initial object? Jun 26 17:00:50 gavit: In your styles.xml Jun 26 17:00:53 i.e. the { @id:value, 101|104 : {}, 101:106 : {} } Jun 26 17:01:54 b2zeldafreak the whole thing is a JsonObject, get the entrySet() of that object and iterate though Jun 26 17:02:01 barq: I'm not sure what you mean: https://gist.github.com/anonymous/374e86bafb497fbfda1b Jun 26 17:02:07 but as I said, it would be much easier if you put the stuff in a json array Jun 26 17:02:31 Okay, you are using Theme.AppCompat. Jun 26 17:02:47 What do your spinners look like? Jun 26 17:03:13 like this https://gist.github.com/AfzalivE/a936ec3fb37f447549b9 Jun 26 17:03:43 each element in the items array is your Data object Jun 26 17:04:08 I could take the object I get and turn it into an array I guess Jun 26 17:04:54 TacticalJoke: hold on lemme make a screenshot Jun 26 17:06:12 i have a ArrayList, how i can create a List with unique object with object.getName not repeated? Jun 26 17:06:45 loop over t0th_-_ Jun 26 17:06:57 TacticalJoke: how are you doing btw :) Jun 26 17:08:17 Afzal, could I take the JSON object and use jsonObject.toArray(jsonObject.names() - @id) //Obviously - @id is pseudo code Jun 26 17:08:33 Not too bad. Just resting after a long day. :) Jun 26 17:08:39 Hey guys, I'm looking for a way to make my app toggle Airplane Mode without root on 4.2+ but I can't find anything on the webs. Hoping your guys can shed me some light Jun 26 17:08:49 b2zeldafreak dunno, try it Jun 26 17:09:04 Yay for Android debugged :D Jun 26 17:09:37 t0th_-_: Set Jun 26 17:09:58 TacticalJoke: http://imgur.com/77ovLnh&gLexC9X This is with "android:background="@android:drawable/spinner_background"" Jun 26 17:11:48 TacticalJoke: without all I see is a lil triangle on the right Jun 26 17:12:57 JSONArray.remove() requires API level 19 haah Jun 26 17:13:48 I did change my fragment to v4.Fragment, now I'm getting error on this getFragmentManager() method. http://pastebin.com/BQ2tK0r8 Jun 26 17:14:22 TacticalJoke: with a background color it loks like a rectangle Jun 26 17:14:24 wviana: Show your declaration of mainFragment Jun 26 17:14:44 So I guess I need to read the names into an ArrayList then rebuild a JSONArray from that Jun 26 17:15:29 b2zeldafreak: are you using GSON? Jun 26 17:15:32 barq: private Fragment mainFragment; and the import: import android.support.v4.app.Fragment; , ps: my activity is extending AppCompatActivity Jun 26 17:15:46 gavit: I think you're setting the wrong background. I don't think you should be setting any background. Jun 26 17:15:55 alexfu: yeah, but my data is coming in as an object not an array Jun 26 17:15:55 The material look for a spinner is just an arrow to the right. Jun 26 17:16:13 Like this: http://material-design.storage.googleapis.com/publish/material_v_4/material_ext_publish/0B6Okdz75tqQsX1BHTWxFbUdzMXc/layout_structure_appbar_menu5.png Jun 26 17:16:23 wviana: Show main_fragment Jun 26 17:16:25 I'm still adjusting to Java, would it be bad to call a Presenter statically? Jun 26 17:18:08 barq: https://gist.github.com/wviana/5bf6a12d47bf3221e59e Jun 26 17:18:17 tSilenzio: I'm having trouble parsing your descriptions. For example, "call a Presenter statically" could mean so many things. Jun 26 17:19:04 wviana: The main_fragment code Jun 26 17:19:27 TacticalJoke: http://imgur.com/5emW8PL <- Upper is with background = #64B5F6, lower is without background Jun 26 17:19:48 the lower one has no text Jun 26 17:20:08 If you set a background then you lose the arrow, I think. Jun 26 17:21:04 Can you just set the background on the items returned by the adapter? I can't remember whether that works. Jun 26 17:21:09 sorry, again I'm low on sleep so I don't make sense sometimes. What I mean, going off of my description earlier, is to have a static method for getPerson and setPerson so I could just do: Person billy = new Person("Billy", 29); PersonPresenter.setPerson(billy); Jun 26 17:21:12 TacticalJoke: so this is how it's supposed to look like? Jun 26 17:21:39 which in turn would populate the name EditText with "Billy" and age EditText with "29"; Jun 26 17:22:01 gavit: do you mean this one ? https://gist.github.com/wviana/a0a9f189735c997dfb28 Jun 26 17:22:40 gavit: It'd be more standard to put the spinner in a toolbar and set the toolbar's background. Jun 26 17:22:45 And easier (probably). Jun 26 17:23:10 Then again, that might not make sense in your case. Hmm. Jun 26 17:23:15 I wanted to know if it was better to initialize a new presenter, then run the method, or if i could just technically do it statically Jun 26 17:23:20 TacticalJoke: I don't understand why it'd be in a toolbar Jun 26 17:23:36 TacticalJoke: I'm trying to pinpoint a location Jun 26 17:23:48 so it would be like country -> state -> city Jun 26 17:24:37 tSilenzio, how are you attaching your edittexts to the person presenter. what is the point of this presenter, is it from another language or style? Jun 26 17:25:14 wviana: I think you're mistaking me for someone else Jun 26 17:25:37 gavit: oh, sorry Jun 26 17:25:44 wviana: main_fragment is a fragment, but you want MapFragment I think Jun 26 17:26:42 I think it's something about the AppCompatActivity , or you think it can't be it? Jun 26 17:26:46 no Jun 26 17:26:50 TacticalJoke: what do I need to do to get a spinner like this: https://dl.pushbulletusercontent.com/5PaOy00a6tEdDATLGEJGXeXY2Ft9urbz/Screenshot_2015-06-26-14-26-06.png Jun 26 17:26:52 Read your error Jun 26 17:27:31 TacticalJoke: it's a funny, but cool spinner Jun 26 17:27:35 So really the API should be returning a list of results Jun 26 17:28:24 you could also do a two textviews (with left compound drawables) as your "row" and then use a popup dialog Jun 26 17:28:45 barq: yeah, But I can't figure out why MapFragment is retuning Fragment instead of support fragment Jun 26 17:29:00 wviana: That's not what the error says. Jun 26 17:29:36 barq: actually the method is returning Fragment instead of support Fragment Jun 26 17:29:48 In your xml you have fragment and are trying to make it a MapFragment. Jun 26 17:30:41 barq: I can't even do this: FragmentManager fragmentManager = getFragmentManager(); (FramentManeger is support one, getFramentManeger is returning the normal one) Jun 26 17:31:11 getSupportFragmentManager then Jun 26 17:31:42 barq: oh sh** , thank you very much Jun 26 17:32:29 TacticalJoke: Could it be LineairView with an onClick -> DIalog with 2 ListViews? Jun 26 17:37:23 TacticalJoke: wow, some people use WebView's... http://stackoverflow.com/questions/2909249/how-can-we-create-iphone-like-spinners-in-android Jun 26 17:38:02 -' Jun 26 17:41:36 Google search is pretty slow over here. Is that the same for you guys? Jun 26 17:41:52 be over in a sec to test Jun 26 17:42:41 which method should i use to clip circle ? Jun 26 17:45:09 can't I get a Fragment rootView before it be showed ? or shouldn't I populate a Fragment from outside of it ? I'm trying to populate a ViewPager like this https://gist.github.com/wviana/ee08557831b1e6dd6bc2 , shouldn't I be doing it like this ? Jun 26 17:46:06 ircfox: no Jun 26 17:48:10 I'll have to have a lot of data to create this ViewPager fragment, I can't pass all this data through a getInstance fragment patter. Jun 26 17:49:21 any suggestion ? Jun 26 17:49:27 this is some of the worst frankencode I've ever created Jun 26 17:52:00 Hi i wanna wrap the text inside textview so i did this android:weight="0dip" but it wraps ups so early i wanna wrap the text until its 3/4 of width of screen Jun 26 17:53:31 weight doesn't use dp(dip) Jun 26 17:53:57 ircfox use duckduckgo Jun 26 17:56:26 canvs2321-: sorry it used width not weight its typo Jun 26 17:56:31 what is the thing called when you pull down at the top of a list to refresh or do something Jun 26 17:56:53 {Corretion } Hi i wanna wrap the text inside textview so i did this android:width="0dip" but it wraps ups so early i wanna wrap the text until its 3/4 of width of screen Jun 26 17:57:01 pagefault: swipe refresh Jun 26 17:57:08 pagefault: google for that Jun 26 17:57:46 ok thanks Jun 26 17:58:24 pagefault: are you from india ? Jun 26 17:58:31 no why would I be? Jun 26 17:58:45 pagefault: i had a friend with same nick Jun 26 17:58:50 pagefault: nevermind Jun 26 17:59:24 canvs2321-: i've corrected my question can you check that ? Jun 26 18:05:45 http://www.fiercedeveloper.com/story/report-android-devs-update-apps-nearly-twice-often-ios-devs/2015-06-25 Jun 26 18:07:14 is there any reason not to do the following in the main thread: Jun 26 18:07:15 myThread t = new Thread().start(); t.methodOtherThanRun(); Jun 26 18:07:17 ? Jun 26 18:08:28 uh Jun 26 18:08:38 that's not how threading works Jun 26 18:09:09 care to elaborate? Jun 26 18:09:22 oh, you mean the method will be ran on the UI thread? Jun 26 18:09:32 no Jun 26 18:09:34 it won't work at all Jun 26 18:09:40 I just tested it Jun 26 18:09:47 on a real device Jun 26 18:09:51 Thanks everyone, the JSON is now parsing into Java objects. 0/10 would not reccomend: http://hastebin.com/iziherurud.avrasm Jun 26 18:10:09 entropyeqzero: it will not do what you want it to do Jun 26 18:10:14 can anybody pealse help me i'm stuck Jun 26 18:10:28 tx: what do you mean? Jun 26 18:10:33 It will not run in that thread. Jun 26 18:11:10 so.. it *will* be ran on the UI thread, then? Jun 26 18:11:53 Possibly. That is not what you want though. Jun 26 18:12:23 I see Jun 26 18:12:27 any idea how to reference a worker thread handler from the UI thread? Jun 26 18:12:48 https://developer.android.com/training/multiple-threads/communicate-ui.html Jun 26 18:13:23 yes I read that, it doesn't answer my question though Jun 26 18:13:46 Protip: It helps if you insert your data into the right table Jun 26 18:14:05 I want to update the worker thread (call a method) from the UI thread, NOT the other way around Jun 26 18:15:56 entropyeqzero: you could use an AsyncTask Jun 26 18:16:03 Thread is a little too basic. Jun 26 18:16:14 or Otto, an event bus. Jun 26 18:18:03 i don't think i can use an AsyncTask... i want to the worker thread to complete it's run() method and then wait wait for the user's command to execute a method that references objects made by the run(0 emthod Jun 26 18:18:11 then wait* Jun 26 18:18:45 onpostexecute on the asynctask Jun 26 18:18:50 return the results back to the ui thread Jun 26 18:19:54 It's a thread, it's meant to die once it has finished doing whatever it was meant to do. Jun 26 18:19:55 you think I can pass an array of sockets to the UI thread, then pass them as arguments to another thread? Jun 26 18:20:00 Not stick around to give results. :P Jun 26 18:20:17 you sure it's going to work? Jun 26 18:20:23 Only one way to find out. Jun 26 18:20:35 right Jun 26 18:20:37 brb Jun 26 18:20:44 ah hmm Jun 26 18:20:51 entropyeqzero: sockets are made per-thread Jun 26 18:21:00 why do you need to pass them around threads? Jun 26 18:21:13 tx: that's the thing, I don't want to Jun 26 18:21:23 then.. don't? Jun 26 18:21:32 Why do you need to? Jun 26 18:22:09 How can I get the Id of a row when I'm using a SimpleCursorAdapter to populate a listView? Jun 26 18:22:30 I wasn't clear. I want to execute the generateArrayOfSockets() method in run(), and some time later call (socketAction() when the time is ripe Jun 26 18:22:42 all from the worker thread Jun 26 18:22:59 entropyeqzero: It sounds like you need a Service. Jun 26 18:23:29 I'll rtfm on services, thx Jun 26 18:23:29 It hangs out in the background Jun 26 18:23:33 you don't even need an activity Jun 26 18:23:39 and it's one thread. :) Jun 26 18:27:48 if I am using app compat libraries, should I switch all my lienarlayouts to linearlayoutcompat or is this only necessary if i want x (and what is x)? Jun 26 18:29:46 Hi again, how do I do something like this ? Is it possible ? tags: inner-class, anonymous, fragment, https://gist.github.com/wviana/b7da3051f44ef05f2e46 Jun 26 18:29:47 maybe read up on the why Jun 26 18:30:23 your oncreateview is getting quite large, time to extract? Jun 26 18:31:00 lasserix i think appcompat does that for you automatically Jun 26 18:31:11 not specifically linearlayout but textviews for example Jun 26 18:39:06 In the fragmentPageAdapter in the method Fragment getItem(int position), I'm thinking to return a anonymous class, something like|| return new Fragment(){ ... }; || It's ok to do it ? here is how I'm doing it. https://gist.github.com/wviana/8193c0a8750c31cafc23 Jun 26 18:39:48 getItem should return your item, what are you doing? Jun 26 18:40:08 canvs2321-: In this case It should return a Fragment Jun 26 18:40:32 getItem isn't dynamic, it returns known objects in the position Jun 26 18:41:15 I have two textview inside a linear layout i wanna add layout_toLeftof or toRightof programatically Jun 26 18:41:26 cool story Jun 26 18:41:46 Hey Jun 26 18:41:48 In my app right now so if you press the back button on the phone after you have searched for something, and you come back after pressing that button, the text is saved. But if I press the back button on the app at the top left, the text isn't saved when I go back. Do anyone know how I can fix that? Jun 26 18:41:49 if just 2 items, no need for leftof rightof Jun 26 18:41:52 canvs2321-: Here is how I'm trying to do it. https://gist.github.com/wviana/fec96415815bd1fb4042 ps: I think that I past the wrong code Jun 26 18:41:57 I tried with this code: http://puu.sh/iBcp7/70e37db7ff.png in the onBackPressed() method but it made the app crash Jun 26 18:42:51 wviana, you've pasted that code 8x+ times, not sure if i need to learn another language or not, but that code is huge, and probably easily managed Jun 26 18:43:09 canvs2321-: Page doesn't differs from Fragment, so why to have it Jun 26 18:43:56 canvs2321-: also why LinearLayout and not ListView/RecyclerView? Jun 26 18:44:21 icedp, why are you msg'n me? Jun 26 18:45:34 canvs2321-: I'm messaging, I'm highlighting or mentioning. Mishit obviously. Sorry Jun 26 18:45:48 s/^I'm/I'm not Jun 26 18:46:14 wviana: ^ Jun 26 18:47:35 I have two textview inside a linear layout i wanna add layout_toLeftof or toRightof to any one of the textview programatically Jun 26 18:47:49 i've tried code but it gives me null point exception Jun 26 18:48:52 boodllebat: You sure LinearLayout supports those attributes? Jun 26 18:48:58 is it possible to create a socket in java and pass the file descriptor to native (C/C++) code? I don't see a way to get the raw fd from a socket Jun 26 18:49:00 those are features of RelativeLayout.LayoutParams boodllebat Jun 26 18:49:12 boodllebat: ^ Jun 26 18:49:25 thebishop: in c/c++ socket is basic int Jun 26 18:49:35 boodllebat, right Jun 26 18:49:43 boodllebat, so i need that int Jun 26 18:49:53 icedp: so what should i do i have two textviews inside a linear layout ? Jun 26 18:50:09 boodllebat: Depends on how you want them arranged. Jun 26 18:50:38 boodllebat, there is no left of right of with linear layout, it's all based on position in addition Jun 26 18:50:38 thebishop: and what about java ? are fd int too in java ? Jun 26 18:50:47 boodllebat: Just add them inside the linearlayout in the xml. Jun 26 18:51:45 barq: i already have both of them inside linear layout but i wanna add textview1.toLeftof="textview2" like this but programatically Jun 26 18:52:04 boodllebat: Why do you want to do this? What problem are you actually trying to solve? Jun 26 18:52:21 boodllebat: Just set your orientation horizontal in the LinearLayout. Jun 26 18:53:24 barq: i have textview and when i turn on textwrapping(android:width="0dip") in that text view it wraps up too early and if i dont add up text wrapping it goes to full width i want it to cover only 3/4 width of screen and then wrap the text Jun 26 18:53:39 boodllebat: Show your xml. Jun 26 18:53:54 boodllebat: you probably want to just move to RelativeLayout. Jun 26 18:54:21 boodllebat: Use weights. Jun 26 18:55:08 barq: i'm trying weights only http://paste.ubuntu.com/11780021/ Jun 26 18:55:13 thebishop: you solved it ? Jun 26 18:55:35 boodllebat: That link is not loading. Jun 26 18:55:52 Now it is Jun 26 18:56:01 boodllebat: if you use weights, then you want them both to be 0dp Jun 26 18:56:10 and it’s dp, not dip Jun 26 18:56:18 boodllebat: Why do you have nested LinearLayouts? You can get rid of one layer. Jun 26 18:56:44 boodllebat, something lower than the FileDescriptor object? Jun 26 18:56:50 s73v3r: so would it work if i remove second textview ? Jun 26 18:57:03 boodllebat: No, remove one LinearLayout. Jun 26 18:57:09 boodllebat: set weight for 1st TV 3 and for 2nd - 1 Jun 26 18:57:10 What was application id called in the manifest before gradle came along? Jun 26 18:57:21 boodllebat: And if you want 3/4 of screen then use weights 1 and 3 Jun 26 18:57:24 thebishop: http://pastebin.com/DFgdyy9r second text view i have added to solve problem ( hovever it does'n) Jun 26 18:57:26 neither of your linearlayouts have an orientation, either Jun 26 18:57:43 barq: but can it work with only one textview ? Jun 26 18:57:48 Default is horizontal though. Jun 26 18:57:56 boodllebat: Do you have one or two textviews? Jun 26 18:58:09 so what’s your overall goal? You want one text view to take up 3/4 of the screen? Jun 26 18:58:14 boodllebat: you want to have a empty 1/4 column on the right or what? Jun 26 18:58:17 barq: in actual one but second one i added to solve this problem it dummy textview Jun 26 18:58:35 boodllebat: Then use weights 3 and 1 Jun 26 18:58:47 i'm trying to create a folder inside a folder this way, folder = new File(extStorageDirectory, "/Scoper/" + workOrderText.getText().toString()); the folder scoper already exist but it's not being created, is there a different way Jun 26 18:58:56 don't use dummy TextView. there is Space boodllebat Jun 26 18:59:22 barq: ok this is real how do i add weights 1 and 3 cause i'm having only one textview http://pastebin.com/E1SR1Gnw Jun 26 18:59:32 icedp: how to add space ? Jun 26 18:59:40 boodllebat: Tell us what your actual goal is Jun 26 18:59:55 boodllebat: Just set the weights of your actual textview to 3 and the empty one to 1 Jun 26 19:00:08 boodllebat: Right now you have 5 and 5 so the textview should take up half the screen. Jun 26 19:00:32 My actual goal : I have a TextView and i want its all text to be wrapped up as soon as it covers 3/4 area of screen or 60% of screen Jun 26 19:00:54 if you only want one textview, then replace the second one with just a view, or a space. then set the layout weights Jun 26 19:00:59 boodllebat: http://pastebin.com/LrFaxf0u Jun 26 19:01:01 and set their widths both to 0dp Jun 26 19:01:55 boodllebat: http://pastebin.com/qfcmND7R Jun 26 19:01:58 barq: but i am making chat ui so i have to move one text view to left and right dynamically for "your msg" and "friends's msg" like whats app Jun 26 19:02:25 that’s fine. these should then be cells in a listview or recyclerview Jun 26 19:02:26 boodllebat: Why do you need to move anything? Jun 26 19:02:48 It should be either one or the other but not change, should it? Jun 26 19:03:01 the easiest way to do that is to simply create two layouts Jun 26 19:03:08 barq: ok let me try your xml Jun 26 19:04:03 boodllebat: then just have Space - TextView - Space. and just then set weight of the left space to 1, right one to 0 or vice versa Jun 26 19:04:55 icedp: I don't think there's much point in setting that programmatically. I would just use two layouts. Jun 26 19:05:27 icedp: i'm trying something like this , whatever size of text is it'll wrap after 3/4 of screen or approx http://forums.crackberry.com/attachments/general-bbm-chat-f404/195498d1377385914t-bbms-ui-looks-so-much-better-compared-whatsapp-recently-updated72.jpg Jun 26 19:06:05 boodllebat: Is my xml working? Jun 26 19:06:06 You’re gonna be putting them in a listview, so just make two layouts that are mirror images of each other Jun 26 19:06:19 barq: no it did not work all chat box are in left and some blank coloumn in right Jun 26 19:06:45 barq: should i give you screen shot ? Jun 26 19:06:45 boodllebat: Is it taking up 3/4 space? Jun 26 19:06:53 barq: my first though there could be worse recycling performance. but on second though - never mind Jun 26 19:06:59 barq: yes 3/4 space on left and 1/4 blank on right Jun 26 19:07:06 boodllebat: That was your original question. Jun 26 19:07:15 boodllebat: Now just create a second xml and swap the weights. Jun 26 19:08:07 icedp: how to add space to xml ? Jun 26 19:08:33 Jun 26 19:08:43 boodllebat: you add Space the same way you add any View like TextView Jun 26 19:09:24 other than being more clear on your intentions, what’s the benefit of using space instead of just a blank view? Is it more efficient? Jun 26 19:09:53 s73v3r: better understanding of layout by watching XML Jun 26 19:10:02 s73v3r: just a guess Jun 26 19:10:41 boodllebat: s73v3r was asking *besides* the intentions. Whether there is any optimization benefit. Jun 26 19:10:48 barq: so that is not possible with one XML cause i dont wanna make a XML mess here Jun 26 19:11:17 boodllebat: You can set weights programmatically, but probably using two layouts is easier and better performance. Jun 26 19:11:40 two layouts is definitely more clear, because then you can have two different cell types in your listview Jun 26 19:11:57 barq: why XML is considerd to give better performance as compared to runtime generation of views ? Jun 26 19:12:11 how do I get Android Studio to see the android-ndk directory? I have it in the default SDK location ~/Library/android/sdk/ in a directory called android-ndk but I don't see where I can add that to SDK location in the Project Structure config window Jun 26 19:12:13 s73v3r: but then i have to change my adapter gain Jun 26 19:12:35 it is pretty simple to adjust an adapter to multiple view types Jun 26 19:12:54 especially if both view types actually have the same content Jun 26 19:14:06 okay first i'll try to mess up with this thing and i'll see if i can fix this thing without adding another XML if i fail i'll go for another XML Jun 26 19:14:30 boodllebat: Why do you think using another xml is worse than doing it programmatically? Jun 26 19:14:42 s73v3r: View do a lot of checks in draw() and tries to draw background or something Jun 26 19:15:00 s73v3r: Space has empty draw() Jun 26 19:15:01 icedp: Space just skips all that? Jun 26 19:16:13 s73v3r: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.0_r1/android/widget/Space.java#Space.draw%28android.graphics.Canvas%29 Jun 26 19:16:15 barq: its not worse other people who are handling this code gets panic by seeing so much of XML there so that is the reason, also i've already added lots of XML files to the app so i'm trying to keep it low Jun 26 19:16:46 boodllebat: Homework? Jun 26 19:17:02 boodllebat: If they’re panicked by seeing XML, then they’re not ready to be an Android developer. Full stop. Jun 26 19:17:24 s73v3r: actually they are not Jun 26 19:17:48 boodllebat: Do what you will, but it will be a thousand times easier for both you, and whoever takes over the code, to simply have two layouts Jun 26 19:18:55 barq: no i'm not a android developer , me and my colleagues are working on a small app that's it and we all dont know android. Jun 26 19:19:44 boodllebat: How many xml files have you got? Jun 26 19:20:24 barq: 13 of them. Jun 26 19:20:55 barq: yeah i have 13 xml files Jun 26 19:21:01 that’s nothing Jun 26 19:21:57 s73v3r: its nothing for you cause you know android but its very hectic for somebody who's new to handle XML and java both. Jun 26 19:22:04 no, it shouldn’t be Jun 26 19:22:19 boodllebat: No, it's much messier to do this programatically. Jun 26 19:22:25 using Android is to use XML Jun 26 19:22:29 thebishop: you solved it ? Jun 26 19:22:34 That’s just a fact of life. Jun 26 19:23:46 s73v3r: yes Android MainStream App development is all XML Jun 26 19:23:57 so embrace it Jun 26 19:24:01 learn to love the XML Jun 26 19:24:24 http://android-developers.blogspot.com/2015/06/an-update-on-eclipse-android-developer.html Jun 26 19:24:33 Seriously, my Android book is going to be subtitled: How I Learned to Stop Worrying and Love XML Jun 26 19:24:50 Anyone use omniture tracking analytics? Jun 26 19:25:09 I am wondering if i should be seeing the lifecycle tracking callbacks in bloodhound, i see the states just fine: but only one for Lifecycle Jun 26 19:25:54 g00s: Does that mean new SDK won't be available for Eclipse? Jun 26 19:26:25 g00s: oh, I didn't know it's still supported Jun 26 19:26:31 barq i don't know - i guess it depends on andmore project Jun 26 19:28:38 what happens if intellij goes the way of borland, seems kinda crazy Jun 26 19:28:56 oh i guess borland is still in business ha Jun 26 19:28:58 I thought the support for ADT had already stopped? Jun 26 19:29:40 barq i dont think support stopped, just new development Jun 26 19:29:46 so bugfixes, whatever Jun 26 19:29:56 even if JetBrains goes belly up, the core of IntelliJ, and the parts that make up Android Studio, are open source Jun 26 19:30:17 s73v3r just like eclipse, but we see what happened there Jun 26 19:30:29 (atrophy, decay) Jun 26 19:30:53 depends on the talent & resources of the people taking it over Jun 26 19:31:30 the eclipse guys have been for a long time very "understaffed" Jun 26 19:31:44 Who sponsors Eclipse? Jun 26 19:32:37 s73v3r: well, the native stuff isn't, which AS will be pulling in Jun 26 19:33:50 If I am running an app, then I redeploy while its running, i see that it crashes sometimes, is that normal? Jun 26 19:34:31 i guess i wonder - if google is willing to depend on 1 company and their ide, why not also just adopt kotlin too Jun 26 19:34:59 the fates of both are tied to the same entity Jun 26 19:35:15 lasserix: Probably screws with your lifecycle and can be prevented Jun 26 19:35:35 barq elaborate? Jun 26 19:35:39 lasserix: Yes, normal Jun 26 19:36:29 lasserix what does the stack trace say ? Jun 26 19:36:41 that's the thing, there is no stack trace Jun 26 19:36:43 anyone using Gson for json parsing? is it possible to define date format for each field? Jun 26 19:36:57 yes Jun 26 19:37:00 and yes Jun 26 19:37:17 does anyone know off the top of their head how to kill the app before i deploy? i can add like adb kill package or whatever to the run config? Jun 26 19:37:52 lasserix: To avoid the crash? Jun 26 19:37:57 lasserix: You can deploy without (re)starting the app Jun 26 19:38:12 FrEaKmAn_: It's especially easy if you use Retrofit, http://stackoverflow.com/a/23843875/1229735 Jun 26 19:38:15 yeah Jun 26 19:38:25 yiati: I'm using it :) Jun 26 19:38:34 but I can see a way to define multiple date formats Jun 26 19:38:36 only one global Jun 26 19:38:46 basically i installed an analytics and it sees it as a crash wish i want to avoid, so is there a way to add a command line to be sent before i redeploy to quit the app if it is running? Jun 26 19:39:14 FrEaKmAn_: Your backend is using different date formats? Jun 26 19:39:50 theblang: yes.. actually one is only date, other is date with time Jun 26 19:39:51 lasserix: I figured that is why. Which Analytics you using? Jun 26 19:39:52 ie i want to add adb install -r *.apk Jun 26 19:39:57 omniture Jun 26 19:40:20 FrEaKmAn_: You could make 2 different adapters, one for each Jun 26 19:40:45 FrEaKmAn_: Which formats exactly? Jun 26 19:41:18 lasserix: I have this in my app, cant remember at the top of my head, no access to code right now, but can look it up. Jun 26 19:41:24 2015-06-26 and 2015-06-26 21:41:00 Jun 26 19:41:50 barq basically i can do Run/Debug Configurations and have Before Launch: add some script to to do that Jun 26 19:41:52 Android Studio is open source? Jun 26 19:42:57 FrEaKmAn_: Two RestAdapters should work as long as you know what format is coming back from each endpoint. If not then you will have to make Gson TypeAdapters Jun 26 19:43:04 ok Jun 26 19:43:13 FrEaKmAn_: http://stackoverflow.com/a/6875295/1229735 Jun 26 19:44:06 great, thanks Jun 26 19:44:32 And also put in a ticket for your server people :) Jun 26 19:45:52 Does anyone know how to run a command line command as part of the install process from android studio? Jun 26 19:46:04 lasserix: Why do you need that? Jun 26 19:46:11 i want to run Jun 26 19:46:14 ie i want to add adb install -r *.apk Jun 26 19:46:30 or basically i want to quit out of the current running app before reinstalling Jun 26 19:47:16 Trying to remember, I think it's somewhere in the lifecycle Jun 26 19:47:32 before launch, external tol? Jun 26 19:47:42 then just make terminal popup with adb stop app Jun 26 19:47:54 but i got to figure there is an easier way to do that Jun 26 19:47:55 I have this in my app, you can reinstall different apks during runtime. Jun 26 19:48:09 But did this a year ago so can't remember at the top of my head. Jun 26 19:48:13 lasserix: easy way: you can edit configuration, option is on the bottom. Proper way probably involves Gradle :) Jun 26 19:48:32 No, the app should handle that, not the build process. Jun 26 19:49:08 Has anyone here used LeakCanary? I'm trying to track down a memory leak in a library I'm using and its been 10 minutes since it started analyzing, just wondering if its expected to take this long Jun 26 19:49:58 icedp: what's the option? Jun 26 19:50:09 no I just want to stop the app before it's deployed Jun 26 19:50:15 i don't want that code in the app, that seems stupid Jun 26 19:50:23 it should be part ofthe deployment process Jun 26 19:50:41 anyone use okhttp's HttpUrl? is there a shorthand way to get String.format("%s://%s%s",uri.scheme(), uri.host(), uri.encodedPath())? Everything but the queryParameters Jun 26 19:50:43 Depends on the exact use case. Jun 26 19:50:46 lasserix: http://t.sql01.com/sc/2431d0cf_1435348215.png Jun 26 19:50:55 I can load other apps with a main app, so needs to be in the code. Jun 26 19:52:42 icedp: then ijust have it start a terminal and run the adb kill command for that app? Jun 26 19:53:15 can't i make this into a gradle task tho? Jun 26 19:54:38 hi I made a little sample of the new android percent support library https://github.com/JulienGenoud/android-percent-support-lib-sample Jun 26 19:54:53 lasserix: yes and yes. I mentioned that you can and probably should. I'm not sure the exact way though Jun 26 19:55:00 http://www.metaandroid.com/question/how-to-change-gradle-install-tasks/ Jun 26 19:55:17 this is very cool for the xml Jun 26 19:56:03 Is a selected item of a spinner always white? Jun 26 19:56:35 sorry, by default Jun 26 19:57:07 * gavit can't figure out why the spinner is white. :'( Jun 26 19:58:06 jul_: maybe I'm slow, but where the lib itself? Jun 26 19:58:32 anyone have a build.gradle file that has task definitions in it? Jun 26 20:00:10 icedp the lib is an official android library Jun 26 20:03:26 is there a non-deprecated way to create routes in android 5.0+? connectivitymanager.requestRouteToHost is deprecated, and the new network api doesn't seem to let you specify a network interface for a particular host, only for established sockets Jun 26 20:04:38 jul_: I can't google it, does it have a page? Jun 26 20:05:14 icedp no the version is -1 as i say in my repo this will be documented soon Jun 26 20:05:49 jul_: for FrameLayout and RelativeLayout it's very useful feature that's been missing Jun 26 20:07:14 how do i get applicationId in gradle build. Jun 26 20:07:31 do I just use applicationid or do I have to do somethingl iike $applicationId Jun 26 20:07:38 icedp: yes it is very late and appreciated feature Jun 26 20:07:54 lasserix I imagine it should be project.android.applicationId Jun 26 20:07:58 but i might be wrong :D Jun 26 20:08:30 barq: solved it Jun 26 20:08:55 barq: changeing margins programatically :P Jun 26 20:09:15 Margins?!?!? Jun 26 20:09:23 That's the worst solution I can think of. Jun 26 20:10:07 barq: why ? Jun 26 20:10:24 How do you set 3/4 with margins? Jun 26 20:10:50 barq: its looking exactly what i wised for why is it worst , i did'nt set it 3/4 but i set to 70 and that looks fine to me Jun 26 20:11:06 Show your code Jun 26 20:12:29 barq: this is only code that plays with margin i pasted less so you can focus on main thing i can paste full adapter code also http://paste.ubuntu.com/11780334/ Jun 26 20:13:24 barq: i can also show you screen shot of my activity to make sure how does it look Jun 26 20:13:28 Have you tried this on different screen sizes? Jun 26 20:14:02 barq: i can do it by calculating screen size and setting up margin according to it on runtime Jun 26 20:14:21 Sounds very inefficient Jun 26 20:14:24 Hi there, I have a simple question. How can I make a textview be centered generally, except when room is needed for a textview below it, it will shift up slightly? Like this: http://imgur.com/aczipbg Jun 26 20:14:36 barq: why is it inefficient ? Jun 26 20:14:53 Because you are reinventing the wheel instead of just using simple xml. Jun 26 20:15:51 machine_coder: Is that in a ListView? Jun 26 20:16:04 TacticalJoke: yes Jun 26 20:16:10 barq: but does it have any affect / effect on performance ? Jun 26 20:16:16 Yes. Jun 26 20:16:31 machine_coder: You could return two different view types: one for simple text and one for simple text with a date. Jun 26 20:17:00 barq: is it bad ? Jun 26 20:17:02 Two different layouts. Jun 26 20:17:28 barq: i mean any significant performance difference ? Jun 26 20:17:31 TacticalJoke: ah, you mean returning a different view within the ArrayAdapter then? Jun 26 20:18:25 Yes, but I wouldn't use ArrayAdapter here personally (it's quite restrictive). Jun 26 20:19:18 ArrayAdapter is a thin subclass of BaseAdapter. Jun 26 20:19:25 TacticalJoke: Oh? I am complete newbie and what I found online led me to believe the CustomArrayAdapter was a good method for populating a listview Jun 26 20:19:42 boodllebat: Measure it Jun 26 20:21:15 TacticalJoke: Is there a better/nicer way to generate a listview from an Arraylist then? Jun 26 20:21:27 barq: i would have done it but right now i dont have time to profile it , i dont think it would be any major time difference cause my code has no bottleneck , its clean and simple. Jun 26 20:21:28 Subclassing BaseAdapter is the best way. Jun 26 20:21:39 IMO, ArrayAdapter is useful only as a stepping stone for newbies. Jun 26 20:21:41 adds up Jun 26 20:22:02 I seem to remember concluding that wanting to subclass ArrayAdapter is a sign that someone really should be using BaseAdapter, Jun 26 20:22:26 barq: adds up ? Jun 26 20:22:33 it Jun 26 20:22:58 barq: sorry i dont get it , does it add more time ? Jun 26 20:23:04 yes Jun 26 20:23:37 TacticalJoke: ah I see, so I take it ArrayAdapter is already a subclass of BaseAdapter then, but obviously restrictive in some sense. Well thank you for your prompt and helpful response. Once I get this working properly I suppose I will attempt to subclass BaseAdapter as you suggest :) Jun 26 20:23:56 barq: i know it would add cause things are changing with runtime but would it create major difference ? Jun 26 20:24:05 Yes, that's right. Jun 26 20:24:21 I don't know of a good tutorial for using BaseAdapter (but it's not very difficult either). Jun 26 20:24:42 On a side note, a lot of Android tutorials (probably most) are really bad. Jun 26 20:24:45 got it working Jun 26 20:25:19 lasserix: Do you know of a good BaseAdapter tutorial for newbies? Jun 26 20:25:19 i think all the listview examples in ApiDemos uses BaseAdapter. like 10 examples or so Jun 26 20:25:48 Hah yes, I have certainly found that to be true. Most I've found just copypasta a bunch of code without explaining why or how anything works. I like to reference the official docs when I can, but sometimes it can be a bit terse for a beginner. Jun 26 20:26:04 boodllebat: Define major Jun 26 20:26:49 barq: in terms of computer science 40ms maybe Jun 26 20:26:59 barq: or 40ns Jun 26 20:27:06 boodllebat: If you have a more efficient and less efficient way of doing something, which one do you choose? Jun 26 20:27:26 barq: more one ofcourse Jun 26 20:27:44 boodllebat: Then hardcode your xmls. Jun 26 20:28:22 barq: alright i'll do that in morning right now i'm going to sleep , Thanks for you time bye bye see you in morning Jun 26 20:28:34 barq: its 2 AM here Jun 26 20:28:54 g00s: is ApiDemos bundled with the SDK? Jun 26 20:29:16 its in samples Jun 26 20:29:25 ah thanks Jun 26 20:29:34 A gentle introduction to BaseAdapter for newbies could avoid the "view holder" thing entirely and just use ViewGroup.getChildAt. Jun 26 20:29:57 Though later they could perhaps be taught to do the ViewGroup-subclass thing (I guess this is called "holder view"). Jun 26 20:31:10 yes the viewholder thing was a bit confusing. I guessed that was just a simple object to hold the different views neatly in one place but beyond that I wasn't sure Jun 26 20:32:19 TacticalJoke: there are tones Jun 26 20:32:22 The way I look at it is that the ViewGroup is *already* a "view holder". The only difference with my suggestion is that we're using ViewGroup.getChildAt rather than some hideous hack to avoid View.findViewById calls. Jun 26 20:32:27 depends on how complicated you want it Jun 26 20:32:35 Though I think the ViewGroup-subclass idea is best. Jun 26 20:32:37 machine_coder samples/android-22/legacy/ApiDemos/src/com/example/android/apis/view/List4.java Jun 26 20:32:55 Well, best for non-trivial casees. Jun 26 20:32:56 cases* Jun 26 20:33:09 lasserix: I mean the absolute basics. Jun 26 20:33:12 --fking why isn't this working, if i run adb shell force-stop from shell it doesn't cause the crash in the analytics, if i add a gradle task to run before deploying, that runs the exact same command, it causes the crash Jun 26 20:33:42 just google: http://www.pcsalt.com/android/listview-using-baseadapter-android/ Jun 26 20:33:52 the pattern I liked more than ViewHolder is to create a custom ViewGroup that represents the whole row and to create a bunch of methods like myViewGroup.setTitle(..).. Jun 26 20:33:59 http://theopentutorials.com/post/uncategorized/android-custom-listview-with-image-and-text-using-baseadapter/ Jun 26 20:34:19 icedp: ^^ that is the best way to do it for anything more complicated than just like a line of text and image Jun 26 20:35:45 is there a limit to the size of arrays I can pass to/from jni? Jun 26 20:35:49 icedp: Yeah, that's what I mean. Jun 26 20:35:54 g00s: thanks I will have to download that I guess, I currently only seem to have samples/android-18 available Jun 26 20:36:08 its there too ... Jun 26 20:36:19 apidemos have been there since android 1 Jun 26 20:36:21 machine_coder: The link lasserix posted looks pretty good (even with the ugly "view holder" thing). Jun 26 20:36:44 machine_coder you need ack / grep ;) Jun 26 20:36:51 machine_coder: You can download more in the SDK Manager Jun 26 20:37:17 wow thanks all for help :) Jun 26 20:37:19 nevermind, somehow my test cases eat shit Jun 26 20:37:27 TacticalJoke, lasserix: I will check out the links :) Jun 26 20:37:28 because I don't close some streams or something Jun 26 20:37:58 barq, g00s: I will download more Jun 26 20:38:05 machine_coder you don't need to :| Jun 26 20:38:29 machine_coder: viewholder is just a wrapper for the set of views you have to look up, since the listview recycles the view you return in getview, and you have to continually lookup the views to set their properties from your data, the viewholder just holds those references as an optimization Jun 26 20:38:48 you can take it one step further and make the row its own custom viewgroup, then the veiwholder and the view are one and the same Jun 26 20:39:03 and you can add convience methods like present(ViewModel data) Jun 26 20:39:10 which you can even do within your viewholder class Jun 26 20:39:49 TacticalJoke: now I'm thinking, we could probably use RecyclerView.ViewHolder the same way Jun 26 20:39:53 still Jun 26 20:40:00 Yes. Jun 26 20:40:13 I haven't switched to RecyclerView yet, but I'm planning to use the same pattern there. Jun 26 20:40:21 so tantalizingly close Jun 26 20:41:02 lasserix: ah thanks for the insight! So it seems that making the custom viewgroup is the preferred method generally? Jun 26 20:41:17 depends on how complicated your view is Jun 26 20:41:35 but basically it can lead to less classes so it's better for that reasons Jun 26 20:41:37 *reason Jun 26 20:41:54 machine_coder: In your case, you could return just a TextView for one type and perhaps a custom ViewGroup (with two TextViews) for the other item type. Jun 26 20:42:00 since you just inflate the class if the convertview is null, or cast the convertview back into that view class (so you can call the present(data data) afterward) Jun 26 20:42:27 right, that makes sense. Well right now it's quick simple, I'm just doing a todolist style app to get my feet wet :) Jun 26 20:44:03 machine_coder: The beauty of it is that you're always returning *one* thing (TextView or WhateverView). Jun 26 20:44:20 lasserix: That's what I currently do (check if convertView is null), because that's what the offical docs said to do. I'm not quite sure what convertView is though? Jun 26 20:44:23 Well, you're doing it anyway, but with this it's all treated as a self-contained unit. Jun 26 20:44:53 machineview, if you have like 5 visible rows in your listview Jun 26 20:45:01 but 25 elements in your adapter data set Jun 26 20:45:05 when you scroll down Jun 26 20:45:11 (assuming all the rows are the same type of view) Jun 26 20:45:22 the first row will be passed back as the convertview Jun 26 20:45:27 for the 6th row Jun 26 20:45:42 instead of reinstantiating the view, since all you need to do is reset the properties (eg setText) Jun 26 20:46:21 so to optimize this, you hold the references to those views in the row view (the convertview) so you don't have to look them up each time (ie when the convertview is null) Jun 26 20:46:57 err if the convertview is null, you inflate lookup the refs assign the viewholder which holds the refs, if not null you get the viewholder from the tag, and now you already have all the views inside the row view Jun 26 20:47:10 so all you have to do is call present (data) on each view (like if there's a title in the row) Jun 26 20:47:40 `convertView` is a terrible name. It probably should've been called `recycledView`. Jun 26 20:47:43 lasserix: ah it's all coming together now :). That's what they meant by "speeds up scrolling". Because you don't have to look up each time it saves on cpu/memory usage Jun 26 20:47:45 instead of reinstaiting the view/inflating it since the convertview is not null (it has been recycled) Jun 26 20:47:49 yeah Jun 26 20:47:53 I can't imagine any universe in which "convert view" makes sense there. Jun 26 20:48:09 TacticalJoke: because it is converted to a new position Jun 26 20:48:21 machine_coder: The idea is to avoid creating more views than the screen can hold (because creating views is expensive). You just create enough views and reuse them. Jun 26 20:48:28 or you must convert its variables to reflect the data element at that new position Jun 26 20:49:12 So if you have 1,000 items in the list and the screen can show 10 items at a time, just create ~10 views rather than creating 1,000 views. Jun 26 20:49:44 wow it all makes sense now lol. I was scratching my head at that for a while Jun 26 20:50:04 I mean I understood the concept of why you would convert/re use the view Jun 26 20:50:07 Does ListView not do this? Jun 26 20:50:10 ugh, how wonderful, my test cases pass, but I can't get my code to work in my app :( Jun 26 20:50:16 but I wasn't sure where variable covertView came from and whatnot Jun 26 20:50:17 barq: Yeah, I mean that this is what ListView does. Jun 26 20:50:37 OK, and when do I need RecyclerView instead? Jun 26 20:50:39 machine_coder: I always name it `recycledView` in my code, as it's just a view that's already been created and is being offered for reuse. Jun 26 20:51:17 It's unnecessarily complicated, though. We shouldn't have one method for both "we don't have a recycled view" and "we do". (Gladly, RecyclerView fixes that bad design.) Jun 26 20:51:21 TacticalJoke: cool I think I'm getting it now :) Jun 26 20:51:22 * pfn headscratches so hard... Jun 26 20:51:34 It's the perfect example of having two methods in one. Jun 26 20:51:54 let's shrug pfn Jun 26 20:51:56 :> Jun 26 20:52:10 * g00s shrugs pfn Jun 26 20:52:11 lol Jun 26 20:52:17 https://gist.github.com/pfn/e86f0c3c7465aac1a24c Jun 26 20:52:20 TacticalJoke: yes it does seem that way, although I suppose the method name 'getView' makes sense in both contexts Jun 26 20:52:21 Uncle Bob talks about this in Clean Code (but he talks about the more common antipattern: methods taking boolean parameters that determine what those methods do). Jun 26 20:52:26 I've tested my AesInputStream every which way, but the stupid test cases all pass Jun 26 20:52:28 oh AES again :p Jun 26 20:52:39 mmm Jun 26 20:52:43 but when I run it inside my app, I keep getting a corrupt hash error... ugh Jun 26 20:52:44 when it comes to ListView... Jun 26 20:53:03 yes shouldn't all methods just be rolled up into one big method with different 'modes? bahaha Jun 26 20:53:11 I am having issue with ListViewRemovalAnimation example from google devbytes. I have created repo https://github.com/bolovanos/ListViewRemovalAnimation, first commit original code from google, second commit is slightly modified to easyer demonstrate problem. Jun 26 20:53:32 Removing item from the bottom when all available/left items are visible, makes scrolling nearly impossible (in newly pupulated ListView - see code). Please follow video https://vid.me/PuwG Jun 26 20:53:36 how do i run a task from another task? Jun 26 20:53:38 machine_coder: RecyclerView uses `onCreateViewHolder` (the equivalent of `convertView == null`) and `onBindViewHolder` (the equivalent of `convertView != null`). Jun 26 20:53:40 in gradle Jun 26 20:53:50 adq, yeah, I come back to it every once in a while to improve the speed of opening up databases Jun 26 20:53:58 github should even display in 80columns the code... seriously Jun 26 20:54:05 have to scroll horizontally Jun 26 20:54:26 TacticalJoke, lasserix:well thank you for taking the time to explain these concepts to a newbie Jun 26 20:54:43 your help has surely saved me a bunch of headaches now, and down the road :) Jun 26 20:54:56 adq: yes scrolling horizontally is the devil Jun 26 20:55:22 adq, stuff beyond 80cols in my paste doesn't matter Jun 26 20:55:28 it's just all magic values for the key/iv Jun 26 20:55:56 for the most part Jun 26 20:55:57 sure, i was just ranting about github web frontend Jun 26 20:56:08 [INSTALL_FAILED_UPDATE_INCOMPATIBLE], why does AS not redeploy properly? Jun 26 20:56:35 machine_coder, probably helpful http://www.vogella.com/tutorials/AndroidListView/article.html ... Jun 26 20:57:31 barq: release key vs dev key maybe? Jun 26 20:57:45 JesusFreke, should provide a different cert error, though Jun 26 20:57:51 Is it not better to always use RecyclerView. Jun 26 20:57:59 JesusFreke: Good point. That's probably it. Jun 26 20:58:02 bolovanos: thank you, I have skimmed over that previously. I had a specific question which tactical and lasser helped me with. Jun 26 20:58:33 or just pls look at video https://vid.me/PuwG if not planning to downloadd and runn the code above Jun 26 20:58:47 machine_coder, oki doki :) Jun 26 21:32:24 Is it possible to unlock the device using UIAutomater (https://github.com/xiaocong/uiautomator) without manually doing a swipe up? Jun 26 21:33:49 Ignore my previous question. Found the answer: adb shell input keyevent 82 Jun 26 21:38:24 "[W]e are ending development and official support for the Android Developer Tools (ADT) in Eclipse at the end of the year": http://android-developers.blogspot.co.uk/2015/06/an-update-on-eclipse-android-developer.html Jun 26 21:38:49 Right after Eclipse Mars is released! Jun 26 21:39:29 android studio looks very crowded on a 4k screen in android: http://imgur.com/WX0Jk2x Jun 26 21:39:33 any suggestions to fix? Jun 26 21:41:17 how does IntelliJ look? Jun 26 21:41:28 I don't have it installed Jun 26 21:41:43 I *can* install it but I'd rather not just to compare it to android studio Jun 26 21:41:57 try googling the question, but instead of Android Studio, ask about IntelliJ Jun 26 21:45:00 heh, having better luck googling for android studio Jun 26 21:45:06 laaaame Jun 26 21:45:47 powersurge love the 1 point text at the bottom Jun 26 21:46:14 what os / window manager is that ? Jun 26 21:46:38 ubuntu/unity Jun 26 21:46:48 once I get past the new project wizard it seems to work p. good Jun 26 21:47:05 but that new project wizard is busted Jun 26 21:50:02 TacticalJoke you are waiting for google to say 'we are ending development and official support for Java at the end of the year." (for kotlin) Jun 26 21:54:37 I guess I just have to tough it out Jun 26 21:54:42 I'm not really finding anything useful Jun 26 21:56:12 is it only on 4k screens? Jun 26 21:58:44 appears to be related to the 4k screen. I'm on a different computer atm but I can try changing the resolution Jun 26 21:59:38 So if I have a user login screen, and the server rejects the login (in a generic way, ie, Login failed. not under my control, i CANNOT link it back to either password or username, that validation is already handled), whats best pattern to show the user the login failed? Jun 26 21:59:56 I was using snackbar but people said snackbar is too short, might not be noticed Jun 26 22:00:08 does support library provide for snackbars that don't autodismiss? Jun 26 22:03:58 lasserix not at the moment, nispok handles it though Jun 26 22:04:18 g00s yeah but i mean the mat spec says they should always autodismiss Jun 26 22:04:24 however if they lose focus timer should be reset Jun 26 22:04:37 also why must they always be at the bottom ofthe screen? Jun 26 22:04:38 such bs Jun 26 22:04:45 lasserix but the material spec also has them indefinite for errors, so it contradicts itself Jun 26 22:04:53 go spec ! Jun 26 22:05:03 where isthat? Jun 26 22:05:08 that's exactly the usecase Jun 26 22:05:42 not to mentionif you are using translucent status bar + softkeyboard with resize != snackbar visible (goes under the softkeyboard) you have to do some pretty hacky things to get it to work Jun 26 22:05:43 such bs Jun 26 22:05:49 https://www.google.com/design/spec/patterns/errors.html#errors-incompatible-state-errors Jun 26 22:06:05 "Incompatible state errors" Jun 26 22:06:16 and elsewehre Jun 26 22:06:54 lasserix the fab is still square on kitkat, so what the support lib does isn't always the right thing :D Jun 26 22:08:09 hmm i guess ill just leave nispok for now Jun 26 22:08:16 even tho i put the snackbar at thet op of the screen Jun 26 22:11:30 is there any advantage of using rx.Observable instead of java.util.Observable? Jun 26 22:12:53 lol g00s Jun 26 22:12:59 I would welcome that announcement. Jun 26 22:14:04 <_genuser_> hello ppl Jun 26 22:14:28 ventura not remotely the same; j.u.o has no concurrency, composition, error handling, etc Jun 26 22:14:57 also notifyObservers will happen on the same stack frame, just fyi Jun 26 22:15:53 and update(Observable observable, Object data) .. isn't typesafe Jun 26 22:16:01 g00s how do you disable autodismiss for nispoks snackbar? Jun 26 22:16:33 lasserix .duration(SnackbarDuration.LENGTH_INDEFINITE) Jun 26 22:17:02 oh yeah and its not a toast so it'll dissapear when the view gets torn down by onpause or whatever Jun 26 22:17:31 g00s: ok, the stack frame is the most important point. Jun 26 22:18:03 but the concurrency you mean managing the write lock or notifyAll in parallel? Jun 26 22:19:29 ventura rx has parametric concurrency; you can mix any threading model (executors, handlerthreads, manual threads, etc) Jun 26 22:21:24 and here i am 3 hrs later.. Jun 26 22:21:46 have a good weekend people Jun 26 22:22:01 lasserix you may also want to put .swipeToDismiss(false) Jun 26 22:22:01 g00s++ Jun 26 22:22:16 g00s ? Jun 26 22:22:21 how does it go away then? Jun 26 22:22:33 I dont mind if the user makes it go away, i just want them to make sure they see it Jun 26 22:22:42 does anyone know for a native library similar to photoswipe? Jun 26 22:22:43 oh, my case was 'bad state' so they had to press the action to fix Jun 26 22:23:35 its more like "Login Failed" Jun 26 22:23:45 so they can either swipe to dismiss or click or change password/email Jun 26 22:23:49 whcih will dismiss it too Jun 26 22:23:55 but i just dont want it auto dismissing Jun 26 22:28:19 ok i think my emulator might be dodgy Jun 26 22:28:34 just ran the same piece of code few hrs ago and it crashes my app Jun 26 22:28:39 now i run again its fine Jun 26 22:29:56 What was the stack trace? Jun 26 22:31:44 ah, finally think I've replicated my crash, yes! Jun 26 22:32:14 rather, decryption corruption Jun 26 22:32:30 the same one i posted earlier tacticaljoke Jun 26 22:32:46 https://gist.github.com/pfn/e86f0c3c7465aac1a24c#file-test-scala-L122 Jun 26 22:32:48 the only thing i added in the code was just logs Jun 26 22:32:53 that's the one line that makes my test case behave like my app Jun 26 22:33:07 to see if the database cursor was working.. Jun 26 22:33:14 on postexecute Jun 26 22:33:24 The NullPointerException? Jun 26 22:34:50 I wouldn't blame a NullPointerException in your code on the emulator. :D Jun 26 22:35:46 now my app is done.. just need to improve UI and i can be done with android Jun 26 22:35:50 :D Jun 26 22:36:01 good riddance Jun 26 22:42:39 huh, wifi on my 2013 N7 just stopped working Jun 26 22:42:57 go to settings, press ON, absolutely nothing - not even nearby stuff Jun 26 22:44:45 hm reboot fixed it Jun 26 22:45:35 Can someone help me using UIAutomator (https://github.com/xiaocong/uiautomator). I am on the Android screen where all the apps are listed. I want to select an app that requires scrolling to the next page. Jun 26 22:46:14 g00s, it does that on occasion, just reboot Jun 26 22:49:35 * gavit is wondering if he should use google maps or another opensource map Jun 26 22:50:13 this might not be the proper place to ask this, but someone here might know: What happens when you put a regular battery on a wireless charger? Jun 26 22:51:07 s73v3r you mean regular AA or AAA battery? Jun 26 22:51:36 alright, fix0red it!, I hope Jun 26 22:51:38 no, a Lipo battery Jun 26 22:51:43 like in a smartwatch Jun 26 22:51:51 I was clobbering my IV on a 0-byte read Jun 26 22:52:14 s73v3r: I'm guessing the 'cover' acts as an adapter and gives the battery power like non wireless would do Jun 26 22:52:37 its likely the adapter that has the mystery Jun 26 22:52:52 that’s what appears to be happening. I’m just wondering if I’m running the potential of frying some of the watch Jun 26 22:52:58 just how its less important if you use slite or psql :) Jun 26 22:53:21 its the dbadapter that does the magic :P Jun 26 22:56:18 JNI DETECTED ERROR IN APPLICATION: JNI GetIntArrayRegion called with pending exception 'java.lang.ArrayIndexOutOfBoundsException' thrown in boolean com.hanhuy.android.keepshare.NdkAESEngine.decrypt_cbc(byte[], int, byte[], int, int, int[], int, byte[]):-2 Jun 26 22:56:19 wtf Jun 26 22:56:41 that should never throw AIOOBE, it's always 60... wtf Jun 26 23:10:36 hi I made a little sample of the new android percent support library https://github.com/JulienGenoud/android-percent-support-lib-sample Jun 26 23:13:45 He declares nullary constructors unnecessarily. Jun 26 23:25:09 oh god... I got my jni aes stuff working, and it's still about the same speed as using pure java... wtf Jun 26 23:26:02 maybe I need a jni sha1/256 Jun 26 23:26:05 performance maze Jun 26 23:28:55 ok, this is sad, I don't get it, my jni performance is identical to what it is in java :( Jun 26 23:29:16 almost done, 60FPS reached when i disable the tick marks, many options available, enough different troll faces: https://vid.me/tXlq gonna be the most epic (and expensive) troll watch face for android wear, 199€ or 199$ of course Jun 26 23:29:35 just need to polish few things and i can start the store listing ;) Jun 26 23:30:00 description: U MAD BRO? Jun 26 23:33:18 Would anyone be able to help me with the his issue using UIAutomator https://github.com/xiaocong/uiautomator/issues/108 Jun 26 23:34:08 pray for me, I’m going in to ##Java Jun 26 23:34:17 thug life Jun 26 23:37:47 haha I got the ol “~javabot i have no idea what to answer so I’m goig to use you” rigamarole Jun 26 23:41:30 any quick fix to this? Jun 26 23:41:32 Field requires API level 19 (current min is 11): java.nio.charset.StandardCharsets#UTF_8 Jun 26 23:42:11 maybe just new String(str,“UTF-8”)? Jun 26 23:42:53 for sure you cannot use all StandardCharsets on api 11, i thought everything was utf8 with android.. Jun 26 23:43:43 well I got the answer from ##Java haha Jun 26 23:43:50 porting from C# are fun times Jun 26 23:44:09 An immutable sequence of UTF-16 chars. See Character for details about the relationship between char and Unicode code points. Jun 26 23:44:12 http://developer.android.com/reference/java/lang/String.html Jun 26 23:44:16 i thought wrong Jun 26 23:45:13 reasons liek these I hang out here when I’m chilling at home. Jun 26 23:45:22 I learn things I never would have thought to look up, or even think about Jun 26 23:46:09 eheh, sometimes i learn things by reading ppl questions and answers here too Jun 26 23:46:41 hey, not sure why the emulator doesn't run the app and gets stuck in those circulating circles? http://stackoverflow.com/questions/31083636/emulation-of-android-wear-takes-forever Jun 26 23:47:17 that's the boot sequence elisa87 Jun 26 23:47:32 adq: but how long is it supposed to take? 10 min? Jun 26 23:47:35 something is wrong or extremly slow on your computer Jun 26 23:47:37 yeah exactly. Or people are talking abotu something marginally related to Android, like WebAssembly and you come across a cool video like this one: https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript Jun 26 23:47:45 HAXM Jun 26 23:47:47 it should not take a long time, maybe few minutes for the first launch Jun 26 23:47:57 then few seconds for subsequent reboot Jun 26 23:47:58 are you using AS or Eclipse? Jun 26 23:48:12 or Genymotion? Jun 26 23:48:20 genymotion does not support android wear Jun 26 23:48:26 ohh i missed that part Jun 26 23:48:28 because part of android wear are not open.. Jun 26 23:48:34 adq: I am using a MacBook Pro retina released in Nov2013. Do you think if that's the problem? I ran it with a UltraBook released in 2014 and it's the same. Jun 26 23:48:39 I am using AS Jun 26 23:48:39 no Jun 26 23:48:46 it seems like you might not have HAXM installed Jun 26 23:48:46 it's not your computer the problem Jun 26 23:48:57 intel hardware accelleration module or something Jun 26 23:49:15 after installing you should notice your load times around 60s Jun 26 23:49:17 maybe less Jun 26 23:49:22 yeah as tricknology_ said, it's probably HAXM (virtualization) not enabled, but i have no idea if you use an x86 or an ARM (in this case, HAXM is not useful) Jun 26 23:49:24 so I should install HAXM on OSX? or within AS? Jun 26 23:49:33 macbook should be intel so he’s good Jun 26 23:49:38 OSX Jun 26 23:49:45 but still, even with an arm android wear avd, it should not take 10 minutes Jun 26 23:49:48 something might be wrong Jun 26 23:49:49 https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Jun 26 23:49:51 both my machines use Intel Jun 26 23:50:11 never tried to emulate ARM though Jun 26 23:50:11 elisa87, the avd of android wear, you have several choices, including the architecture (x86 or ARM) Jun 26 23:50:19 both works tricknology_ Jun 26 23:50:20 I have done no change in the code. I literally am running a basic default (empty) project for Android Wear in AS Jun 26 23:50:24 oh nice Jun 26 23:50:31 try HAXM first Jun 26 23:50:41 oh I see. I think I made a mistake and selected the one for ARM :| Jun 26 23:50:47 I had a terrible time with it until i discovered HAXM Jun 26 23:50:48 elisa87, the problem is it does not always work well "out of the box" Jun 26 23:50:55 tricknology_: how should I try HAXM first? Jun 26 23:50:58 I had load times of 10 mins Jun 26 23:51:02 downoad and install Jun 26 23:51:07 developers expect to have something fully working, it's .... how to say that ... android development Jun 26 23:51:15 it can go very wrong Jun 26 23:51:27 here is the OSX version Jun 26 23:51:27 it's not your fault, nor your computer Jun 26 23:51:27 https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-mac-os-x Jun 26 23:51:54 yeah there are a few steps missing from the tuts out there, like installing HAXM Jun 26 23:52:04 elisa87, try to create another avd, with same parameters, and try to create another avd with different parameters Jun 26 23:52:05 if you have an AMD, liek me on my home computer, out of luck Jun 26 23:52:15 elisa87, then install HAXM Jun 26 23:52:25 you can uninstall it if it doesnt work Jun 26 23:52:32 but it wont hurt.. not that ive ever seen Jun 26 23:52:34 haxm is a must if you use an x86 avd, because it will use virtualization to speed up things (vT-x) Jun 26 23:52:35 I have installed it thrice Jun 26 23:52:42 way fast Jun 26 23:52:47 but still, even on arm (it's qemu under the hood) it should not take 10 minutes Jun 26 23:52:48 like clicking swiping, no lag Jun 26 23:53:23 I am 99.99% here that HAXM is goign to help here Jun 26 23:53:29 if not I’ll be on later and you can /slap me Jun 26 23:53:38 try with api21 in last ressort too (it's one of the param you can change) Jun 26 23:55:34 adq: you think the problem is with my selection of the latest API (level 22)? Jun 26 23:55:38 why does Android make me cast 0xB5 Jun 26 23:55:47 but not 0x60? Jun 26 23:56:19 elisa87, i cannot know for sure, but I told you what you could do and tricknology_ pointed you to HAXM if you use an x86 avd Jun 26 23:57:22 still, i maintain and insist, even without virtualization, it should not take 10 minutes. Jun 26 23:57:30 elisa87: all this ^ Jun 26 23:57:51 10 mins bight be a stretch, it can for sure seem that long. Jun 26 23:58:06 I’ve had instances where the thing just never loads.. stays on the ‘android’ screen forever Jun 27 00:02:13 so HAX was installed already Jun 27 00:03:30 the problem is I had not installed the AVD wear for the x86 ...well it is working now. I wish that tutorial pointed this out for the beginners because I always intuitively think I should select the highest API level . thanks for the feedbacks Jun 27 00:04:05 np, don't forget to answer your own post on SO, and validate the answer Jun 27 00:04:48 yeah I am going to so as others might fall in the same trap Jun 27 00:04:52 thanks Jun 27 00:07:15 do you think this answer makes sense much? http://stackoverflow.com/questions/31083636/emulation-of-android-wear-takes-forever/31083803#31083803 Jun 27 00:08:17 in fact both should work, you could just say by using the other arch it worked despite both should work Jun 27 00:08:49 looks ok otherwise Jun 27 00:10:21 and remove the fact that you have an intel CPU, because there is no relation except for virtualization between the host and vm Jun 27 00:10:51 if you have an x86 cpu and you run an ARM avd, it will be just pure emulation (it's qemu i told you) Jun 27 00:11:10 I see Jun 27 00:11:36 can I create apps for Microsoft Band using Android Studio? Jun 27 00:11:50 no idea, i doubt that lol Jun 27 00:11:52 I have a Microsoft Band and a Martian smartwatch Jun 27 00:12:15 so this Android Wear only works for Android Wear and no other smart watch? Jun 27 00:12:30 y Jun 27 00:12:31 I think I should ask my adviser to buy one! Jun 27 00:12:41 I wonder if it could be compatible with Samsung Gear? Jun 27 00:13:13 there is only one model of samsung gear running on android wear platform iirc Jun 27 00:15:20 Can someone help me with https://github.com/xiaocong/uiautomator Jun 27 00:20:36 <_genuser_> well well well, new faces in here. Jun 27 00:24:52 if i were to include a json file in my android project, where would I keep it? suggested structure or can I just leave it wherever I want? Jun 27 00:25:05 Zythyr: do you have a more specific question? like not being able to get it to work? Jun 27 00:25:21 Zythyr: http://sscce.org/ Jun 27 00:25:27 shoerain yes I do Jun 27 00:25:58 Zythyr: you'll be able to get more help that way, especially if you have a code snippet that you can paste Jun 27 00:26:18 shoerain, Here is my issue. I am new to python and development. Am I doing it wrong? https://github.com/xiaocong/uiautomator/issues/108 Jun 27 00:27:42 If i wanted to store a Julian date in the database, is that a integer or string? Jun 27 00:28:53 Zythyr: that's a good question, but I don't think it should be opened as a github issue. Not sure, won't be able to help with it since i'm not familiar with it and working at the moment Jun 27 00:29:37 shoerain, okay thank you for looking into it. I was hoping if anyone else in this room would have used UIAutomator Jun 27 00:55:00 tSilenzio: typically integer, since you can set / get dates by millisecond value Jun 27 00:56:36 tSilenzio: it can depend though. e.g. how do you want to handle timezone changes? is the important part that something happens at 8am when the phone decides it's 8am, or is it an "absolute" time like 8am in London? Jun 27 00:56:49 I am following this manual http://swarmnyc.com/whiteboard/how-to-design-and-develop-an-android-watch-face-app-wearables-overview/ but in the second step I get this error: http://i.imgur.com/NOfXcUX.png any idea? Jun 27 00:57:33 tSilenzio: ah. though it seems the UK uses a daylight-savings-time-like thing, so that's not quite absolute either :) Jun 27 00:58:02 elisa87: looks like you haven't imported that class, so it doesn't know what you're overriding Jun 27 00:58:32 well, it wasn't mentioned in the tutorial :( groxx Jun 27 00:59:17 elisa87: pretty standard for java tutorials, tbh :) imports are usually automatically handled by the IDEs, and e.g. you're also missing a "package com.whatever.your.package.is" line at the top of the file. Jun 27 01:00:01 or, probably missing that. I'm not actually sure if you can have a non-package'd file in Java, now that I think about it... Jun 27 01:02:49 elisa87: it's easy to miss it, but the screenshot in step 1 of "Create a WatchFaceService" shows right-clicking on the com.mycompany.mywatchface package, and making a new java file from there. if you do that, it should fill in the package name for you. Jun 27 01:03:04 groxx: figures thanks import android.support.wearable.watchface.CanvasWatchFaceService; Jun 27 01:03:13 yep Jun 27 01:03:52 so groxx I don't have an xml folder like the one in the tutorial. Have I missed something? Jun 27 01:06:14 elisa87: it'll be hidden until you have something in it. the kinda-annoying-but-reliable way to add it is to right-click the 'res' folder, new -> android resource file. in there you can set the folder (change it to XML), source sets (if you have alternate flavors / etc), and a variety of other things Jun 27 01:06:28 groxx: http://i.imgur.com/rpPKmPa.png Jun 27 01:06:38 "set the folder" -> "change the resource type dropdown", sorry :) Jun 27 01:08:24 that worked thanks groxx Jun 27 01:10:11 np :) so you know: a Wear app is going to be relatively difficult to do as a "first android app" project. you have to go through a couple extra layers of indirection and kinda-abnormal things, due to how Wear apps work. if you have too much trouble, try making a normal app first, there's less to get wrong. Jun 27 01:10:56 also, try the official tutorials, they're generally a _lot_ better at explaining why you're doing things: http://developer.android.com/training/basics/firstapp/index.html Jun 27 01:11:30 groxx: thanks, can you help me figure in which file I should write the step3 of this http://swarmnyc.com/whiteboard/how-to-design-and-develop-an-android-watch-face-app-wearables-overview/ it is vague for me. Jun 27 01:12:00 step 3 of which section? Jun 27 01:12:03 it just says Override onDraw and use the canvas to draw the current time on the center of the screen. Jun 27 01:12:26 so I don't know how to override onDraw in which file? http://swarmnyc.com/whiteboard/how-to-design-and-develop-an-android-watch-face-app-wearables-overview/ this one groxx Jun 27 01:13:45 elisa87: ah. the example code is a little weird :\ at the bottom of the code in step 2, there's a "private class Engine extends ..." line. the step 3 code is what goes there. Jun 27 01:24:00 elisa87, try this (official) tutorial instead: https://watchface-codelab.appspot.com/ Jun 27 01:24:25 as groxx said, it's not gonna be straight-forward if you're not familiar with android, and know a bit about android wear too Jun 27 01:24:46 look at d.android.com and the watchface samples too, etc Jun 27 01:25:04 in fact, you can read for at least one hour before starting coding anything Jun 27 01:25:31 good luck o/ Jun 27 01:26:15 "Prerequisites: Understanding of Android" (ノ`Д´)ノ︵ ┻━┻ Jun 27 01:26:30 even though I ran it I couldn't find the app in the emulator to see how does it look like. Jun 27 01:26:35 ¯\_(ツ)_/¯ Jun 27 01:26:59 it's not an app you're developing, it's a watch face Jun 27 01:27:09 (it's similar to a wallpaperservice on regular android) Jun 27 01:27:10 ugh. that site has a customized mobile whatsit, but it's completely broken Jun 27 01:29:45 (related) started store listing asset: http://i.imgur.com/hd3MvMH.png .. gonna crash it's 3:30AM here Jun 27 01:30:21 bad time for having clock hands at a good position ;) Jun 27 01:31:56 ada groxx can you please try running my code in the emulator and figure why I can't find the watch app? thanks https://github.com/lamiastella/AndroidWearApp Jun 27 01:32:25 nope sorry Jun 27 01:35:25 lol selfie on her github oO Jun 27 01:35:39 who? Jun 27 01:35:57 someone who just left Jun 27 01:36:28 i always miss the fun stuff Jun 27 02:22:35 Any idea why Android Studio is telling my my MainActivity does not exist Jun 27 02:23:12 I renamed it to HomeActivity, and it refacotred the name there, the class, and in the android manifest, but the error says its just missing Jun 27 02:25:35 nvm it works now after i rebooted my phone Jun 27 02:25:37 that was weird :s Jun 27 02:26:40 programming is weird Jun 27 02:31:16 programming android* is weird Jun 27 02:34:15 but it isn't Jun 27 02:35:19 programming is weird when blended with XML Jun 27 02:36:31 groxx thats the java way :P Jun 27 02:52:10 so I guess I'm going to have to look into AS at some point Jun 27 02:53:24 bloody fascist Googlers and their "we're only going to support one free development platform from next year" Jun 27 02:53:39 :) Jun 27 02:55:52 Leeds: it's been already not a mainstream for quite some time, you might as well wait to the end of the year :) **** ENDING LOGGING AT Sat Jun 27 02:59:58 2015