**** BEGIN LOGGING AT Fri Mar 25 02:59:59 2016 Mar 25 03:12:12 I have been hacking at this for a while now and cannot figure out why it isn't working: http://pastebin.com/XVSM2d2h Mar 25 03:12:41 I'm using FFmpeg to decode video, I get SIGSEGV on sws_scale when decoding my first frame Mar 25 03:31:08 I want an issue tracker Mar 25 03:31:14 my todo.txt is getting out of hand Mar 25 03:31:41 github/bitbucket issues are kinda weak. A kanban board would be awesome Mar 25 03:32:00 RustyShackleford i use taskwarrior, but its not kanban Mar 25 03:32:28 maybe trello has a free tier Mar 25 03:33:01 https://waffle.io/ Mar 25 03:33:40 how do I install the NDK in the Android SDK Manager using the command line? Mar 25 03:34:08 just like everything at work, we use an IBM bug tracker Mar 25 03:34:32 I have not used a single IBM program thats been good lol Mar 25 03:35:05 taskwarrior is pretty neat Mar 25 03:35:32 jakepetroules uh, i just downloaded the nkd zip file from the web site :| Mar 25 03:35:51 not interested in that Mar 25 03:36:10 the SDK manager provides a checkbox to download it, why does that not appear to be visible on the command line version? Mar 25 03:36:33 probably because you have to click through license Mar 25 03:37:02 no, you have to accept license for plenty of other android packages Mar 25 03:37:07 Hey there Mar 25 03:37:21 jakepetroules and the ndk is like hundreds of megs Mar 25 03:37:38 as I said, it's visible in the UI Mar 25 03:37:51 eh good luck :) Mar 25 03:38:00 wow 770 megs for the zip haha Mar 25 03:38:21 jakepetroules file a bug or submit a patch Mar 25 03:38:24 I have a general understanding of java, however, I'm struggling to understand some components of android development. I was wondering if any of you guys could point me to some good videos on adapters Mar 25 03:39:27 Or more specifically, how to pass for example a string array to a card layout Mar 25 03:39:39 NewProgrammer you could try the udacity course Mar 25 03:39:57 waffle.io is free for public github repos Mar 25 03:40:07 but there are plenty of examples of BaseAdapter for listview in ApiDemos Mar 25 03:40:16 recyclerview is something different Mar 25 03:40:20 I guess I don't mind open sourcing this. I mostly ripped off the architecture from another github repo so... Mar 25 03:40:55 Yea thats what I'm trying to figure out. I took a course in comp sci this semester, but it only touched lightly on GUIs and that was using swing Mar 25 03:41:35 My understanding of it is recycler view is essentially a new and improved list view, and then you can pass a card view into the "list" view Mar 25 03:41:44 Is this mostly correct? Mar 25 03:42:14 its new and more flexible but sometimes plain LV is easier Mar 25 03:42:28 hm okay Mar 25 03:42:46 listview isn't deprecated, sometime its easier using CursorAdapter Mar 25 03:43:27 I have no clue what Cursor Adapter is lol.... Mar 25 03:43:36 from database Mar 25 03:43:39 This is more difficult than I anticipated:p Mar 25 03:44:01 Would you mind trying to answer some questions I had? Mar 25 03:46:48 bitbucketcards.com Mar 25 03:46:49 boom Mar 25 03:46:54 pretty neat Mar 25 03:48:37 waffle.io is prettier. But this code is MINE Mar 25 03:48:42 mine mine mine Mar 25 04:20:20 I'm trying to use an okhttp3 Interceptor to mock out the server for these retrofit network calls Mar 25 04:20:48 can you display a single chip anywhere? or only in that edittextview thing Mar 25 04:20:59 I have a text file (or a string), I want to send this through my network code Mar 25 04:28:36 Can anyone explain to me how to pass a string array to the recycler view? Mar 25 04:29:54 NewProgrammer: https://github.com/codepath/android_guides/wiki/Using-the-RecyclerView Mar 25 04:30:45 oh thanks orbyt, that seems promising Mar 25 04:54:26 hey guys Mar 25 04:54:52 is it possible to have multiple TextViews inside a ListView row? Mar 25 04:55:00 and each textview must be clickable Mar 25 04:56:57 http://prntscr.com/ajp0t9 I'm trying to make my ListView looks like this Mar 25 04:58:18 I'm sorry I have no clue I'm new... Mar 25 04:58:42 Can someone just confirm my understanding that a ViewHolder is essentially one row or a recycler view? Mar 25 05:00:25 NewProgrammer: A ViewHolder is just that, it basically "holds" a view that you can reuse and bind different data to. Mar 25 05:01:07 xJeremyCx: from the looks of what your doing use a recyclerview Mar 25 05:01:14 xJeremyCx: but yes you can Mar 25 05:01:46 may I know how? Mar 25 05:01:57 I'm struggling to understand the hierarchy. So essentially the recyclerview is the list. Each row is a View Holder. The adapter takes information from somewhere, formats it using an xml file, and then puts it into a View Holder. Is this correct? Mar 25 05:02:21 the list items will be added dynamically Mar 25 05:03:19 orbyt^^^^ Mar 25 05:03:37 NewProgrammer: there are some great videos on using recyclerviews Mar 25 05:03:42 that talk through the logic of it Mar 25 05:04:09 I'm currently watching one by Slidenerd. But it's very fast and I struggle to understand his accent:p Mar 25 05:04:19 yeah he's got a funky accent for sure Mar 25 05:04:21 Hi all, I am trying to write a ViewHolder for a treeview and not figuring out what should be done. Mar 25 05:04:52 The recyclerview is a bit less intuitive than like a listview, but it's more flexible Mar 25 05:05:44 Yea its the adapter I'm struggling most to understand Mar 25 05:05:51 I think there are some chet haas videos that explain what's going on Mar 25 05:06:06 basically the idea is to reuse the views over and over so you don' thave to destroy/recreate new ones Mar 25 05:06:14 I get that it converts information into the viewholder, its just complicated:p A bit behind the intro to comp sci course I took Mar 25 05:06:15 this is my holder http://pastebin.com/6XxLBQK2 Mar 25 05:06:45 using this package - https://github.com/bmelnychuk/AndroidTreeView for the tree view. Mar 25 05:07:09 Creating a node like this TreeNode temp = new TreeNode(subname).setViewHolder(new TreeViewHolderLevel1(PlanDownloadPromptActivity.context)); Mar 25 05:07:32 are you trying to display a file heirarchy? Mar 25 05:07:57 Another thing is wtf is an inflator Mar 25 05:08:12 but getting an exception - java.lang.ClassCastException: java.lang.String cannot be cast to in.23.teacherapp.TreeViewHolderLevel1$TreeItem1 03-25 10:28:45.569 5481-5481/in.twentythreepointfour.teacherapp W/System.err: at in.23.teacherapp.TreeViewHolderLevel1.createNodeView(TreeViewHolderLevel1.java:13) 03-25 10:28:45.569 5481-5481/in.twentythreepointfour.teacherapp W/System.err: at com.unnamed.b.atv.model.TreeNode Mar 25 05:08:14 an inflator I think is the thing that will inflate from a resource file into an object Mar 25 05:08:22 for example Mar 25 05:09:12 fattire: I am trying to display a file hierarchy with selectable items. Mar 25 05:09:26 Looks like NewProgrammer and I have viewholder issues :P Mar 25 05:10:09 Lol I took an intro to Comp Sci last semester, it only lightly touched on GUIs and I used swing. So this is definitely different. Mar 25 05:11:12 any help on how to write viewholders? Mar 25 05:12:02 I'm watching a vid by Slidenerd currently. I think thats what I'm doing.... :D Mar 25 05:12:08 I can send the link if you want Mar 25 05:12:09 android_holder: you might want to look at the Storage Access Framework Mar 25 05:12:24 https://developer.android.com/guide/topics/providers/document-provider.html Mar 25 05:13:04 android_holder: this would do exactly that-- let users select files or directories via a picker thing Mar 25 05:13:11 fattire: Is that about accessing file folder hierachies? I have achieved that already. Mar 25 05:13:20 android_holder: it does a few things Mar 25 05:13:28 1. you dont have to worry about permissions at all Mar 25 05:13:41 2. you can ask the user to select one or more files or a directory Mar 25 05:13:42 so here is my problem - I get from my service what folder structure needs to be created (its like a course structure - subjects, topics etc). Mar 25 05:14:02 3. it will let users select files/folders on things like dropbox or google drive as well. Mar 25 05:14:06 user can select specific chapters and click download - that will create the folders on device. Mar 25 05:14:36 android_holder: you might want to look into a content provider and/or the SAF referenced above Mar 25 05:14:39 just to know what your options are Mar 25 05:14:48 to show the selection view - I am using the AndroidTreeView project on GitHub. they use ViewHolders to style the tree items. Mar 25 05:15:05 when I write that it throws this error - java.lang.ClassCastException: java.lang.String cannot be cast to in.23.teacherapp.TreeViewHolderLevel1$TreeItem1 03-25 Mar 25 05:15:48 fattire: I already used the link provided by you to open the files once downloaded. Mar 25 05:16:01 I am adding the trree view to download now - which is not working. Mar 25 05:16:28 I'm not sure exactly what you mean as far as what you're doing... Mar 25 05:16:50 you want it to download multiple files? Mar 25 05:16:54 and then create them all? Mar 25 05:17:11 could you get it as an archive and then unzip it or something? Mar 25 05:17:58 I'm not sure exactly how what you're describing is supposed to work.. it sounds like you're saying you present a few topics and then it creates a while file heirarchy... Mar 25 05:18:01 whole Mar 25 05:18:05 or something Mar 25 05:18:34 I want to do it like this - https://camo.githubusercontent.com/685069a582e1c6afee13095de6a3748564d0cc94/68747470733a2f2f7777772e64726f70626f782e636f6d2f732f6e633671346a75626161753078356d2f53637265656e73686f745f323031352d30322d31352d32332d31362d35362e706e673f646c3d31 Mar 25 05:18:49 but with more than two levels Mar 25 05:20:33 I am not casting String to any other object. Still getting the ClassCastException. Mar 25 05:21:37 Has anyone here had experience with the ndk? I'm trying to attach to my app using `ndk-gdb`, but getting this message: "ERROR: Could not extract package's data directory. Are you sure that your installed application is debuggable?" Mar 25 05:22:49 I've checked the android:debuggable flag in my manifest, as well as built using `ndk-build NDK_DEBUG=1`. The app is running in an emulator on android 4.4.2, using either x86 or armv7. No luck on either. Mar 25 05:23:26 johannish: lazy fix, but can you debug it as root? Mar 25 05:33:41 Bah. Client went on the fritz. Anyhow, any further explanation about what you mean by debugging as root, dave0x6d? Mar 25 05:37:29 i can't believe how hard it is to pass some recorded responses through my application's network code Mar 25 05:37:49 seems like an okhttp3 Interceptor will do what I need. Mar 25 05:39:16 http://pastebin.com/kdKgKt5a Mar 25 05:40:02 Error. java.lang.IllegalStateException: request == null Mar 25 05:40:25 at line 32 Mar 25 05:41:38 So I've just spent the last hour probably following this Slidenerd video. Nearly finished and just have to call a "getActivity" method, and yet there is no such thing Mar 25 05:41:50 Is getActivity a method from some class I'm meant to extend? Mar 25 05:42:09 fattire? Mar 25 05:42:42 Fragment.getActivity()? Mar 25 05:42:52 Ohhhh Mar 25 05:43:00 He was doing this part on a fragment Mar 25 05:43:11 I'm doing it just on my MainActivity Mar 25 05:43:30 So should it be MainActivity.getActivity().getData()? Mar 25 05:44:07 Nope same thing Mar 25 05:44:16 I'm not even following most of what hes doing honestly Mar 25 05:44:35 But Im gonna be really sad if I've invested this much time into it and it won't work due to a silly error Mar 25 05:44:46 Fragment.getActivity() return a reference to MainActivity Mar 25 05:44:59 well if thats the activity that hosts it Mar 25 05:45:06 so you want "this" Mar 25 05:45:27 the this keyword Mar 25 05:45:39 The code he says is adapter = new Adapter(getActivity().getData()); Mar 25 05:46:02 Nah this.getActivity() isn't working either Mar 25 05:46:09 I don't have a getActivity method though... Mar 25 05:46:18 Idk where he's getting his from Mar 25 05:48:55 NewProgrammer: not this.getActivity() Mar 25 05:49:03 this IS the MainActivity Mar 25 05:49:16 no need for getActivity() Mar 25 05:49:29 ohhh Mar 25 05:49:30 you only need that method if you're in a Fragment Mar 25 05:49:36 so this.getData()? Mar 25 05:49:55 try it? I haven't seen any code Mar 25 05:50:08 Darn nope Mar 25 05:50:26 "Adapter is abstract..." Mar 25 05:50:38 ...cannot be instantiated Mar 25 05:51:37 http://pastebin.com/A9fUg5Qe Mar 25 05:51:43 It's really simple code Mar 25 05:51:57 All I'm trying to do is create a recyclerview with 4 strings lol Mar 25 05:53:55 RustyShackleford^ Mar 25 05:55:01 well the error is right there Mar 25 05:55:08 Adapter is an abstract class Mar 25 05:55:15 you want RecyclerView.Adapter Mar 25 05:55:49 did you write your own custom adapter? a recycler view needs a bit more code than this Mar 25 05:56:10 Sorry I'm not very good at java quite yet lol... So instead of Adapter adapter = new.... it should be RecyclerView.Adapter adapter = new...? Mar 25 05:56:39 Well "write my own" is not true. I'm copying one off of a video Mar 25 05:57:04 http://pastebin.com/G4dqYKyS Mar 25 05:57:08 Adapter code^ Mar 25 06:01:41 RustyShackleford: Honestly I'm quite out of my depth here. The only other GUI stuff I've done is simple swing GUIs where you could pass arrays directly to a list lol... Adapters are much more complex it seems Mar 25 06:01:42 NewProgrammer: okay don't call it adapter Mar 25 06:01:53 Adapter Mar 25 06:01:56 whatever Mar 25 06:02:09 Why not> Mar 25 06:02:12 ?* Mar 25 06:02:17 you're expecting a com.example.nathan.myapplication.Adapter Mar 25 06:02:29 you imported a Mar 25 06:02:31 import android.widget.Adapter; Mar 25 06:03:12 ohh Mar 25 06:03:12 MyAdapter, CustomAdapter, whatever is a good idea for exactly this reason. Your IDE imported the wrong Adapter Mar 25 06:03:16 I think I see Mar 25 06:03:18 Okay Mar 25 06:04:59 RustyShackleford: Wait so what am I not calling adapter Mar 25 06:05:07 Is it the class file or the object Mar 25 06:06:58 I'm not actually sure what you're referring to when I'm looking at it Mar 25 06:11:59 RustyShackleford: Alright I'm gonna have to call it quits for tonight. Its two am for me currently lol... Thanks for the help though! I'll have to figure this out tomorrow unfortunately. Mar 25 06:20:53 Hello. How can I find the latest version of android support libraries? Mar 25 06:47:58 Does anyone know if one can use Android Device Manager ring finder with the android device offline Mar 25 06:49:26 Is there any way to remove title from CollapsingToolbarLayout altogether? Mar 25 08:58:59 anyone knows if there is some issue when trying to parse json with Gson to BigDecimal.. ? Mar 25 09:10:17 "com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Bad offset/length: offset=0 len=0 in.length=0" Mar 25 09:11:16 wouldnt be simpler to use string Mar 25 09:11:27 and convert that to bigdecimal Mar 25 09:12:03 maybe Mar 25 09:13:22 yea i'm going to switch to string, i don't really need the data type for now Mar 25 09:20:28 hey,can i log my app's cpu, gpu,ram ,battery and network usages programatically into txt file ? Mar 25 09:20:42 just like Android Monitor Mar 25 10:33:58 Cursor call inside onBindViewHolder of RecyclerView Adapter causes Cursor Leak exception to be thrown. Specifically line #38 http://pastebin.com/RJazT5y6. Any suggestion on possible cause? Doesn't cause a break in code but I'll like to keep things clean. Mar 25 10:40:44 Is it possbile to have a Open BETA APK and also a Production APK at the same time? Mar 25 11:07:08 Is it possbile to have a Open BETA APK and also a Production APK at the same time? Mar 25 11:28:35 ad Mar 25 11:28:41 anyone here? Mar 25 11:29:03 its pretty dead today Mar 25 11:29:17 it's always like this? Mar 25 11:30:36 not always, it's a day off for many people though Mar 25 11:30:36 nope Mar 25 11:32:01 does anyone have problems with the nexus 5 gallery ? Mar 25 11:32:40 i want to retrieve the path from a picture that is in the gallery Mar 25 11:32:41 is this developer question Mar 25 11:33:05 sounds like a job for #android or #android-root Mar 25 11:33:10 but the path it's not right Mar 25 11:33:22 no android devs here ? Mar 25 11:33:28 what is the path Mar 25 11:33:47 Ashiren: getting it programmatically, I think, so yes, a developer question :) Mar 25 11:34:18 oh i thought he meant the gallery app :v Mar 25 11:34:45 http://developer.android.com/reference/android/os/Environment.html#DIRECTORY_DCIM Mar 25 11:35:50 thx. i will look into it Mar 25 11:35:52 :) Mar 25 11:43:25 Today I embark on my journey to have a better caching mechanism in my app. All of my storage is done locally in the db, so when my app process starts for the first time, I want to load the db items into a List of POJOS. My first issue that someone mentioned to me was that my pojos are mutable (they have setters), is that bad? Mar 25 12:34:43 Trying to build the Android launcher3 but it seems that when i Import i end up in with 2 projects... the wallpaperpicker and toggleweightwatcher, where they seem to depend on eachother Mar 25 12:34:56 not sure if anyone here has built it successfully Mar 25 12:35:02 Bear10: you can only build it via AOSP Mar 25 12:35:08 but yes, I have built it successfully Mar 25 12:35:25 justJanne: oh really? Mar 25 12:35:38 can't build it separately? Mar 25 12:35:58 was attempting to follow this justJanne https://chislonchow.wordpress.com/2014/04/12/android-launcher-3-build-from-eclipse-from-4-4-2-source/ Mar 25 12:36:19 and i have 90% of it done but at this stage they depend on eachother it seems for some resources Mar 25 12:38:01 Bear10: are you building with gradle or with Android make? Mar 25 12:38:08 Eclipse won’t work with versions later than 5.0 Mar 25 12:38:35 Eclipse Mar 25 12:39:03 guess ill give Android make or gradle a shot Mar 25 12:39:16 gradle seems easier to use Mar 25 12:39:21 try using IDEA IntelliJ with gradle Mar 25 12:39:46 alright thanks Mar 25 12:41:21 Holy Fuck Android Launcher3 Mar 25 12:41:27 all classes in one package? Mar 25 12:42:09 would android studio do the job? Mar 25 12:42:32 It should, as it’s just intellij free edition + plugins Mar 25 12:42:57 ah ok cool will give it a shot Mar 25 12:43:05 thanks a bunch Mar 25 12:43:16 didnt think it'd be this long of a process tbh Mar 25 12:48:48 Bear10: it is building for me now, btw Mar 25 12:48:52 testing it right now Mar 25 12:49:18 justJanne: sweet, installing studio right now Mar 25 12:49:42 you need to comment out the line 21 in protos/backup.proto Mar 25 12:49:47 it looks like "option javanano_use_deprecated_package = true;" Mar 25 12:49:51 aha Mar 25 12:49:57 i saw that earlier when building the protos Mar 25 12:50:07 didnt want to touch it as i had no idea what it did Mar 25 12:50:16 how did you build it? via Android Studio? Mar 25 12:50:20 Gradle? Mar 25 12:50:39 im installing AS right now Mar 25 12:50:39 yup Mar 25 12:50:44 use gradle wrapper, Mar 25 12:50:50 set distribution version to 2.2 Mar 25 12:50:55 then comment that line out, Mar 25 12:50:56 pfn: around? Mar 25 12:50:56 and build Mar 25 12:51:17 ok cool, hopefully i dont need to configure too many things in AS Mar 25 12:51:24 never used it before, have always used eclipse Mar 25 12:51:33 eclipse is so last week Mar 25 12:52:13 pfn: i am having some trouble with "protify", android:install works, but protify doesn't Mar 25 12:52:15 haven't touched android dev since 4.x almost maybe before XD Mar 25 12:52:18 ouch Mar 25 12:52:23 Expected ':' (if selecting a configuration.... Mar 25 12:52:24 I can’t deal with that launcher Mar 25 12:52:31 icons aren’t even in a proper grid anymore T_T Mar 25 12:52:44 justJanne: is it not the latest one? i've been looking for the latest and can't seem to find it Mar 25 13:05:18 When I add "androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'" to my build.gradle I get "androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'". What does this mean? Mar 25 13:05:23 oops Mar 25 13:05:32 I get "Error:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.2.1) and test app (23.0.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details." Mar 25 13:06:44 Is there any way to use image in ImageSpan like canvas to draw inside EditText? Mar 25 13:26:25 Hi all, I've coded some mobile apps using unity but that requires almost no knowledge about app development. I'm hoping to learn more about it and wanted to make a custom alarm clock. My plan was to use the android alarm clock: https://github.com/android/platform_packages_apps_alarmclock Could anyone point me to anything to help me learn about the process? I'm not really sure how to get this code running so I can work on it Mar 25 13:26:52 Is it as simple as downloading that git repo and running it in eclipse? Mar 25 13:28:07 lame why are the google apps still eclipse projects Mar 25 13:28:27 I'm not even sure if they are Mar 25 13:36:26 Oh, boy, this seems like terrible design. I switched my 5.1 tablet into Japanese and it took 1/2 hour to get it back. Mar 25 13:37:28 The language selection is in a submenu on this device: the main menu has a ‘world’ icon next to it, but that raises a list of text with no more icons, and I couldn’t tell which one was the language selector. No idea whether that’s google or the device manufacturer, but there should always be an icon next to the language selector button! Mar 25 13:37:50 My bad for not being more multi-lingual, but sheesh. Mar 25 13:37:50 do you not read Japanese? Mar 25 13:38:17 nope. I was actually trying to switch to Chinese, but I guess that test was good enough. Mar 25 13:38:30 eh, close enough Mar 25 13:41:12 Has anybody tried the "BluetoothLeGatt" example Bluetooth4 program? Mar 25 13:47:30 I'm working on a messenger, each convo could have potentially thousands of messages, I want to load up only the first hundred from the db, as the user scrolls up, I want to load more, but I ALSO don't want to get into an OOM by having the user scroll up continuously. What's the best way to handle this? Mar 25 13:59:11 eghdk I did some napkin math on this one day and figured it was like a meg per thousand and decided to not microoptimize my memory usage Mar 25 13:59:28 but if you want to do so, some kind of circular list may do the trick Mar 25 13:59:47 the bulk of memory savings is already done for you by view recycling Mar 25 14:01:44 missingno: Thanks for the heads up. CircularList... I was thinking of some kind of windowing or something, is there a Data type that would help implement a circular list or something? I was thinking an LRUCache, but never used it before. Trying to see if anyone has solved this already. Mar 25 14:03:16 eghdk: are you using some sort of pagination mechanism with your api calls? Mar 25 14:03:42 Essentially yeah RingoMckraken Mar 25 14:05:23 egdhk: you could possible use an object pool and keep track of the max number of objects(models i assume) that you can get by without throwing an OOM error, and in your recycler view adapter detect when you've hit the bottom of the list, add a progress view while making the api call, then remove, add the new elements and shablaam Mar 25 14:07:15 if the user "scrolls fast" back to the top of the list you may just need some sort of cache like your said LRU/etc, i've been using a key value store call SnappyDb lately its wicked faster that sqlite although it has some quirks with 64 bit architecture when building Mar 25 14:10:57 How can I plug this: https://github.com/android/platform_packages_apps_alarmclock into eclipse? Mar 25 14:11:41 RingoMckraken: Interesting. Yeah, it's easy right now to show 50 results, load 50 more, and replace them in the list. It's more of an issue of if I wanted to load 50, load 50 more, and not swap the list, just keep it growing, but at a certain point I need to stop the list from growing, and was more curious if anyone knew a data structure that does this. Mar 25 14:13:26 Object pooling sounds like what you need Mar 25 14:13:26 hiii guys how can i backup my phone using 'adb backup' in linux Mar 25 14:13:41 it will allow you to release and reclaim objects Mar 25 14:14:09 http://developer.android.com/reference/android/support/v4/util/Pools.html Mar 25 14:16:13 rajasekhar: from cmdline run adb backup -all Mar 25 14:16:41 RingoMckraken: Cool. I will look into it. Mar 25 14:17:58 Is it bad practice to have a model object with static util methods? Currently my models are a bunch of getters and utils. Mar 25 14:18:08 RingoMckraken : dose it backup all the data in my phone?? Mar 25 14:18:41 raja: every but your individual apps Mar 25 14:18:49 there's some other flags as well Mar 25 14:19:10 mbarisa, be specific Mar 25 14:19:47 eghdk: if your static util methods do something that doesn't depend on "instanced" values or fields you should be ok Mar 25 14:20:46 eghdk: if your manipulating the state of an instance that can get harry, my rule of them is if the method just returns some calced value or object then its ok to be static Mar 25 14:21:55 ex: CarObject.calculateMilesPerGallon(float milesTraveled, float fuelUsed) Mar 25 14:22:51 Gotcha. Yeah, my ModelObjects are mutable right now, and they have util methods. Someone recommended to make my ModelObjects immutable and so I'm redoing my class and thinking of removing my static util methods, but seems like they wouldn't hurt too much. Mar 25 14:30:07 i guess you could make them kind of immutable during initialization with the final keyword but in java thats kind of just a promise Mar 25 14:37:17 Yeah, I just want to make sure that my objects don't get changed and aren't actually in line with my local db which, right now, someone could update a field, they could forget to update, but the UI would show something different that what the DB actually has Mar 25 14:37:51 that is a complex situation for sure Mar 25 14:38:10 are you using sqlite for data persistence? Mar 25 14:42:32 RingoMckraken: Yep. Mar 25 14:43:01 eghdk: any threading involved? Mar 25 14:43:21 So I download data, and insert it into my db. Then I load from DB into my ModelObjects, which go into a List, and my front end, just displays that list. Mar 25 14:43:37 RingoMckraken: Yeah, everything non gui related is going on in the background. Mar 25 14:44:01 right on, it gets pretty crazy with all those callbacks sometimes haha Mar 25 14:44:31 eghdk it's generally good practice to try to keep any business logic out of the models, even if they're static methods Mar 25 14:44:50 models i keep to creation helpers, and conversion between different data formats Mar 25 14:45:03 Hi all. Does anyone here have issues with LG-4s and adb? Mar 25 14:45:13 sarbs: Yeah, I'm having a hard time, I'm tryign to learn MVP, and it seems like the general concensus is the M means data and business logic... Mar 25 14:45:24 I can't get a shell or install software. It doesn't recognize either of these LG-4s. The Samsungs and the Nexuses work fine Mar 25 14:45:35 and, be careful with threading and sqlite - transactions are *not* atomic if you're using different SqliteConnection objects Mar 25 14:46:05 sarbs: I think I access the DB pretty often so I have a globally accessible dbConnection Mar 25 14:46:07 eghdk in MVC/MVP, the last one (C/P) generally contains the business logic Mar 25 14:46:25 models are just data, and view are just how it looks Mar 25 14:46:33 sarbs: Really? Everything I've read has the Model contain the business. Mar 25 14:46:37 the controller or presenter is what manages the relationship between the two Mar 25 14:47:03 well, i may be wrong then in terms of those specific ideologies... but i would not design it that way personally Mar 25 14:47:30 Yeah, it seems weird to me but I guess a case can be made either way. Mar 25 14:48:33 i see everything as basically recursive layers of "data <-> biz logic <-> presentation".. an whole app can be thought of as a database, some biz logic to deal with that data, and a method of displaying that to a customer Mar 25 14:48:42 likewise each single layer of that can be split into its own three layers Mar 25 14:49:14 a video card has its internal data representation, some logic for converting that data into a display buffer, and the machinery to actually put that onscreen Mar 25 14:50:44 but i digress Mar 25 14:52:39 Yeah I see your point. Mar 25 15:00:20 Got it. You have to enable USB tethering on LGs Mar 25 15:02:28 Hate it when you think you're nearly finished a feature and then you realise there's a couple things you didn't consider which is now causing it not to work Mar 25 15:04:52 justJanne: so i got it to build but on my phone i end up with a android.launcher3.ToggleWeightWatcher} does not exist when running it, any thoughts? Mar 25 15:05:06 i thought that the launcher itself would be in charge of that Mar 25 15:05:07 Bear10: which version of Android is on your phone? Mar 25 15:05:10 6 Mar 25 15:05:16 which OEM? Mar 25 15:05:27 How do you prevent users from double clicking buttons? Mar 25 15:05:35 justJanne: OEM unsure, its a moto g 2nd gen Mar 25 15:05:36 AOSP/Nexus/Moto/Sony/others? Mar 25 15:05:38 ah, okay. Mar 25 15:05:40 that’s weird. Mar 25 15:05:50 I've seen a solution to save the last click time Mar 25 15:05:52 Moto G 2014 is running on pretty much AOSP. Mar 25 15:05:58 Bear10: it works on my moto g 2014 Mar 25 15:06:06 hmmm Mar 25 15:06:22 i did as you mentioned earlier, gradle wrapper, imported the project and ran Mar 25 15:06:42 maybe one of two things are happening i have another launcher installed or the version 2.2 you mentioned Mar 25 15:06:46 didnt find where to set that Mar 25 15:06:55 ah Mar 25 15:07:04 how did it even build without that? Mar 25 15:07:11 it can’t build without setting that o.O Mar 25 15:07:16 markyosullivan best solution i ever came up with was to subclass Activity, override startActivity() and its variants, track a flag that gets set on a startActivity call and cleared in onPause, and ignore any startActivity() call if the flag is true Mar 25 15:07:20 however it was far from perfect Mar 25 15:07:40 justJanne, haha you learn something new every day Mar 25 15:07:44 where do you set it? (ill give it a shot) Mar 25 15:09:42 wrapper/gradle.properties Mar 25 15:09:51 if you specified "use gradle wrapper" duringimport Mar 25 15:10:50 dont have that, i have the gradle-wrapper.properties but no distribution version Mar 25 15:11:10 ill try a fresh clone and import Mar 25 15:11:26 distributionUrl you have, right? Mar 25 15:11:33 just replace the 2.11 in there with 2.2 Mar 25 15:12:43 distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip changed to 2.2 Mar 25 15:12:45 will try Mar 25 15:14:50 yep same error Mar 25 15:15:10 wonder if i can find out what i have if not com.android.launcher3.ToggleWeightWatcher Mar 25 15:15:37 i mean i imagine that the intent that's being launched is what this app is trying to install as well since it's part of the project Mar 25 15:18:06 hey Mar 25 15:18:11 :) Mar 25 15:23:41 lame, AppCompatDelegate.setDefaultNightMode() doesn't trigger a configuration change. So if you let you user set it in a preference, for example, all your activities have to listen for that change and recreate themselves Mar 25 15:24:22 just noticed this after change dev options from destroy activities to keep them Mar 25 15:25:54 How can I plug this: https://github.com/android/platform_packages_apps_alarmclock into eclipse? Mar 25 15:28:05 hmph Mar 25 15:28:32 did a new clone, tried importing fresh and now i get a execution failed for generateDebugProto Mar 25 15:28:52 ahhh Mar 25 15:28:55 yeah the line Mar 25 15:32:21 ahh well it worked Mar 25 15:32:27 conflicted with my launcher i think Mar 25 15:44:05 mbarisa, and your error sucked, "Not a valid command"... "Expected ':' ..." is so irrelevant, you didn't load protifySettings Mar 25 15:44:10 mbarisa, as directed in pfn/protify Mar 25 15:45:40 feels fucking weird that I'm submitting a bug report referencing a blog post Mar 25 15:45:54 then paraphrase the blog post in the bug report Mar 25 15:47:35 because of no docs for AppCompatDelegate.setDefaultNightMode on d.android.com, the blog is default official docs Mar 25 15:48:33 but it's a android-developer's blog then Mar 25 15:48:40 at least it's somewhat canonical Mar 25 15:49:13 bug filed Mar 25 15:54:29 so google released all of the Nik Effects software as free Mar 25 15:54:49 nice! Mar 25 15:54:50 wonder if they will keep developing it or not Mar 25 15:55:00 ... ha ha ha ha Mar 25 15:55:03 that probably is the death knell Mar 25 15:55:27 Silver Efex Pro is one of the best B/W packages though Mar 25 15:57:23 you know, I wish I could say that about *just* Google... but I've recently checked out OpenDX, and it seems to be somewhere in the same area that it was when it got published... Mar 25 15:57:33 but unlike Mozilla, it didn't have people toiling on it Mar 25 15:58:20 Alphabet's new CFO is cracking the whip Mar 25 15:58:42 g00s: nah, it's a google disease of "we can't focus" :/ Mar 25 15:59:18 p_l actually, Ruth Porat is really trying to get all the subsidiaries to be more fiscally disciplined Mar 25 15:59:27 remember they just sold Boston Dynamics too lol Mar 25 15:59:38 I'm terribly confused by an example given here: https://developers.google.com/android/guides/http-auth#extend_asynctask_to_get_the_auth_token Mar 25 15:59:59 "extends AsyncTask" What is void,="" and void="" ?? Mar 25 16:00:10 is this a mistake in the documentation? Mar 25 16:00:16 logicp: that’s a mistake in the documentation Mar 25 16:00:16 yes Mar 25 16:00:20 it has to be Mar 25 16:00:21 god damnit haha Mar 25 16:00:21 g00s: Fiscally disciplined doesn't necessarily mean dropping projects. I heard that with Boston Dynamics, it was more "uhh, we really do not fit" Mar 25 16:00:25 okay cool Mar 25 16:00:27 extends Asynctask Mar 25 16:00:35 the world makes sense again :) Mar 25 16:00:37 thank you so much Mar 25 16:00:49 * p_l starts to suspect he got cheated on the promise of updates to android tv devices Mar 25 16:00:51 p_l but Nik isn't core to anything google - to bring the conversation back around to that Mar 25 16:01:17 lol android tv Mar 25 16:01:26 core to google is advertising and search Mar 25 16:01:31 everything is an add on ;) Mar 25 16:01:40 g00s: I have a tv with it, so sue me :P Mar 25 16:01:43 p_l Surveillance Capitalism :D Mar 25 16:02:20 g00s: that said, I laugh everytime people talk about Google "selling your data" Mar 25 16:02:41 like google would ever be that stupid to part with their revenue stream :D Mar 25 16:02:42 p_l i wasn't under the impression google sold data Mar 25 16:02:55 yeah. thats why they give away their algos for free Mar 25 16:02:58 g00s: but many people make that assumption :) Mar 25 16:03:03 I’m not scared about Google selling data Mar 25 16:03:05 its not the algos, its the data Mar 25 16:03:19 I’m more scared about them abusing it, or others forcing them to part with it. Mar 25 16:03:31 the latter is more real Mar 25 16:03:32 Btw, I propose we make retroactively all user collected data GPL. Mar 25 16:03:41 justJanne: not workable Mar 25 16:03:45 Neural Networks trained with emails become then public domain. Mar 25 16:03:49 nope Mar 25 16:03:54 GPL doesn't work that way Mar 25 16:04:01 yes, if the alternative is "you can’t train them", Mar 25 16:04:02 justJanne sure, as knowledge and predictive capabilities concentrate in these large powerful corps, they become like unelected governments Mar 25 16:04:06 google would lobby for that ;) Mar 25 16:04:07 p_l, updates to Android TV devices? Mar 25 16:04:13 Shield was updated right? Mar 25 16:04:24 p_l: I know it doesn’t work that way in law, but in politics it’s about compromises. Weird world, I know. Mar 25 16:04:36 Mavrik: android tv, not google tv, but they seem to be seriously lagging :/ Mar 25 16:04:40 g00s: exactly. Google becomes like an unelected government, holding far too much power. Mar 25 16:04:41 justJanne and everybody is looking at what google is doing, and saying, hey we should do that too ! and now your car insurance company wants you to install telemetry, etc Mar 25 16:04:43 unelected? nope, they are driven by market forces Mar 25 16:04:46 p_l, yes, I mean Android TV. Mar 25 16:04:51 Nexus Player is on 6.0.1 Mar 25 16:04:53 Shield as well Mar 25 16:04:54 people voted with their clicks, purchases, and eyeballs Mar 25 16:04:56 pfn LOL market forces, what planet ... Mar 25 16:04:56 Lol Mar 25 16:04:58 There's nothing else out there_ Mar 25 16:05:02 market forces... Mar 25 16:05:16 p_l, unless you really expected Sony to update their TV firmware Mar 25 16:05:18 The antitrust cases show Google is just there to abuse monopolies, Mar 25 16:05:19 For that my son. Mar 25 16:05:25 You're hoplessly naive :P Mar 25 16:05:27 not to operate fairly in the market. Mar 25 16:05:27 Mavrik: umm... If I throw a stick in TV aisle, I'll hit something with android tv Mar 25 16:05:28 if you don't like it, don't use their product Mar 25 16:05:44 pfn: where’s the market for using OpenPush for notifications on my android? Mar 25 16:05:47 p_l, only if it's a upper model Sony or Phillips Mar 25 16:05:54 where’s the market for using aptoide or F-Droid but no Google Apps? Mar 25 16:05:56 And Sony's SoC is so shit you need to be silly to buy that. Mar 25 16:05:58 There is no free market, Mar 25 16:06:04 therefore there is no choice. Mar 25 16:06:05 the 4K Sony TVs stutter more than the 80$ Nexus Player Mar 25 16:06:13 (Also no, they probably won't get updates ever.) Mar 25 16:06:16 and/or services (and indirectly, for those using analytics, advertising networks, etc) Mar 25 16:06:18 the monopoly about OS distribution becomes a monopoly about services, backends, servers. Mar 25 16:06:28 you say they're unelected, but people /chose/ them Mar 25 16:06:29 Mavrik: Philips in my case, and android tv make significant portion of the "smart tv" segment here (the other option is stuff nobody is going to have any apps on at all) Mar 25 16:06:33 pfn: NO. Mar 25 16:06:36 It is not a choice. Mar 25 16:06:38 hence the push for android one Mar 25 16:06:43 it may not be an official governmental process, but it is a process Mar 25 16:06:46 Well, Samsung is way bigger Mar 25 16:06:50 But they have like 3 smart TV platforms Mar 25 16:06:54 people chose to use google, via yahoo, etc. Mar 25 16:07:01 pfn: okay, tell me how to get a smartphone that’s not using Android and below 200$. Mar 25 16:07:01 het guys Mar 25 16:07:04 There is none. Mar 25 16:07:05 hey* Mar 25 16:07:07 There is no free market. Mar 25 16:07:11 I het you Mar 25 16:07:20 They used predatory pricing to kill competitors. Mar 25 16:07:32 http://prntscr.com/ajw7s4 what component can I use to achieve this? Mar 25 16:07:35 justJanne, there's bunch of good WP phones in that market Mar 25 16:07:44 achieve what? Mar 25 16:07:48 TextView Mar 25 16:07:50 ListView Mar 25 16:07:54 seriously, I get the feeling pfn is just a crazy right-wing US-libertarian. Next thing he says deregulate the banks. Mar 25 16:08:02 pfn: multilined? Mar 25 16:08:26 xJeremyCx: Use a recyclerview with items, and set a state on the items that changes their color? Mar 25 16:08:28 justJanne, can we do without the personal attacks in this channel? Mar 25 16:08:36 Even if it's pfn. :P Mar 25 16:08:47 Mavrik: Well, he always does them, so why shouldn’t I either? Mar 25 16:08:50 pfn: okay, tell me how to get a smartphone that’s not using Android and below 200$. Have you heard of ubuntu? Mar 25 16:08:57 justJanne, because you're not in kindergarten anymore. Mar 25 16:09:05 thanks pfn. I'll try it Mar 25 16:09:06 xJeremyCx: Yes, and what was that with the price? Mar 25 16:09:07 xJeremyCx: Ubuntu would first need to actually get anywhere in that Mar 25 16:09:09 justJanne, and there's no need to drag in politics in technical discussion. Mar 25 16:09:13 Seriously. Mar 25 16:09:32 hi, if collapsingtoolbarlayout is in expanded state, it doesn't show shadow. Is there any way I can enable it? Mar 25 16:09:34 Mavrik: he dragged them into it. Saying that Google is chosen by people due to the market, which is totally fair and free. Mar 25 16:09:36 samsung is so crazy these days, i had the "joy" of trying to work with tizen os for a wearable project, their docs/community remind me of an abandoned drupal version Mar 25 16:09:41 yeah, justJanne is too left-wing for me, I just ignore them outright Mar 25 16:10:05 justJanne, so? Mar 25 16:10:12 cheap tablets with AOSP and unlicensed GooglePlayServices happen because a) AOSP is Apache2 licensed b) someone already did the same SoC port c) nobody checks licenses Mar 25 16:10:20 justJanne, again, grow the heck up, stop with personal attacks when talking about tech. Mar 25 16:10:34 Mavrik: Then stop lying. Mar 25 16:10:39 You said I brought politics into it, Mar 25 16:10:43 when he did in fact. Mar 25 16:10:56 "so?" is no answer in that case. Mar 25 16:10:56 Again with the kindergarten logic. Mar 25 16:11:02 I don't give a shit who started it. Mar 25 16:11:03 Stop. Mar 25 16:11:11 Mavrik: then stop accusing me of starting it. Mar 25 16:11:35 https://www.youtube.com/watch?v=G2Mbj06Ns2Y Mar 25 16:12:57 Hi, Is there any way I can enable shadow when collapsingtoolbarlayout is in expanded state? Mar 25 16:13:50 justJanne: it's around 200usd http://www.snapdeal.com/product/bq-aquaris-e5-hd-ubuntu/682122279976 Mar 25 16:14:18 heh, just found an update to my tv.... Mar 25 16:14:31 xJeremyCx: and it’s sold out, not available in your country, and doesn’t ship to your country. Mar 25 16:14:46 I was talking more about actual competition to Google-provided Android. Mar 25 16:14:58 Which can’t exist as long as Google violates antitrust law openly and directly, Mar 25 16:15:27 due to the no-competition clause for OEMs Mar 25 16:15:40 I don't get it Mar 25 16:15:42 hahahahahaha except there's none Mar 25 16:15:53 "Which can’t exist as long as Google violates antitrust law openly and directl" Mar 25 16:16:01 I have an Android application targeted to 4.4.2 (Older device) that logs some data and sends it off to another host for storage/transmission. It's not intended for general consumption by a long shot. I followed the logic at http://innodroid.com/blog/post/how-to-print-via-bluetooth-on-android, and it mostly works. The deviceselected broadcast fails with a a permissions error however, and forces m Mar 25 16:16:08 e to manually select the device each time. The MAC address of the target is known in advance, and the application is designed to operate full without user intervention, once started. Is there a standard of telling Android's Bluetooth Share application which device to use programmically, or just setting a default in the device chooser? Mar 25 16:17:10 xJeremyCx: Google has a clause in contracts with OEMs: OEMs that ever produced devices competing with Google’s Android – without Google services – can’t produce devices with Google’s Android anymore. Mar 25 16:17:28 This leads to a risk for OEMs, and is a reason why SAMSUNG still hasn’t launched Tizen on large scale. Mar 25 16:17:35 jamesawagner3, I doubt it, seems like you should do the communication in your own app instead of invoking an external one Mar 25 16:17:44 If OEMs could produce both Tizen or their own stores on Android on some devices, Mar 25 16:17:48 but Google-Android on others, Mar 25 16:17:54 the market would be a lot more open. Mar 25 16:17:59 justJanne: The real reason Tizen isn't launched on large scale is because of how badly Tizen is mismanaged Mar 25 16:18:07 p_l: Or look at Kindle. Mar 25 16:18:19 ohh I see Mar 25 16:18:23 Neither SAMSUNG nor LG nor HTC nor Motorola nor lenovo can produce parts for Kindle. Mar 25 16:18:43 So amazon had to go to the shittiest suppliers in existence, which aren’t involved in any other smartphones. Mar 25 16:18:44 I looked into that route, but it seems like that would involve recreating OPP on top of an RFCOMM socket. It's technically doable, but really is reinventing the wheel, so to speak. Mar 25 16:19:09 justJanne: which is why Kindle runs Samsung hardware, right Mar 25 16:19:26 p_l: It uses parts from SAMSUNG Semiconductor, Mar 25 16:19:30 but nothing from SAMSUNG Mobile Mar 25 16:19:35 two very different companies. Mar 25 16:19:55 They’re about as related as SAMSUNG Shipyards is related to SAMSUNG Insurance Mar 25 16:20:04 because Samsung Mobile wouldn't be doing that anyway, as it doesn't deal with OEMs Mar 25 16:20:22 (instead it builds Android, wave and Tizen based systems) Mar 25 16:20:27 p_l: SAMSUNG Mobile is an OEM. Mar 25 16:20:42 Amazon complained about it before, and even filed Antitrust suits about the topic. Mar 25 16:21:13 At this point, even forcing a default to the Bluetooth phone is acceptable. So long as the user doesn't have to continually select the same device over and over again. Mar 25 16:21:15 Seriously, I get the feeling you don’t read the legal papers on this topic - they are very clear on what has happened, and who has wronged whom Mar 25 16:26:50 for the record tizen is built upon such a horrid code base Mar 25 16:27:02 like phone gap / titanium / etc Mar 25 16:28:26 Tizen's worst enemy is itself and samsung Mar 25 16:28:45 Yeah, but try making an actual competition. Mar 25 16:28:49 also, certain nationalist practices involved in development Mar 25 16:28:50 If people can choose they choose. Mar 25 16:28:54 We’ve seen the same before, Mar 25 16:29:08 when many different push notification providers existed. Mar 25 16:29:13 many apps didn’t go through GCM. Mar 25 16:29:39 Having multiple app suits as libraries would allow people to choose if they wish to use Google Location providers, or the Mozilla location providers. Mar 25 16:29:54 there are still some. Unfortunately, economies of scale meant that a lot of people went with GCM and went more Mar 25 16:29:58 if they want to use the integrated Maps widget from Google, or the one from Here.com or OpenStreetMap Mar 25 16:30:13 if they want to distribute via the play store, or via F-Droid. Mar 25 16:30:50 interestingly, after a lot of recent bans from the play store – especially clover and AdBlock - F-Droid is actually getting popular with non-FLOSS users Mar 25 16:31:26 good Mar 25 16:32:00 I miss the statistics and crash reports though Mar 25 16:32:12 Crashlytics? Mar 25 16:32:24 Heh I´m not going to put crashlytics in a gpl app Mar 25 16:33:01 Floens: you could use ACRA Mar 25 16:33:05 I use that in my GPL apps Mar 25 16:33:36 hmmmm Mar 25 16:33:37 looks good Mar 25 16:33:59 Here’s what a report looks like in AcraLyzer (one of the many backends for ACRA servers): https://reports.kuschku.de/report/741d5d03-6b50-47e1-a89e-0a09938d8c6d Mar 25 16:34:41 That was something I was looking for, thanks! Mar 25 16:34:41 given that I won't install stuff that requires root anyway, there's not that much interesting stuff in F-Droid Mar 25 16:34:52 dat auth token Mar 25 16:34:55 p_l: well, AdBlockPlus is interesting Mar 25 16:35:04 where is this thing coming from that f-droid requires root to be installed Mar 25 16:35:24 Floens: no, but applications that might be on F-Droid but not on Play Store often do Mar 25 16:35:32 My worst bug is still https://reports.kuschku.de/bug/4716e2ae5867a86926eb3232f014cb3e Mar 25 16:35:44 488 bug reports for that bug Mar 25 16:36:18 neat Mar 25 16:38:16 Floens: this is only the early-access alpha version, and reports are already in the 3 digits a day. Mar 25 16:38:31 Just don´t use fragments :^) Mar 25 16:38:35 lol Mar 25 16:38:48 Well, fragments aren’t actually that bad, you just have to handle them properly. Mar 25 16:38:51 no but probably something with state restoring / config changes Mar 25 16:38:54 did you test that? Mar 25 16:38:54 for the rewrite, I wrote a helper class: Mar 25 16:39:01 --- Mar 25 16:39:11 eh, this older version has undeterministic code anyway Mar 25 16:39:24 something about being hacked together by a dozen devs over almost a decade. Mar 25 16:39:43 the rewrite handles those things a lot better – the main issue is connecting the fragments display to the service holding the data. Mar 25 16:40:13 in the old version, it worked with singletons and static variables, now I just wrote a small helper class that does it automagically Mar 25 16:40:25 Fucking fragments man Mar 25 16:41:02 Floens: squareup agrees with you https://corner.squareup.com/2014/10/advocating-against-android-fragments.html Mar 25 16:41:10 Oh I´ve read that post may times Mar 25 16:41:16 many Mar 25 16:41:47 I don´t use fragments anymore, instead I´ve built a simple view controller system. No regrets so far Mar 25 16:42:03 Well, fragments are easy to work with if you encapsulate them well. Mar 25 16:42:34 I don´t even want that, I just want shit to work without having to encapsulate shit or whatever Mar 25 16:42:36 even enterprise java is better than Google’s android concepts. Mar 25 16:42:42 Fragments should make your life simpler right? Mar 25 16:42:46 Well, no. Mar 25 16:43:08 I’m not sure they were ever made for that. Mar 25 16:43:15 I’m pretty sure they were made by a sadist. Mar 25 16:43:23 They were made in gingerbread for the tablet stuff Mar 25 16:43:44 So you could have an activity like interface, but multiple times on the same screen Mar 25 16:43:59 It failed horribly imo Mar 25 16:45:12 I love UIViewController Mar 25 16:46:13 is 4.4 EOL? Mar 25 16:46:24 eol in what way Mar 25 16:46:30 crayon: anything before latest version is EOL. Mar 25 16:46:36 is there a link? Mar 25 16:46:46 Security updates always only exist for the latest version. Mar 25 16:47:03 latest version that the device supports *? Mar 25 16:47:11 No, latest version overall. Mar 25 16:47:20 Google never backports fixes. Mar 25 16:47:23 *never* Mar 25 16:47:26 But the nexus 4 gets security patches on lollipop Mar 25 16:47:33 huh? Since when? Mar 25 16:47:35 That’s new. Mar 25 16:47:43 since they introducted the montly patch thing Mar 25 16:47:52 aaah Mar 25 16:48:00 https://source.android.com/security/bulletin/2016-03-01.html Mar 25 16:48:10 yup 4.4.4 is there Mar 25 16:48:13 guess its not EOL Mar 25 16:50:16 well, good to know that my Nexus 7 won’t get the update anyway. Mar 25 16:50:39 EOL before the device breaks is an issue. Mar 25 16:50:58 at least Google fulfils the law now regarding updates. Mar 25 16:53:35 I need someone to point me in the right direction. Mar 25 16:53:46 I'm developing a simple app but it runs on cellphones and tablets Mar 25 16:53:59 I need to know how to do like layouts for each device screen size Mar 25 16:54:23 What is it called when you do this? I don't know what to google to read up. Mar 25 16:54:37 TinFury all this is in the guides on d.android.com Mar 25 16:55:26 TinFury: Maybe http://developer.android.com/guide/practices/screens_support.html Mar 25 16:59:23 What could cause Caused by: rx.exceptions.OnErrorFailedException: Error occurred when trying to propagate error to Observer.onError? Mar 25 17:05:33 g00s, Cyp__ Thank Mar 25 17:05:35 thanks Mar 25 17:08:57 crayon, except no vendor bothers releasing security updates Mar 25 17:22:39 I asked this last night, but my IRC connection was flaky, so I'll try again: Mar 25 17:22:39 Can anyone help me understand why `idk-gdb Mar 25 17:22:50 new AS 2.1 preview Mar 25 17:23:07 is 2.0 actually decently usable Mar 25 17:23:10 still on 1.5 Mar 25 17:23:17 Ulgh. Can anyone help me understand why `ndk-gdb` thinks my app is not debuggable? "ERROR: Could not extract package's data directory. Are you sure that your installed application is debuggable?" Mar 25 17:24:01 I have built with `ndk-build NDK_DEBUG=1` and also set the `android:debuggable="true"` flag in my manifest, just to be sure. Mar 25 17:24:16 orbyt_ i have a feeling they may have bailed on 2.0 and just work on 2.1 Mar 25 17:25:41 (That error comes when running against the emulator. I've tried box x86 and arm, api 19 and 23.) Mar 25 17:36:04 is there some way to manually trigger a resource configuration change ? Mar 25 17:36:22 Hi all Mar 25 17:36:26 for example, forcing the system to use -night qualifier for resources Mar 25 17:36:39 but having all activities recreate themselves Mar 25 17:37:45 i could say Activity.recreate() for one activity, but I'd prefer all activities recreated themselves because of configuration change Mar 25 17:37:59 Hello. I am using cordova to make a hybrid app. However, I want to ask: is it possible to keep checking GPS information even if the app is closed by the user? Mar 25 17:38:22 Rashad this is native app dev, try #cordova Mar 25 17:38:40 or whatever forums they use Mar 25 17:38:44 I understand, but I am asking a question in general about android. Mar 25 17:39:01 for a native app yes its possible Mar 25 17:39:10 Currently I am able to keep checking GPS while the is in the foreground or in the background, but not when the user closes the app. Mar 25 17:39:16 Who uses RoboGuice in here? Mar 25 17:39:18 OK thanks. Mar 25 17:39:34 Rashad well if the user kills the app, then no Mar 25 17:39:35 Hi, anyone available to help a android dev beginner. i have question about the way gui and code interaction works (i used to code years ago in java, and i find some things quite disturbing in the android paradigm) Mar 25 17:39:38 Getting no symbol defined for RoboGuice.setBaseApplicationInjector Mar 25 17:39:46 Was that added or deprecated in a particular version? Mar 25 17:40:07 I am not talking about "force stopping" the app; just sliding the app to the side in the running apps menu. Mar 25 17:40:10 sashimi yes things are quite disturbing haga Mar 25 17:40:15 *haha Mar 25 17:40:37 Rashad unless you have a foreground service, swipe kills the process afaik Mar 25 17:40:51 I see. Mar 25 17:41:48 on some versions of android , some 4.4 versions swiping kills even with foreground service Mar 25 17:41:57 but that was a bug Mar 25 17:42:51 g00s ▸ i kind of rememeber, in "classic" java, that in a gui window, the various controls (buttons, labels...) would be instanced objects, members of the containing window, itself an instance of a window class. In android, it seems like you have to mess around binding the UI components by their "id". Mar 25 17:43:30 that indeed is the case Mar 25 17:43:51 the R file holds the integer references to those xml resources Mar 25 17:44:18 is there a logic explanation as to not using the "object oriented" model ? Mar 25 17:44:23 OK so it seems that the plugin I am using right now uses a foreground service, but still it stops when I slide the app :S Mar 25 17:45:02 is autobahn still the best framework for socket connections? Mar 25 17:45:12 or if not what is recommended? Mar 25 17:45:22 honestly you could do everything in code if you want, there's not much performance difference if any, (from what i know), but keeping views / styles and such in xml seems to be much cleaner and easier to manage for the most part Mar 25 17:45:41 Okay, I just made some progress with ndk-gdb. My application currently consists of two parts: a library module, containing the ndk code, and a test app. ndk-gdb was failing because it was looking for the library module's package name. Mar 25 17:45:58 However, I'm not able to run ndk-gdb from the test app because it's not an ndk project, I guess? Mar 25 17:46:16 RingoMckraken ▸ oh okay. i guess it's the heritage from code/UI separation of the modern web paradigm Mar 25 17:46:46 sashimi: that's what it felt like to me too when i first dove in Mar 25 17:48:54 RingoMckraken ▸ ok, it's reassuring knowing i'm not completely off track ^^ Mar 25 17:49:19 right on = ) Mar 25 17:54:42 How can I set up https://github.com/android/platform_packages_apps_alarmclock to work in Android Studio? Mar 25 17:56:05 you don't Mar 25 17:56:10 Why not :( Mar 25 17:56:10 nothing in aosp is meant to work with android studio Mar 25 17:56:24 what do you mean? Mar 25 17:56:25 you can edit/view code in android studio, but not build with Mar 25 17:56:32 Oh really Mar 25 17:56:43 just import it Mar 25 17:57:04 and add source paths for all the internal shit Mar 25 17:57:29 that seems odd Mar 25 17:57:38 or rather, it would if they still maintained and updated them Mar 25 17:58:05 pfn, I was hoping to learn about creating Android apps by modifying an existing alarm clock Mar 25 17:58:13 is this the wrong way of going about it then? Mar 25 17:58:14 Cooleh, aosp apps are not the place to learn Mar 25 17:58:20 What does aosp mean (sorry) Mar 25 17:58:28 android open source project Mar 25 17:58:33 Ohh ok Mar 25 17:59:11 Why does this run fun: http://prntscr.com/ajxu1k but this throws a NPE: http://prntscr.com/ajxudg Mar 25 17:59:14 fine* Mar 25 18:00:24 Because findViewById can't find that view in the second case Mar 25 18:00:52 yes...but why Mar 25 18:01:15 Because no component with that id was inflated Mar 25 18:01:18 (probably) Mar 25 18:01:38 you have no idea what your talking about do you^ Mar 25 18:01:59 I have more idea than you do. Probably. Mar 25 18:02:05 robolectric shadows don't call lifecycle callbacks for you Mar 25 18:02:07 unless docs say they do Mar 25 18:03:15 and it's robolectric, yuck Mar 25 18:03:21 pfn: well i have Robolectric.setupActivity(MainActivity.class); in @Before, which should run it through the lifecycles to onResume(), so either way it should running Mar 25 18:17:51 I have an app where the first thing I do is check for the DB, if it exists... then I continue, if it doesn't exist I finish() and start another registration activity. On 6.0 this has broken, it seems like 6.0 after uninstall... the DB is still there. Ideas? Mar 25 19:06:38 I have class that is making a volley request.... sometimes it's going though and sometimes it's not Mar 25 19:06:40 not error... Mar 25 19:07:06 no error... in debugging it just jumps over response... Mar 25 19:07:10 IDK what's happening Mar 25 19:07:12 any advice? Mar 25 19:08:59 TinFury, gist the code Mar 25 19:09:40 gist? Mar 25 19:09:44 is that like pastebin? Mar 25 19:10:10 pretty much. just on github Mar 25 19:10:34 http://pastebin.com/ZZsgcn3v Mar 25 19:10:50 gist > pastbin*10 Mar 25 19:11:10 is gist not linked to your GitHub account though? Mar 25 19:11:18 it can be, it doesn't have to be Mar 25 19:11:43 I don't have a github account. Mar 25 19:11:45 also TinFury when you say "it's not going through", are you sure the request is happening? Mar 25 19:11:48 I use bitbuchet Mar 25 19:12:21 sarbs, breakpoint at line 73 always hits Mar 25 19:12:26 ie, (disclaimer, i haven't used volley in a while) but is the engine set up and running etc Mar 25 19:12:33 I put that string below it too... and string always changes Mar 25 19:12:48 Volley engine setup? Mar 25 19:12:58 i *think* you have to start the request queue somehow... though my memory may be lying to me Mar 25 19:12:59 hold on Mar 25 19:13:00 I have other volly calls across the app and they work great Mar 25 19:13:15 Request que on line 108 Mar 25 19:13:23 oh... well do you start a new request queue for each of them? because, definitely, definitely don't do that Mar 25 19:13:24 The request goes through sometimes Mar 25 19:13:29 use one RQ as a singleton for the app Mar 25 19:13:42 Oh. Mar 25 19:13:45 oh so it does for sure go thru sometimes Mar 25 19:14:03 doesn't change the "use only one RQ" advice, but that's good info Mar 25 19:14:06 Each one uses a different requestque i think Mar 25 19:14:15 yeah, definitely don't do that Mar 25 19:14:27 maybe it's overloaded"? Mar 25 19:14:32 the requestqueue is designed to be a singleton, it has many many efficiency and perf optimizations around that Mar 25 19:14:54 you'll get terrible perf using a diff queue for every request Mar 25 19:15:09 ok. do you think that could be the problem? Mar 25 19:15:15 miiiiight be Mar 25 19:15:57 if you're not getting either callback to trigger, then it in all likelihood means that from volley's perspective, the call hasn't completed.. either it hasn't event sent yet, or it's still waiting for a response (and hasn't yet timed out) Mar 25 19:16:28 set up the request queue once, using your application context, and hand that RQ around to the various methods that send off calls. see how that goes Mar 25 19:17:17 be careful to keep in mind however that the android lifecycle is designed around *not* having singletons (i know, great design for volley then, right), so be prepared to create your singleton anytime if it doesn't exist Mar 25 19:17:33 It's funny cause it doens't hit line 104. Which should happen if there is an error with volley response right? Mar 25 19:18:00 if it doesn't exist, that basically means that your app got backgrounded, android killed it to reclaim memory, then your app was restarted and put back in a certain activity, but not all of the code you took to get to that activity in the first place has run Mar 25 19:18:22 TinFury right. if volley gets an error response, or times out, then it'll hit 104 always Mar 25 19:18:46 but if volley's still waiting to *send* the request, or has sent the request but hasn't yet received a response, then it'll continue waiting Mar 25 19:18:52 Ahhhhh Mar 25 19:18:55 wait... Mar 25 19:19:28 lemme look at something. Mar 25 19:20:08 Nah... no luck .this is coming in way before my other requests. Mar 25 19:20:09 :( Mar 25 19:23:47 sarbs, Hey can I ask you soemthing Mar 25 19:23:58 I don't have much experience with programming Mar 25 19:24:14 TinFury something else you can do is run "adb shell setprop log.tag.Volley VERBOSE" - that will cause volley to start spitting out tons of logs about what it's doing, to logcat Mar 25 19:24:19 which will be super helpful Mar 25 19:24:29 Yea that is helpfull... lemme try that Mar 25 19:24:32 and, of course. you just did ask me something, asking me if you could ask me something ;) Mar 25 19:25:01 Ok so my question..... when you look at my pastbin code.... I'm wondering if it looks like its written by a monkey Mar 25 19:25:11 lol? Mar 25 19:25:21 hey lets not put down the monkeys ... Mar 25 19:25:22 no, not at all Mar 25 19:25:30 although honestly i didn't actually read much of your actual code Mar 25 19:25:46 and also like g00s says there are some talented monkeys out there lol Mar 25 19:25:55 I'm just asking cause I don't really know if I'm on the right track.... or even if I'm doing things in the right way most of the time Mar 25 19:26:12 but, most of the super newbie/clowntown code i've seen is immediately distinguishable because it doesn't follow correct tab formatting conventions Mar 25 19:26:25 which is just cringe-worthy, with modern IDEs Mar 25 19:27:41 now that i'm reading through it carefully, i'm definitely able to pick out that you're not extremely experienced... but it still doesn't seem particularly clowny Mar 25 19:28:08 your methods are simple, your variable names are accurate, you seem to have at least half a clue of what you're trying to do at any given point Mar 25 19:28:24 sarbs, Thanks. I was just wondering... Mar 25 19:28:40 the empty { } block starting on line 49 and ending on 51 threw me a curveball for a minute, but it looks like that's just something you forgot to remove Mar 25 19:29:23 and also the method call immediately prior to it sounds like a test, but isn't in an if block - but again, just obviously not where you're concentrating at the moment Mar 25 19:29:25 aww got dc'd Mar 25 19:29:27 :( Mar 25 19:29:51 sarbs, I think thats where I was hoping where I'm at... Mar 25 19:29:58 haha, well good Mar 25 19:29:59 to be at. Mar 25 19:30:02 you're on the right track then Mar 25 19:30:03 lol Mar 25 19:30:20 "inexperienced, but with potential" is what i'd call it lol Mar 25 19:30:32 nice.... Mar 25 19:30:39 haha monkeys Mar 25 19:30:44 does anything else code :-) Mar 25 19:30:57 muthu skynet Mar 25 19:31:11 and that windows AI probably Mar 25 19:31:16 which ranted on twitter Mar 25 19:31:22 hahahaha i was just about to post that Mar 25 19:31:22 about killing people and stuff Mar 25 19:31:23 http://www.marketwatch.com/story/microsoft-pulls-plug-after-chat-robot-slings-slurs-rips-obama-and-denies-holocaust-2016-03-24 Mar 25 19:31:33 funniest thing i have heard of in a LONG time Mar 25 19:31:34 sarbs, ^^ Mar 25 19:31:37 yea Mar 25 19:31:45 somebody is in *deep* shit at MS Mar 25 19:31:50 ooohh the chat bots Mar 25 19:31:53 sarbs, err Mar 25 19:32:08 it was funny though Mar 25 19:33:08 muthu, it was fun, you tweet it a picture, it edits that Mar 25 19:33:16 like that hitler one Mar 25 19:33:16 we can see more and more of the chat bots everywhere Mar 25 19:33:38 haha.. yeah Mar 25 19:33:44 * paresh wonders if muthu is a chat bot Mar 25 19:33:56 * g00s ponders if paresh is chat bot Mar 25 19:33:58 wat Mar 25 19:34:03 no Mar 25 19:34:03 :) Mar 25 19:34:07 everyone here is fishy Mar 25 19:34:08 :D Mar 25 19:34:12 ..... that's just what a chat bot would say... Mar 25 19:34:17 i ask some thoughtful questions here.. Mar 25 19:34:18 hehe Mar 25 19:34:18 a chatbot will always say he ain't a chat bot Mar 25 19:34:25 no chat bot can think like that Mar 25 19:34:28 haha Mar 25 19:34:29 sarbs beat me to it Mar 25 19:34:30 see i'm laughing Mar 25 19:34:34 no chat bot laughs Mar 25 19:34:50 wonder what the point of the hamburger icon animating into an arrow is when opening the drawer when materia design says that the drawer should go on top of the toolbar and even under the statusbar Mar 25 19:35:02 ^ Mar 25 19:35:27 expressed same concern when they introduced the animation and covering it more than partially Mar 25 19:35:49 Zharf but i haven't seen the hambuger animate in any gapps lately Mar 25 19:35:59 EXCEPT for Google Drive, but thats different Mar 25 19:36:11 Zharf, to see the partial animation when it rolls back in xDD Mar 25 19:36:14 it is, just you don't barely see it Mar 25 19:36:29 seriously I have no clue Mar 25 19:36:54 man, i'm going to dive into proguard -__- Mar 25 19:37:24 adq isn't progues kinda obsolete with jack / jill ? Mar 25 19:37:28 *proguard Mar 25 19:37:31 lol Mar 25 19:37:42 i don't think so, but i haven't look at it Mar 25 19:37:46 i hope not Mar 25 19:37:53 is it for real? i haven't used jack/jill yet Mar 25 19:38:00 beyond alpha, prototype, concept, R&D Mar 25 19:38:01 i thought proguard operates on java bytecode Mar 25 19:38:05 it does Mar 25 19:38:10 erm Mar 25 19:38:14 for shrinking purpose you still need proguard Mar 25 19:38:26 jack+jill goes .java -> .dex straight, doesn't it Mar 25 19:38:27 hmm Mar 25 19:38:32 yeah Mar 25 19:38:37 very interesting Mar 25 19:38:52 some people seem a bit worried about dexguard not working with the current flow Mar 25 19:38:54 wonder if fb will OSS redex and become the android golden child of the moment Mar 25 19:38:57 or jack and jill flow Mar 25 19:39:06 idk how their shrink process works, but i suspect they use output of proguard to know what can be removed in the resources (not in the code) Mar 25 19:46:11 Why doesn't retrofit support @GET("")? Mar 25 19:49:43 submit a PR Mar 25 19:50:14 https://github.com/square/retrofit/issues/656 Mar 25 19:50:16 There's that Mar 25 19:50:23 use "." Mar 25 19:50:25 "" makes no sense Mar 25 19:50:53 JakeWharton: does "." do {BASE} + "."? Mar 25 19:51:02 no. it does base.resolve(".") Mar 25 19:51:25 Oh. Okay, thanks! Mar 25 20:08:10 Hello again Mar 25 20:08:38 Does anyone know how threadsafe making JNI calls are? Mar 25 20:09:13 threadsafe enough? Mar 25 20:09:26 as threadsafe as the code being called is Mar 25 20:09:28 I have two threads in Java that are reading and writing to the jni layer on the same object. Do I need to lock the object or does the JNI layer only have one thread you can use at a time Mar 25 20:09:41 JNI is multithreaded Mar 25 20:09:44 Fml Mar 25 20:09:53 no serialization is performed at the JNI layer Mar 25 20:10:03 JNI code runs in the same thread as your java code Mar 25 20:10:20 only serialization that is done by JNI is ensuring that JVM doesn't trip while jumping between foreign and JVM code Mar 25 20:10:30 your java code is not really different than JNI code in that regard, except that your JNI code is simply a bazillion layers deeper in a conceptual call stack Mar 25 20:10:41 Alright, thanks guys. I have a ringbuf that I'm reading and writing from in the jni layer that's been segfaulting and I thought it was this but I wasn't sure Mar 25 20:11:53 obsidian1, just synchronize on the java object in both threads Mar 25 20:12:11 What do you mean? Mar 25 20:12:34 Oh, like lock on the object used to make the jni calls? Mar 25 20:12:41 yep Mar 25 20:12:41 That would make sense Mar 25 20:13:19 I'm doing opensl audio so hopefully this won't kill my latency Mar 25 20:14:35 Oh, actually, I can't even do that because the bufferqueue callback in the native code needs to lock it as well Mar 25 20:19:32 Can any JSON serializer-deserializer handle ISO-formatted date-times? Mar 25 20:19:50 I checked Moshi, and I don't think it can't parse it into a java.util.Date Mar 25 20:35:55 I have 2 times as string.. Mar 25 20:36:02 A begin time and an end time Mar 25 20:36:12 I have 3 of these pairs Mar 25 20:36:26 But it could be more or less than 3 pairs. Mar 25 20:36:36 What should I store this data in? Mar 25 20:36:46 An arraylist, map, hashmap, list? Mar 25 20:37:55 arralist> Mar 25 20:37:56 something Mar 25 20:38:44 hasmap with pair Mar 25 20:39:12 pair is a thing? Mar 25 20:39:26 Anyone here go to developer.android.com and get redirected to russian Mar 25 20:39:28 ? Mar 25 20:39:58 eghdk just switch the language, happens to me also Mar 25 20:40:01 dunno why Mar 25 20:40:04 you can create a pair class TinFury Mar 25 20:40:16 g00s: Wait... theres a switch? Mar 25 20:40:26 yea I wanted to know if there was something that was already there Mar 25 20:40:28 yeah i think at the bottom Mar 25 20:40:34 GOD DAMNIT Mar 25 20:40:43 TinFury, nope Mar 25 20:40:44 ITS BEEN IN RUSSIAN FOR MONTHS. Mar 25 20:40:55 I learned all of that for nothing. Mar 25 20:41:00 Am I wrong to think thats weird? Mar 25 20:41:02 oh wait there is Mar 25 20:41:05 TinFury, http://developer.android.com/reference/android/util/Pair.html Mar 25 20:41:16 good old android to the rescue Mar 25 20:42:02 Thanks Mar 25 20:58:47 too bad pair sucks to use, though Mar 25 21:02:55 Has anyone had issues with a gap between the collapsing toolbar and a fragment below it? Mar 25 21:03:22 hm, i would have thought that Resources.updateConfiguration() would cause all activities on the task stack to be recreated Mar 25 21:06:04 Is InstanceId trustworthy enough?, I mean is it easy to fake a token than can impersonate my app instance? Mar 25 21:06:48 raycar5: Wha'ts instanceID? Mar 25 21:07:33 its part of the google play services in theory you han generate tokens that identify the app instance and then check those tokens on the server Mar 25 21:07:42 can* Mar 25 21:08:25 to check that it's really your app the one that is contacting the server basically Mar 25 21:08:39 it is relatively trivial to copy an instanceid Mar 25 21:08:58 the odds of randomly generating a duplicate instanceid are all but impossible Mar 25 21:09:41 if you're solving something related to license or purchase verification, you should use the LVL Mar 25 21:10:10 if you're looking to just verify that a particular user is who they say they are, you should use their login credentials to your webservice Mar 25 21:10:55 if you're looking to verify that nobody has tampered with your app on their device, that is impossible Mar 25 21:11:13 I'm trying to do it during login to check if the login request comes from the app or from another place Mar 25 21:11:49 just have the app send an "is_from_app" parameter along with the login request or something Mar 25 21:11:58 or you could send the instanceid, easy enough Mar 25 21:12:02 just add a capcha Mar 25 21:12:17 but that is by absolutely no means a secure method of verifying that someone has *actually* logged in from the app Mar 25 21:12:37 :/ Mar 25 21:12:42 it's quite easy to spoof an app from a computer; all i have to do is listen to your network traffic and then send the same stuff Mar 25 21:12:53 ssl Mar 25 21:12:56 HTTPS makes that a lot harder, but still not remotely impossible Mar 25 21:13:37 https being the usage of ssl i assume you would end up using Mar 25 21:13:48 yup Mar 25 21:14:34 well I mean even if it's impossible, throwing more barriers at it won't hurt right? Mar 25 21:14:42 absolutely correct Mar 25 21:14:48 you should definitely use ssl anyway Mar 25 21:14:58 computer security is all about making shit harder Mar 25 21:15:15 there is *nothing* that an attacker cannot do, given enough time Mar 25 21:15:40 you as an engineer just have to make it hard enough that the risk tradeoff is acceptable Mar 25 21:16:03 I'm not an engeneer yet :P Mar 25 21:16:05 working on it Mar 25 21:16:08 for cryptography use things that were made of by others and world-widely accepted Mar 25 21:16:39 if you're designing a login system you're an engineer, however new, in my eyes lol Mar 25 21:16:51 Would you use something other than Pair here? https://gist.github.com/autrilla/f59bc4cf9b403c0d4fd9 Mar 25 21:16:58 touche Mar 25 21:17:22 but anyway before i went on that compsec rant, you were asking about instanceid and stuff... basically just don't trust the value given for anything super important Mar 25 21:17:55 ok Mar 25 21:17:56 it'd take me between 10 and 30 minutes to spoof it, if i had your app on my phone and wanted to Mar 25 21:17:59 thanks :) Mar 25 21:18:09 if whatever it's protecting or gating isn't worth me spending 30 minutes on, then that's totally fine :) Mar 25 21:18:19 if it's gating money or something more critical, better to use a different design Mar 25 21:18:49 no money involved Mar 25 21:19:06 i hope my app is "uninportant" enough Mar 25 21:19:53 well, it's not even about how important your app is Mar 25 21:20:01 your app will be important to somebody Mar 25 21:20:07 It's about how important the data is Mar 25 21:20:13 it's about what you can get from hacking it Mar 25 21:20:19 yeah Mar 25 21:20:19 it's more about "what particular feature or behavior does this change, and what risk is there if someone is able to fake it" Mar 25 21:20:22 yeah exactly Mar 25 21:20:42 see, you get engineer shit already, you're totes an eng Mar 25 21:20:44 For what I'm doing, I'm sending temperature data over the internet without SSL Mar 25 21:20:54 Because no damage can be done if someone obtains that data Mar 25 21:20:54 :O Mar 25 21:21:05 you like to live dangerously Mar 25 21:21:24 lol Mar 25 21:21:30 I would use TLS but when I wrote the stuff for the IoT thing, certificate checking wasn't available Mar 25 21:21:35 It is now, I think Mar 25 21:21:51 ... you'd be surprised what kind of damage I could do with temperature data (the more sensors, the better) Mar 25 21:21:54 Anyone have a good resource on Intent flags? I always forget which ones do what, and the docs aren't very helpful (i personally find the wording super confusing). Mar 25 21:22:12 eghdk which flags Mar 25 21:22:13 p_l: I can get you a big csv with data Mar 25 21:22:21 data every 2 seconds! Mar 25 21:23:27 autrilla: where are the sensors? So I can figure what kind of nefarious scheme could be cooked? :> Mar 25 21:23:42 for example, tracking people's activity by just temperature sensors is very doable Mar 25 21:23:42 p_l: for now in an office. Later on, in pig farms. Mar 25 21:24:10 autrilla you repeat yourself Mar 25 21:24:20 pig farm info might be useful if we're talking about huge scale operations where knowledge about competitors operations might be useful Mar 25 21:24:26 sarbs: where specifically? Mar 25 21:24:49 p_l: not useful enough to buy a node to MITM it Mar 25 21:24:51 offices, pig farms Mar 25 21:25:05 autrilla: btw, there's one very good reason to use TLS if the data is going to be used for any decision making (and if it's not, why gather it?) - TLS can be used to verify both sides Mar 25 21:25:26 p_l: I know, I'm going to add TLS asap Mar 25 21:25:31 I'm doing the android side now Mar 25 21:25:36 It's a lot of stuff for a single person Mar 25 21:26:07 use single crypto scheme (so no attacks like DROWN), and create private PKI for both servers and clients (you only need paid certificate signing if you want to deal with 3rd parties in browsers). Mar 25 21:26:23 the PKI part is arguably hardest, but it's scriptable and once you script it down, things start getting much easier Mar 25 21:26:39 LetsEncrypt is free, so Mar 25 21:27:00 autrilla: LetsEncrypt is unnecessary (and adds complexity) for traffic between your own applications Mar 25 21:27:05 I can just check the CN against LetsEncrypt's root Mar 25 21:27:24 p_l: not really, I want everyone to be able to access the API securely Mar 25 21:27:39 *just check the CN and check it's signed by letsencrypt Mar 25 21:27:56 autrilla: separate certificates for sensors and public API, use letsencrypt only on the public API that is used by 3rd party programs Mar 25 21:28:19 p_l: then the sensor API has to be on another host Mar 25 21:28:26 autrilla: it doesn't Mar 25 21:28:30 Or use SNI which I'm not sure these things support Mar 25 21:28:45 autrilla: you can also have two IPs... or even two ports Mar 25 21:28:48 p_l: how does the server know what certificate to use then? Mar 25 21:28:52 p_l: sure, that's two hosts Mar 25 21:29:26 * p_l has to support multiple certs even without SNI at $DAYJOB anyway, so he might be biased Mar 25 21:29:26 Any idea why if someone leaves my app and instantly returns to the app via recents or via app icon they go to different locations? I have a part in my app where a user has to verify an sms code, and they leave and come back and the entry screen is gone. if they come in through recents it always works. Mar 25 21:29:50 launchMode? Mar 25 21:30:09 I terminate my SSL server-side with HAproxy, and we have used client cert verification as "licensing" method for one of the APIs in the past Mar 25 21:30:27 But it only happens on certain devices Ashiren Mar 25 21:30:49 those devices are retard then Mar 25 21:32:27 p_l: you're suggesting using a client cert for each device? Mar 25 21:33:11 autrilla: that's what we used, but you might employ a cert per series or deployment or even one cert for all of them and check not on IP, but DN Mar 25 21:33:32 DN-path checks are much more powerful than using IP or DNS name as CN Mar 25 21:34:00 Right now I'm using 40-character API keys, but those fly around the internet as cleartext Mar 25 21:34:14 When I implement TLS that will be solved Mar 25 21:34:44 you could load a client cert the same way as you load API keys Mar 25 21:35:00 checking against them is a bit harder though Mar 25 21:36:02 autrilla: not necesarily - depends how you integrate them. You can, for example, simply reject unverified connections on your server, or decide to pass the certificate data as params from webserver to your application Mar 25 21:36:28 (often used w/ certificate authorization to pass not just "is the user allowed" but also "who is the user") Mar 25 21:36:32 Ashiren: I'm trying to do an adb command that starts my launcher activity (to try to replicate their device) but it always opens up where I left off. Know any way around that? Mar 25 21:37:11 eghdk there should be a flag you can pass during the am invocation to clear the stack Mar 25 21:37:29 it's not an am parameter, it's just one of the Intent flags Mar 25 21:37:56 here we go.. https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TASK Mar 25 21:38:59 sarbs: hm okay, just gotta look up the am docs to see where to put that flag and I should be able to replicate. Mar 25 21:39:28 Can anyone check out my layout? http://pastebin.com/Z90FkMvN. There is a whitespace between the fragment and the collapsingtoolbarlayout and I don't know why :\ It is persistent with and without the FAB -- http://i.imgur.com/97OLQYP.png Mar 25 21:42:20 Akayllin post code Mar 25 21:42:49 What code do you need? I posted the layout code in my message Mar 25 21:46:08 sarbs: Hm. Even clear task didn't replicate that behavior. Mar 25 21:47:09 hmm Mar 25 21:47:39 next step i'd say is look at logcat, see if ActivityManager is doing or saying anything interesting when you start up the activity Mar 25 21:51:11 Need to get my hands on one of those samsungs... sarbs hahah. Then id be able to inspect what the activity is doing, and what flags it has set. Mar 25 21:51:26 ah, yeah lol Mar 25 21:53:17 MartialLaw ? Mar 25 22:33:29 anyone here? Mar 25 22:36:17 fri afternoon Mar 25 22:36:19 beer time Mar 25 22:39:28 Wait, it's Friday? Mar 25 22:39:35 hey TacticalJoke ! Mar 25 22:40:53 g00s :D Mar 25 22:41:05 TacticalJoke you're alive ! Mar 25 22:41:48 Thanks to Dr. Jon Gustav. Mar 25 22:42:00 Just kidding -- life got in the way. Mar 25 22:42:34 It's amazing how much time you have if you don't come in here. Mar 25 22:43:50 TacticalJoke have you been working on the reddit client? Mar 25 22:44:11 there was an article about optimizing TextView the other week, but i couldn't find you Mar 25 22:44:45 Yeah, still going. Oh, missed that article. Mar 25 22:46:37 when i come back to code i haven't touched in a long time i usually think about blowing it up :D Mar 25 22:54:58 It reminds me of bumping into an old friend, and you'd rather not talk to them, but you have to. Mar 25 22:55:30 i'll take articles relating to things pertinent to reddit clients ;) Mar 25 23:14:12 Do you think the gap could be coming from the values.xml where the "@string/appbar_scrolling_view_behavior" string is coming from? Mar 25 23:28:00 For my model layer, I have Message.java should I have a MessageList.java that holds my list of messages in my "model" or would that be something that goes in my "cache" layer? Mar 25 23:35:01 Soooo anyone free to take a look at my problem? :\ Mar 25 23:35:08 or is everyone still drunk Mar 25 23:35:09 lol Mar 26 00:00:04 goodafternoon. Mar 26 00:00:26 is it acceptable to move the android ide to /usr/share ? i want both me and my son to be able to access the bins. Mar 26 00:10:09 <_Atom_> does anyone want to chat about a top-down view of a simple android app? (in terms of how activities will be created etc) Mar 26 00:11:01 <_Atom_> I'm making a very simple app that makes API calls after a user inputs a string. The api returns search results from the string ( I'd like these results to be a list). Each item in the list can be accessed Mar 26 00:11:09 <_Atom_> which makes another api call Mar 26 00:11:15 <_Atom_> further details about the item in the list Mar 26 00:12:36 <_Atom_> what are some elements in the android/java ecosystem that I'll be using? I know that i'll of course be using Activities Mar 26 00:12:50 <_Atom_> one for the search functionality, the results, and details of the results Mar 26 00:12:56 <_Atom_> besides that, anything else that i should be aware of? Mar 26 00:23:35 How does Uber registration already have your name and email? I know it's using the Google API but I'm not sure how it gets it without the user signing in Mar 26 00:23:45 Does it use AccountManager? Mar 26 00:24:36 or, perhaps a better question is: How do I achieve the same result? (Getting the user's first name, last name and email without them authenticating with Google using the Google Sign in API Mar 26 00:24:39 ) Mar 26 00:37:00 weee, star wars finally out, time to watch it this weekend Mar 26 00:40:51 gd it gradle, it's already painful to proguard things, now gradle is stuck "build running" Mar 26 01:03:03 Apparently my problem is fixed by moving the viewpager to a different section of the layout... Mar 26 01:08:42 my suggestion, stop using gradle :P Mar 26 01:41:22 has anyone worked with google maps lite mode? Mar 26 01:55:18 "what comes after material?" Mar 26 01:55:23 ncurses :D Mar 26 02:09:15 Hey my run and debug buttons are disabled... Anyone know why this would be? Mar 26 02:09:19 it just happened today. Mar 26 02:11:56 Nvm I figure out what's going on. Mar 26 02:58:03 "It reminds me of bumping into an old friend, and you'd rather not talk to them, but you have to." - TacticalJoke. Mar 26 02:58:05 Lol **** ENDING LOGGING AT Sat Mar 26 02:59:58 2016