**** BEGIN LOGGING AT Sat Jan 31 02:59:58 2015 Jan 31 02:59:58 Yeah. The downloader class needs some way of communcating with the outside world. Using the listener pattern is a good way of achieving that. Jan 31 03:00:07 Not yet, but maybe soonish. Jan 31 03:00:15 Ok, ill hurry up Jan 31 03:00:17 cheers groxx Jan 31 03:01:09 Ok, so I created the interface Jan 31 03:01:16 Now I need to register the activity as a listener Jan 31 03:01:26 Yeah Jan 31 03:01:27 ? Jan 31 03:01:58 Yeah, though you might want to create a field of the interface type in the downloader class first. Jan 31 03:02:15 Once that is set up, you can arrange matters so that the outside world can register itself as a listener. Jan 31 03:02:43 so Listener listener = new Listener Jan 31 03:03:16 Just "private Listener listener;" in this case, as it'll be set later (when the activity register itself as a listener). Jan 31 03:03:28 Ok Jan 31 03:03:57 Ok, thats done. Now I need to implement Listener in the activity Jan 31 03:04:39 Ok, once I do that it says I have to override the method I put in the interface Jan 31 03:04:57 Easiest way is Alt+Enter. Jan 31 03:04:57 So I should overrride it Jan 31 03:05:30 I use an external KB so the keys from my mac are all different Jan 31 03:05:39 So I just take the safe way and type it myself Jan 31 03:06:04 You guys use a mechanical switch board? Jan 31 03:06:58 Ok TacticalJoke so I over-rode that method Jan 31 03:07:18 Now I need to go back into the downloader class and change some things around Jan 31 03:07:52 Now Im kinda lost Jan 31 03:09:07 eh, I use opto-magnetic switches Jan 31 03:09:11 Downloader needs "public void setListener(Listener listener)", and it needs to say "listener.onListDownloaded(list);" in a Runnable.run override. Jan 31 03:09:25 prefer opto-opto switches myself Jan 31 03:09:34 the key press is detected optically, and the key is held in place magnetically Jan 31 03:09:52 cu Jan 31 03:09:54 zinx: wow, you gotta use a lot of photos to generate enough force ;) Jan 31 03:09:59 photons* Jan 31 03:10:06 JesusFreke: laser tractor beams ftw Jan 31 03:10:26 TacticalJoke what is onListDowonloaded Jan 31 03:10:40 The method in the interface you declared. Jan 31 03:11:04 Thats onLessonListGrabbed Jan 31 03:11:57 how can i make the app rotate when i want? Jan 31 03:12:09 so listener.onLessonListGrabbed will post things to the instance that I created in the activity Jan 31 03:12:24 listener == the activity Jan 31 03:12:35 Right Jan 31 03:12:47 so in the download class I need a method that has a runnable in it Jan 31 03:12:47 So all you're doing, really, is directly calling a method of the activity. Jan 31 03:12:54 But you're doing it in a smart way. Jan 31 03:13:02 Ok Jan 31 03:13:11 Where do I have the runnable though\ Jan 31 03:13:27 In about the same place as before, I think. Jan 31 03:13:39 Only difference is that now your Runnable needs a constructor (for the List). Jan 31 03:13:40 In a method in the downloader class? Jan 31 03:14:17 Actually, I guess you could do it like that. I think. Jan 31 03:14:25 How did you do it? Jan 31 03:14:27 Where? Jan 31 03:14:32 You could use a final local, and have the Runnable anonymous class refer to that. Jan 31 03:14:44 Then you'd not need a constructor. Jan 31 03:15:27 So the method with the runnable in it only gets called once everything is done? Jan 31 03:15:40 In my case, it was the giveListToListener method. Jan 31 03:15:46 Yeah. Jan 31 03:15:47 whatitis-: TacticalJoke groxx how can i make the app rotate when i want? Jan 31 03:16:28 It's probably neater to use an anonymous class for the Runnable. Just use 'final' for the List. Jan 31 03:17:55 Ill do that after I understand it Jan 31 03:18:01 I really have no idea whats going on right now Jan 31 03:18:05 Gotta write it a few times Jan 31 03:18:06 use it Jan 31 03:18:13 Then neaten it up Jan 31 03:19:08 Ok, so giveListToListener will be called, I use a runnable that does listener.onLessonListGrabbed(pass list) Jan 31 03:19:16 Then the method on the activity will run with the list I passed? Jan 31 03:19:26 Yeah. Jan 31 03:19:33 Be sure to check that 'listener' is not null first. Jan 31 03:19:50 and if it is.. Jan 31 03:19:52 I guess it'll never be null in your code, but it's the principle (given that it can be null). Jan 31 03:20:03 Right yeah Jan 31 03:20:18 If it's null you're get an NPE when trying to dereference it (listener.whatever). Jan 31 03:20:25 Right Jan 31 03:20:30 Ok, so back to the activity Jan 31 03:20:35 I need to setListener Jan 31 03:21:26 LessonListGrabber grabber = new Grabber(stuff) Jan 31 03:21:32 then grabber.setListener() Jan 31 03:21:54 Yeah, that's one way to do it. Jan 31 03:22:05 Not the best way? Jan 31 03:22:36 Wait, in setListener I need to pass a listener Jan 31 03:22:37 It depends on exactly what you're going to be doing. I think, at least for now, I'd recommend just doing that. Jan 31 03:22:41 Oh yeah, thatd just be this Jan 31 03:23:21 Ok, so now that the activity is a listener Jan 31 03:23:39 From buildString Jan 31 03:23:51 I just call giveListToListener(and pass the list) Jan 31 03:24:21 If so, thats beautiful Jan 31 03:24:29 Yeah, it's as simple as that. Jan 31 03:24:46 The only complexity, really, is the lifetime of 'grabber'. Whether it should be static or not, etc. Jan 31 03:24:52 I feel like this opens up new doors/simplifies/cleans up alot Jan 31 03:24:55 But don't think about that till you've got the basics working. Jan 31 03:24:56 Thanks alot man Jan 31 03:25:55 You gonna get to work on your app tonight? Jan 31 03:26:06 Yeah, I'm multitasking right now. lol Jan 31 03:26:07 (Dont know what time it is where you are) Jan 31 03:26:20 i have try to rotate the screen with android:screenOrientation="fullSensor" but the letters re deform and messy Jan 31 03:26:20 Well, thanks again for the help Jan 31 03:26:21 Does it all work? Jan 31 03:26:24 No worries. Jan 31 03:26:28 Havent tried it yet Jan 31 03:26:31 Shall I test her Jan 31 03:26:31 is it bcos of the emulator? Jan 31 03:27:04 Hi, I'm using an HTTP ResponseHandler to get the response string of my call. However, is it possible to also get the code of the result, i.e. HTTP 400 etc ? Jan 31 03:27:19 Im sure theres a getResponseCode method Jan 31 03:28:04 Or you could just have your server side script put the response code in a string and send that back with the response Jan 31 03:29:18 using okHttp there is a Response.code() method that returns the response code Jan 31 03:31:37 Is there an advantage to setting inner anonymous classes to final as opposed to not in an activity/view? eg click listeners? Jan 31 03:33:40 Ok TacticalJoke first run, crashed Jan 31 03:33:47 Doh! Jan 31 03:34:20 Oh,simple mistake Jan 31 03:34:29 For testing I am just Toasting list.size() Jan 31 03:34:38 and its trying to use the int as an R resource Jan 31 03:34:46 so getting ResourceNotFound Exception Jan 31 03:34:50 gotta do String.valueof Jan 31 03:37:48 TacticalJoke success!! Jan 31 03:38:02 Cool. Jan 31 03:38:41 So bascially the beauty of this is that its only called when the list is ready Jan 31 03:39:12 Yeah. This is what asynchronous code is all about: you get called back when something has happened. Jan 31 03:39:19 And you don't know when you'll be called. Jan 31 03:39:28 And thats all made possible with the interface Listener Jan 31 03:39:34 pfn have you poked any btle apis yet? seemed like you were going to play with them. i think i found multiple concurrency problems in the java framework, was wondering what you thought. but if you haven't touched it yet prbably wouldn't make sense Jan 31 03:39:39 The activity @overrides the method Jan 31 03:39:45 Listener isn't 100% needed. It'd be possible, instead, to simply call a method on the Activity directly. Jan 31 03:39:49 and the download class can post to that class and give it data Jan 31 03:40:04 But Listener helps make the code independent. Now, for example, another activity could use that downloader class. Jan 31 03:40:14 Ah, yes Jan 31 03:40:15 The downloader doesn't care who uses it, as long as they implement Listener. Jan 31 03:40:31 i'm guessing TacticalJoke doesn't want to work on his reddit client any more so he's procrastinating Jan 31 03:40:35 haha Jan 31 03:40:42 This makes code more flexible, more easy to understand, and more easy to change later. Jan 31 03:40:46 g00s: I'm doing both. :p Jan 31 03:40:55 Thanks again Tactical Jan 31 03:41:21 No worries. How long have you been doing Android programming now, BTW? Jan 31 03:41:34 Lemme check, one min Jan 31 03:42:33 TacticalJoke : since december 27th Jan 31 03:42:43 Five weeks. ;o Jan 31 03:42:49 Yes Jan 31 03:43:07 First task on december 27th: Be able to explain the difference between an activity and a class Jan 31 03:43:08 :D Jan 31 03:43:33 That's great progress for five weeks, especially since (as far as I know) you're new-ish to programming. Jan 31 03:44:00 Thanks, eh yeah, new to java Jan 31 03:44:08 a bit of experience with OOP before that though Jan 31 03:44:15 With php Jan 31 03:44:43 But yeah, Im enjoying android Jan 31 03:45:05 Yeah, I'm kinda enjoying it now (though I kinda hated it at first). Jan 31 03:45:17 Haha, why the hatred at first? Jan 31 03:45:28 i liked it at first, but hate it more as time goes on haha Jan 31 03:45:29 Mainly because a lot of stuff doesn't have great documentation. Jan 31 03:45:59 Yeah, I havent run into that problem yet, but I imagine stuff would be nearly impossible with no documentation Jan 31 03:46:03 Also it was annoying to discover things such as activities being destroyed on screen rotation (though it's understandable). Jan 31 03:46:19 Yeah, I discovered that today when you told me :D Jan 31 03:46:20 haha Jan 31 03:46:41 i like to think of it as a gauntlet of which if you survive you'll be able to handle lots, and lots of programming 'things' in the future Jan 31 03:46:46 That whole thing is fairly simple, but the not-so-amazing documentation on the topic makes it harder to grok. Jan 31 03:47:15 For example, there is (as far as I know) no documentation listing exactly which View data is persisted on screen rotation. Jan 31 03:47:58 Hm, yeah that could cause some problems for someone Jan 31 03:48:06 Theyd just have to figure it out I guess Jan 31 03:48:11 If you have an EditText, the text and selection state will be persisted. But other stuff won't. Jan 31 03:48:20 yeah there, grep androud source ;p Jan 31 03:48:25 If it's a TextView, that stuff will be persisted if and only if you set freezesText. Jan 31 03:48:28 Stuff like that. Jan 31 03:48:35 also, views won't save there state unless they have a unique id Jan 31 03:48:42 Right. Jan 31 03:48:50 Yeah, I looked in the source to verify the EditText thing. lol Jan 31 03:49:13 did you know there is a case when onpause won't be called after oncreate has been called? Jan 31 03:49:44 Which scenario does that happen in? Jan 31 03:50:07 finish is called before oncreate finishes execution Jan 31 03:50:21 Ah, interesting. Jan 31 03:50:22 well duh Jan 31 03:50:25 i was reading all these details for an interview yeah Jan 31 03:50:26 * g00s headdesk Jan 31 03:50:42 yeah but that is the sort of question i might mess to get a 9/10 Jan 31 03:51:01 Someone might naively assume that onPause would get called, especially since it's one of the "guaranteed" methods. Jan 31 03:51:15 And given that this is Android, anything could happen. :D Jan 31 03:51:19 exactly Jan 31 03:51:25 trick interview question Jan 31 03:51:30 onDestroy could fire halfway through onCreate, and I wouldn't be surprised. Jan 31 03:53:19 TacticalJoke Im thinking of rewriting alot of my current project to use listeners Jan 31 03:53:26 Where else are you thinking of? Jan 31 03:53:45 drose379: resist the temptation Jan 31 03:53:45 There is a more powerful pattern: observer. As far as I can tell, listener is "observer lite". Jan 31 03:53:49 But observer is more complex to implement. Jan 31 03:54:03 (It allows for multiple listeners.) Jan 31 03:54:05 lesserix why resist? Jan 31 03:54:20 you can overdo it Jan 31 03:54:30 hm ok Jan 31 03:54:34 btw, what is the rationale for some data being destroyed on screen rotation? Jan 31 03:54:34 and when you have too many listeners, you get a lot of hooks that can cause code inertia Jan 31 03:54:43 Observer is kinda deprecated these days. Look into event buses or Rx Jan 31 03:55:09 Gonna grab a coffe Jan 31 03:55:21 * g00s gonna grab painkillers Jan 31 03:55:22 I've been meaning to try RxJava. Still haven't gotten around to it. Jan 31 03:57:33 TacticalJoke its probably much more readable with kotlin / closures Jan 31 03:58:05 i barf at my java 7 rx stuff, i'm sure you will too Jan 31 03:58:15 Honestly, if Google announced a commitment to Kotlin tonight, I would start changing my project over tomorrow, class by class. Jan 31 03:58:44 Ah, okay. Jan 31 03:58:53 Would be awesome if they did, but it’s very unlikely to happen Jan 31 03:59:29 they didn't even have to make a commitment, but say something like "hey yeah, we /endorse/ the kotlin project for android' Jan 31 03:59:36 Yeah, I'm gonna give it at least three months and see what everyone's doing. Maybe Square can tell everyone to use Kotlin. :) Jan 31 03:59:41 Right. Jan 31 04:00:13 just like xav works with gradle guys, somebody could at least be in touch with the kotlin guys if there were showstoppers Jan 31 04:00:26 Kidding about Square (though I would be happy if they did that). Jan 31 04:01:47 fuck i wonder if i have to abandon all the btle work i've been doing Jan 31 04:02:01 google has a knack for wasting my time Jan 31 04:02:11 Why abandon? Jan 31 04:02:45 He's just being melodramatic Jan 31 04:03:27 i can get it kinda working, but things are too busted. it will reflect bad on the app Jan 31 04:03:30 xav works very closely with JetBrains, obviously, but unclear about kotlin (probably not at all) Jan 31 04:03:58 Either way, google would probably roll their own language before endorsing an external one Jan 31 04:04:42 heh Jan 31 04:04:53 as of recently, go can be used to develop with NDK ;) Jan 31 04:05:20 Just for toy apps Jan 31 04:05:25 go is a nonstarted on android Jan 31 04:05:32 nonstarter* Jan 31 04:05:41 Toy apps? Jan 31 04:05:42 actually I've been considering testing it out for some rather specific use cases Jan 31 04:05:50 I am trying to use OkHTTP and it says on the website "You can try out OkHttp without rewriting your network code. The okhttp-urlconnection module implements the familiar java.net.HttpURLConnection API and the okhttp-apache module implements the Apache HttpClient API." Jan 31 04:05:54 the UI would still be mostly java Jan 31 04:05:54 how exactly can I do that though? Jan 31 04:06:18 dvass: there's modules with shims Jan 31 04:06:20 I've added OkHTTP to my project and can access it and evefrythin but am unsure how to make use of the okhttp-apache module Jan 31 04:06:30 it's a separate dependence Jan 31 04:06:41 Depemdemcy Jan 31 04:06:48 You know Jan 31 04:09:00 JakeWharton: so how do I access it? Jan 31 04:09:55 I am trying to create an app using webview to open a local html file Jan 31 04:10:14 dvass add the dependency to your build.gradle Jan 31 04:10:16 in the app folder Jan 31 04:10:52 Its links are not working Jan 31 04:11:14 The links are to div tags which are javascript enabled Jan 31 04:11:33 When you say local html file do you mean stored on the phone Jan 31 04:12:05 compile 'com.squareup.okhttp:okhttp:2.2.0' Jan 31 04:12:09 so instead of that I do Jan 31 04:12:13 compile 'com.squareup.okhttp:okhttp-apache:2.2.0' Jan 31 04:12:14 ? Jan 31 04:12:48 No the first one is correct Jan 31 04:13:18 I have that but I want to access the okhttp-apache module so that I can use it without rewriting my code Jan 31 04:13:20 Yes Jan 31 04:13:24 as it says in the description I posted Jan 31 04:13:58 Use the wrapper that's in that module Jan 31 04:14:47 How do I do that? Jan 31 04:16:13 I would have to look Jan 31 04:16:18 And I'm on mobile Jan 31 04:16:38 Look at the tests for that module Jan 31 04:18:20 any idea why my app is saving most UTF-8 characters to the server but not emoji? I am calling URLEncoder.encode(string, "UTF-8"), all my MySQL tables and rows are set to utf8_general_ci, and my PDO contsructor in PHP has charset=UTF8 in it. Any other ideas? Jan 31 04:19:21 In res folder Jan 31 04:19:45 what is return type of ‘findViewById();’? Jan 31 04:19:56 AirStar: Object, that is why it must be cast to TextView or whatever Jan 31 04:20:13 oh good thanks duncannz Jan 31 04:20:15 :) Jan 31 04:20:42 sorry, it's a generic View Jan 31 04:20:52 not an Object - http://developer.android.com/reference/android/view/View.html#findViewById%28int%29 Jan 31 04:24:30 duncannz: what type is it not saving? Jan 31 04:24:59 lasserix: type? Jan 31 04:25:04 which Jan 31 04:25:33 some characters are not rendered, and its only BMP plane of utf-8 thats gaurenteed Jan 31 04:26:36 well it didn't save any of the emojis I tried. but it saved other non ascii characters such as ° and ÷ Jan 31 04:27:23 oh there we go, it works with the first smiley face emoji. but not with most of them Jan 31 04:27:31 So i cq Jan 31 04:28:08 So can i make the webpage an object Jan 31 04:29:34 duncannz: you need utf8mb4 for emojo Jan 31 04:29:36 emoji Jan 31 04:29:39 in MySQL Jan 31 04:30:32 g00s, nope, haven't seen any interesting hardware yet Jan 31 04:30:36 ah ok, thanks JakeWharton Jan 31 04:32:19 if i code programming in coffee shop, then which 11 inch or 13 inch laptop is good? Jan 31 04:32:19 \o Jan 31 04:32:19 19" Jan 31 04:32:19 12" Jan 31 04:32:20 just right Jan 31 04:32:33 i just use mac Jan 31 04:32:39 there is no 12 and 19 inch Jan 31 04:32:42 could anyone help me figure out why onClick() isn't getting called here? https://github.com/drinfernoo/Cuber/blob/master/app/src/main/java/com/blango/cuber/adapter/GridViewAdapter.java Jan 31 04:32:43 goldilocks knows Jan 31 04:32:55 oh you definitely want the 17" Jan 31 04:33:31 :( Jan 31 04:34:02 for serious, 13" is the smallest. i prefer 15" Jan 31 04:35:06 but i have no power to handle it Jan 31 04:35:12 15 is too heavy Jan 31 04:35:18 anyway thanks Jan 31 04:35:21 :) Jan 31 04:35:26 I prefer 3x1 27" landscape Jan 31 04:35:41 yay it worked! all tables and columns to utf8mb4_unicode_ci and PDO constructor charset=utf8mb4 and I can save emoji Jan 31 04:36:05 drinfernoo: you have 3 pc of 27inch? Jan 31 04:36:12 oh good Jan 31 04:36:24 This method is where the activity receives the intent with the message, then renders the message. <——— what mean of renders? Jan 31 04:36:31 actually they were 23", but I don't have them anymore Jan 31 04:36:56 oh i have 13 inch mac book Jan 31 04:36:58 the adapter is working, just the listener isn't :( Jan 31 04:37:49 drInferno Jan 31 04:37:56 for elements of the list, you use onItemClick Jan 31 04:38:00 Anyone have an opinion ThinkPad vs Macbook Pro Jan 31 04:38:10 for views within the elements of the list, you use ClickListener (which will nullify onItemClick) Jan 31 04:38:33 drose379: macbook pro is better (as long as you use linux :D), but thinkpad is better value for money Jan 31 04:38:37 drose379: just use mac. it is not comparable. Jan 31 04:38:38 imo Jan 31 04:38:52 Linux on mac? Jan 31 04:39:11 I would if I had a mac. but that's my biased opinion Jan 31 04:39:22 Which distro would you use? Jan 31 04:39:30 I use Arch Linux Jan 31 04:39:39 drinfernoo: therefore, setOnItemClick listener and do it on the grdivew itself, not each convertview Jan 31 04:39:48 if you rich then use mac Jan 31 04:40:00 if you poor then use ThinkPad Jan 31 04:40:06 I feel weird saying this, but I actually prefer Windows (7 or 8.1) to Linux as a desktop OS nowadays. Jan 31 04:40:16 How come? Jan 31 04:40:40 TacticalJoke you just had to wait until 2017 until the year of the linux desktop Jan 31 04:40:44 lol Jan 31 04:40:49 patience ... Jan 31 04:41:13 the year of the Linux desktop will never come Jan 31 04:41:19 personally I don't care how many people use Linux or if it takes off (yold etc). it works great for me and that's all I need Jan 31 04:41:21 I went through an anti-Microsoft phase when I was a teen, and I had that mentality. "Next year, Linux will prevail!" Jan 31 04:41:21 the year of consumer Linux was 2013 Jan 31 04:41:44 most people don't care what OS they use, and they don't need to Jan 31 04:42:39 drose379: I feel that Windows has a pretty nice UI nowadays, and it's not very broken (even by default) anymore. Jan 31 04:42:39 lasserix, how does that work? in my adapter? Jan 31 04:42:42 Windows 10 looks like it's gonna be neat. Jan 31 04:43:07 Hm, if I went thinkpad I think they come with 8.1 Jan 31 04:43:19 But idk about lenovo, ive heard some bad stuff Jan 31 04:43:34 Is it the case that you use MacOSX all the time and use Windows never/seldom? Jan 31 04:43:46 Yes, never Jan 31 04:43:56 That probably ought to be a factor in your decision. Jan 31 04:44:02 You think so> Jan 31 04:44:04 ?* Jan 31 04:44:18 Windows is quite a different environment. If I were to switch to MacOSX, I'd be lost. Jan 31 04:44:22 drose379: I'm typing this from a lower-end Lenovo (E531 with i5), it's alright. no major problems Jan 31 04:44:29 I guess it's "Mac OS X". Jan 31 04:44:43 Hm, ok Jan 31 04:44:45 I recommended a Lenovo for my parents. It's really nice. Jan 31 04:44:46 Super-fast. Jan 31 04:44:50 That has 8.1. Jan 31 04:45:11 The thinkpads look cool too Jan 31 04:45:21 Idk, gotta check one out in person Jan 31 04:45:21 drose379: Do you rely on any Mac OS X-specific software? Jan 31 04:45:28 Nope Jan 31 04:45:54 Hmm, they seem to be calling it "OS X" now. Jan 31 04:46:05 OS 10 Jan 31 04:46:13 Who cares haah Jan 31 04:46:29 drinfernoo: grdview.setOnItemClickListener(...) Jan 31 04:46:39 then convert ClickListener to onItemClickListener Jan 31 04:46:40 i dont get why i data isnt saved , and restored when screen rotate, this is the code http://pastebin.com/1q1Xwpi3 Jan 31 04:46:45 and it passes back the view that got clicked? Jan 31 04:46:47 how can i solve this Jan 31 04:47:23 drinfernoo: you can do in constructor setOnItemClickListener(new OnItemClickListener... Jan 31 04:47:36 drinfernoo: the view will still have the tag Jan 31 04:47:44 cool Jan 31 04:47:50 I'll give it a shot Jan 31 04:48:02 drinfernoo: but you can also do getItem(position) if you override the getItem to return the Cube type Jan 31 04:50:01 john67: think you have to use onActivityCreated not onCreateView Jan 31 04:50:39 err that may not work Jan 31 04:50:45 check http://stackoverflow.com/questions/6787071/android-fragment-how-to-save-states-of-views-in-a-fragment-when-another-fragmen Jan 31 04:53:15 if i have 2 threads, and they both mutate some state, is there a long enough delay where the reader and writer would see the same state without synchronization ? Jan 31 04:53:50 now i'm realizing why devs say inserting delays all over makes the btlw apis work better :| Jan 31 04:53:59 never Jan 31 04:54:05 delays are the devil Jan 31 04:54:39 then we have a problem since 4.3 in these apis, but i'm surprised it hasn't been fixed yet Jan 31 04:54:54 its like nobody is reviewing the code Jan 31 04:55:36 g00s true for UI too Jan 31 04:56:48 the gatt apis allow 2 threads to modify a byte array Jan 31 04:57:23 hello boys Jan 31 04:57:29 g00s: make it read-only and duplicate the array when you get the gatt callback Jan 31 04:58:03 Napalm can you explain more ? Jan 31 04:58:16 see https://github.com/android/platform_frameworks_base/blob/master/core/java/android/bluetooth/BluetoothGattCharacteristic.java#L523 Jan 31 04:58:22 data isnt saved , and restored when screen rotate http://pastebin.com/FL1QtNw0 Jan 31 04:58:58 which happens on your thread, and also on a binder thread here https://github.com/android/platform_frameworks_base/blob/master/core/java/android/bluetooth/BluetoothGatt.java#L353 Jan 31 04:59:02 Is 'savedInstanceState' null? Jan 31 04:59:52 !seen tanderza Jan 31 04:59:59 nope.. nvm Jan 31 05:01:48 Napalm anyhow, same story for all the mutable state in BluetoothGattCharacteristic and BluetoothGattDescriptor Jan 31 05:01:56 g00s: i mean just copy the array.. meaning since each thread is getting a copy any data change would not effect the other threads Jan 31 05:02:35 but i could be copying the array while android is writing into it Jan 31 05:02:51 or any other properties, state, etc Jan 31 05:03:44 lasserix, that worked :) one more problem, though Jan 31 05:03:45 seems the only way to be completely safe, is to operate on the characteristics / descrtiptors only from the binder threads Jan 31 05:03:52 hold on I'll make a video I guess lol Jan 31 05:04:05 also they have a LinkedList which is shared between threads without synchronization Jan 31 05:06:01 Napalm i'm going to file a bug and see if anyone says anything. my experience tho, if it isn't triaged in 12 hours it goes into the garbage Jan 31 05:06:07 so maybe i'll wait until monday Jan 31 05:09:53 So I made a feature that forces people to finish a literally 20 second survey Jan 31 05:10:25 and people are pressing "close" 3 to 13 times before they finally do the survey or give up. Jan 31 05:10:27 What happens if they try not to complete the survey? Jan 31 05:10:41 they end up uninstalling the app Jan 31 05:10:55 I just added a feature that lets them switch back to ads after the 4th try. Jan 31 05:11:13 and a question of whether they want ads or surveys when they run it for the first time. Jan 31 05:11:31 people don't want eithe heh Jan 31 05:11:46 great way to get 0 star ratings Jan 31 05:12:05 "Ads or surveys". What a choice. Jan 31 05:12:23 TacticalJoke: savedInstance is null Jan 31 05:12:28 john67: Is it a retained fragment? Jan 31 05:12:37 no, Jan 31 05:12:46 Hmm. Maybe post the entire code. Jan 31 05:12:48 Agamemnus is this still the jigsaw ? Jan 31 05:12:52 Agamemnus: that's not too surprising. if you make a screen that has two buttons, one that says "Click here" and one that says "cancel", you'll see plenty of people clicking cancel a ton. anything you do to make it _worse_ than a "click here" button that does nothing will just cause more people to click cancel. Jan 31 05:12:57 (I mean the Fragment. Please don't upload a ZIP of your project. :D) Jan 31 05:13:18 I just realised something: Jigsaw/Agamemnus... Jan 31 05:13:38 OK lasserix, so something about restoring the view makes my tabs and stuff act funky: Tabs not working in restore: http://youtu.be/JxLyo7p7H6U Jan 31 05:13:44 "Wanna play a game?" Jan 31 05:13:54 TacticalJoke: it isnt a retained fragment, Jan 31 05:13:57 g00s: discover anything interesting about btle while I've been afk? otherwise I'll give it some more reading. Jan 31 05:14:07 I'm simply extending FragmentStatePagerAdapter, so I would think its saving should be good enough? Jan 31 05:14:19 You should post the entire Fragment.java thingy. Jan 31 05:14:19 It's the jigsaw. Jan 31 05:14:28 groxx i was going to file a bug. i think my analysis is correct Jan 31 05:14:52 are you equating my game to War Games? Jan 31 05:14:53 k. I'll still read it, but good luck :) link me when it's ready, I'll be curious if anything happens on it. Jan 31 05:14:59 drinfernoo: dunno just override them ethods you expect to be called, and step through, also make sure any views you want to restore state have unique ids Jan 31 05:15:27 Agamemnus: I'm equating you to Jigsaw. Jan 31 05:15:38 http://en.wikipedia.org/wiki/Jigsaw_(Saw) Jan 31 05:15:52 groxx: I can't make the close button go away. Jan 31 05:15:58 That would make things easier. Jan 31 05:16:00 groxx: im lock Jan 31 05:16:03 TacticalJoke im thinking I have too many listviews in my app Jan 31 05:16:03 "After a failed suicide attempt, Kramer found a new appreciation for his life, and decided to dedicate the rest of his life to inspiring the same appreciation in others by testing their will to live." Jan 31 05:16:27 At first, I offered people the opportunity to do a survey for gems Jan 31 05:16:43 TacticalJoke: lol, that's a good quote :) Jan 31 05:16:50 19/20 canceled Jan 31 05:16:52 but most people don't understand what gems are. I need to do a tutorial but I don't have time for it. Jan 31 05:17:03 I think Agamemnus's app does that. :D Jan 31 05:17:13 lasserix, I don't really know how it works... my pager adapter (extends FragmentStatePagerAdapter) returns a GridFragment, which inflates a layout containing a GridView Jan 31 05:17:21 what do I need to be looking for? Jan 31 05:17:25 when players don't have a choice, they will keep trying to not do the survey or they'll give up and close the app Jan 31 05:17:29 drose379: How many? Jan 31 05:17:35 I don't need those layabouts playing my game! Jan 31 05:17:43 So theres one where you select a subject Jan 31 05:17:43 why the tabs dont restore properly? Jan 31 05:17:56 Then one to show that subjects lessons Jan 31 05:18:11 Then theres gonna have to be one to show the lesson tasks Jan 31 05:18:17 It was about 50/50, some eventually conceded Jan 31 05:18:43 yeah Jan 31 05:18:58 I mean, I know I'm trying to figure that out lol Jan 31 05:19:07 but how do I track that down? Jan 31 05:19:17 I'm recording whether users want ads or surveys Jan 31 05:19:26 I guess its inevitable TacticalJoke Jan 31 05:19:32 So far, 2 people want ads, and 1 person wants surveys. Jan 31 05:19:53 Ok I have a better idea Jan 31 05:20:00 I'm going to put this in after a while Jan 31 05:20:02 drinfernoo: use debugger, step through all the callbacks Jan 31 05:20:13 A lot of my clicks come from confused users who don't know what they installed Jan 31 05:20:38 Agamemnus: Do you ever feel it borders on the unethical? Jan 31 05:20:42 my users are in general extremely confused Jan 31 05:20:48 what does? Jan 31 05:20:51 Especially since some of your users are (as I understand it) young children. Jan 31 05:21:12 to ask them survey questions, or to track their random behavior? Jan 31 05:21:32 One example is the part where you contact them on Hangouts. Jan 31 05:21:33 well they are confused because they downloaded a fun game and instead they get interrogated by madmen Jan 31 05:21:48 what game is this?? Jan 31 05:21:51 I gave up contacting people on Hangouts Jan 31 05:21:58 No one ever responds Jan 31 05:22:02 Safari Jigsaw Jan 31 05:22:54 I downloaded that Jan 31 05:22:58 You tracking me? :D Jan 31 05:23:04 I am amazed that users put up with ads at all. Jan 31 05:23:08 Or surveys. Jan 31 05:23:08 I'm tracking everyone Jan 31 05:23:21 The ads don't make me money if people don't click them Jan 31 05:23:25 And it's not sustainable Jan 31 05:23:33 so I need something else Jan 31 05:23:59 why does it need my contacts? Jan 31 05:24:05 hehe Jan 31 05:24:21 because the animals want to send you and your friends fun emails! Jan 31 05:24:26 lol Jan 31 05:24:42 It has nothing to do with that. Jan 31 05:24:45 gonna see what all the fuss is about Jan 31 05:24:45 you should just ask for the kids parents cc information or tell them the monkeys will starve Jan 31 05:24:57 How did you contact them on Hangouts before? Did you ask for their username? Jan 31 05:25:24 It doesn't ask you for your contacts. Jan 31 05:25:57 TacticalJoke, it's part of the authentication process. Jan 31 05:26:12 I get their google play ID Jan 31 05:26:27 which means I can (try) to send them a message on Hangouts Jan 31 05:26:53 but I don't think anyone uses Hangouts Jan 31 05:26:54 Or G+. Jan 31 05:27:06 except me, I guess Jan 31 05:27:14 Maybe they stopped after using your app. :D Jan 31 05:27:40 "This crazy psycho guy sent me a message after I downloaded his app. What the heck." Jan 31 05:27:50 myke, I assume you mean Identity, not contacts. Jan 31 05:27:58 And that'd for user authentication. Jan 31 05:28:21 So I know who has how many gems. Jan 31 05:28:49 Actually I just added the Facebook SDK. Jan 31 05:28:54 So Facebook will be in soon. Jan 31 05:29:10 nice you are part of the borg now Jan 31 05:29:13 I only wanted Facebook crap to track installs from that platform. Jan 31 05:29:25 But I can't get that code to work without the whole SDK Jan 31 05:29:37 that way fb can spy on your users Jan 31 05:30:04 On a side note, Facebook technical support are idiots Jan 31 05:30:17 fb will probably make more money of your game than you will ;p Jan 31 05:31:03 I asked them how to get tracking working without installing the whole SDK Jan 31 05:31:14 And they said "send us a screencast of your problem" Jan 31 05:31:41 That made me rage. But, I knew it would be some inept shit response. And I tried anyway. Jan 31 05:31:59 Masochist. Jan 31 05:32:16 How did you get in touch with them? Jan 31 05:32:33 There is a contact form in the Facebook for Business part of the site. Jan 31 05:32:39 Ok Jan 31 05:32:47 Any Live chat? Jan 31 05:32:51 or is it Facebook Ads for Business Jan 31 05:32:57 No live chat. Jan 31 05:33:00 Ok Jan 31 05:33:19 that would make their profits go to 0. Jan 31 05:33:26 Why? Jan 31 05:33:32 Why? Jan 31 05:33:46 Because everyone would start a live chat conversation with them.. Jan 31 05:33:59 Not everyone per se, but... Jan 31 05:34:05 Yeah Jan 31 05:34:26 Google has live chat. Jan 31 05:34:26 Im trying to get facebook widget into a website im building and its a bitch Jan 31 05:34:32 It's mostly useless Jan 31 05:34:35 Twitter widget was alot easier Jan 31 05:34:42 I see Jan 31 05:34:57 You working on any other projects? Jan 31 05:35:06 I am Jan 31 05:35:11 Care to share? Jan 31 05:35:17 Well Jan 31 05:35:17 do these puzzles get progressively harder? Jan 31 05:35:31 myke: no, you can choose the difficulty level on the top-left. Jan 31 05:35:46 I didn't want it to be like that. I know a lot of games are like that.. Jan 31 05:36:02 I'm supposed to be working on a spec for a choose-your-own-adventure game. Jan 31 05:36:06 But he can't die! Jan 31 05:36:35 An artist. It's for a museum. Jan 31 05:37:00 But it's hard because I don't want my vision rejected by their committee Jan 31 05:37:17 so I've been procrastinating. Jan 31 05:37:19 And so on Jan 31 05:37:28 A few more Jan 31 05:37:37 It's mostly Javascript-oriented Jan 31 05:37:40 Some Android I guess Jan 31 05:38:16 drose379, any suggestions? Feedback? Jan 31 05:38:32 i don't get it lasserix lol Jan 31 05:38:41 how can i make android game app? there is any tutorial of game app? Jan 31 05:39:08 The easiest thing to do is to use a framework. Jan 31 05:39:20 Agamemnus: what frame work? Jan 31 05:39:20 Feedback on your safari game? Jan 31 05:39:21 Honestly a complete idiot could make a game with Phaser. Jan 31 05:39:28 drose379: yes Jan 31 05:39:40 Phaser isn't android per se, but you can easily convert it. Jan 31 05:39:46 Oh it was pretty good, I played it a few weeks back Jan 31 05:39:52 AirStar, http://bit.ly/1EvETvn Jan 31 05:39:55 i want earn money with android game app Jan 31 05:39:57 drinfernoo: you have to find which callbacks should be called for restorying, then step through them and see if your values are there Jan 31 05:40:03 *it is doing what it is supposed to Jan 31 05:40:08 Oh, I see. Great. Jan 31 05:40:18 AirStar: forget about it Jan 31 05:40:28 what forget? Jan 31 05:40:32 unless you have an incredible idea and incredible programming skills Jan 31 05:40:32 Agamemnus: Jan 31 05:40:38 I can't step through Jan 31 05:40:47 Agamemnus, I want make money Jan 31 05:41:01 ._. Jan 31 05:41:05 lolol Jan 31 05:41:08 haha Agamemnus i want challenge with only 0.1% possibility Jan 31 05:41:08 Its nice to want :D Jan 31 05:41:18 Well Jan 31 05:41:23 My suggestion is Phaser. Jan 31 05:41:46 i have a great of idea of game app Jan 31 05:41:58 but i m weak about graphic Jan 31 05:42:16 also weakness in coding lol Jan 31 05:43:26 AirStar, where do you live? Jan 31 05:43:42 i live in China Jan 31 05:43:43 why? Jan 31 05:43:45 I am weakness Jan 31 05:44:30 Just wondering. Jan 31 05:44:54 It's not really a question of possibility Jan 31 05:45:05 It's a question of... inevitability, and planning.. Jan 31 05:45:05 Agamemnus are you happy with the way Safari Jigsaw came out? Jan 31 05:45:28 Tech wise, I think I could improve the memory usage. Jan 31 05:45:35 A lot of tablets blow up on it. Jan 31 05:45:46 What do you mean its a question of inevitability? Jan 31 05:45:53 Revenue-wise, it's still a work in progress Jan 31 05:46:01 (or, no I am not) Jan 31 05:46:07 :) Jan 31 05:46:13 First app? Jan 31 05:46:18 AirStar, have you any prior coding experience? Jan 31 05:46:20 Yes, it's my first Android app Jan 31 05:46:27 Thats cool Jan 31 05:46:31 drose379: I mean it's not a lottery Jan 31 05:46:42 oops Jan 31 05:46:43 Being successful? Jan 31 05:46:52 Er, yeah. drose379. Jan 31 05:46:53 Yes Jan 31 05:46:57 Or unsuccessful. :\ Jan 31 05:47:02 drinfernoo: i have experience of game coding Jan 31 05:47:10 Technically Jan 31 05:47:12 For example Jan 31 05:47:20 I love the fact that people have fun with my stuff. Jan 31 05:47:24 I made games for a museum. Jan 31 05:47:30 i have many coding but i don’t make game app Jan 31 05:47:52 Agamemnus are you in school? Jan 31 05:47:53 But it's not translating into hookers and crack. Jan 31 05:47:56 I am not Jan 31 05:48:04 i want make game app for making million money Jan 31 05:48:21 Agamermnus howd that museum game pay? Jan 31 05:48:22 My ambition for making money is stymied by my ethics Jan 31 05:48:25 AirStar, good luck :) nobody makes game app for making million money Jan 31 05:48:37 Not much. Jan 31 05:48:38 your an ass drinfernoo Jan 31 05:48:55 drinfernoo: there is no hope, then your life is dead. Jan 31 05:48:59 About 3500 per game, each one takes about two months of full-time work Jan 31 05:49:06 Er Jan 31 05:49:08 part-time work Jan 31 05:49:12 not full-time Jan 31 05:49:15 oh, ok Jan 31 05:49:26 Fuck the museums then :) Jan 31 05:49:28 Here's the first one: Jan 31 05:49:32 how can i solve my graphic problem? Jan 31 05:49:35 http://www.historycanvas.com Jan 31 05:49:53 Oh you do web stuff too? Jan 31 05:49:58 AirStar: hire people, or buy stock graphics, or use free graphics, or make your own, or have no graphics Jan 31 05:50:02 It's mostly web stuff Jan 31 05:50:12 drose379, probably lol Jan 31 05:50:23 i do it myself. graphic and coding Jan 31 05:50:39 AirStar, I apologize. there are a ton of resources online, just do a quick search and you'll find answers Jan 31 05:50:43 dunno, $3500 is a lot more than people make trying to sell games on app stores Jan 31 05:50:44 Here's the museum's version: Jan 31 05:50:49 haha yes Jan 31 05:50:53 i have no money. i have only 13inch mac Jan 31 05:50:58 http://canvas.centerofthewest.org/ Jan 31 05:51:20 AirStar: it's an extremely competitive business Jan 31 05:51:21 Howd you get a job with a museum? Jan 31 05:51:36 and even if you make a good game, you have to solve the problem of advertising Jan 31 05:51:43 They hired me on elance.com. Jan 31 05:51:44 thanks Agamemnus Jan 31 05:51:59 AirStar you should get started by making something man Jan 31 05:52:06 i will make app of ‘England Zombie VS Romania Dracula’. Jan 31 05:52:20 That sounds sick, do it. Jan 31 05:52:29 I'd play it Jan 31 05:52:32 Me too. Jan 31 05:52:39 There you go, get to work! Jan 31 05:52:41 Agamemnus: what is that canvas app made with? Jan 31 05:52:44 On the 13 inch mac Jan 31 05:52:50 :D Jan 31 05:53:19 Erm, Javascript. Or, how do you mean? Jan 31 05:53:26 hello all Jan 31 05:53:28 mac book pro 13 inch is not good for making android app Jan 31 05:53:35 Why AirStar Jan 31 05:53:38 Hi QubeZ! Jan 31 05:53:41 drose379, at the risk of getting assholed, any pointers on getting fragments in a FragmentStatePagerAdapter to restore correctly? lol Jan 31 05:53:44 hi Agamemnus Jan 31 05:54:09 You can look at the source if you want. It's not minified Jan 31 05:54:21 Though Java programmers might recoil. Jan 31 05:54:25 AirStar, I haven't used a computer of any kind for my app Jan 31 05:54:25 Sorry drinfmoo Jan 31 05:54:28 drose379: you promise to play my app? Jan 31 05:54:36 Yes I promise Jan 31 05:54:39 my app price will be $30. Jan 31 05:54:40 a 13" macbook would be 1000x better than what I have lol Jan 31 05:54:41 haha Jan 31 05:54:51 $30 you crazy? Jan 31 05:55:02 30 yuan Jan 31 05:55:05 no Jan 31 05:55:07 $30 Jan 31 05:55:11 AirStar your a funny dude Jan 31 05:55:12 I see Jan 31 05:55:16 why? Jan 31 05:55:21 Just are Jan 31 05:55:31 I wanna see you one day, Jan 31 05:55:33 Are you the same guy who offered to sell me an empty domain name for $10,000 Jan 31 05:55:48 no Aga Jan 31 05:55:50 for flyingsoft.net Jan 31 05:55:52 no Agamemnus Jan 31 05:55:56 that was a joke Jan 31 05:56:01 :) Jan 31 05:56:10 Android apps/games aren't sold for that much. Jan 31 05:56:13 Why AVD's have warnings on run on 32 bit systems, saying that soon 32bi systems won't be supported? Jan 31 05:56:28 You can make a lot of money in IAPs Jan 31 05:56:33 But you need to make it addictive Jan 31 05:56:39 IAP? Jan 31 05:56:40 borw3: because soon 32 bit systems won't be supported? Jan 31 05:56:43 So far I made almost 0 on IAPs. Not addictive. Jan 31 05:56:48 IAP = in-app-purchase Jan 31 05:56:51 Oh ok Jan 31 05:56:59 $30 for an app would have to be one hell of an app Jan 31 05:57:09 better have cthulu too Jan 31 05:57:16 Agamemnus: ah ok, no other framework? that's cool. but why do you have to manually change the draw order? Jan 31 05:58:10 myke: because if you move characters Jan 31 05:58:26 you have to change the draw order for the collision detection Jan 31 05:58:33 and the z-index of course Jan 31 05:59:23 So are you guys all self taught? Jan 31 06:00:24 The characters/objects aren't in the canvas Jan 31 06:00:35 They're divs with background-image. Mostly Jan 31 06:00:44 So the draw order is handled by z-index Jan 31 06:01:03 but there's a for collision detection Jan 31 06:01:14 for what tho? Jan 31 06:01:17 isn't it a static scene? Jan 31 06:01:17 and you can convert it to a PNG Jan 31 06:01:24 you can drag the characters Jan 31 06:01:46 AirStar how did you learn to program Jan 31 06:01:48 drose379: well, I took some classes, but mostly self-taught Jan 31 06:01:59 Howd you go about self teaching Jan 31 06:02:02 just click a character and move it Jan 31 06:02:11 Ever seen Rocky? Jan 31 06:02:18 me? Jan 31 06:02:21 Yes. Jan 31 06:02:23 Yeah Jan 31 06:02:29 I just sing that tune Jan 31 06:02:38 Eye of the tiger? Jan 31 06:02:44 I vaguely remember that movie Jan 31 06:02:47 And imagine him running up those steps Jan 31 06:02:57 Thats how you learned to program? :D Jan 31 06:03:03 Roughly. Jan 31 06:03:11 Any planning involved Jan 31 06:03:16 None Jan 31 06:03:21 You serious? Jan 31 06:03:41 Planning like, how so? Jan 31 06:03:53 Planning out my learning schedule? Jan 31 06:03:56 Then no.. Jan 31 06:03:57 Planning things that you want to learn and the steps you will take to get there? Jan 31 06:04:09 No, I guess some people try to do that. Jan 31 06:04:44 I just try various schemes Jan 31 06:04:54 Hm, Im working on an app that is supposed to help guide someone self-educationg Jan 31 06:05:01 educating* Jan 31 06:05:24 with android:Theme.Holo... the ic_alauncher shows up in the action bar but with Them.AppCompat... it doesn't, how can Is how it up in the latter? Jan 31 06:05:52 Also if a theme starts with android:... does that mea these are the default supported themes that ships with android sdk? Jan 31 06:05:52 introduce me good e-book of android app. Jan 31 06:05:53 Man, I barely use a calendar. Jan 31 06:06:25 AirStar: like I said, in my opinion, starting with Phaser is your best bet. Jan 31 06:06:25 Dont you think you would get more done and forget less if you had it planned out? Jan 31 06:06:38 No, I would worry more and get less done Jan 31 06:06:39 what is Phaser? Jan 31 06:06:45 Agamemnus: Jan 31 06:06:49 Or maybe I'd get more done, but I'd definitely worry more. Jan 31 06:07:02 http://phaser.io/ Jan 31 06:07:03 Why? The phone doesnt bite :D Jan 31 06:07:26 http://phaser.io Jan 31 06:07:32 Agamemnus has already linked 2 working apps so i'd say he's able to get deliverables out the door Jan 31 06:07:33 thanks Agamemnus Jan 31 06:07:39 Speaking of phones, I hate phone calls Jan 31 06:07:47 :) Jan 31 06:07:58 The worst thing. Jan 31 06:08:04 You call someone and they don't pick up. Jan 31 06:08:04 myke deliverables? Jan 31 06:08:16 Well, he means they work Jan 31 06:08:21 And do things Jan 31 06:08:28 Yes, they do Jan 31 06:08:29 I have a big graveyard though. Jan 31 06:08:36 Is that right? Jan 31 06:08:41 Huge. Jan 31 06:08:47 Agamemnus: but i don’t know about Phaser. Jan 31 06:08:50 what is it? Jan 31 06:09:10 AirStar: like I said. You can use Javascript, a very easy language to learn (easier than Java) Jan 31 06:09:17 and you can make Android apps with it. Jan 31 06:09:21 er, games. Jan 31 06:09:34 It's based on the Flash methodology. Jan 31 06:09:52 The framework, I mean, not Javascript. Jan 31 06:10:03 You might still need to use Java a little. Jan 31 06:10:20 But like I said... it's VERY easy to make games with Phaser and some motivation Jan 31 06:10:44 Agamemnus: i can do javascript and java too Jan 31 06:11:01 i don’t know flash. Jan 31 06:11:08 There are similar things in Java but I don't know them, so I can't say anything about them. Jan 31 06:11:21 It's not Flash, it just uses Flash-like concepts Jan 31 06:11:31 oh i see Jan 31 06:11:39 I used to do some Flash ages ago, before they made it extremely complex Jan 31 06:11:47 and slow, and annoying Jan 31 06:11:56 adobe abandoned flash so best to move on Jan 31 06:12:35 flash is slow, but buggy Jan 31 06:12:49 I mean, it's not really Flash but it's easy for Flash developers to use it Jan 31 06:13:02 Because of the way the graphic system is done Jan 31 06:13:21 http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333/ref=sr_1_1?s=books&ie=UTF8&qid=1422684770&sr=1-1&keywords=android Jan 31 06:13:26 this book is good Jan 31 06:13:31 i have one Jan 31 06:13:33 how do you make good android apps/games with JS ? Jan 31 06:13:39 i got this out put when the screen is rotated https://drive.google.com/file/d/0B1aH_yFA-4WcaGNyMVZnTHRvOTg/view?usp=sharing Jan 31 06:13:41 using phonegap is supposedly not a good idea Jan 31 06:13:54 shmoon_: it's nonsense Jan 31 06:14:02 maybe true 2 years ago Jan 31 06:14:04 Agamemnus: phone gap Jan 31 06:14:04 oh so you say phonegap is a great idea? Jan 31 06:14:10 you dont Jan 31 06:14:21 hm i wonder why am I making my app in Java now :S Jan 31 06:14:26 cuz I come from web dev Jan 31 06:14:31 and I had read/heard phonegap not a good idea Jan 31 06:14:33 I think so, it really depends on the game type Jan 31 06:14:54 Tile-based, it's absolutely easy to make it with Phaser, I guess Jan 31 06:15:02 let me chekc phaser Jan 31 06:15:02 lasserix: do u have idea why i have this messy text on my screen? Jan 31 06:15:16 But there are downsides Jan 31 06:15:28 you have less control over memory usage, but that's changing Jan 31 06:15:42 my jigsaw game takes up 350 mb Jan 31 06:15:51 wow. graphics/ Jan 31 06:15:52 ? Jan 31 06:16:03 textures, and not enough deallocation Jan 31 06:16:30 like Jan 31 06:16:43 ok so i am looking at my game and it is dormant Jan 31 06:16:49 everything is deallocated, 125mb Jan 31 06:16:51 not too bad Jan 31 06:16:57 but initially, it spikes Jan 31 06:17:00 with android:Theme.Holo... the ic_alauncher shows up in the action bar but with Them.AppCompat... it doesn't, how can Is how it up in the latter? Jan 31 06:17:53 and the other problem is that the memory issue seems to be more acute with Nexus or Galaxy Tab devices Jan 31 06:17:56 I don't know why Jan 31 06:18:16 Agamemnus: aren't all those gfx expanded to bitmaps? that would be worse on larger screen devices Jan 31 06:19:13 not necessarily Jan 31 06:19:32 it's stretched by CSS Jan 31 06:19:48 so the working part can be smaller Jan 31 06:20:03 Funny story Jan 31 06:20:19 At first, I had a rescaling mechanism that had everything set to 1 Jan 31 06:20:24 tag in browsers Jan 31 06:20:38 It was bigger than the screen. Jan 31 06:20:44 And then my css mechanism scaled it DOWN... Jan 31 06:20:55 so I was using many times more memory than I should have been. Jan 31 06:21:23 Like: -> Jan 31 06:21:29 That's really bad Jan 31 06:21:30 oops Jan 31 06:22:12 The actual screen size is going to depend on your devicePixelRatio Jan 31 06:22:23 On the Note 4 I think it's something like 3 or 4 Jan 31 06:22:32 NIght guys Jan 31 06:22:38 Night Jan 31 06:22:47 But Phaser has a scaling mechanism Jan 31 06:22:51 I rolled my own Jan 31 06:23:13 so I set that value to .2, and use css+js to scale it up a bit Jan 31 06:24:37 what do you use as your container on the android app? like phonegap, etc Jan 31 06:26:23 I'm using Cordova. I do want it to be an app on iOS but I didn't get there yet Jan 31 06:26:42 I'm also using Crosswalk. (standalone Chrome browser) That's why it's so heavy. Jan 31 06:26:48 ah ok Jan 31 06:27:25 did Napalm ever put up that video last night? Jan 31 06:27:47 that's always going to be a problem with apps that have to bring their own virtual machine along Jan 31 06:28:06 drinfernoo: nope, but when I get it working and uploaded.. you'll be the first person I tell.. ok? Jan 31 06:28:07 hopefully it'll standardize and we'll have reinvented flash and AIR successfully Jan 31 06:28:43 :D Jan 31 06:29:09 lol OK I didn't know know you were here Jan 31 06:29:39 Chrome is still extremely buggy. Jan 31 06:29:47 We'll have it figured out by 2020 Jan 31 06:31:30 i know a guy that rolled his own lua-based multi-platform engine Jan 31 06:31:44 using a gl surface directly Jan 31 06:32:31 http://www.berrybounce.com/home.html Jan 31 06:33:50 interesting Jan 31 06:33:52 and weird Jan 31 06:34:04 it's not a great game but a good tech demo for his engine Jan 31 06:36:28 I see Jan 31 06:37:01 I use pixi.js for my engine. Used to be just 2d canvas but it wasn't good enough Jan 31 06:37:07 had to fix a lot. Jan 31 06:37:11 But it is better now Jan 31 06:37:27 (Phaser uses pixi.) Jan 31 06:38:24 The 2D canvas is great on a browser. Awful on phone/tablet. Jan 31 06:38:30 PC* Jan 31 06:42:56 well Jan 31 06:42:57 http://caniuse.com/#feat=webgl Jan 31 06:43:01 that's the problem right there Jan 31 06:44:15 That's webgl Jan 31 06:44:18 2D isn't webgl Jan 31 06:44:26 2D is pixel manipulation Jan 31 06:44:30 slow graphics cards Jan 31 06:44:33 can't handle it Jan 31 06:44:38 oh the 2d isn't done with webgl? Jan 31 06:44:41 painful Jan 31 06:45:02 2D canvas in Chrome is hardware-accelerated Jan 31 06:45:10 But not too well in any case Jan 31 06:45:40 I had a lot of iterations Jan 31 06:45:53 Maybe I wouldn't have if I had the meta tag correct initially Jan 31 06:45:59 first, just
elements Jan 31 06:46:03 then, 2D Jan 31 06:46:06 then pixi Jan 31 06:48:44 Which is webg;l Jan 31 06:48:46 webgl Jan 31 07:00:44 TacticalJoke does hg let you switch branches with a dirty working copy - without having to stash stuff ? Jan 31 07:03:40 It does, but only if you're not crossing lines (in other words, you have to go in one direction only on the DAG). Jan 31 07:04:05 the only thing i miss from clearcase Jan 31 07:07:05 funny to have this problem just because of a screen rotation I/Choreographer(1308): Skipped 38 frames! The application may be doing too much work on its main thread. Jan 31 07:07:24 I use it now and then for comparing the speed of two branches. I'll write the timing code (using System.nanoTime or whatever) and run a test. Then I update to (check out) a different branch and the diff is still there. Jan 31 07:07:36 Though you can't cross lines on the graph, unfortunately. Jan 31 07:07:42 I'm not sure why that is the case. Jan 31 07:08:10 john67: Is that in the emulator? Jan 31 07:08:22 TacticalJoke: yeah Jan 31 07:08:34 I get those messages all the time in the emulator. It's slow. Jan 31 07:09:12 a screen rotation kills and restarts the activity so it's not eaclty a lightweight operation in android Jan 31 07:09:27 TacticalJoke: i have this on screen https://drive.google.com/drive/#my-drive Jan 31 07:09:36 That's a relative link. Jan 31 07:09:38 so how to solve this Jan 31 07:11:19 TacticalJoke: https://drive.google.com/file/d/0B1aH_yFA-4WcaGNyMVZnTHRvOTg/view Jan 31 07:11:32 i have this on my screen Jan 31 07:11:49 Looks like you're adding a fragment twice. Jan 31 07:11:56 Or more. Jan 31 07:12:05 how ? Jan 31 07:12:35 Perhaps you're calling FragmentTransaction.add every time in an Activity.onCreate override. Jan 31 07:12:41 Instead of only when savedInstanceState is null. Jan 31 07:13:25 Just a prediction. Could be wrong. Jan 31 07:13:31 im checking Jan 31 07:13:51 com.android.support:appcompat-v7:21.0.+ Jan 31 07:14:17 TacticalJoke: you re right Jan 31 07:14:23 TacticalJoke: thnx Jan 31 07:14:32 what does 201.0+ indicate? Jan 31 07:14:33 TacticalJoke: have lost 5hrs on this Jan 31 07:15:20 The idea is that you shouldn't call FragmentTransaction.add when savedInstanceState is not null because Activity saves the state of the FragmentManager for you. Jan 31 07:16:24 oki, i get you Jan 31 07:16:30 thnx again Jan 31 07:17:07 shmoon_: It asks for the latest version of 21.0. It checks every 24 hours, I think. Jan 31 07:18:09 Right now, I'm avoiding + entirely, because I like the idea of manually updating all the things. I'm a Gradle noob, though, so I could be doing it wrong. Jan 31 07:18:55 um sorry does that meann levery 24h latest version of 21.0 api is downloaded, or support appcompat v7 has a specific 21.0 package that gets downloaded? Jan 31 07:19:29 sort of every android api level has its own support v7 appcompat, etc. Jan 31 07:19:55 so appcompat-v7:16.0 will be the v7 appcompat of api level 16 but then if i am targetting api level 21 that wouldn't make sense Jan 31 07:22:30 I think it just checks for the latest 21.0.whatever version every 24 hours. I doubt it downloads something every 24 hours. Jan 31 07:22:37 Though I dunno. Jan 31 07:23:33 findViewById() return View instead of Object? right? Jan 31 07:23:47 cool Jan 31 07:23:53 right? Jan 31 07:23:54 AirStarcorrect Jan 31 07:23:55 Shagane: Jan 31 07:23:57 shmoon Jan 31 07:24:01 thanks Jan 31 07:24:11 :) Jan 31 07:24:16 ? Jan 31 07:24:23 shmoon_: Jan 31 07:24:25 thanks Jan 31 07:24:28 wait what happened? Jan 31 07:24:57 Free appreciation. Jan 31 07:25:17 nice that kotlin allows arbitrary expressions for branch conditions Jan 31 07:25:27 someone say to me that findViewById() return Object before 5hours Jan 31 07:26:16 you usually have to cast it anyway Jan 31 07:26:37 yes i know. but Object and View is differend Jan 31 07:26:40 different Jan 31 07:26:55 View inherit Object only Jan 31 07:27:45 God, I'd be so happy if I used Kotlin. Jan 31 07:27:53 AirStar: Use ButterKnife, you won't need to use findViewById any more (nor to cast) Jan 31 07:27:56 Programming-language choice probably has a big effect on our well-being. Jan 31 07:28:12 ButterKnife? Jan 31 07:28:21 ButterKnife! Jan 31 07:28:26 there is no ButterRifle? Jan 31 07:28:26 BUTTERKNIFE!!! Jan 31 07:28:52 TacticalJoke: you'd find something else to be unhappy about Jan 31 07:29:07 I love the idea of using 'when' in place of if..else if..else. Jan 31 07:29:09 JakeWharton: Coming from a master complainer :) Jan 31 07:29:15 ButterRoboCop? Jan 31 07:29:38 Given Kotlin and JVM unit testing with Gradle, I would have a hard time finding something to seriously complain about. Jan 31 07:29:47 I'd have to go into politics or something. Jan 31 07:29:50 haha Jan 31 07:29:58 anyway i will make ‘England Zombie vs Romania Dracula’. Jan 31 07:30:22 Deuteros: i try to only complain about things in certiain spaces in which i'm able to (in some way) effect Jan 31 07:30:23 Complaining is healthy, just make sure to be happy about things once in a while. Jan 31 07:31:09 The world has never been changed by people happy with the way it is Jan 31 07:31:29 http://markmanson.net/not-giving-a-fuck Jan 31 07:33:10 there's some nice wisdom between the barrage of 'fuck' Jan 31 07:33:32 and an especially special (can i put those words next to each other?) meta moment Jan 31 07:33:58 also some amazing one-liners Jan 31 07:34:07 in fact i'm going to read the whole thing again... Jan 31 07:34:22 That article reminds me of this video (kinda NSFW language in the song): http://youtu.be/r3BAD6MbGRk Jan 31 07:34:43 I'll take a tl;dfr Jan 31 07:35:15 bye bye Jan 31 07:35:20 TacticalJoke: thanks again Jan 31 07:35:31 the tl;dr is that you have a fixed amount of fucks to give so give them for things that matter Jan 31 07:35:49 Be the one that gives a fuck, too many people don't Jan 31 07:36:42 that kinda sounds like stoicism Jan 31 07:37:18 (giving a fuck at the right thing) Jan 31 07:38:45 I need to practise the art of not giving a fuck in certain cases. Jan 31 07:39:18 I need to practice forcing myself to give a fuck when it would be socially unacceptable not to Jan 31 07:39:21 It's so easy in some domains; so hard in others. Jan 31 07:40:56 One thing I find interesting is that mere thinking can be dangerous. Thoughts can lead to the misery of oneself or others. Jan 31 07:41:00 ah so i should be able to say when (exception) { is ThisThrowable -> ... is ThatThrowable -> ... } Jan 31 07:41:28 i always wanted that for java exceptions :D Jan 31 07:41:49 You can already do catch(Exception1 | Exception2 e) Jan 31 07:42:36 Maybe we should all stop giving a fuck and switch to Kotlin already. Jan 31 07:42:52 I'd get on that wagon if it were that simple Jan 31 07:42:54 Deuteros but for example, in Rx onError (Throwable t) Jan 31 07:44:01 Deuteros so is it that your corporate culture doesn't really allow failure? Jan 31 07:44:05 Hmm, the Kotlin grammar is pretty easy to read: https://confluence.jetbrains.com/display/Kotlin/Grammar Jan 31 07:44:25 if you can't fail, you cant learn Jan 31 07:44:33 g00s: That's a pretty good philosophy to live by for a corp culture Jan 31 07:44:58 failing well is an art ;) Jan 31 07:45:05 Oops, that should be this: http://kotlinlang.org/docs/reference/grammar.html Jan 31 07:45:31 failBecauseExceptionWasNotThrown(TriedReallyHardException.class); Jan 31 07:47:40 "There is a space before colon where colon separates type and supertype and there’s no space where colon separates instance and type: Jan 31 07:47:43 thats weird Jan 31 07:48:07 makes the parser easier i guess heh Jan 31 07:57:21 hey, what is the proper way to set a ViewGroup's childrens' visibility, such as something like myViewGroup.setChildVisibility(View.GONE) and have all children apply that, or do I need to iterate myself? Jan 31 07:58:26 I don't see anything in there like that. Probably have to iterate Jan 31 07:59:08 all right, is there a check such as myView.isViewGroup, to make sure that if I have sub-viewgroups, that I can cast it to a viewgroup if it has more children? Jan 31 07:59:59 isAssignableFrom Jan 31 08:00:30 Mad3ngineer_: why are you doing this Jan 31 08:00:46 if you change the visibility of the parent ViewGroup its children will not be visible Jan 31 08:00:48 I want to have multiple parts of my gui that will be hidden/shown Jan 31 08:00:59 really? Jan 31 08:01:01 yes Jan 31 08:01:05 wow... I am overthinking this a ton Jan 31 08:01:10 already started writing the iterator Jan 31 08:01:12 xP Jan 31 08:01:36 Create a FrameLayout with each of your child ViewGroups in.. like LinearLayouts or custom or whatever Jan 31 08:02:02 now you can choose which set of children are disabled by simply changing the visiblity of the direct children of the FrameLayout Jan 31 08:02:30 I didn't know that children inherited the view when their parent's view was set Jan 31 08:02:33 that is my entire problem Jan 31 08:02:46 wait Jan 31 08:03:05 its not such much the children change Jan 31 08:03:29 its a fact that because the parent is set to gone the children will not be measured or laid-out or drawn Jan 31 08:03:33 with me? Jan 31 08:03:38 the tree is simply not traversed Jan 31 08:03:59 if I setVisibility() on a viewgroup, all children and grandchildren etc get the same view change, right? I am getting a bit confuzed Jan 31 08:04:03 confused* Jan 31 08:04:23 their properties are not changed Jan 31 08:04:27 as far as i remember Jan 31 08:04:35 its just when it comes to Android displaying them Jan 31 08:04:44 so I have to run the setVisibility() of children as well? Jan 31 08:04:48 no Jan 31 08:04:51 ughgh Jan 31 08:04:51 gh Jan 31 08:04:59 ok its simple Jan 31 08:05:01 lets start again Jan 31 08:05:04 i am probably overthinking this so much... Jan 31 08:05:07 it draws them according to the view hierarchy so if a view is not visible its children won't be drawn Jan 31 08:05:14 ok Jan 31 08:05:22 ok? Jan 31 08:05:24 good Jan 31 08:05:43 IDK why that got me so confused... Jan 31 08:05:50 you need sleep Jan 31 08:06:24 you are a psychic O_U Jan 31 08:06:41 lol i have to stop letting my hobby get in the way of sleep Jan 31 08:06:52 6 hours before i have to get up tomorrow Jan 31 08:06:58 * Napalm Z_Z zzzzZ Jan 31 08:07:01 no, 5 Jan 31 08:07:07 i slept 6 hours yesterday Jan 31 08:07:11 5 the day before Jan 31 08:07:14 3 the day before that Jan 31 08:07:17 ugh Jan 31 08:08:50 I'm assuming that if ViewGroup x is set to View.GONE, and it's child y gets called setVisibility(View.VISIBLE) that x will become View.VISIBLE also? Jan 31 08:08:59 *probably another stupid problem* Jan 31 08:09:09 going to finish up with this class file then get some rest Jan 31 08:09:22 I don't think it would affect x Jan 31 08:09:25 *no more stupid questions... This is it for tonight! i swear! Jan 31 08:09:28 no Jan 31 08:09:30 night Jan 31 08:09:36 it will not Jan 31 08:09:37 hmm... ok Jan 31 08:09:49 well, rest awaits. cya Jan 31 08:09:50 you can though Jan 31 08:09:53 its easy Jan 31 08:09:53 thanks for help napalm Jan 31 08:10:01 in your ViewGroup override onChildVisibilityChanged Jan 31 08:10:09 ah, right. Jan 31 08:10:18 if newVisibility == VISIBLE set its own visiblity to visible Jan 31 08:10:30 ok Jan 31 08:11:22 Mad3ngineer_: you have read up on how the View tree works right? Jan 31 08:15:19 not a whole lot Jan 31 08:15:32 but a bit. I am pretty new to android, aside from being sleepy Jan 31 08:16:30 Mad3ngineer_: http://developer.android.com/guide/topics/ui/custom-components.html Jan 31 08:17:11 Mad3ngineer_: http://developer.android.com/guide/topics/ui/overview.html Jan 31 08:17:49 thanks napalm, ill read those Jan 31 08:17:52 http://developer.android.com/training/custom-views/index.html Jan 31 08:17:57 might also be interesting Jan 31 08:18:08 I have read a bit of that one Jan 31 08:24:15 Mad3ngineer_: if you want to add touch input and focus control to your custom views I would recommend https://www.youtube.com/watch?v=EZAoJU-nUyI and http://www.101apps.co.za/index.php/articles/what-you-should-know-about-android-touch-mode-and-focus.html Jan 31 08:24:40 Awesome, thank you so much! :) Jan 31 08:39:21 anyone have a ~60" monitor? Jan 31 08:39:57 soonish, i hope. Jan 31 08:40:06 which one you looking at? Jan 31 08:46:20 lasserix: gimme a sec to pull up my spreadsheet Jan 31 08:46:32 do they have any 120 hz ones? Jan 31 08:47:45 dunno. Jan 31 08:48:03 dear excel, please start. love, lewellyn Jan 31 08:48:23 oh. ssl issue. i'm in the middle of updating its ssl certs :P Jan 31 08:48:53 lasserix: i'm looking at the 55" samsung HU9000. Jan 31 08:49:04 not a cheap screen. but i want it as a monitor. Jan 31 08:49:12 thanks Jan 31 08:58:20 lasserix: i don't necessarily recommend that screen to everyone. but i want a nice screen in every regard. that seems to meet almost every bulletpoint. :) Jan 31 08:58:31 yeah Jan 31 09:15:10 wait guys don't sleep Jan 31 09:15:13 we have a long way to go Jan 31 09:15:18 i want study anonymous inner classes, then where i can learn it? give me docs. Jan 31 09:16:09 here you go buddy http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html Jan 31 09:16:41 thanks shmoon_ Jan 31 09:18:16 :) Jan 31 09:41:02 if i use only paddingLeft in my main xml layout file i get an error saying i should also specify paddingStart if my api is lower, but if i specify them both in styles.xml i get an error saying i should not specify paddingStart if my API is lower Jan 31 09:41:10 it seems to be contradictory Jan 31 09:46:24 it seems i dont get any errors if i dont use padding start/end in styles.xml and regular xml files i do add them.... Jan 31 10:38:01 how to get my theme's current android:windowActionBar value ? Jan 31 11:22:23 hello folks! my app receives multiple notifications. how can i detect which intent was tapped ? Jan 31 11:37:59 how can i get the id of the tapped intent? Jan 31 11:40:53 Intents don't have ids.. Put something in the intent you can use to tell them apart Jan 31 11:46:33 SimonVT: yes right, i am putting a string using extras but i get same string no matter which intent i tap. any leads? Jan 31 11:50:43 what is ?android:attr/listPreferredItemPaddingLeft Jan 31 11:50:53 sometimes its @android:color/... I mena sometimes its ? sometimes @ why so confusing Jan 31 11:51:00 but anyway the question is what are these attrs Jan 31 11:51:58 it looks at the color.xml Jan 31 11:52:30 basically you can define colors in the color.xml and then call/look it up from anywhere in the app Jan 31 11:52:34 shmoon_, do read the documentation: http://developer.android.com/guide/topics/resources/accessing-resources.html Jan 31 11:53:14 gdust, Intent#filterEquals needs to be different for the two intents Jan 31 11:53:14 "Resources can be referenced from resources using a special XML syntax, such as @drawable/myimage" Jan 31 11:53:38 shmoon_: ? references a theme attribute, @ references a resource Jan 31 11:54:05 And yeah, Mavrik's resource Jan 31 11:54:12 i see, i'll go through that link Jan 31 11:54:29 SimonVT: ok i'll check that out Jan 31 11:54:30 meh I find the docs way too difficult to understand Jan 31 11:56:58 O.o Jan 31 11:57:14 Understanding docs is kinda critical for any decent work o.o Jan 31 11:58:51 :-) Jan 31 12:06:28 ok i am a little lost here. its not intents that i need to differentiate between but notifications. Jan 31 12:22:52 gdust, notifications have ids Jan 31 12:23:13 ever notification from your app has a unique one. you can differ them by that Jan 31 12:32:28 danijoo_: sorry for the noobness but can you elucidate? i know i can set the ids for notifications but how does retrieval work? Jan 31 12:33:35 gdust, i think you cant "receive" a posted notification, but you can update it by posting one with the same id Jan 31 12:34:19 about the intent stuff. I dont really get your question. If you have 2 intents with different extras, you can differ them by their extras, obviously Jan 31 12:37:12 danijoo_: the intent question was a misfire, sorry. Jan 31 12:37:48 is your real question "how to know what notification click the intent is from?" :p Jan 31 12:38:35 danijoo_: Yes! That is my question Jan 31 12:39:03 you can put intent extras in the intent of the notifications Jan 31 12:39:04 then the answer is the same then for 2 different intents Jan 31 12:39:23 when you create the notifications, add some extras to differ them. for example add the notificationid to the intent Jan 31 12:43:18 is there a way to get colorPrimary etc from code? I'm having trouble since these are in the style and not in a color.xml Jan 31 12:45:08 Memorion, why dont you put them into colors.xml? :p Jan 31 12:45:54 oh and then reference them in the style? m( thanks Jan 31 12:45:59 yes Jan 31 12:46:38 you can also get by key when set in style. android:background="?attr/colorPrimary" i think. but this will only work for api level 21+ Jan 31 12:46:43 not for support Jan 31 12:49:43 danijoo_: ok. i am using flag_update_current and the notification flag is getting updated. Jan 31 12:50:23 so when i tap the second notification, i still get values from the previous tapped notification. Jan 31 12:51:35 are you using different pending intents? Jan 31 12:52:57 no i am not using different pending intents Jan 31 13:05:17 with different requestCodes? Jan 31 13:05:28 (second parameter of PendingIntent#getActivities Jan 31 13:05:30 ) Jan 31 13:06:33 well. why dont you show some code? Then we can debug it here Jan 31 13:07:49 or others can. because im away not :/ Jan 31 13:20:29 im making a game... is it best to target the graphics/ui frame for a 16:9 aspect ratio and then scale it to fit others accordingly? Jan 31 13:21:46 njcomsec, if possible, scale the viewport accordingly. not the game itself Jan 31 13:22:28 the game will have a grid so dynamically showing more of the game environment on the screen according to the screen size is not applicable Jan 31 13:24:10 but there will be button panels on the left and right side of the screen... so i suppose scaling only those makes sense... Jan 31 13:24:33 this is a really good read on how to tackle that problem : http://v-play.net/doc/vplay-different-screen-sizes/ Jan 31 13:25:10 cool. this looks very useful Jan 31 13:32:16 hi guys. could you help me with gradle? Jan 31 13:33:10 Just ask your question; don't ask to ask Jan 31 13:34:00 gradle can't recognize android support library Jan 31 13:34:12 KisM, show your build.gradle Jan 31 13:34:40 wait a second. I'll relogin Jan 31 13:36:37 Well Jan 31 13:36:38 buildscript { Jan 31 13:36:38 repositories { Jan 31 13:36:38 jcenter() Jan 31 13:36:38 } Jan 31 13:36:38 dependencies { Jan 31 13:36:38 classpath 'com.android.tools.build:gradle:1.0.0' Jan 31 13:36:39 } Jan 31 13:36:39 } Jan 31 13:36:40 allprojects{ Jan 31 13:36:40 repositories{ Jan 31 13:36:41 jcenter() Jan 31 13:37:00 NOT HERE# Jan 31 13:37:04 wtf Jan 31 13:37:06 sorry Jan 31 13:37:08 paste it Jan 31 13:37:08 Please use a pastebin Jan 31 13:37:19 KisM, pastebin.com Jan 31 13:39:20 hi all Jan 31 13:40:33 I cant write to ~/.android folder, is there any way to tell tool/android to use a custom folder? Jan 31 13:40:43 why cant u Jan 31 13:40:53 dont use pastebin Jan 31 13:41:05 https://gist.github.com https://bpaste.com Jan 31 13:41:18 https://bpaste.net/ * Jan 31 13:41:30 danijoo_: I will tell you if you will tell me how i can set a custom folder :D Jan 31 13:41:30 Moter8, any reason for that or do you only want to spread your personal taste? Jan 31 13:42:24 "Ads, Spamfilters, Captcha, Adds whitespace, Slow, Ugly, No comment/fork/annotate, Breaks copy/paste, Blocked for some people, etc." - citing the #archlinux bot Jan 31 13:43:03 ok. personal taste :P Jan 31 13:44:14 personal taste? wat Jan 31 13:44:20 don't be ridiculous Jan 31 13:45:02 pastebin.com is banned by my provider Jan 31 13:45:11 yeah then use something else :0 Jan 31 13:45:13 don't you mind if i use the pastebin.ru? Jan 31 13:45:26 just use ANY site to post Jan 31 13:45:28 top level http://pastebin.ru/KWMYYwSP Jan 31 13:45:46 KisM, there is no support library entry Jan 31 13:46:05 any idea, I'm currently looking into sdkmanager source code, is not quite a picnic Jan 31 13:46:13 how should gradle recognize a support library if you dont specify it? Jan 31 13:46:21 wait Jan 31 13:47:20 app level http://pastebin.ru/nkKJfEt9 Jan 31 13:47:48 should the navigation drawer overlay the action bar or no ? Jan 31 13:47:55 by default it does not but I seee on gmail, etc. apps it does Jan 31 13:48:43 there are 3 ways to do it Jan 31 13:48:50 shmoon_, I think material guidelines say it should (also I think thats ugly) Jan 31 13:49:05 KisM, which of the two arent recognized? Jan 31 13:49:46 where http://www.google.com/design/spec/patterns/navigation-drawer.html ?:P Jan 31 13:50:00 ya it also hides the cute little animation of the hamburger menu Jan 31 13:50:03 KisM, line 5 is wrong. appcompat is v7, not v4 Jan 31 13:50:23 compile 'com.android.support:appcompat-v7:21.0.+' would be correct Jan 31 13:50:24 btw, I cloned this library https://github.com/serso/android-checkout and it looked like http://pastebin.ru/qAUUVlgq Jan 31 13:50:31 I guess by the screenshots? hm Jan 31 13:50:33 also make sure you have installed the librarys in sdk manager Jan 31 13:50:45 wonder what they would have thought Jan 31 13:50:50 anyway how do I make it cover the action bar any idea? Jan 31 13:51:06 KisM, you need to have "Android Support Repository" installed under Extras in sdk manager Jan 31 13:51:25 yes, it is installed Jan 31 13:52:03 https://www.youtube.com/watch?v=pJPRPvZoNt4&list=PLonJJ3BVjZW6CtAMbJz1XD8ELUs1KXaTD&index=10 shows the 3 Jan 31 13:52:05 KisM, change v4 to v7 for appcompat Jan 31 13:52:11 danijoo_: i've added line 5. it was just experiment Jan 31 13:52:21 KisM, and its wrong Jan 31 13:52:31 im sorry. ahve to go :/ Jan 31 13:53:48 ok. anyway it tries to look for it on https://jcenter.bintray.com/com/android/support/appcompat-v7/maven-metadata.xml Jan 31 13:55:45 ANDROID_SDK_HOME yeeeha Jan 31 13:55:57 I tried the "hello-gl2" NDK sample which uses GLSurfaceView.Renderer with a native app using GLES2 to render output. It's currently rendering exactly at 60 fps. How can I increase the framerate? Jan 31 13:56:23 danijoo_: still interested in why i cant write to my home? Jan 31 13:58:39 I think they did it to make sure users dont mess with the action bar since once the draer is open the context changes and anything in the actionbar probably doesnt pertain to what is there in the navigation drawe Jan 31 13:59:28 Hello, could someone give ma tip on how to create a function that gets called every second ? thanks Jan 31 14:02:10 google has a bunch of tips. Jan 31 14:02:33 Ye i found a countdowntimer with a tick Jan 31 14:04:59 there are handler classes with postdelayed methods Jan 31 14:05:01 Good morning everyone Jan 31 14:20:45 Oh no, I killed the room. I'm sorry :( Jan 31 14:42:23 Hi i ran into a issue now using a timertask http://pastebin.com/xLZFALQW, he states that can't find .update(), however there are some functions that he does find. what could be the reason for this ? Jan 31 14:43:37 hello Jan 31 14:44:03 i am implementing a button inside a listview that uses extended cursor adapter Jan 31 14:44:40 the thing is, whenever i press the button (some rows have it and others done, depending on a condition) the data retrieved is not being correct as it gives me the data of other rows Jan 31 14:44:54 how can I get the correct dayta ? Jan 31 14:44:56 data* Jan 31 14:54:00 I've been with this problem for more than 3 days I think, I cannot for the life of me prevent my Android from saving the photos I take with my app to the gallery Jan 31 14:55:15 View.OnClickListener <——— OnClickListener is static inner class? Jan 31 14:55:40 I've tried creating a folder under getExternalStorageDirectory() + "./MyFolder/Images" prefixed with a dot, i've tried to do that and then create another file inside of that folder called ".nomedia" and I've tried to do all the previous and prefix the names of the images with a dot, all didn't prevent this from happening. The picture is taken and appears at the bottom of the photo gallery, you media scan the device and then they appear at the top Jan 31 14:56:28 I'm going to solve it today, you hear me? Jan 31 14:56:30 ok Jan 31 14:57:55 plus I see a lot of folders in File Browsers that only have .nomedia files inside them (0.00 KB), meaning the approach is not unheard of Jan 31 14:58:10 you could check it out if you like too, I'm sure they're all there Jan 31 14:58:40 View.OnClickListener <——— OnClickListener is static inner interface? Jan 31 15:00:05 don't repeat things like that AirStar, people saw your question Jan 31 15:00:25 there's no such thing as a static inner interface Jan 31 15:00:49 what is it? Odaym Jan 31 15:00:52 and yes what you are asking is a static inner class Jan 31 15:01:20 public static interface Jan 31 15:01:27 View.OnClickListener Jan 31 15:01:30 set an android:onClick property to the element you want inside the XML and write the method that handles it in the class Jan 31 15:02:10 Odaym can you check my question ? Jan 31 15:02:20 I wasnt here Jan 31 15:02:44 i think that OnClickListener is is static interface within View class? is it right? Jan 31 15:02:52 Hi. What's the name of the main activity when it's used to launch other activities? I want to search about this kind of "initial menus" but I do not know which keywords use Jan 31 15:02:55 yea AirStar Jan 31 15:03:01 an Activity can implement OnClickListener Jan 31 15:03:15 "Menu" looks like its used mainly to refer to the options contextual one Jan 31 15:03:34 there's no such pattern king313 Jan 31 15:03:59 there is no Activity dedicated to launching other activities, and if there is it would be a design decision from you to do it that way Jan 31 15:04:05 Odaym: thanks Jan 31 15:04:08 and no high level conception? I understand there is a login concept, a search concept Jan 31 15:04:11 Inner interfaces are implicitly static in Java Jan 31 15:04:40 s/conception/concept Jan 31 15:04:56 oh good thanks SimonVT Jan 31 15:05:00 but those are inside Activities Jan 31 15:05:02 And android:onClick is horrible advice Jan 31 15:05:04 * king313 apologizes, english is not his first language Jan 31 15:05:09 I never use it :D Jan 31 15:05:12 hehe Jan 31 15:05:14 hmmm, would there be any "reason" for them not to be static SimonVT ? Jan 31 15:05:24 yes, for sure, I just want to know what to search in google to read code of other implementations Jan 31 15:05:29 why would it be horrible though? I think it's reasonable Jan 31 15:05:29 Odaym Jan 31 15:05:44 View class have OnClickListener interface? Jan 31 15:05:48 i am implementing a button inside a listview that uses extended cursor adapter Jan 31 15:05:49 sorry if I explained me that bad Jan 31 15:05:50 king313: You're probably looking for an old pattern called "dashboard" .. Noone uses that anymore Jan 31 15:05:55 king313: you might be talking about a dashboard - but they're considered out-of-date Jan 31 15:05:59 the thing is, whenever i press the button (some rows have it and others done, depending on a condition) the data retrieved is not being correct as it gives me the data of other rows Jan 31 15:06:10 MikeWallaceDev, nope Jan 31 15:06:18 didn't think so :) Jan 31 15:06:21 because you are using position variable in the wrong place TonySoprano9099 Jan 31 15:06:29 I am refering to the tipical screen with icons and texts Jan 31 15:06:51 king313: Post a picture if you can't properly explain what you're looking for Jan 31 15:06:53 you should turn your adapter's getView method around and make it implement the viewHolder pattern Jan 31 15:06:58 im searching Jan 31 15:06:59 I liked the dashboard concept actually... Jan 31 15:07:01 king313: http://www.scottlogic.com/blog/2012/09/10/is-the-dashboard-pattern-dead-2.html Jan 31 15:07:19 oh god no one does that Jan 31 15:07:30 you must present useful data on entry! Jan 31 15:07:39 not secretary's office Jan 31 15:07:40 lots up devs screw up the slide out pattern, nobody screwed up the dashboard pattern... Jan 31 15:07:52 Presenting useful data on entry does not exclude a dashboard Jan 31 15:08:06 how can you show them that first Jan 31 15:08:18 jsut decide which is more important and open that first Jan 31 15:08:33 You don't have to show a dashboard first Jan 31 15:08:46 ah, true Jan 31 15:09:25 http://stackoverflow.com/questions/5400234/in-android-is-it-better-applying-an-onclicklistener-or-use-androidonclick Jan 31 15:09:30 good point Jan 31 15:09:39 I mean I dont use it, dont know why I would suggest it Jan 31 15:11:44 Hi all. So what does one do to get widechar(wchar_t) support in Android arm-v7/v7a with the ndk? Jan 31 15:12:12 Odaym: Much better than andrond:onClick is to use ButterKnife's @OnClick Jan 31 15:12:45 why is that better deuteros__ ? Jan 31 15:12:47 yea or I can just pay the guy to do my app Jan 31 15:12:52 everything in the app is now by him Jan 31 15:13:00 MikeClassic: Statically checked, no reflection penalty Jan 31 15:13:09 king313: are you there? Jan 31 15:13:10 and not in your layout file but in your source, where it belongs Jan 31 15:13:12 Sorry. Phone. Yes, that's what I was refering, Leeds Jan 31 15:13:36 I remember that inject method from an IO talk Jan 31 15:14:08 @OnClick is not injection, @Inject is Jan 31 15:14:26 king313: so, very strong advice - don't do that, at least not for your first screen Jan 31 15:14:28 nice find, thanks Jan 31 15:14:47 but can you hide pictures taken with your app from the gallery? Jan 31 15:14:49 I am curious about the why's, if that doesn't annoy you Jan 31 15:14:50 that's what I'd like to know Jan 31 15:15:24 I have read that you said that I have to select the most important activity and show it by default Jan 31 15:15:35 nah I said that, don't mind that Jan 31 15:16:33 firelegend, hrrm, port it to something else? Jan 31 15:16:37 or try using crystalx ndk Jan 31 15:16:44 or crystax or whatsit Jan 31 15:16:58 what does one use except wchar? Jan 31 15:17:49 If you have a Anki like application, which two modes: add knowlegde and test knowledge, I find a little bit confusing autostarting in one of them Jan 31 15:17:59 insteand of giving the user the preference of what to do since start Jan 31 15:19:08 firelegend, I've heard good things about http://utfcpp.sourceforge.net/ Jan 31 15:19:23 firelegend, it really depends on what you're doing. Jan 31 15:19:55 Well I am compiling a large library Jan 31 15:19:58 how can I get the correct row from listview using cursoradapter ? Jan 31 15:20:02 i am always getting last row Jan 31 15:20:05 that in it's source code includes a libedit library which requires widechar Jan 31 15:29:58 guys will anybody give me a hint or what Jan 31 15:30:01 kinda stuck Jan 31 15:31:00 Did you post your code? Jan 31 15:31:21 deuteros, nop Jan 31 15:31:27 maybe it does not need to be posted Jan 31 15:31:41 * deuteros__ shrugs Jan 31 15:31:42 but if it is of help (most probably) i can Jan 31 15:32:03 deuteros lemme paste bin it Jan 31 15:32:14 Can I register to the same GCM as another app (different package name)? Jan 31 15:32:57 yes Jan 31 15:33:03 unless package name is enforced Jan 31 15:33:22 i've seen that http://stackoverflow.com/questions/27334217/gcm-prevent-other-apps-from-receiving-android-messages Jan 31 15:33:34 ""how does it actually work ?" -- AFAIK, it does not work. If you remove those lines, you still get the GCM messages, in a light experiment I did a couple of weeks ago. – CommonsWare Dec 6 '14 at 17:12" Jan 31 15:35:33 yoavst, https://developer.android.com/google/gcm/server.html#payload Jan 31 15:35:42 see "restricted_package_name" Jan 31 15:36:46 oh, damn. I'm creating a client for a service (that has iOS style app...) and I've done anything but notifications Jan 31 15:41:16 deuteros there you go mate http://pastebin.com/DtB9JPK7 Jan 31 15:41:19 kindly have a look Jan 31 15:41:36 ok this is crazy Jan 31 15:41:50 I'm following Saving Media Files section here http://developer.android.com/guide/topics/media/camera.html#saving-media Jan 31 15:42:04 everytime I take a picture, the picture is saved to Pictures/MyFolder and to Pictures/ ! Jan 31 15:42:40 I think this is what's causing the picture to appear in my photo gallery, its availability in Pictures/ ! Jan 31 15:44:28 my bad Jan 31 15:48:37 How can i get a runnable = new Runnable() { } to be able to call a function from my acivity calling it ? Jan 31 15:48:51 the .nomedia file is useless, images will not appear in the photo gallery if they're placed under a directory of their own under getExternalStoragePublicDirectory() Jan 31 15:58:13 Odaym quickpic has a feature to hide already existing folders and that worked reliably for me so far, maybe you can find out how exactly that works Jan 31 15:59:35 there's no need, you just put them under a directory and they wont show up in gallery Jan 31 16:03:03 what Im facing now is what to do with the Crop Image Activity, when I've already been forced to create an image (the original) and now have to deal with the cropped one Jan 31 16:04:26 well at least that damn mystery is solved huh! Jan 31 16:05:42 I've been developing in android for a year-ish Jan 31 16:05:47 but I want to improve my skills Jan 31 16:05:54 what's a good book to read? Jan 31 16:06:11 johnflux_ harry potter Jan 31 16:06:18 harry potter is excellent Jan 31 16:06:27 Masters of Doom is amazing Jan 31 16:06:29 read that Jan 31 16:06:33 it increases ur imagination Jan 31 16:06:37 thus increasing ur coding skills Jan 31 16:06:47 yep, obviously leads to better programming Jan 31 16:07:27 by the way TonySoprano9099 you need to see ViewHolder pattern for your adapter Jan 31 16:07:40 good morning Odaym Jan 31 16:08:03 using position while Android is using it results in you getting wrong position or data for rows above, below, or last Jan 31 16:10:26 didnt get u mate, can u paraphrase? Jan 31 16:11:00 Hello all , after some attempts i came back to my Timertask wich is not able to acces the functions from the activity i pass, could someone look at this http://pastebin.com/xLZFALQW Jan 31 16:13:50 you're getting wrong position when you try to do "button.onClickListener(new OnclickListener () ....... getItem(position).getName()} Jan 31 16:14:12 you get the name of the last row, or the row before the one you clicked, or just the wrong row in general Jan 31 16:15:19 TonySoprano9099: https://www.youtube.com/watch?x-yt-ts=1422579428&v=qGLglMOdjak&x-yt-cl=85114404&feature=player_detailpage#t=15 Jan 31 16:15:53 haha, u mad bro? Jan 31 16:18:03 Is there any way – expect for using reflection on half of Android’s code — to get a MultiPane PreferenceActivity with a different layout? Jan 31 16:19:16 johnflux_ lol Jan 31 16:21:44 read this Jan 31 16:21:52 http://www.wisdomination.com/screw-motivation-what-you-need-is-discipline/ Jan 31 16:21:56 really good Jan 31 16:22:08 doesn't really apply to the people here, but still good Jan 31 16:22:50 Odaym: My solution is to just get a wife Jan 31 16:22:55 Odaym: then she nags me to do things Jan 31 16:23:21 nah man, wives appreciate Jan 31 16:23:32 you want to be told that you suck, but without getting discouraged Jan 31 16:23:33 "I don't want to do it" -> "wife is nagging at me" -> "wife nagging is worse than just doing it" -> "I'll do it" Jan 31 16:23:49 to your wife you're niel armstrong Jan 31 16:24:03 in here you're johnflux_, asking about some book to read to get better ;) Jan 31 16:24:09 :-) Jan 31 16:24:10 lel Jan 31 16:24:22 I would recommend Professional Android 4, Reto Meier Jan 31 16:24:38 so so good, and not beginner Jan 31 16:27:55 Odaym: thanks Jan 31 16:30:15 cause the guy is also very knowledgeable, you see him at IO Jan 31 16:33:52 hello Jan 31 16:34:04 i'm having trouble with an http post Jan 31 16:34:09 i think the problem is with my headers Jan 31 16:34:22 here is the code https://dpaste.de/iOfP Jan 31 16:35:09 specifically if anyone has any experience adding headers to a request using the loopj library async http request Jan 31 16:35:48 justbecausebec: What's the problem exactly? Jan 31 16:36:30 not authenticating Jan 31 16:36:56 same request works perfectly in cocoa rest client Jan 31 16:37:10 so I'm not constructing that header correctly Jan 31 16:37:16 in java Jan 31 16:37:35 the "Authorized: Token..." Jan 31 16:37:41 yeah looking at that line Jan 31 16:37:55 Should be trivial to debug if you have a working request in another client Jan 31 16:38:23 break point, inspect the request. Or you can go more metal and install a proxy Jan 31 16:38:39 Also, try a different http library Jan 31 16:39:06 it's trivial to switch between http libraries, I do that occasionally to make sure I'm not stuck on a silly library bug Jan 31 16:39:29 its not the client or the server, because creating and users and obtaining tokens works perfectly Jan 31 16:39:51 but yeah I guess I could try a different library that has clearly docs on how to add that specific header... Jan 31 16:41:23 solved Jan 31 16:41:28 ha! told you I'd solve it today Jan 31 16:41:36 too pro Jan 31 16:41:43 not really Jan 31 16:42:25 again, documentation was what made all the difference, this time I read docs Jan 31 16:42:34 should i quit my non coding related job and switch to android development Jan 31 16:42:35 justbecausebec, retrofit Jan 31 16:42:49 that's a big bomb you're dropping there Sculptor Jan 31 16:42:53 wat-worthy Jan 31 16:43:14 i'm tired of managing 26 people Jan 31 16:43:34 well, do you know how to code even? Jan 31 16:43:42 cant just up and leave to go do something else! Jan 31 16:44:00 and get in as junior... Jan 31 16:44:17 look for more challenging positions still related to what you already know how to do Jan 31 16:44:37 well not more challenging, you're saying you're tired of being challenged Jan 31 16:46:07 well, later! Jan 31 16:47:13 how can I reload the a row from cursorAdapter after setting a view to invisible ? Jan 31 17:02:24 I'm making a check if external storage is available on the MainActivity onCreate method. If it's not, a popup OK dialog appears. Can I make it so the popup appears but all further processing of the onCreate method stops, without putting the calling of the popup dialog in an if check? Jan 31 17:03:27 jesperj, why would you want to do this? Jan 31 17:04:50 AKK9: because further along in the onCreate method, files will be read from external storage, so I want to check in the beginning if external storage is available, and if not, give the user a dialog with info about this, and then when the user clicks the ok button, quit the app Jan 31 17:05:18 jesperj, I get that, but why not just use an if statement? Jan 31 17:05:46 AKK9: Oh I just wondered if there was a way to get just one less if statement surrounding most of the code Jan 31 17:07:19 jesperj, I don't know if there is a way but sounds like a strange reason to change the way your app works Jan 31 17:07:25 just for code readability Jan 31 17:07:44 so it wouldnt be like if (checkExternalStorage == false) { popupErrorDialog(); } else { // all the rest of onCreate } Jan 31 17:07:49 jesperj: No, you can't do that Jan 31 17:08:17 jesperj, put your code in methods so you can keep your onCreate nice and tidy Jan 31 17:10:39 AKK9: well SimonVT just said it's not possible, or maybe you just mean in general :) Jan 31 17:10:45 And replace if (f==false) with if (! f) Jan 31 17:11:03 jesperj, he's saying it's not possible to do what you want Jan 31 17:11:16 AKK9: *nods* Jan 31 17:11:28 what I'm saying is, instead of trying to change the way your app works to keep your onCreate method readable Jan 31 17:11:31 put your code in methods Jan 31 17:11:39 and call the methods in onCreate instead Jan 31 17:11:47 if that is what your concerned about Jan 31 17:13:25 deuteros: I guess that's just a matter of taste. I like == false Jan 31 17:22:50 once again. why gradle search for android support library on the internet Jan 31 17:22:52 ? Jan 31 17:29:48 Because you told it to look for dependencies in mavenCentral/jcenter? Jan 31 17:30:29 yes Jan 31 17:30:53 how to make gradle search in sdk directory? Jan 31 17:31:22 It does that by default Jan 31 17:32:51 Sure but why it doesn't do that Jan 31 17:32:53 %) Jan 31 17:33:07 because you added maven central as default search Jan 31 17:33:57 It does that by default on android projects.. If it can't find it, you either typed the dependency wrong or didn't download the support repo Jan 31 17:34:07 Or maybe you have multiple sdk's, and it's not using the one you expected Jan 31 17:34:08 :S Jan 31 17:34:45 Then why in default project gradle doesn't search it on the internet Jan 31 17:35:20 I'm assuming, for all dependencies, it goes through all repositories Jan 31 17:35:26 Until it finds the dependency Jan 31 17:40:33 Is the crystax ndk any good? Jan 31 17:47:49 Hey, I am trying to implement push notifications, but anytime I tap the push, I see "W/InputMethodManagerService( 746): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@210f434 attribute=null, token = android.os.BinderProxy@9fef9f7" Jan 31 17:48:28 I wonder what that means, but my guess is that my Intent and / or Flags or whatever are wrong Jan 31 17:48:41 This is the relevant part in code https://github.com/Wizcorp/phonegap-plugin-localNotifications/blob/master/platforms/android/src/jp/wizcorp/phonegap/plugin/localNotification/AlarmReceiver.java#L47-L63 Jan 31 17:49:43 maybe someone knows this problem or something similar Jan 31 17:55:53 tmaximini not sure if this is the right way, or if it will fix it, but in one app I built with push notifications, I passed 0 for the flags field. Jan 31 17:56:31 tmaximini your PendingIntent looks good otherwise Jan 31 17:58:18 thebaer: thanks, I'll try it right away. I'm already trying to solve it since two days but as I come neither from Android nor Java background my understanding of all these Flags etc. is quite limited Jan 31 17:58:56 My other guess was that I needed to modify something mybe in the Manifest.xml Jan 31 18:02:56 thebaer: no luck with passing 0 either :-( Jan 31 18:03:00 tmaximini based on that error I don't think it's something with the manifest. But yeah give it a try. Honestly my knowledge is a little limited on the flags too Jan 31 18:03:17 tmaximini do you have the entire stack trace? Jan 31 18:03:28 maybe that'll shed more light Jan 31 18:04:46 this is literally all I see in logcat: Jan 31 18:04:49 I/ActivityManager( 746): START u0 {flg=0x10000000 cmp=com.econa.sparweltde/jp.wizcorp.phonegap.plugin.localNotification.AlarmHelper (has extras)} from uid 10185 on display 0 Jan 31 18:04:49 W/InputMethodManagerService( 746): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@37031a6c attribute=null, token = android.os.BinderProxy@9fef9f7 Jan 31 18:07:20 hm. okay is AlarmHelper defined in your manifest? Jan 31 18:07:42 AlarmHelper is another class in this plugin Jan 31 18:07:54 https://github.com/Wizcorp/phonegap-plugin-localNotifications/tree/master/platforms/android/src/jp/wizcorp/phonegap/plugin/localNotification Jan 31 18:08:38 Hey guys, so findViewById comes from the actiivty class Jan 31 18:08:40 and in my manifest is Jan 31 18:08:56 What if I wanted to find a view in a different layout from the one that I inflate in onCreate Jan 31 18:09:17 View also has a findViewByid method Jan 31 18:09:40 So i need to create a View Jan 31 18:09:54 If you've inflated a layout, you have a View Jan 31 18:10:02 If you haven't inflated a layout, there's nothing to find Jan 31 18:10:54 so I have v = inflater.inflate(layout) Jan 31 18:11:06 i can do v findViewById Jan 31 18:11:08 tmaximini you should also add a line to your AndroidManifest.xml Jan 31 18:11:22 that could be the problem Jan 31 18:11:23 drose379 yup Jan 31 18:11:48 Ok, anyone ever changed the background color of a CardView? Jan 31 18:12:17 if you have a Context, you can even do View v = LayoutInflater.from(context).inflate(...) Jan 31 18:12:19 thebaer: thanks I will try it now Jan 31 18:12:41 tmaximini cool Jan 31 18:12:43 Im doing this in a Extended Array Adapter Jan 31 18:13:03 so im getting the view from getView() Jan 31 18:13:11 But im trying to change background of cards Jan 31 18:14:17 tried card.setBackgroundColor() Jan 31 18:14:20 Testing now Jan 31 18:15:54 Worked, but is there a method to make background a bit transparent Jan 31 18:15:58 Im guessing alpha() Jan 31 18:16:17 thebaer: DUDE thank you so much! It worked!! finally Jan 31 18:16:30 well, do you know how to code even? - sure Jan 31 18:16:48 junior my ass Jan 31 18:17:35 tmaximini great! not a problem. that's definitely a bad error message for the real cause of the problem Jan 31 18:18:49 So setAlpha asks for a float Jan 31 18:19:01 so instead of (0.5) I have to do (0.5f)? Jan 31 18:19:34 thebaer: great stuff. also makes now sense that the activity needs to be included there. Jan 31 18:21:30 tmaximini: yep. definitely make sure any time you're referencing an activity in an Intent that it's included in your manifest Jan 31 18:22:24 drose379, that should work Jan 31 18:22:31 I will at least keep it in mind. I just wanted to use this plugin, not debug it. But I'll make a PR to it now with that fix. Thanks again Jan 31 18:23:20 ah gotcha, cool Jan 31 18:28:02 drose379, can also add alpha to the color you are setting as background Jan 31 18:29:07 I think when i do .setAlpha() its doing the whole card including the text Jan 31 18:29:27 whatitis- Is there a method where i can just target the background color and not the text Jan 31 18:38:08 when is Fragment.onActivityCreated(...) called? Jan 31 18:42:18 http://developer.android.com/reference/android/app/Fragment.html#Lifecycle Jan 31 18:44:14 OK whatitis-, that's what I thought Jan 31 18:44:38 I'm trying to figure out why my FragmentPagerAdapter pages won't show back up after being lost Jan 31 18:45:36 im interested in developing for android Jan 31 18:45:45 Storyteller sweet Jan 31 18:45:59 Im intersted in moving from windows to android on the desktop Jan 31 18:46:10 I think windows is dying Jan 31 18:46:22 Storyteller: stop following trends Jan 31 18:46:33 Im setting one... Jan 31 18:46:59 oh so windows is dying because you're leaving? Jan 31 18:47:06 windows and android are different things not mutually exclusive Jan 31 18:47:19 oh? Jan 31 18:47:37 they are both operating systems Jan 31 18:47:55 Storyteller, windows on desktop may not be the glory it once was, but its far from dying, and Android is probably not going to supplant it, ever, if not for a very long time Jan 31 18:48:03 targeting different people, environments and use cases Jan 31 18:48:16 I think thats myopic Jan 31 18:48:39 I mean, what do you use your computer for? Jan 31 18:49:16 well generally creating content is a relatively poor experience on mobile devices Jan 31 18:49:59 Storyteller, most people don't use their computers for the same things they use their phones for Jan 31 18:50:00 I watch tv on hulu and netflix, play a few browser games, maybe download a few here n there from gog.com, I draw on my wacom, I write stories, I do schoolwork, I browse the web, I program a little and I render 3d content to stills and animation, I do some 3d modeling Jan 31 18:50:11 it's true that a lot of people probably can do most of their computing on an iPad but that doesn't mean everything else dies Jan 31 18:50:16 why do you think android is only for mobiles? Jan 31 18:50:21 thats the myopic part Jan 31 18:50:40 Im looking at 22" allin one computers running android Jan 31 18:50:58 without window management and real multitasking Jan 31 18:51:06 currently android doesn't support that kind of thing Jan 31 18:51:18 browser games, Gog.com, writing stories, schoolwork, programming, rendering, 3d modeling Jan 31 18:51:20 which means about half my computing tasks can be done on it, tv, web browsing, email, story writing Jan 31 18:51:29 Storyteller: already exists, see ChromeOS. It’s not doing too well. Jan 31 18:51:29 all things that would be a sub-par experience on mobile Jan 31 18:51:56 chromeOS has the problem of being based in the cloud Jan 31 18:52:12 everything is online Jan 31 18:52:25 which is by design Jan 31 18:52:28 I tried demoing a chromebook at best buy, there was nothing there Jan 31 18:52:30 Storyteller: what do you do 3d modelling and programming in ? Jan 31 18:52:35 yeah, thats not good Jan 31 18:52:40 those are not as easy to do on android Jan 31 18:52:52 and programming Jan 31 18:53:04 right, so the barrier to entry is available applications Jan 31 18:53:15 that depends on your use case. on mobile, nearly everything I do is stored in some cloud somewhere Jan 31 18:53:21 I do 3d in carrara, but blender would be fine Jan 31 18:53:27 a Chromebook is basically a big tablet Jan 31 18:53:27 yes, but also the frameworks to create really poweful applications Jan 31 18:53:38 blender isn't on mobile... Jan 31 18:53:43 could be Jan 31 18:53:49 ok, write it then Jan 31 18:53:54 and it would be terrible lol Jan 31 18:53:54 ok har har Jan 31 18:54:05 right now it might be, but in 2 years? Jan 31 18:54:22 Id love to see it running on a tegra K2 Jan 31 18:54:24 it might still be lmao Jan 31 18:54:52 true. I program in notepad++, some monodevelop for unity, flashdevelop some Jan 31 18:55:08 Storyteller: if you want to do android programming you should have a good desktop/laptop with a desktop OS like Mac Linux or windows Jan 31 18:55:19 fuck macs Jan 31 18:55:35 why? objective arguments? Jan 31 18:55:41 that's a very close-minded opinion Jan 31 18:56:00 shmooz, I do program off-pc, though Jan 31 18:56:06 its not great but it works Jan 31 18:56:13 look at how many people here quit with textual-app messages, all of them use osx Jan 31 18:56:13 with AIDE ? Jan 31 18:57:20 yup Jan 31 18:57:22 so, Im in xp, Im looking at a win 8 machine soon, next few months, and I read up on how windows is going to 10, and be a 'service' instead of a 'product' with lots of small updates and such Jan 31 18:57:49 and Im looking at what I really do with a computer, with what most people do with a computer Jan 31 18:58:16 1. the desktop is dead for consumers, the desktop will remain for professionals and late adopters Jan 31 18:58:27 I'm not disagreeing that most people could do with just a tablet, just that windows will die Jan 31 18:58:38 2. I dont think windows will be a truly iable platform in 5-10 years Jan 31 18:58:50 forget 'tablet', think 'screen' Jan 31 18:59:03 Storyteller: Microsoft has enough money to buy the future Jan 31 18:59:08 thats what people really want, a magic mirror, where they control the content Jan 31 18:59:19 they have enough money to change your mind too Jan 31 18:59:28 shmooz lmao Jan 31 18:59:29 the size of the screen is a question of portability Jan 31 18:59:49 well maybe we're all using holo lens soon and android dies :P Jan 31 19:00:08 this sounds kind of like that guy last night that wanted to making million money Jan 31 19:00:14 “The desktop is dead for consumers”: save this and read it again in 10 years, you’ll laugh Jan 31 19:00:38 touch screens in the kitchen, smart mirrors in the bathroom, a phablet in your pocket, a tablet/pad with a keyboard in your breifcase, a big screen in the living room and bedroom Jan 31 19:00:42 I still remember when the first iPad came out and we heard the exact same thing Jan 31 19:00:49 deuteros Jan 31 19:00:55 think about non programmers Jan 31 19:01:04 the other 95% of pepole who use computers Jan 31 19:01:17 gamers still prefer desktops Jan 31 19:01:25 Your fundamental error is thinking it’s a zero sum game. It’s never been. Jan 31 19:01:28 why do they need one? they have a phone, a playstation or xbox and a kindle/tablet Jan 31 19:01:33 the online tournament mouse keyboard gamers Jan 31 19:01:38 tell that to /r/pcmasterrace Jan 31 19:01:42 sure, a few hardcore gamers Jan 31 19:01:55 that's still a big market Jan 31 19:02:02 so do designers and developers Jan 31 19:02:04 but they are getting older, having families, doing things wit their lives Jan 31 19:02:07 a few? Jan 31 19:02:18 I thik you really have to look at the numbers Jan 31 19:02:26 opinions inhere are going to be skewed Jan 31 19:02:33 in their place, more and more are becoming interested in PC over console gaming Jan 31 19:02:42 how about your parents? or your kids? you think thety prefer the desktop? Jan 31 19:03:07 my parents hate fiddly touchscreen device Jan 31 19:03:11 or do you think they prefer a small portable platform that keeps them connected? Jan 31 19:03:35 Storyteller: you watched too many survival reality tv maybe, you think there should be one winner and the rest should die Jan 31 19:03:46 my dad has a phone wit a keypad and never texts or uses any data, he only uses it as a phone, he wants nothing to do with a computer Jan 31 19:03:51 and everything should be one thing Jan 31 19:04:03 I think you speak out of your ass shmooz Jan 31 19:04:04 Like I said, it’s not a zero sum game Jan 31 19:04:19 I don't think we'll ever get a a future where averything seemlessly works together, no one wants to give up so much controll about their devices Jan 31 19:04:20 no, its a matter of keeping up with the market Jan 31 19:04:30 'no one' ? Jan 31 19:04:36 I mean manufacturers Jan 31 19:04:54 consumers arent programmers, they dont care, they want it to work, its a toaster, it makes toast Jan 31 19:04:57 Storyteller, my dad has a phone with a keypad, only because he can't get a phone without one, and uses his computer for computer things, and his phone for phone things Jan 31 19:05:13 samsung will want you to buy a samsung smartphone, fridge, washing machine, so all of these won't work with LG devices etc Jan 31 19:05:37 dose Samsung fridges doe Jan 31 19:05:39 right, so how about kids, growing up in schools where its 1:1 studet to tablet, not 5:1 student to appleIIe (or whatever) Jan 31 19:06:08 which schools? Jan 31 19:06:16 I bet all kids who go to a school where everyone gets a tablet have a desktop pc or a laptop Jan 31 19:06:22 maybe in rich areas lol Jan 31 19:06:25 not a single school in my city for sure Jan 31 19:06:36 what city? they are all over kansas Jan 31 19:06:38 even kids play minecraft on pcs Jan 31 19:06:49 no, kids play minecraft on tvs Jan 31 19:06:53 I live in central WA Jan 31 19:06:56 and on mobile but there's never exclusivity Jan 31 19:06:59 that have computers hookedup to them Jan 31 19:07:01 hand Jan 31 19:07:06 whoops Jan 31 19:07:22 I even prefer playing mc on PC than on tv Jan 31 19:07:26 thats my point, forget the box next to the screen, it just runsthe damn thing Jan 31 19:07:35 what you use is the screen Jan 31 19:07:43 and a device to deliver input Jan 31 19:07:46 but the running is the important part Jan 31 19:08:00 look at the minecraft youtueb tutorials, a lot of those are made by 11 year olds recording on their pc, you can't do that on a console Jan 31 19:08:08 indeed Jan 31 19:08:23 if your whole i7 and ssd 3tb drive fit in your kb and wirelessly connected to anty tv in range for its screen, would tou still want a box next to it? Jan 31 19:08:29 and Xbox mc is really a poor experience. just played last night lol Jan 31 19:08:51 why are you attached to the tower? Jan 31 19:09:00 upgradability Jan 31 19:09:04 Storyteller: I would want to hook up a separate keyboard to it, because I guarantee it's not the keyboard I would want :) Jan 31 19:09:06 you can add parts Jan 31 19:09:14 ok, pop the back off the KB and swap out Jan 31 19:09:14 you can take parts out Jan 31 19:09:24 ok, so its the ability to tinker with your device Jan 31 19:09:29 makes you feel 'techie' Jan 31 19:09:30 you cab change parts Jan 31 19:09:30 you can diagnose parts Jan 31 19:09:31 your imaginary platform diesn't exist yet so there's no real point in arguing about it, Jan 31 19:09:46 it does exist Jan 31 19:09:46 its like asking, if all your car parts could fit in a cardboard box, would you drive it? Jan 31 19:09:58 no t at all, bad analogy Jan 31 19:10:04 drinfernoo: that's a pretty bad analogy :) Jan 31 19:10:06 cars have a certain form factor to fit humans Jan 31 19:10:10 lol Jan 31 19:10:27 so make it Storyteller Jan 31 19:10:33 my phone has more computing power than all the computers I owned beforethis one put together Jan 31 19:10:39 JesusFreke probably lol Jan 31 19:10:47 and what does it get you? nothing yet Jan 31 19:10:52 exactly Jan 31 19:10:57 they exist, you can get amazon fire tv built into tvs now, sony has psNOW in their tvs Jan 31 19:11:06 its not perfect yet, but its gettingthere Jan 31 19:11:15 and what does it get you? nothing yet lol Jan 31 19:11:22 Besides all that, did you have an Andoid dev question? Jan 31 19:11:29 chips in christmas cards are more powerful than what nasa had sending people to the moon and still we're not on mars yet Jan 31 19:11:44 he wanted to start android dev because windows is dying Jan 31 19:11:52 you can buy a shield tablet and play games on it, use it for browsing and sync it to tvs and play on the big screen, running software on a computer in SF Jan 31 19:11:54 pfft Jan 31 19:12:09 so buy one Jan 31 19:12:22 well, thats besides the point Jan 31 19:12:52 of course Im going to get one, but the idea that android is 'mobile only' is wrong Jan 31 19:13:02 and what's the point 'mobile will kill desktop?' Jan 31 19:13:28 android is what google wants it to be, and currently thats mobile + tv Jan 31 19:13:28 no, the desktop is slowly dying Jan 31 19:13:31 Storyteller, but you're talking about making a big, interconnected, MOBILE, android device Jan 31 19:13:50 android is a big, interconnected mobile application Jan 31 19:13:56 watch, phone, tablet, tv Jan 31 19:13:56 Storyteller: with the new 4k screens desktops are growing Jan 31 19:14:39 your user experience will move to whatever screen you are looking at, in your car, your house, at work, your user experience, your account, will follow you Jan 31 19:14:47 its soooo big and interconnected, that it isn't killing PC lmao Jan 31 19:14:52 again, desktop, box next to a screen Jan 31 19:14:55 that happens now Jan 31 19:16:34 if you're so convinced that android is the future I suggest you buy as much google stock as you can, but right now apple lost more money by currency fluctuations in a quarter then google made in that quarter Jan 31 19:16:59 now, desktops for work, those will stay, and when I say desktop, I mean a keyboard and mouse, possibly a digitizer, and some increased processing power Jan 31 19:23:25 what I'm looking forward to is what things like oculus rift and hololens will do for computer interfaces Jan 31 19:23:39 once oculus rift gets good enough, you don't even need a monitor Jan 31 19:23:48 you can simulate as many monitors as you want Jan 31 19:23:54 or come up with a totally different paradigm Jan 31 19:23:56 I want the game the guy played in "Her" Jan 31 19:24:05 Storyteller: what programming do you do now ? Jan 31 19:24:48 games mostly, some instructional design stuff, getting into mcu Jan 31 19:25:08 when my house is done, im buying up EEG/BCI equipment Jan 31 19:25:50 Another area I'm looking forward to improvements in :) Jan 31 19:27:40 my work will be primarily in EEG for human performance improvement Jan 31 19:28:17 Im highly interested in using EEG to improve learning performance and faster research methodolgy Jan 31 19:28:45 ie, mapping brain signals to anticipate what the user is looking for and feeding them that information faster Jan 31 19:28:52 I'm highly interested in continuing coding on my app, but I got drunk and played Alien Isolation instead :) Jan 31 19:29:21 like, better than eye movement tracking on a page Jan 31 19:29:45 Im not sure if I will pursue it, comes down to whether I get a fellowship or not Jan 31 19:30:02 After 4-6 hours of coding, just getting deeper into new shit that has to be done, getting drunk and playing videogames seemed a good idea for sanity points Jan 31 19:30:04 sounds like VideoDrome Jan 31 19:30:05 but, thats one of my thesis outlines for a PhD Jan 31 19:30:19 mm, the lawnmower man Jan 31 19:30:43 yeah you'd expect us to wear a helmet that pokes needles into our brains Jan 31 19:30:49 no, not at all Jan 31 19:31:10 you would wear a commonly available EEG headset currently on themarket Jan 31 19:31:51 you sound perverted, we shouldn't let you be an android programmer Jan 31 19:31:57 it would map your activity as you read, as it trains to your patterns, it will anticipate what links you will click on, what terms excite you, and display that information seamlessly Jan 31 19:32:13 how on earth am I perverted? Jan 31 19:32:27 trying to mess with my brain Jan 31 19:32:59 no android for you! Jan 31 19:33:06 I dont care if you buy my product or not, but for researchers who need a massive mount of information in a short amount of time, this can help them manage and navigate it Jan 31 19:33:20 basically, a brain controlled web browser Jan 31 19:33:37 "this" being your imagination not something tangible yet Jan 31 19:34:01 this, being at a tech readiness level of 1 Jan 31 19:34:19 I could build one tomorrow Jan 31 19:34:25 Something very weird is happening with my code! Passing a value from one function to the other changes it completely: http://pastie.org/9876737 Jan 31 19:34:30 if I had like a millin dollars for parts and programmers Jan 31 19:34:38 another* Jan 31 19:35:21 plenty of EEG tech out there, Dr Bin He at uni of minn, he is flying quadcopters around a gym Jan 31 19:35:29 Rashad: because it probably loses it's value by losing scope Jan 31 19:35:46 Rashad: don’t compare strings with == (unrelated to your other problem though) Jan 31 19:36:01 uni of boston made headway on language decoding, the results of their study matched my ownopinions on the limits of EEG interface Jan 31 19:36:04 Why not, deuteros? Jan 31 19:36:43 talked with their dept head for awhile, Im pretty well versed in this stuff, no expert yet, but Im getting there Jan 31 19:36:49 well before I use the web with my brain I'd rather see people have better prosthetics first Jan 31 19:36:57 thats part of it Jan 31 19:37:02 Storyteller: those are nice stories Jan 31 19:37:20 mapping EEG/EMG at the anion/brainstem for a self balancing exoskeleton Jan 31 19:37:41 letting a paralyzed man walk his daughter down the aisle, that sort of thing Jan 31 19:38:06 shmooz: Would declaring a new variable: String text = input.getText().toString(); and passing this new variable solve the problem? Jan 31 19:38:21 a small device I considered was a 'panic' sensor, so if the body felt massive pain or fear, it could shut down an assembly line without having to walk to a switch Jan 31 19:39:04 Am I the only one who codes for 4-6 hours, then get a total brain melt down and have to get drunk or something to just calm my system down? I like when i get into a code flow but I can easily get overloaded Jan 31 19:39:22 prosthetic speech was what I was looking at originally, but EEG is limited, only if we can get a lot of data at the anion ius it feasible Jan 31 19:39:38 jesperj, coding 4-6 hours straight is nuts Jan 31 19:40:12 doing more than 2-3 hrs at a piece is already pushing it Jan 31 19:40:21 Mavrik: sometimes it's more... and I forget to eat or anything Jan 31 19:40:22 anyway, this has gotten rather off topic, I was really just interested in using android to develop for android Jan 31 19:40:36 Im guessing it will be awhile Jan 31 19:40:51 You can’t use android to develop android, plenty of other choices (windows, mac, linux) Jan 31 19:41:24 It's like I either have really hard to concentrate at all on coding, or I get into hyperfocus and then I get really glad that it "works" so I work until I'm burnt out Jan 31 19:41:51 I code for days at a time, every few weeks Jan 31 19:42:15 but I cant communicate with people when i do Jan 31 19:42:31 you really live up to your name it seems Storyteller Jan 31 19:43:02 yeah... Jan 31 19:43:02 jesperj, yeah, break that up, getting burned out after 2 months of such work sucks Jan 31 19:43:50 does anyone have a few resources for creating an app icon? something a little more than the asset studio Jan 31 19:46:27 Mavrik: good advice I guess but I have an ADD diagnois (whatever one may think about if that shit is real or not) and without ritalin, I can barely understand my own code I wrote before, and on it, I easily get into hyperfocus instead and code for hours <_<. but *nods*. coding for like 2-3 hours and then take breaks seems healthy. Jan 31 19:47:44 i dont know why I'm telling you this... meh Jan 31 19:51:53 There is an app out that lets you build Android apps on an Android device. Jan 31 20:35:58 lol, HevvyMetal is in #kotlin asking if its based on scala Jan 31 20:36:05 that guy Jan 31 20:36:31 Way to make friends Jan 31 20:36:35 Jan 31 20:38:30 lol Jan 31 20:38:34 is he banned from here? Jan 31 20:38:39 😀 Jan 31 20:38:39 yeah Jan 31 20:39:07 What did he do to get that? Jan 31 20:39:24 he changed his name to TacticalJerk and started harassing the real mccoy Jan 31 20:39:59 but i think patience with him was running out long before that :D Jan 31 20:42:32 Ahh haha, I dont get why people might want to do that. Jan 31 20:42:39 Seems a waste of time for very little gain. Jan 31 20:59:08 TacticalJoke is really nice and helpful <3 Jan 31 21:00:08 TacticalJerk was kindof funny though Jan 31 21:06:28 TIL that infinifactory works on osx finally. productivity--. Jan 31 21:07:48 warming up to android studio and gradle Jan 31 21:07:55 also i need a new dev laptop :/ Jan 31 21:08:45 myke: it's struggling to keep up? Jan 31 21:09:33 yeah, eclipse & ant was definitely faster Jan 31 21:10:01 yeah. fwiw I find it's a lot happier with 1.5+ GB Jan 31 21:10:04 of ram Jan 31 21:10:26 i have 4G, but it's only a T4500 Jan 31 21:10:33 the default just doesn't handle any decent project without bogging down :( Jan 31 21:11:06 ah, yeah, 4gb would be rough. that's the total on the machine? Jan 31 21:11:34 I have cookie :) Jan 31 21:11:39 +s Jan 31 21:11:45 yup, i think that's the max for this model...well it's old, time to upgrade anyway Jan 31 21:11:49 cookies > 1 Jan 31 21:12:19 or maybe just run gradle from the command line on a remote machine and try remote adb Jan 31 21:13:35 myke: have you tried reducing the inspections, and/or power save mode? it won't speed up your build speeds, but it might make your machine a bit more responsive. Jan 31 21:13:54 i saw power save mode, haven't messed with optimizations Jan 31 21:14:29 is there a standalone tool for debug runs? that gives you the catlog, etc? Jan 31 21:14:30 there's a little thing in the bottom right corner that lets you tweak inspections on a coarse level, try that Jan 31 21:14:43 ddms possibly Jan 31 21:15:03 oh that's also a program? Jan 31 21:15:14 won't give you actual debugging, but possibly there's a way to plug it into gdb? Jan 31 21:15:17 is it possible to have a gradle daemon running on another machine, and tell AS to use it ? Jan 31 21:15:24 or even cli for that matter Jan 31 21:15:26 g00s: i was just gonna ask that :) Jan 31 21:15:30 it's the "android device monitor" button in the top toolbar Jan 31 21:15:43 that would work well for my situation...i have access to several high powered and idle machine Jan 31 21:15:46 s Jan 31 21:16:09 possibly a silly idea: remote desktop? Jan 31 21:16:09 kinda like distcc :D Jan 31 21:17:04 groxx: i could even live without AS and just remote adb to my local device/emulator, if there's a way to get catlog at least Jan 31 21:17:22 and run my editor remotely in text mode over ssh Jan 31 21:17:22 heyy guys! Jan 31 21:17:30 which is wht i mostly do anyway Jan 31 21:17:36 I've an app compiled and ready to be uploaded Jan 31 21:17:49 it's kind of an RSS reader, but not quite that Jan 31 21:18:07 do you know if there is any special policy for them? Jan 31 21:18:38 I mean, it is intended to display content from a site you do not own, how do you "tell" google so that it's not suspended from Google Play? Jan 31 21:18:54 Hm. an interesting development flow, to be sure. I'm not aware of any in particular, but you could possibly cobble something together with e.g. logcat over ssh, plus tee and grep as necessary? Jan 31 21:18:54 Wixy: how is that different from any other app with ihnternet permission? Jan 31 21:19:38 myke, it's supposed to display content from a site I don't own. I assume this could be an issue regarding copyrights and the like Jan 31 21:19:42 that's why I'm asking Jan 31 21:20:04 Wixy: there are guidelines for maturity level somewhere, I think that's it. that would probably fall under the moderate level, though most apps ignore that Jan 31 21:20:05 (not just one site, but many. depending on what the user want to read of course) Jan 31 21:20:16 groxx: ok thanks. i thought maybe someone would have done this...but if not maybe i could finally contribute something useful back Jan 31 21:20:46 This gradle project I haven't had to touch in a while is not importing into AndroidStudio on another computer. It says The project is using and unsupported version of gradle. So, I guess I need to upgrade the selected version of gradle on my project? Jan 31 21:20:48 myke: ¯\_(ツ)_/¯ could be. I haven't looked for it before. Jan 31 21:21:05 I got an app suspended some time ago. I think it was due to the screenshots I published Jan 31 21:21:19 in some of these screenshots the logo of a site was visible Jan 31 21:21:33 explodes: gradlew? the gradle wrapper? do you have it in the top level? Jan 31 21:21:34 but hey, it's an RSS reader, what can I do? Jan 31 21:21:36 explodes: probably you need to open the /build.gradle file and upgrade the gradle plugin to 1.0.1 Jan 31 21:21:54 myke: yep. it was an Android Studio project 3 months ago, working just fine Jan 31 21:22:03 groxx: I tried that Jan 31 21:22:04 and there will be some changes in app/build.gradle too, but I think it'll suggest fixes there Jan 31 21:22:53 sure, that's what I'm hoping for, but I cannot get through the initial import process Jan 31 21:23:16 explodes: you'll probably have to put the gradle file(s) and errors up on pastebin or something, there are too many possibilities :) Jan 31 21:23:17 0.14.2 was the old gradle setting Jan 31 21:23:26 alright alright Jan 31 21:23:29 one minute Jan 31 21:24:04 "HTC says One M8 and M7 carrier versions will miss 90-day goal for Lollipop, blames buggy Android code" Jan 31 21:24:49 buggier than their additions? I doubt it. Jan 31 21:25:08 groxx, do you know about this last thing? I'm not sure how I sould publish my app this time. Last time I tried it got suspended because some screenshots contained a logo that wasn't mine. am I safe removing them, or should I change the content that appears on the screenshots altogether? Jan 31 21:26:42 Wixy: sadly, dunno. sometimes the suspensions are just plain wrong too - the app I work on was suspended for "logging private data". luckily we have a contact - we eventually found out that it was coming from a different app on the testing device, but of course the damage is already done. Jan 31 21:26:50 groxx: imgur is taking a dive, but here's my gradles http://pastie.org/9876916 Jan 31 21:29:39 groxx: is the now-defunkt fabric making things break, you think? Jan 31 21:30:13 (actually I dont know if it IS defunkt, but i haven't any news about it so i think it might be) Jan 31 21:30:55 Does anyone know the process scheduling algorithm used in Firefox OS? Jan 31 21:32:28 erm. i'd think a firefox os channel would be more appropriate. Jan 31 21:32:54 lewellyn: Their channel is dead so I was wondering if anyone here might know Jan 31 21:33:05 since both android and firefox os use the same kernel Jan 31 21:33:07 this channel does android Jan 31 21:33:20 yeah. a bajillion things use the linux kernel. :P Jan 31 21:33:51 Even though firefoxos is completely irrelevant, what do you want to know about their process scheduler? i dont know anything, i'm just curious. Jan 31 21:34:18 Firefox OS (project name: Boot to Gecko, also known as B2G) is a Linux kernel-based open-source operating system Jan 31 21:34:24 so it uses the linux process scheduler. Jan 31 21:34:29 but i'd be surprised if the firefox os dev channel on moznet was dead. Jan 31 21:34:37 if it is, the platform isn't long for this world, tbh. Jan 31 21:34:58 is it, even if the channel is busy? :P Jan 31 21:35:44 maybe #B2G is a better place on moznet. Jan 31 21:36:07 explodes: no clue. but niche platform being developed openly, with no activity? doesn't bode well. Jan 31 21:36:27 it wouldn't be the first mozilla technology that they made a big deal of that died quietly, though. Jan 31 21:37:09 hopefully their html5 DRM propositions suffer the same fate Jan 31 21:37:26 anyways, i'll mess with gradle later, i need to take a fat nap Jan 31 21:38:01 explodes: "the linux process scheduler". There is no process scheduling algorithm that is named as such. ? Jan 31 21:38:38 your best bet is really to ask #B2G, i think. Jan 31 21:50:16 Hi, I've updated my Nexus 7 to Lollipop and now I cannot use "am" neither "pm" tool: Jan 31 21:50:16 $ adb shell pm list packages -f Jan 31 21:50:16 Unrecognized option -Xlog-stdio Jan 31 21:50:16 dalvikvm: [options] class [argument ...] Jan 31 21:50:16 Can you help me ? Jan 31 21:50:44 I've updated my SDK though... Jan 31 22:02:43 explodes: sorry, been traveling around a bit. fabric isn't defunct, but it has had some changes, possibly breaking. change the fabric maven urls to "/public" instead of "/repo", let me know if that fixes it Jan 31 22:02:54 d'oh Jan 31 22:05:04 MetalHead77: hm. yeah, does #B2G have more activity? otherwise you might have more luck finding someone in #android or #android-root. this channel is pretty much exclusively app-level stuff. Jan 31 22:05:41 not sure if there's a porting-android room anywhere either Jan 31 22:55:35 Odaym on a scale of 1-10, how would you rate yourself on concurrency ? Jan 31 22:58:20 2 Jan 31 22:58:26 :( Jan 31 22:58:36 I dont even know what a reentrant lock does Jan 31 22:58:43 lol, but I did use them to get things working for my needs Jan 31 22:58:56 Odaym i'm investigating this, was going to write a bug report https://groups.google.com/forum/#!msg/android-developers/v65-0hNYI7w/1_X6DV3yqz4J Jan 31 22:59:20 reentrant lock is simple :D Jan 31 23:00:49 he's mistaken there Jan 31 23:01:13 you must setCharacteristic notification when you begin to guarantee that this doesn't happen Jan 31 23:01:23 incoming data will not collide with what you write Jan 31 23:02:06 when setCharacteristicnotification is in place and your receiver is listening for those bytes, it will get triggered everytime, right after you write to it and the device responds Jan 31 23:02:30 you write > device responds (you might write again here) > you receive Jan 31 23:03:18 you must make SOMEONE wait though, if you care about absolutely fresh data, cause 1, 2, 3 iterations of this and you'll be working with data that was received from 3 or 4 previous writes Jan 31 23:03:29 he may have messed up in this particular case, but access to the characteristics byte buffer isn't synchronized between threads (your thread, and the binder thread) Jan 31 23:03:42 yea I make it wait Jan 31 23:04:19 but also setCharacteristicNotifications guarantees safely receiving back the data you are expecting from the device, at first I used to write that I wanted to read and that's how I read Jan 31 23:04:36 now I write something that is response-triggering, and I get the response in the callbacks Jan 31 23:05:30 its the same problem with onServicesDiscovered. if you stay on the binder thread you are OK, but if you call getServices() from another thread - there is no gauarntee that the LinkedList will be visible across threads Jan 31 23:05:46 visible with correct state Jan 31 23:05:56 why are you in that situation? Jan 31 23:06:33 i can't do all the operations on the binder thread Jan 31 23:06:51 and by using another thread, its provably incorrect implementation Jan 31 23:06:57 these servicesdiscovered and whatnot (whatever it is that isnt write) should all be over and done with when you connect Jan 31 23:07:04 then you just write and react Jan 31 23:07:23 right - but that list of services was constructed on a binder thread Jan 31 23:07:33 great Jan 31 23:07:44 now your app - some arbitrary thread, goes to read that and there is no guarantee of safe publication across threads Jan 31 23:08:04 ah Jan 31 23:08:15 then you do the replication Jan 31 23:08:17 i bet it works 'most of the time' but in weird cases it doesn't and manifests itself as some weird nondeterminism Jan 31 23:08:58 you can't really do the replication Jan 31 23:09:16 the list consists of objects without clone or public constructors Jan 31 23:09:59 well, you've gone further than I have Jan 31 23:10:01 or if they are public constructors, they didn't intent for you to use them :D Jan 31 23:10:08 some of them are package, some public Jan 31 23:11:19 i tried installing a handler on the binder thread, to lift my operations there. but thats not possible (no looper) Jan 31 23:13:42 i can submit the code to josh bloch for his next edition of effective java (what not to do) Jan 31 23:14:33 i think he worked or was embedded in the android team for a while, probably ran screaming Jan 31 23:14:56 you know I wasn't taught threads at uni Jan 31 23:15:02 I imagine why Jan 31 23:15:47 at the startup I work in, the android app is done Jan 31 23:16:07 so..they offered to keep me on board but as customer support, supply chain and fulfilment Jan 31 23:16:10 lol Jan 31 23:18:38 i think for most of android you can get by with rudemantary java skills, but the concurrency - gotta know that well Jan 31 23:20:55 Ooh, new inkscape release Jan 31 23:21:18 for android, need concurrency and some good ui/edt experience Jan 31 23:21:30 otherwise, it's all basic Jan 31 23:21:34 oh look, new binaries for mac woohoo Jan 31 23:22:39 glad we didn't have to wait a few years like 0.48.1 -> 0.48.5 Jan 31 23:23:14 Starting development casually when I have some spare time, fairly bored of not being able to code for fun anymore so... Jan 31 23:23:19 Im gonna have a few noob questions! Jan 31 23:23:56 Anthaas as long as its not 'can i do networking on the main thread' :D Jan 31 23:24:06 ....I cant? Jan 31 23:24:07 :P Jan 31 23:25:10 code and fun Jan 31 23:25:17 like bananas and house Jan 31 23:25:32 g00s: One I do have though, is about the TabHost. It seems that you have to have some ViewGroup to hold the content of each tab. Seems a bit odd, seems like I cant just have a fragment and change the content? Jan 31 23:25:40 I think the phrase is chalk and cheese haha Jan 31 23:26:06 g00s: I do suspect I am completely missing something though Jan 31 23:26:39 hm, i haven't used TabHost in a while Jan 31 23:27:05 pfn will tell you about TabHOst :) Jan 31 23:27:20 it's garbage, don't do it Jan 31 23:27:26 heh Jan 31 23:27:32 Hahaha, what do you suggest? Jan 31 23:27:46 Ive been away from this for....a while. Jan 31 23:29:00 I also need to remember to tag people when Im talking to them, sorry pfn Jan 31 23:29:46 viewpager and one of the title strips in the support library Jan 31 23:29:51 or draw your own tabs Jan 31 23:30:13 viewpager indicator works, but sucks if you notify data set change often Jan 31 23:30:40 Ahh which I will Jan 31 23:31:11 Ive decided to create a Reddit reader (just something to do, and can scratch up on a fair few skills) Jan 31 23:32:46 Anthaas lol, reddit readers are like the new ToDo apps Jan 31 23:33:18 g00s: Haha, they are, but they would teach quite a few things. Plus, the data is already there, and I don't have to do any web scripting or anything which I cant be arsed doing right now :P Jan 31 23:34:00 another reddit reader? Jan 31 23:34:24 Yep Jan 31 23:34:34 Haha, I wont be publishing though, so don't worry :P Jan 31 23:34:40 Ill keep the play store....less cluttered. Jan 31 23:34:44 make something you can publish Jan 31 23:34:57 I may do given time, but I doubt it any time soon. Jan 31 23:34:59 make it worth your time to sit there and code, or don't do it Jan 31 23:35:15 I will be learning and relearning quite a bit - I think that is worth my time. Jan 31 23:35:16 It's always worth your time to sit there and code. Jan 31 23:35:17 yeah, if you don't get banned, it wasn't interesting enough. you'll never know ... Jan 31 23:36:17 Worse coding advice I ever heard : "don't do it" circa (2015) Jan 31 23:37:03 On a different note: It’s really annoying how hard it is to get a proper PreferenceActivity with Actionbar using AppCompat. Especially if you can’t just use a preference fragment, and therefore have to use reflection >:( Jan 31 23:37:14 Yay, another reddit app, as if we don't have enough developers of those here... Jan 31 23:38:23 justJanne, did you try using the default preference activity that AS makes? Nightmare. Two totally different strings of execution in the same class... Awful. Jan 31 23:38:24 besides it being pointless, it doesn't touch up on some more important things Jan 31 23:38:28 Todo is much better Jan 31 23:38:58 todo is too easy Jan 31 23:38:58 no chance of publishing either, though Jan 31 23:39:07 MikeWallaceDev: Yes. But with reflection I got it to work, somehow. And then wrote a wrapper so I wouldn’t clutter my code with it. Jan 31 23:39:30 justJanne, My condolences Jan 31 23:39:46 (for using the default classes.. ) Jan 31 23:39:47 PreferencesActivities with ActionBars are a thing? Jan 31 23:39:51 Preference* Jan 31 23:40:07 pfn: I'd happily do something else that is just as convenient - I have little time available as it is. It was just something where the data and feeds are created already for me, and allows me to learn a load of new things. Jan 31 23:40:09 No, they aren’t. Unless you use some nifty reflection. Jan 31 23:40:42 Because I create a normal PreferenceActivity, then override every reference that points at the default layout, and point them at a modified layout which includes a modified Toolbar. Jan 31 23:40:42 Anthaas: The JSON API is fairly well documented. It makes life fairly easy. Jan 31 23:41:12 TacticalJoke: Exactly. Allows me to use a bunch of libraries, go over different aspects of applications, OAuth etc. Jan 31 23:41:13 g00s, you there? Jan 31 23:41:20 The problem is then that some of the methods in that class access android.R.internal.id.somethign, so you have to override all those methods as well Jan 31 23:42:16 There's also #reddit-dev for questoins. Jan 31 23:42:16 questions* Jan 31 23:42:16 Yeah, exactly, so there is support available for Reddit-specific questions. Jan 31 23:42:42 I dont see the problem really. Jan 31 23:49:13 Never used OKHttp, is it a good library for downloading JSON feeds? Jan 31 23:49:13 yes Jan 31 23:49:13 You would say that ;-) Jan 31 23:49:13 yes i would Jan 31 23:49:13 Cool, Ill go ahead and use it then - thanks :-) Jan 31 23:50:13 Anthaas: I'm using it for my reddit app. Jan 31 23:50:55 Is there a grade line? Jan 31 23:50:55 Can only see Maven Jan 31 23:51:13 I smell bias here.... ;) Jan 31 23:51:13 it's the same thing Jan 31 23:51:13 Ahh cool Jan 31 23:51:18 just put some colons where there's giant XML tags Jan 31 23:51:54 JakeWharton: Ahh thanks - also new to AS and Grade haha :P Jan 31 23:51:54 Hey Jake, I saw that you will be speaking at the Montreal DevCon.. Cool! Jan 31 23:51:54 This page has the Gradle statement: https://github.com/square/okhttp Jan 31 23:52:21 I just submitted my talk subject today... Jan 31 23:52:51 Ahh, like a pleb I was looking at the actual site - I completely forgot I normally find them on the GH pages lol Jan 31 23:53:17 MikeWallaceDev JakeWharton what are you guys talking about ? Jan 31 23:53:43 g00s, http://www.droidcon.ca/ Jan 31 23:53:54 jesse and i are giving the keynote and then i'm talking about Retrofit/OkHttp/Okio Jan 31 23:54:05 oh nice Jan 31 23:54:14 Yep, looking forward to it Jan 31 23:55:13 I was having trouble finding an interesting subject that hasn't been talked about to death Jan 31 23:55:30 MikeWallaceDev what did you choose ? Jan 31 23:55:31 I think I found something worthwhile, and interesting Jan 31 23:55:52 I submitted a talk on Spannable Jan 31 23:55:59 nice Jan 31 23:56:10 thanks, I think it will be a good talk Jan 31 23:56:22 We definitely don't hear enough about them Jan 31 23:56:42 indeed. they're very powerful Jan 31 23:56:48 and also very annoying Jan 31 23:57:12 exactly!! Jan 31 23:57:35 Is reusing SpannableStringBuilder good for performance? Jan 31 23:57:43 i.e., by using replace() and stuff. Jan 31 23:57:53 The only time we hear about them is when one calls getText() on an EditText and gets an Editable back, then we are like WTH?? :D Jan 31 23:58:43 I didn't dig in to them yet TacticalJoke , I only submitted the talk today :D Jan 31 23:58:50 I'm gonna do some srs performance tweaking at some point, in which case I'll avoid all my "new SpannableStringBuilder"() stuff. See how it goes. Jan 31 23:58:53 Okay. haha Jan 31 23:59:43 I'm instantiating a SpannableStringBuilder every time in Adapter.getView, and I notice than when scrolling the ListView my app slowly increases its memory use. Would be cool if I could avoid that as much as possible. Feb 01 00:00:05 It's not too bad -- takes around four minutes of scrolling before a GC event happens. Feb 01 00:01:00 why not just reuse the builder? Feb 01 00:01:06 (Yeah, I checked -- SpannableStringBuilder is the culprit.) Feb 01 00:01:11 Right. I'm gonna do that. Feb 01 00:01:27 It seems really easy, actually, because I can find the existing spans and just change the text there. Feb 01 00:02:14 aren't you giving the instance to a TextView to draw with though? Feb 01 00:02:20 you'll need a pool, not just a single instance Feb 01 00:02:33 Yeah. I will have one SSB for each recycled View. Feb 01 00:02:45 I think (I hope) that should be sufficient. Feb 01 00:03:02 yes, it just borders on insanity for an unreleased app Feb 01 00:03:04 ship first Feb 01 00:03:31 True. :) Feb 01 00:10:04 Ship first, ask questions later. Feb 01 00:10:29 haha Feb 01 00:15:30 you know what I was thinking? layout inflater should allow using namespace for tags Feb 01 00:15:46 rather than having to fully qualify package names for tags Feb 01 00:16:42 hmm. Feb 01 00:17:02 String comparisons are also kinda slow, especially if you are doing them far too often (like with tags) Feb 01 00:17:06 of course, most layouts only use one or two fully qualified view objects... Feb 01 00:17:18 huh? Feb 01 00:17:25 string comparisons are quite fast Feb 01 00:17:40 Compared to other comparisons? not really. Feb 01 00:17:58 an integer comparison would be far faster than a String comparison Feb 01 00:19:59 You're ultimately correct justJanne , but it's only an Android app, not a stock exchange software... The difference in speed is trivial Feb 01 00:20:23 Essentially, yes xD Feb 01 00:20:33 layout inflation is horrendously slow, comparatively Feb 01 00:20:39 so it would make no difference Feb 01 00:20:44 exactly Feb 01 00:20:51 Depends on how you use it, of course. If you are doing it several hundred times per second, you should optimize it, otherwise not really. Feb 01 00:21:08 (That’s an idea, btw. Layout inflation at compile time?) Feb 01 00:22:07 how are you planning on creating View objects... on the heap... on the end-users device... at compile time? :) Feb 01 00:22:57 I mean, you could optimize away the whole parser. Not the view creation, but all the parsing that’s done, I guess. Feb 01 00:23:10 the problem is the AttributeSet cannot be implemented in the generated code. the resource system does a cast of this type to an internal implementation that can only be created by LayoutInflater Feb 01 00:23:49 you can get around that with reflection on that type, but now you're starting to lose a lot of the benefits you were trying to get anyway Feb 01 00:24:14 ^ sounds like someone has investigate this before? :) Feb 01 00:24:20 investigated* Feb 01 00:24:49 long ago in the ActionBarSherlock days Feb 01 00:24:53 heh Feb 01 00:25:25 not for this specific optimization. i was trying to fix the problem of certain attributes only being available on certain API levels Feb 01 00:25:36 In terms of app management, how does Android handle deadlocks? Feb 01 00:25:57 It kills the app if it stops responding Feb 01 00:26:02 after a certain amount of time Feb 01 00:26:13 or at least shows an ANR, and let's the user decide to kill it Feb 01 00:26:36 depending on whether it's foreground or background Feb 01 00:26:59 JesusFreke: Nope, android uses the linux kernel (which means it doesn't handle deadlocks, it just ignores them) Feb 01 00:27:10 but that's only if the deadlock is while it's processing something on the main thread Feb 01 00:27:23 er Feb 01 00:27:43 if you've spawned your own separate thread and you deadlock that, as long as it doesn't end up blocking the main thread, then it won't get killed. Feb 01 00:28:37 yep Feb 01 00:28:55 Android doesn't handle deadlocks Feb 01 00:29:07 or the linux kernel I should say Feb 01 00:29:08 That was an issue with some Qualcomm camera service some time ago. Feb 01 00:29:20 which ended up with a service that deadlocked. Feb 01 00:29:33 kernel has nothing to do with dalvik/ART's locking mechanisms Feb 01 00:30:00 could be using Mach-o for all Android cares Feb 01 00:30:45 when you start getting in to drivers, esp. with kernel pieces.. well, that's another matter ;D Feb 01 00:31:27 zinx: So you agree that android/the linux kernel does not handle deadlocks? it simply ignores them Feb 01 00:31:32 idk if Android makes use of futexes but those are technically kernel constructs Feb 01 00:31:59 MetalHead77: the Linux Kernel has early deadlock detection and a number of other features, if enabled Feb 01 00:32:05 MetalHead77: ... but only for kernel stuff Feb 01 00:32:20 zinx: Right but they are disabled by default Feb 01 00:32:22 MetalHead77: it can even detect if a deadlock is *possible*, without it actually occuring. Feb 01 00:32:26 zinx: for obvious reasons Feb 01 00:32:44 MetalHead77: but again, this is for kernel deadlocks, not application stuff, which generally uses their own locking mechanisms. Feb 01 00:33:34 MetalHead77: so to say the linux kernel doesn't handle deadlocks, well, i think that's wrong... doesn't know about Android system deadlocks, that certainly true. Feb 01 00:33:35 zinx: Which brings back to my point that the linux kernel used by android does not handle deadlocks when it comes on to app management Feb 01 00:33:53 zinx: By default it does not Feb 01 00:34:17 MetalHead77: there is no 'default', and general kernels are compiled with some deadlock detection Feb 01 00:34:38 MetalHead77: but there's no way for the kernel to know what an application is doing, unless it's using futexes Feb 01 00:35:11 zinx: You're an idiot if you think deadlock detection is on when the linux kernel is compiled Feb 01 00:35:18 MetalHead77: ... Feb 01 00:35:25 it's off for obvious reasons Feb 01 00:35:28 bot Feb 01 00:35:37 i didn't say full deadlock detection. Feb 01 00:35:55 generally kernels are compiled with support to detect hung tasks Feb 01 00:36:12 * capella-s3 shenanigans Feb 01 00:36:21 you can of course disable that, but i'm speaking in a general sense here. the feature is lightweight and non-intrusive, so generally people leave it on. Feb 01 00:36:42 zinx: People do not leave on that. It comes off Feb 01 00:36:53 MetalHead77: stock debian kernels have it turned on. Feb 01 00:36:55 for e.g Feb 01 00:36:58 take a look at lockdep Feb 01 00:37:03 research lockdep Feb 01 00:37:12 MetalHead77: i'm curious why you starting this conversation with a question Feb 01 00:37:24 MetalHead77: i don't need to, i know what the advanced features are. i'm not saying general kernels have the advanced stuff enabled. Feb 01 00:38:09 MetalHead77: i'm saying they're not completely devoid of any deadlock detection - and i even gave you a fucking example of one that's usually left on, and is certainly left on in Debian kernels. Feb 01 00:38:25 MetalHead77: so i don't know what your problem is :/ Feb 01 00:38:48 bot! it was on moz earlier :p Feb 01 00:38:59 MetalHead77: i've also stated several times that the kernel has no idea what userland is doing with its locking Feb 01 00:39:01 the facts are deadlocked in his brain Feb 01 00:39:31 MetalHead77: making this entire conversation about the kernel rather moot Feb 01 00:39:39 no JakeWharton by default deadlocks are ignored in his brain ;) Feb 01 00:39:52 dif Nick... same questions verbatim Feb 01 00:40:04 zinx: Which brings back to my point that in terms of app management, that the linux kernel on android does not handle deadlocks :) Feb 01 00:40:18 MetalHead77: not application deadlocks, no. Feb 01 00:40:44 zinx: I was talking application deadlocks all along. Read fucking carefully. Feb 01 00:41:19 MetalHead77: i don't need to read carefully to know that. Feb 01 00:41:31 ok i tried Feb 01 00:41:46 MetalHead77: please watch your language Feb 01 00:41:56 SimonVT: Sorry Feb 01 00:42:17 SimonVT: When we are passionate about stuff, sometimes the one or two word can come out :) Feb 01 00:42:22 MetalHead77: if you read what /i/ wrote carefully, you'll note that i stated numerous times the kernel can't handle userland deadlocks unless futexes are being used Feb 01 00:43:34 zinx: Hey man I think we have settled our points here Feb 01 00:45:27 MetalHead77: in any case, deadlock detection as a general problem hasn't been solved yet. Android will detect when an Application hasn't responded on its main UI thread and ask if you want to wait or kill it. Feb 01 00:46:11 zinx: That's correct. Feb 01 00:47:18 it doesn't have the advanced deadlock debugging the Linux Kernel has, yet, and it's probably not planned to add it :/ Feb 01 00:47:43 g00s: see verizon killing supercookies after it got yelled at by congress? Feb 01 00:52:45 capella-s3 they'll just be more creative next time Feb 01 00:53:25 this is what happens when there are no regulatins on data collection and privacy. thank axciom & co for lobying for 'self regulation' Feb 01 00:53:52 well, they can share info about you since "no reasonable expectation of privacy" Feb 01 00:54:14 And since they don't care to have /your/ interests at heart (?) :/ Feb 01 00:54:50 heh - not sure how they worked themselves into that mess Feb 01 00:58:13 since when did SimonVT get promoted to channel nanny Feb 01 00:58:28 :p Feb 01 00:58:35 there is no function like ’alert()’ in javascript? Feb 01 00:58:45 oh lord Feb 01 00:59:04 SimonVT has been an opp for a long time Feb 01 00:59:23 pfn, that's MISTER Channel nanny to you! Feb 01 00:59:36 probably 2 years at least Feb 01 01:00:06 didn't say how long he's been an op Feb 01 01:00:13 I said how long he's been a nanny Feb 01 01:00:24 feels like a recent development Feb 01 01:00:26 umm Feb 01 01:00:52 well people here need their diapers changed regulalry Feb 01 01:05:58 hey Napalm Feb 01 01:06:10 hey Feb 01 01:08:28 hm, seems kotlin method references use reflection? i wonder if there is any big performanc hit on art Feb 01 01:14:25 g00s: show an example Feb 01 01:32:09 wait, I never considered that, reflection on apps that have already been compiled down to machine code? Feb 01 01:32:44 of course. Feb 01 01:33:22 mmm ... I thought it was the bytecode layer that supported that ... I need to read more Feb 01 01:33:57 Btw, C++ with Qt also allows some kind of reflection, and the Java native interface also allows reflection on C code, even on the JVM itself Feb 01 01:34:11 shut up! Feb 01 01:34:31 heh - I mean "no way!" Feb 01 01:35:54 I wonder if — on systems with FPGAs – we’ll be able to use reflection on the processor, one day Feb 01 01:36:24 That would be funny ^^ Feb 01 01:43:25 capella i dont know if kotlin reflection is the same as java reflection. i was just reading http://kotlinlang.org/docs/reference/reflection.html#function-references Feb 01 01:43:25 JakeWharton ^^ maybe i misinterpreted it Feb 01 01:43:25 seems like all the language features on that page involve reflection Feb 01 01:43:57 Dat lag tho. Feb 01 01:52:10 TacticalJoke did you see the reddit ama app ? Feb 01 01:52:10 I saw it a few weeks ago. Feb 01 01:52:10 Have they changed something? Feb 01 01:52:10 hm just saw it Feb 01 01:52:10 Word on the street is that they're making an official Android app. Feb 01 01:52:11 For more than just /r/IAmA. Feb 01 01:52:11 i guess it makes sense Feb 01 01:52:12 what does the bytecode show? Feb 01 01:52:12 reflection in the context of Java and reflection as a concept are not the same thing Feb 01 01:52:12 the generated Java code for protocol buffers has reflection but it doesn't involve any Java reflection Feb 01 01:55:37 maybe they'll break the track record of every reddit app sucking Feb 01 01:56:07 I hope to beat them to it. :D Feb 01 01:56:32 they'll break the record AT sucking Feb 01 01:57:19 I know why reddit apps suck, cause reddit sucks ;) Feb 01 01:59:45 My what a real deep and encompassing argument you got there. Feb 01 02:00:04 if the front page of the internet sucks, maybe its because the internet sucks :P Feb 01 02:00:20 haha Feb 01 02:01:48 great, now I have to learn about Protocol Buffers :p Feb 01 02:02:09 sighs .. I'll never catch up :) Feb 01 02:02:52 that's it ... no more javascript until I suck less at Java Feb 01 02:03:02 My main "hmm" regarding Kotlin is that it doesn't have checked exceptions. Feb 01 02:03:16 As a former checked-exception hater, I can understand this, however. Feb 01 02:04:00 what, you don't like tunneling exceptions in your visitor ? Feb 01 02:04:04 I prefer checked exceptions in cases where I would otherwise be polluting my code with "@throws" documentation. Feb 01 02:04:09 TacticalJoke: there's no such thing as checked exceptions in the runtime Feb 01 02:04:17 Ya. Feb 01 02:04:36 I do like the compile-time safety, though. Feb 01 02:04:58 i can throw an IOException from a method that doesn't declare it Feb 01 02:05:05 but first, dinner Feb 01 02:05:06 g00s: I've not used visitor very much. Is what you mentioned a Kotlin-friendly idea? Feb 01 02:05:56 TacticalJoke some background http://c2.com/cgi/wiki?CheckedExceptionsAreIncompatibleWithVisitorPattern Feb 01 02:06:08 Oh, that. Yeah. Feb 01 02:06:37 I was reading that just the other week. :) Feb 01 02:08:55 Cool that KotlinDoc supports markdown syntax. Feb 01 02:20:04 checked exceptions suck Feb 01 02:20:12 and yeah, it's a compiler feature Feb 01 02:23:46 exception handling Sucks, but whats the alternative? Feb 01 02:24:33 more intelligent return codes :p? Feb 01 02:25:44 The problem if you don't use checked exceptions (for recoverable cases) is that you can spend hours making sure you're catching all the exceptions you ought to be catching. Feb 01 02:25:58 Though one major issue with checked exceptions is that if someone uses checked exceptions where they shouldn't then it can be a huge pain. Feb 01 02:27:30 didn't say exception handling sucks Feb 01 02:27:53 I did :) Feb 01 02:28:09 depends on what you need to do Feb 01 02:28:23 use a Try monad Feb 01 02:28:35 yep Feb 01 02:28:36 try, maybe or either Feb 01 02:28:38 as necesaary Feb 01 02:29:40 I was reading that, in Kotlin, you can use extension methods to make a non-iterable type iterable. Feb 01 02:30:27 write such abstractions with retrolambda and be a happy camper Feb 01 02:38:32 can someone help me understand why I am getting these //method does not overrid method from its superclass errors? https://bpaste.net/show/b41da534a01d Feb 01 02:38:45 override is working fine in other parts of my code Feb 01 02:40:05 it seems like it can't find onSuccess or onError in that picasso .into function Feb 01 02:40:43 Might be importing the wrong 'Callback' type. What do your import statements say? Feb 01 02:42:00 TacticalJoke, I have this: import javax.security.auth.callback.Callback; Feb 01 02:42:10 is that incorrect? Feb 01 02:42:13 Yeah. Feb 01 02:42:30 rats Feb 01 02:42:42 I think it's "com.squareup.picasso.Callback". Feb 01 02:43:21 This is one of those rare times the IDE actually gets in our way. :) Feb 01 02:43:48 Though I guess the user can select the wrong type to import. Feb 01 02:46:49 Using Android Studio 1.1 Beta 2, if I introduce a blantant syntax error (e.g., type "aesdfdsfsdf" on a line) in a file from a Java-only module and build the project, Gradle tells me that the build was successful. Can anyone reproduce? Feb 01 02:48:56 TacticalJoke, yep that was it, thanks! Feb 01 02:50:31 TacticalJoke: Can you repro it with a simple "./gradlew clean build" in the terminal? **** ENDING LOGGING AT Sun Feb 01 02:59:59 2015