**** BEGIN LOGGING AT Wed Jan 21 02:59:58 2015 Jan 21 03:00:08 hesperaux: it's a leaning tower of pisa, on top of a leaning tower of pizza. at times, it's easier to strap stabilizing rockets to the top tower to keep it upright, instead of laying a real foundation. Jan 21 03:00:24 lol Jan 21 03:02:31 hesperaux: if you ever find a cure, let me know. at the moment my bias is usually to build higher and higher level abstractions. not always a good idea, but it's where I am now :| Jan 21 03:02:49 it hasn't bitten me harder than other approaches yet, anyway Jan 21 03:03:32 my problem is that I plan out a nice foundation, but when I go to implement it, I realize there are small details/conditions which I've overlooked - so conditional code gets added here and there, in places I don't believe it should be (sometimes even in the UI) Jan 21 03:03:39 AbstractPisaPizzaFactoryImplementation Jan 21 03:04:09 ^ yeah, java does not make it easy Jan 21 03:06:18 basically, my goal is to have the UI thread be completely design flow oriented Jan 21 03:06:33 im looking into getting an android box tv can anyone recommend a decent one? Jan 21 03:06:34 everything else happens either in classes or on another thread Jan 21 03:07:13 hesperaux: God, yeah. I write pages and pages of code and my app barely performs a few functions. Jan 21 03:07:24 jc23: probably http://www.google.com/nexus/player/ ? at the very least it'll get faster updates than most others, because it's stock. Jan 21 03:07:32 I assume sony / others have bastardized it somehow Jan 21 03:07:40 And it takes me days to implement a new (big) feature. Jan 21 03:07:46 it's good to know i'm not totally off Jan 21 03:08:01 or at the very least, we're all mad here :) Jan 21 03:08:11 I'M NOT MAD! Jan 21 03:08:13 CHANGE PLACES! Jan 21 03:08:19 * JesusFreke cackles maniacally Jan 21 03:08:19 here's another question - do you guys freak out when you have to update your database schema on an update? heh. I fear that day Jan 21 03:08:21 I think you have to be mad to be a programmer. Jan 21 03:08:40 And if you're not then you'll soon become so. :D Jan 21 03:08:42 hesperaux: nope. done it too many times to be afeared of it now. Jan 21 03:08:54 every blown up your customers' databases? Jan 21 03:09:00 only temporarily! Jan 21 03:09:05 groxx: i have done everything listed in that remote-debugging link Jan 21 03:09:09 the nexus can be rooted aswell? Jan 21 03:09:10 so then I take it you back up their old one? Jan 21 03:09:33 For future reference, any suggestions/tutorials/etc on best practices for doing database upgrades would be appreciated Jan 21 03:09:33 hesperaux: haven't had to restore a backup, just brought the site down a few times because the changes took longer than we expected. Jan 21 03:10:12 I've been following the development of Android Studio recently. There seems to be a lot happening (especially tonight -- many merges are going on). I wonder what cool features it'll get in future. Jan 21 03:10:14 jc23: I'm pretty sure it has fastboot support Jan 21 03:10:14 then I ended up writing a load-aware helper. that saved us a lot of pain when it was time to migrate a 2.1 billion row table :| (it took months to complete) Jan 21 03:10:21 JVM unit testing is a great one that should be here before long. Jan 21 03:10:29 I can't imagine what else they have planned. Jan 21 03:10:51 It feels kinda cutting-edge. Jan 21 03:11:11 Here are tonight's, BTW: https://android-review.googlesource.com/#/q/branch:studio-1.1-dev Jan 21 03:11:21 ok thanks...just getting into this Jan 21 03:13:23 groxx: knapper_tech JesusFreke switching from chrome canary to just chrome did the job Jan 21 03:13:42 hesperaux: suggestions / tutorials... hm. a) grok sqlite.org, it's great stuff. b) use auto-increment keys unless you have a performance reason not to. c) I avoid database-level foreign keys, and bake them into an application layer. easier to migrate data later. database-level unique-constraints are very useful though. Jan 21 03:15:46 hesperaux: also, do you know about "insert into x select y" ? sometimes the easiest way to migrate data is to make the new table and copy stuff into it. Jan 21 03:18:23 Do any of you use the Gimp to make your own icons? Jan 21 03:18:24 one thing about sqlite - wish it had better 'alter table' Jan 21 03:18:41 MikeWallaceDev inkscape ftw Jan 21 03:18:47 I just forked this : https://github.com/MikeWallaceDev/script-fu-save-android-icons Jan 21 03:18:57 well, fork you too! Jan 21 03:19:02 :D Jan 21 03:19:44 I need some Java help Jan 21 03:19:46 http://pastebin.com/yGKNaBgC Jan 21 03:20:02 i am getting error: incompatible types: Object cannot be converted to String Jan 21 03:20:19 in maplist.get (key) Jan 21 03:20:47 so i'm not entirely sure what to do here Jan 21 03:21:08 Agamemnus simple, learn java ! :D Jan 21 03:21:15 Agamemnus: http://www.json.org/javadoc/org/json/JSONObject.html#get(java.lang.String) Jan 21 03:21:15 ,_, Jan 21 03:21:21 get() returns an Object, not a String Jan 21 03:21:42 If you know it will be a string, use getString() instead Jan 21 03:21:46 your iterator is the wrong type Jan 21 03:22:06 Just kinda trying to use Stack Overflow Jan 21 03:22:09 oh no wait, sorry, maybe i should learn java Jan 21 03:22:32 If I say "getActionBar().setSelectedNavigationItem(0);" and 0 is already selected, the event handler isn't fired. If 0 is not selected, the event handler is fired. Is there a simple way to make the event handler be fired in both cases? Jan 21 03:22:46 I'm guessing not, but I thought I'd ask. :D Jan 21 03:22:49 Ok, so that document is confusing Jan 21 03:23:01 not particularly Jan 21 03:23:07 pretty standard javadoc Jan 21 03:23:12 'produces the string {"JSON": "Hello, World"}.' Jan 21 03:23:15 shouldn't that be: Jan 21 03:23:24 produces the string '{"JSON": "Hello, World"}' Jan 21 03:23:48 Strings aren't denoted by a ' Jan 21 03:23:49 anyway. Jan 21 03:23:53 They used a different typeface for the string in question. Jan 21 03:23:59 Using getString helped Jan 21 03:24:15 Although maybe to be consistent they should've placed that second string on its own line. Jan 21 03:24:42 But it's not code, it's too confusing. It should be quoted for clarity Jan 21 03:24:49 The code has the same font Jan 21 03:24:57 It's not the same font. Jan 21 03:24:59 "{\"JSON\": \"Hello, World\"}" Jan 21 03:25:02 is not more clear, imo :) Jan 21 03:25:04 that's kind of dumb though, it's a typed list, why doesn't get return the correct type? Jan 21 03:25:16 the code right before the statement has the same font Jan 21 03:25:51 and the same style Jan 21 03:25:52 ANYHOO Jan 21 03:25:57 thanks for the help Jan 21 03:26:03 I think it's Times New Roman and Courier New there. Jan 21 03:26:16 the text is times, yes Jan 21 03:26:23 Oh, the code has the same font. I misread. Jan 21 03:27:32 Ok, one last question Jan 21 03:27:51 oh wait Jan 21 03:28:34 g00s, agreed on the alter table issue... Jan 21 03:28:34 g00s: yeah, more alter support would be nice. you can get a long way with fairly generic external scripts though. Jan 21 03:29:16 g00s: dunno what options there are with sqlite, but mysql and others have some pretty fancy ones in the percona toolkit. Jan 21 03:29:39 I saw a post on SO I think about modifying the schema in read write mode Jan 21 03:29:59 it is dangerous but it is very fast to rename tables Jan 21 03:30:06 no part of my app freaks me the hell out more than the scliteopenhelper onUpdateDatabase Jan 21 03:31:07 ohhh Jan 21 03:31:37 exactly Jan 21 03:31:51 brb Jan 21 03:38:06 hesperaux_: ha, I don't think I'd try that :) though with sqlite at least the formats are well defined. Jan 21 03:39:15 padding around my custom actionbar view... Jan 21 03:39:25 above and below Jan 21 03:39:29 about 6dp Jan 21 03:40:27 customize actionbar style? Jan 21 03:40:30 Okay Jan 21 03:40:38 So I'm still stuck a bit Jan 21 03:41:24 json_object.put without a throws Jan 21 03:41:45 Without " throws JSONException {"... but I can't add it to the function because it's an override function Jan 21 03:41:54 How do I handle this? Jan 21 03:42:27 i guess i could just call another function Jan 21 03:42:41 How do Android apps that get most of their data from the cloud go about showing things...do they save everything to a local database first and then use a loader, or do they skip the database altogether? Jan 21 03:43:09 Agamemnus: What are you overriding? Jan 21 03:43:21 something called "onPollfishSurveyReceived". Jan 21 03:43:52 oddalot: I don't know about anyone else but it is incredibly use-dependent. I save my users' data to my server when they log out. Jan 21 03:44:14 You'll need something to merge two save files Jan 21 03:44:31 you could also always just use the server only Jan 21 03:44:49 Well, that's the thing, I'm just using this app as a 'controller' of sorts, the server saves all the state and has a database etc... Jan 21 03:45:11 so there's no need for me to save data locally....but if it makes displaying it easier, i might do that. Jan 21 03:45:27 just think about it as a web app... Jan 21 03:45:49 exactly, and that's what i'm used to, a web app, javascript usually only saves minimal info in cookies Jan 21 03:46:40 hmmm....thanks Jan 21 03:47:03 Agamemnus: tl;dr: you can't, because Java won't let you. wrap it, handle the exception, and call the wrapped method. there's basically no other option (they're all some form of "don't call/override that function directly") Jan 21 03:47:59 Agamemnus: you could wrap the exception in a (subclass of) RuntimeException and throw that Jan 21 03:48:40 JesusFreke: how would that look? I'm confused by the terminology Jan 21 03:48:52 hm, yeah, there's a bit of ambiguity there. Jan 21 03:49:01 throw new RuntimeException(ex); Jan 21 03:49:17 Agamemnus: are you trying to override something that throws jsonexception, or are you overriding something else and you need to call jsonObject.get? Jan 21 03:49:18 so I should have try and throw? Jan 21 03:49:20 or .put Jan 21 03:49:28 RuntimeException and its subclasses don't require a throws declaration on the method Jan 21 03:49:45 guys, like this: http://pastebin.com/FCDPUVMZ Jan 21 03:49:58 but this doesn't work, gives me a compile error Jan 21 03:51:16 i mean try/catch Jan 21 03:51:26 Agamemnus: yeah. wrap it in try { .put code } catch (JSONException e) { throw new RuntimeException(e); }. Jan 21 03:52:35 all right, thanks Jan 21 03:52:49 that'll mean that, if it _does_ throw, it'll probably crash your app. but you're probably fine there. Jan 21 03:52:52 technically I don't need the throw, do I? Jan 21 03:53:18 should I have a throw? Jan 21 03:53:24 not really. you probably do want to at least call `e.printStackTrace()` so you see it in the logs if it happens while you're coding, but for that code it may never actually happen. Jan 21 03:53:28 It compiled without a throw Jan 21 03:53:50 I can't see how it could. Jan 21 03:54:40 the built-in json library is a little.... pedantic. it's probably correct that it could throw, but it is a bit extreme. Jan 21 03:54:43 crashing is a perfectly reasonable thing for an app to do Jan 21 03:54:54 if something unexpected happens, crash Jan 21 03:55:04 don't let your app continue on in an unknown, non-deterministic state Jan 21 03:55:11 it's just going to crash or misbehave later on anyway Jan 21 03:55:32 there's expected failures (IOException) and unexpected failures Jan 21 03:55:44 if you know the data can be encoded into JSON, rethrow the exception Jan 21 03:56:06 potentially with more data (such as the value you were trying to set) Jan 21 03:56:13 so to be "safe", would I need... Jan 21 03:56:22 e.printStackTrace(); throw new RuntimeException(e); Jan 21 03:56:27 or just the throw? Jan 21 03:56:30 just throw Jan 21 03:56:35 you either log or throw, never both, never neither Jan 21 03:56:35 will the throw print a stack trace? Jan 21 03:56:38 yes Jan 21 03:56:39 okay Jan 21 03:56:45 almost never neither* Jan 21 03:57:16 So I added the throw. It's like whatever, but it's cool. Jan 21 03:57:31 Better safe than the-nuclear-reactor-is-hijacked-by-a-terrorist Jan 21 03:57:36 it'll at least let you know if it happens, which is better than not knowing :) Jan 21 03:59:18 throwing exceptions and crashing the app is only viable when you have a crash reporting service Jan 21 03:59:31 at least in your release builds Jan 21 04:00:11 which you do want, because the built-in "report crash?" dialog almost never gets used Jan 21 04:01:52 indeed Jan 21 04:01:55 ok, great, it all compiles now Jan 21 04:02:36 Hi, i'm new to android dev, i'm sorry if this question is dumb: i'd like to know if an application can change the files stored in the apk package Jan 21 04:03:34 no, the application does not have write access to the actual apk file Jan 21 04:03:34 soulisson: literally in the apk package: no. it's read-only. if you want to modify and use it, you'll need to copy it somewhere else. Jan 21 04:03:49 Thank you very much :) Jan 21 04:04:27 your application will have a writable directory all to itself, that you can store files in Jan 21 04:05:02 JesusFreke: thanks Jan 21 04:05:34 groxx: I was considering relying on the "Report Problem" thing. Do users just not use it? Jan 21 04:06:10 not really. you'll get _some_, but you can't really rely on it for anything but big breaking bugs. Jan 21 04:06:31 Is there something better I should use? Jan 21 04:06:42 if that's enough: go for it. no permissions, it's built in, the web UI for viewing isn't all that bad. it has its perks. Jan 21 04:07:08 crashlytics/fabric is probably the most full-featured at the moment, or acra if you want to host it yourself. Jan 21 04:07:20 not sure if there's anything better out there Jan 21 04:08:01 TacticalJoke: as an example, we have something like 10,000x more crashes in crashlytics than in the play console. Jan 21 04:08:30 if you have a weirdly technical crowd, your odds will be better, but still. Jan 21 04:09:09 Does it show a "report crash" thing? I'm trying to figure it out with Google. Jan 21 04:09:44 yeah. it's the same thing you get with an app-not-responding -> click report. Jan 21 04:10:37 I see. I wonder why you get thousands more reports with that. Jan 21 04:10:57 oh, another downside to the google crash info: you won't get it for non-google-play devices. so all amazon devices, most chinese, most indian, etc. Jan 21 04:11:24 amazon probably has something similar, but I'm not familiar with it Jan 21 04:11:37 Ah, good to know. Jan 21 04:12:48 I _suspect_ it's just that people are used to hitting "ok" in dialogs. and if they don't, they get a black screen with a bunch of UI that they don't want to deal with to report things, and they're warned about private data, yadda yadda yadda. there's a lot standing between "app crashed" and "told developer about it". Jan 21 04:13:03 and if they hit back or home, it's gone forever. Jan 21 04:13:03 anyone know how to cast a Bundle to a PersistableBundle? Jan 21 04:13:29 n^izzo: they're not the same thing. you can probably _create_ a persistablebundle and copy the data to it, though Jan 21 04:13:56 Hmm, okay. Google doesn't seem to be giving me much info about this. Trying to figure out what's so different with regard to crash reporting. Jan 21 04:15:54 n^izzo: if it _might_ be a persistable bundle, you can check with `if (var instanceof PersistableBundle)`, but in general that will not be true. Jan 21 04:16:43 TacticalJoke: "what's so different"? Jan 21 04:28:57 groxx: cant seem to make a persistableBundle from a bundle Jan 21 04:30:47 hey guys Jan 21 04:30:53 www.twitch.com/babuloseo Jan 21 04:31:01 can someone help me find a way to reduce the code? Jan 21 04:31:13 I am fairly new to Java, so I don't know how to reduce the overhead Jan 21 04:32:13 n^izzo: from looking at the API, they're both instances of android.os.BaseBundle. there's enough info there to loop over all the keys, check their types, and copy the data (and recurse on sub-bundles). it's possible. odds are pretty good though that you'd be better off doing something else - why are you trying to use persistable bundles? Jan 21 04:32:49 is there a way Jan 21 04:32:57 to globally declare what I am trying to do on the stream Jan 21 04:33:06 so that I don't have to copy and paste the same thing for each method? Jan 21 04:34:13 groxx I need to use them because I'm using jobsheduler Jan 21 04:35:16 and to use setextras I need to cast my bundle to a persistable bundle Jan 21 04:42:52 Quick question. How do I restore Android Studio's layout. I have some broken tool windows and logcat isn't showing up Jan 21 04:43:13 matt_j: does cmd-6 bring it up? Jan 21 04:43:31 Yeah but the output is empty. Jan 21 04:43:32 or view -> tool windows Jan 21 04:43:50 but I also have a semi-transparent empty tool window that I can't close Jan 21 04:43:52 there's a square + circle-arrow button to restart logcat, that usually fixes it for me Jan 21 04:43:55 D: Jan 21 04:44:03 running on mac btw Jan 21 04:44:17 I need to, like, reset all user settings or something Jan 21 04:44:18 don't suppose you've turned on floating window transparency in prefs? Jan 21 04:44:51 probably ~/library/application support/something, if you want to just delete that folder for giggles. Jan 21 04:45:12 (not ~/library/application support/ in case you were about to do that. that would be bad.) Jan 21 04:45:14 yeah I"m gonna try that Jan 21 04:46:06 huh. there's not much in there. Jan 21 04:47:14 trying now Jan 21 04:47:18 hopefully my projects don't break Jan 21 04:47:56 ah crap I think it's installing the SDK. Oh well Jan 21 04:48:11 dunno where it stores its preferences :\ I'd _hope_ not in the app package... but it kinda looks like it might, since it's not in the normal ~/library folders Jan 21 04:48:19 yeah it is Jan 21 04:48:26 in ~library Jan 21 04:49:13 is it bad practice to put an Object into a listView tag? How to store 3-4 metadata items in each listView otherwise? Jan 21 04:50:53 matt_j: I see only "availables.xml", "extensions.xml", and some jar thing (closed the folder, names may be incorrect, meh). not enough to store all my changes to the settings. Jan 21 04:50:58 hesperaux: Can't you use a List or something? Jan 21 04:51:44 put a List in the tag? that would technically classify as an object. A hash map would be preferable Jan 21 04:52:25 No, I mean something separate. Jan 21 04:52:25 TacticalJoke: how is your reddit app going ? Jan 21 04:52:29 groxx: http://stackoverflow.com/questions/19384033/how-to-reset-android-studio Jan 21 04:52:33 there's actually a few directories Jan 21 04:52:48 shmoooz: It's going well, thanks. I'm finally used to Android Studio after a couple of days, so I'm back writing code. :) Jan 21 04:52:52 matt_j: https://intellij-support.jetbrains.com/entries/23358108-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs is what i found Jan 21 04:52:56 TacticalJoke, ok, so populate the listview parallel to the List, keeping the indices and Ids related? Jan 21 04:52:58 shmoooz: How 'bout yours? Jan 21 04:53:02 didn't think of looking in preferences, but that makes sense Jan 21 04:53:11 hesperaux: What is that you're storing? Jan 21 04:53:26 TacticalJoke: I haven't done much to it since you saw it, I started playing too much Tribes again ;) Jan 21 04:53:48 haha Jan 21 04:53:54 I went through years of that. Jan 21 04:54:21 shmoooz did you get an extra o in your nick ? Jan 21 04:54:35 TacticalJoke, each list item will have two strings taken from the UI, and possibly a third string (haven't decided yet) Jan 21 04:54:37 maybe i never noticed it Jan 21 04:55:13 hesperaux: What are these strings? Jan 21 04:55:16 g00s: yeah my alternate nicks for when it reconnects add another o for the second and 2 o's for the third alternate nick Jan 21 04:55:29 heh Jan 21 04:55:35 form data entered by the user, TacticalJoke Jan 21 04:55:37 One thing I need to do is move to material and Toolbar (and maybe RecyclerView). Jan 21 04:55:43 My project's code is so volatile. lol Jan 21 04:56:18 TacticalJoke i wouldn't bother rith recyclerview unless whatever you want to do is difficult with LV Jan 21 04:56:31 well - i wouldn't make it a priority anyhow Jan 21 04:56:33 hesperaux: Hmm. Would it make sense for this data to be part of the object that already backs the list? Jan 21 04:56:48 Yeah, I'm just gonna learn about it at first. Not a big priority. Jan 21 04:57:12 "1 star! - uses listview instead of recyclerview" Jan 21 04:57:14 TacticalJoke, sorry, I don't understand what you mean Jan 21 04:57:16 haha Jan 21 04:57:22 haha Jan 21 04:57:24 hesperaux: Your ListView is backed by some kind of list, right? Jan 21 04:57:35 I'll have to leave that review when you release it Jan 21 04:57:37 Would it make sense for those list items to hold the data in question? Jan 21 04:57:41 lol Jan 21 04:58:09 yes, of course Jan 21 04:58:15 (my personal favorites though are [1 star] "best app ever! \n ") Jan 21 04:58:26 the part I was confused about was getting it back out later. From the view object passed to onItemClick Jan 21 04:58:29 I've seen so many Amazon reviews like that. Frustrating even as a reader. Jan 21 04:58:41 Or the hilarious "Terrible. Do not buy" 5/5. Jan 21 04:58:48 lol i've seen that Jan 21 04:59:10 most of the dumb reviews i've seen on amazon are "5 stars, received on time" Jan 21 04:59:21 I hate the 3/5s that say "Just leaving this here as a placeholder until I read the book". Jan 21 04:59:22 I assume you've all read http://www.amazon.com/Tuscan-Whole-Milk-Gallon-128/dp/B00032G1S0 ? Jan 21 04:59:34 Gee, thanks for destroying the rating system for no purpose whatsoever. Jan 21 04:59:51 g00s: oh god yes. product/shipper reviews in the wrong place is so horrible. Jan 21 04:59:52 Yeah, they rate the delivery or whatever. Pointless. Jan 21 04:59:54 TacticalJoke, why would people do that? Jan 21 05:00:06 worst yet, it's like 50% of the reviews Jan 21 05:00:07 I'd not see that, groxx. Jan 21 05:00:29 just name your app 5-Star Jan 21 05:00:31 TacticalJoke: then you're in for a treat. note e.g. the top review: 21,665 of 22,007 people found the following review helpful Jan 21 05:00:32 hesperaux: Humanity always has another surprise up its sleeves. Jan 21 05:00:38 usually a stupid one Jan 21 05:00:40 and people will download it like zombies Jan 21 05:00:42 * hesperaux lols Jan 21 05:00:54 shmooz, that's a good idea Jan 21 05:00:55 shmoooz: that's _brilliant_ Jan 21 05:01:18 It's funny when authors are caught out giving their own books reviews. Jan 21 05:01:21 lol the poem one? Jan 21 05:01:26 Usually they're inept in some way. Jan 21 05:01:41 shmoooz: crap. you've got one competitor: https://play.google.com/store/apps/details?id=com.fivestars.FiveStarsConsumer (next to nobody uses them though) Jan 21 05:02:19 hmmm, maybe they need reverse subliminal mind control, name it 1-Star Jan 21 05:02:32 "Do Not Download this App" Jan 21 05:02:37 haha Jan 21 05:02:41 * hesperaux likes this conversation Jan 21 05:03:17 TacticalJoke, having not actually fleshed out the listview yet, I wasn't really seeing the big picture - keeping a List of thingies and making a custom adapter seems like a very easy way to do this, and just use the index of the item to retrieve the values from the list Jan 21 05:03:29 Right. Jan 21 05:03:35 * hesperaux admits that he forgot the listview would have received the list from the context Jan 21 05:04:15 i'm curious - is there anything from the framework that you don't have to extend to do stuff? Jan 21 05:04:33 hesperaux: startActivity? Jan 21 05:04:37 heh Jan 21 05:04:42 can't think of much else Jan 21 05:04:50 simple widgets I guess Jan 21 05:04:54 The adapter thing is all about lists being really flexible, being able to display all kinds of views for all kinds of data. Jan 21 05:05:13 TacticalJoke, i don't discount that - it's just the number of class files in my project has grown faster than I'd like Jan 21 05:05:31 java :| Jan 21 05:05:35 lol Jan 21 05:05:36 Yeah, subpackages are handy for that. Jan 21 05:05:44 But I hate that too. Jan 21 05:05:50 i never thought to use subpackages Jan 21 05:05:55 that would make sense though Jan 21 05:05:56 I have like six adapters already. Jan 21 05:06:06 And my app hardly does anything. Jan 21 05:06:23 i'm never sure if I should consolidate adapters into less with logic or keep them separate. so far, separate seems easier/cleaner Jan 21 05:06:29 you need a reusable adapter for all Jan 21 05:06:31 TacticalJoke, yeah i've got 3 so far for one activity Jan 21 05:06:33 Yeah, separateness is often the lesser evil. Jan 21 05:06:48 I need a meta-adapter. It adapters all the adapters. Jan 21 05:07:05 the mother of all adapters Jan 21 05:07:10 my theory is that throwing in extra logic into a single adapter will cause all of the adapter instances to slow down slightly. instead of just using the right adapter and having no extra junk in it Jan 21 05:07:24 * hesperaux comes from an embedded C background where one cycle matters Jan 21 05:07:44 i don't have a feel yet for how much CPU is a lot on Android Jan 21 05:07:47 I think that trying to make a single, flexible adapter could entail a maintenance nightmare. Jan 21 05:07:58 arguably any cpu is too much, since it's directly tied to battery life Jan 21 05:08:03 so use as little as you can manage Jan 21 05:08:10 dragorn, that's how I see it too Jan 21 05:08:31 that said you can over-optimize and get such minimal returns it's not worth the time investment Jan 21 05:08:31 Though it's hard to tell what's expensive and what's not, so don't go crazy with optimization. You can profile stuff later. Jan 21 05:08:33 i'm trying not to preclude my efforts for fear of CPU intense code Jan 21 05:08:50 yeah. do what oyu want to get done, first Jan 21 05:08:52 The biggest factor in general, IMO, is code changeability. Jan 21 05:08:56 then figure out what needs to get improved Jan 21 05:08:57 Also readability. Jan 21 05:09:06 yeah Jan 21 05:09:20 TacticalJoke: you sound like your therapist Jan 21 05:09:24 lol Jan 21 05:09:42 I was actually thinking that just then. I'm basically telling *myself* this stuff. Jan 21 05:09:49 and if your app only gets run once or twice a day and you only expect a small amount of time being spent in it, then who cares how much cpu Jan 21 05:10:01 so I have Jan 21 05:10:03 "Pending authentication: please accept debugging session on the device." Jan 21 05:10:03 dragorn, true Jan 21 05:10:09 so far this is the only reusable adapter we've used: https://gist.github.com/Groxx/c461634e65647f399e84 . makes multiple view types based on different types of data less painful (and we have that aaaaalll over the place) Jan 21 05:10:11 But it's authorized Jan 21 05:10:19 I just reset the authorization too Jan 21 05:10:19 hesperaux: Are you on Android Studio? That has some nice performance-profiling stuff. Jan 21 05:10:24 It has a really simple memory manager, for example. Jan 21 05:10:26 I don't know what's going on. Any ideas? Jan 21 05:10:31 I am. I've never profiled before, so.. Jan 21 05:11:24 Interesting, groxx. Jan 21 05:12:07 groxx, that's small code Jan 21 05:12:35 any ideas guys? anyone? Jan 21 05:12:41 I restarted my phone, didn't help Jan 21 05:12:44 * hesperaux has no idea Jan 21 05:13:12 i am debugging with chrome Jan 21 05:13:56 There is a good chance I'll switch to RecyclerView, because the API looks so much nicer. However, it does look kinda annoying in some ways (e.g., having to draw dividers manually), so I'm not sure yet. Jan 21 05:14:32 TacticalJoke: we have objects that bridge data and view-creation, so in the end we're left with a fairly-homogenous API. most of our adapters look like `new BaseAdapter(OneClass.class, TwoClass.class) { getView(etc) { return getItem(position).getView(context, convertView, parent) } }` Jan 21 05:15:11 adding a new type of data -> a new kind of view pool is trivial then. Jan 21 05:15:16 Yeah, that sounds nice. Jan 21 05:18:13 groxx: Totally random question, but I don't suppose you know of any JSON framework whose basic string type is mutable (e.g., a StringBuilder)? Jan 21 05:18:38 TacticalJoke: nope. it would be fairly un-java, I think :) Jan 21 05:18:52 I'm trying to avoid creating some kind of Frankenstein mutable-string monster class. Jan 21 05:19:11 Yeah, it definitely would be. Jan 21 05:19:20 also relatively hard for memory. if you e.g. insert a character, you'd potentially have to shift a crap-ton of data over. so you'd have to copy all the strings into string builders on the assumption that they _might_ be modified... which is wasteful. Jan 21 05:20:19 a while ago I was thinking about trying to build a trie-based "mutable" string thing that would keep the original around while it made sense, and copy when it didn't, and could make e.g. small prefix or suffix changes relatively efficient. but I never got around to it. Jan 21 05:20:25 I guess I'm thinking of something that basically says "Okay, have our original buffer. If you edit this, the entire object is invalidated and anything could happen". Jan 21 05:21:04 I had this idea of exploiting String.substring (which, on Android, returns a view into the original buffer {and not a copy}). Jan 21 05:21:06 TacticalJoke: in principle you could do that by buffering the entire input, and storing offsets in JSONObjects / etc. Jan 21 05:21:10 And JW gave me the idea of using GetChars with that. Jan 21 05:21:12 TacticalJoke: but then you have to buffer the whole input :) Jan 21 05:22:12 I have a very strange problem that I was hoping to get some pointers on. In short, an app fails to load libGLESv3 on Android 4.4.4. I have an identical phone with a different ROM that runs the app successfully. Jan 21 05:22:13 I investigated and found that libGLESv3 (a symlink to libGLESv2) is of permission 644 and visible to non-root user on the functional platform, but is permission 777 and visible to root ONLY on the troublesome platform. This goes against my basic understanding of the Linux permissions! What might I be missing? Jan 21 05:22:27 it'd be interesting to try, for sure. I don't know if it would actually have many benefits though. e.g. if you keep a single copy to a single reference, the whole thing is kept. might make sense in some cases though. Jan 21 05:22:33 groxx: How would I figure out the offsets? Jan 21 05:23:19 Honestly, I am half-tempted to write a custom JSON parser but it'd probably be a huge waste of time. Jan 21 05:23:30 It'd be so nice, though. Perfectly tailored to my use-cases. Jan 21 05:23:43 TacticalJoke: probably parse it by hand. json is pretty easy as long as you do it carefully (e.g. handle string escaping correctly), there's no crap like xml namespaces or schemas to worry about. odds are some existing project would have a decent framework you could build off. Jan 21 05:23:48 Okay. haha Jan 21 05:23:51 I thought you meant that. Jan 21 05:24:17 or maybe one of the tokenizers has a way to get the offset? dunno. Jan 21 05:24:23 Yeah, maybe. Jan 21 05:24:27 tokenizer in a pull-parser, that is Jan 21 05:24:58 maybe it's called something else in json-land. stream parsing, anyway. though I don't know _why_ you'd expose the offset, so I have some doubts. Jan 21 05:25:28 Jackson's stream parser exposes quite a lot. e.g., you can get the original char[] of a string value if you want it. Jan 21 05:26:18 The funny thing is that it says this: "Textual contents are not guaranteed to start at index 0 (rather, call getTextOffset()) to know the actual offset" Jan 21 05:26:24 Talking of offsets. Jan 21 05:26:30 not sure if that'll bite you with multi-byte characters, but yeah :) Jan 21 05:26:35 God, yeah. Jan 21 05:26:51 I wish java was utf-8 :( Jan 21 05:27:00 why would AT&T tell Samsung to use Dalvik by default, instead of ART, on the Note 4? Jan 21 05:27:04 Yeah, it's such a pain. Jan 21 05:27:08 I just noticed this and I'm switching to ART. Jan 21 05:28:08 "The requested URL /devices/tech/dalvik/art.html was not found on this server. That’s all we know." Jan 21 05:28:19 i guess some apps don't work with ART? Jan 21 05:28:20 first link on google is borked Jan 21 05:29:08 i see Jan 21 05:29:18 maybe conspiracy Jan 21 05:29:33 Agamemnus: it's pretty rare that that's the case. I think there might be JNI issues though? though that's largely just related to PIE afaik. Jan 21 05:29:42 The JSON RFC isn't long at all: http://www.ietf.org/rfc/rfc4627.txt Jan 21 05:30:15 TacticalJoke, try reading the SIP RFC Jan 21 05:30:40 or ldap! Jan 21 05:30:45 oh god Jan 21 05:31:14 HTTP/1.1 is really bad. Jan 21 05:31:17 I tried once. good god. Jan 21 05:31:26 "lightweight" my ass. Jan 21 05:31:54 lol Jan 21 05:33:04 sip does seem like it wins though, yeesh Jan 21 05:33:36 One thing that bothers me about the idea of writing a JSON parser is the encoding thing. There's no guarantee of UTF-8, for example. Jan 21 05:33:38 I much prefer http://tools.ietf.org/html/rfc1149 Jan 21 05:34:03 I tried to read SIP once. I barely got anywhere. Picked up a book instead. SIP is ridiculous for what it does... Jan 21 05:34:46 meanwhile, 1149 is pretty reasonable. and has a working implementation: http://en.wikipedia.org/wiki/IP_over_Avian_Carriers#Real-life_implementation Jan 21 05:35:01 lol Jan 21 05:35:04 I guess we just need a second, and maybe we can get an ISO standard Jan 21 05:36:05 Hi I'm using retrofit. The @GET gives an error saying '@GET is not applicable to type'. What's going wrong? Jan 21 05:36:18 put it on the method, not the class Jan 21 05:36:44 groxx, never seen this. Thanks for the lulz Jan 21 05:38:13 Thanks a lot JakeWharton :) Jan 21 05:46:08 How can I style the underline component of an editText? Like in the Fallback accent color section here, they have the underline pink; on mine, the underline is black. http://www.google.com/design/spec/style/color.html#color-ui-color-application Jan 21 05:53:54 how do I style the launcher just post-zygote before the app inflates the first layout? Jan 21 05:56:21 post-zygote? Jan 21 05:56:36 do you mean when the window is created but before the activity onCreate? Jan 21 05:59:50 JakeWharton, yes Jan 21 06:00:02 that's all controlled by the activity theme Jan 21 06:00:18 the window is created and it pulls the window config and background from the theme Jan 21 06:00:33 you can use this to control the action bar, title, colors, etc. Jan 21 06:01:30 got it. I'm using a toolbar. I think I tried to get it all working, but had some issue with anything like an ActionBar in the theme conflicting with Toolbar use Jan 21 06:01:33 bugs Jan 21 06:06:34 is there a way to do anything particularly custom with the activity launch-theme? or are you largely stuck with solid / gradient + the action-bar-like places for color and text? Jan 21 06:14:55 hey guys anyone with BLE experience here. wanted to ask a few questions Jan 21 06:19:25 groxx: that's it Jan 21 06:19:30 you can use images Jan 21 06:19:58 it has to be statically available Jan 21 06:21:45 JakeWharton: yeah. just a bit unfortunate (as a dev) that you can't e.g. make a fake layout of stock views. Jan 21 06:22:18 layouts are slow Jan 21 06:22:18 makes sense from a framework perspective though Jan 21 06:22:28 iOS is the same Jan 21 06:36:17 JakeWharton: yeah, though there the device sizes used to be so constrained, you could do decent pixel-perfect mocks. a little harder for Android. Jan 21 06:36:34 probably a bit rougher now though. bwahaha. Jan 21 06:36:40 haha Jan 21 06:46:56 thepoosh find the cause of the ANR ? Jan 21 06:47:09 Question for anyone willing to help: For some reason my libGLES3.so symlink (permission 777) is only visible to root, and is causing a libGLESv3 not found error. On a slightly different setup, it's somehow permission 644 and is visible to non-root user. Any idea how this is possible? Doesn't this defy Linux file permission basics? Jan 21 06:51:31 Is there a way to remove a single users score from a gpgs leaderboard? Jan 21 06:51:53 My game had a slight error, and sent out a score way larger than it should have. Jan 21 06:53:00 MPixel, Linux symlinks are always 777.the file they point to will have different permissions. which one are you looking at? Jan 21 06:53:51 g00s: just got to work Jan 21 06:53:55 it's 08:53 Jan 21 06:53:59 android studio keeps making me sad. :( Jan 21 06:54:17 you can go to eclipse and see that everything is relative Jan 21 06:54:21 lewellyn: ^ Jan 21 06:54:31 i prefer eclipse. ;) Jan 21 06:55:10 and eclipse doesn't immediately tell me "A new version is available!" in a balloon i can't click to get it... as soon as i install the version freshly downloaded from the web. Jan 21 06:55:42 lol Jan 21 06:55:48 that is google issues Jan 21 06:56:03 works for me when I update that way. Jan 21 06:56:24 the website version is updated less frequently too Jan 21 06:57:09 hesperaux_: 1) i shouldn't be having to update *immediately* on a fresh install. that's sloppy. 2) i can't get the the balloon to do anything other than close. how do you make it do something useful? Jan 21 06:57:13 What is the best way to send messages to the main activity from a BroadcastRecever Jan 21 06:58:42 lewellyn, I agree, but I think it has to do with defaulting to dev channel or something for in app updates. you can go to help and check for updates or whatever and update it that way. most updates are small Jan 21 06:59:16 for me the balloon in the top right of the app works when I click update Jan 21 06:59:24 yeah. it doesn't make writing install docs for a team more pleasant though. Jan 21 06:59:34 Heh Jan 21 07:00:46 i have the autosuggest bubble always popping up over my cursor Jan 21 07:04:24 so, anyone have suggestions Jan 21 07:05:03 I got it! I'm going to make a new line of selfie-sticks called Narcis-stick! Jan 21 07:05:12 JakeWharton, is it true that you have to restart the device before window themes will be applied to the launch windows? Jan 21 07:06:50 shmoooz i'd move on to the Narci-drone Jan 21 07:07:02 hesperaux_ libGLESv3 is a symlink for libGLESv2 as per Android convention. I'm not sure why it ended up as 644 on the retail ROM, nor why it's 777 status renders it invisible to normal user on the custom ROM >.< The libGLESv2 target is 644 on both platforms and has a matching MD5 but only works on the retail one and not on the custom ROM. Jan 21 07:08:06 MPixel, if the target permissions are the same, I'm not sure what's going on there. I suspect something with selinux Jan 21 07:08:20 g00s: ohhh good idea! A hovering drone that always takes nice shots of you following you like a paparazzi Jan 21 07:08:39 I don't use selinux on my boxes, so I'm not familiar with what it does or how to control it. I know that some custom roms like to mess around with it, though. Jan 21 07:08:55 I have a Toolbar in place of an ActionBar...can I put drawables into the theme used on the activity? Jan 21 07:08:59 shmoooz, it's good because of the name. lol Jan 21 07:09:14 I would call it Paparazzi, or The Director Jan 21 07:09:28 Narcis-stick was more punny though Jan 21 07:09:52 drones are better than sticks cause they free both your hands Jan 21 07:10:03 ooOoo, two hands free eh? Jan 21 07:10:07 and look like you are from the future Jan 21 07:10:14 g00s: did you see the NASA image? Jan 21 07:11:59 thepoosh nope Jan 21 07:12:04 it's amazing Jan 21 07:12:12 4.8 GB image Jan 21 07:12:19 400K resolution Jan 21 07:12:45 ArrayAdapter doesn't have a bindView? Jan 21 07:12:59 thepoosh i wonder if android could handle that bitmap :D Jan 21 07:13:02 hesperaux: bindView is only in CursorAdapter Jan 21 07:13:06 LOLLL Jan 21 07:13:16 Can't seem to get anything other than a solid white block flying at the user on window creation Jan 21 07:13:20 You asked for an OpenJDK 7 build but your version is <--- erm NO... i didnt ask for anything. Jan 21 07:13:23 hey g00s im working on reverse engieering my gear fit. What do i do with a service Uuid? Jan 21 07:13:34 and my JAVA_HOME is set to /opt/oracle..... Jan 21 07:13:43 why is it not using oracle java 7? Jan 21 07:13:46 hesperaux Any idea how SELinux could be screwing with the permissions? What's strange is that even when I rm and recreate the symlink the problem and symptoms persist. Jan 21 07:14:04 or a nice dark grey block Jan 21 07:14:04 jareddlc a service uuid? you ask the gatt client for the service having that uuid, and then you do stuff on the characteristics and descriptors Jan 21 07:14:08 this is kind of annoying Jan 21 07:14:18 g00s: http://youtu.be/udAL48P5NJU Jan 21 07:14:19 MPixel, sorry. Like I said, my knowledge of selinux is extremely limited. It was just a possible avenue for you to explore to see if it is capable of messing with you there. Jan 21 07:14:25 so my watch only returns only one service Jan 21 07:14:29 is the any way to make the starting window on cold starts a little better? Jan 21 07:14:36 once i connect i do discoverServices Jan 21 07:14:44 its confused, it thinks oracle java 7 is openjdk 7 Jan 21 07:14:58 then i do gatt.getServices(), which only grabs 1 service Jan 21 07:15:18 hesperaux got it, thanks for the advice. Jan 21 07:15:20 do i use that service to perform actions on my device? Jan 21 07:15:24 np Jan 21 07:15:24 i mean could that be used for it? Jan 21 07:16:00 how do i make my android source build use oracle java 7 ? Jan 21 07:16:11 its confused. it thinks im using openjdk 7 Jan 21 07:16:22 i dont even HAVE openjdk 7 Jan 21 07:17:09 jareddlc yeah thats what it is for Jan 21 07:17:19 thepoosh cool thanks Jan 21 07:17:26 it's amazing Jan 21 07:17:42 awesome thanks g00s. I tried using an online tool that will extract files from an apk Jan 21 07:17:56 i was able to get java files, which seems to be smali? Jan 21 07:18:21 but darn, the gear fit is an ugly device as far as i can tell :( Jan 21 07:18:26 i dont really know anything about reversing / pulling apart apks Jan 21 07:18:28 in terms of trying to figure out what it does Jan 21 07:18:42 it appreas to send the entire data to the watch via BT Jan 21 07:18:57 and if you dont pair with the app, the watch wont work :{ Jan 21 07:19:04 anyone? Jan 21 07:19:06 its probably encrypted yeah Jan 21 07:19:23 well, hopefully Jan 21 07:20:26 hello? Jan 21 07:20:39 knapper_tech: no Jan 21 07:21:16 good. checking it off the list Jan 21 07:22:03 awesopme thanks g00s atleast im heading in right way maybe :) Jan 21 07:22:10 hows your project coming along? Jan 21 07:22:28 jareddlc do they give you any specs ? because if not, it will be hard knowing what is what Jan 21 07:22:47 you'll have to parse characteristics, which could just be byte blobs Jan 21 07:22:58 g00s: nope. im blind unfortunately. they havent event relased an app for lollipop which I am on Jan 21 07:23:23 good luck, for science :D Jan 21 07:23:46 Is there a way to add column names to a grid view Jan 21 07:24:29 yeah. I started a thread on xda to see if anyone was even remotely interested in a os gear fit application Jan 21 07:24:40 like 400 views, only 4 responses lol Jan 21 07:25:24 so then on this service, i should call getCharacteristics then right? Jan 21 07:26:32 you can Jan 21 07:27:18 then try to read one, you will either be (1) OK or get GATT_INSUFFICIENT_AUTHENTICATION or GATT_INSUFFICIENT_ENCRYPTION Jan 21 07:28:21 alright going to try to iterate over it. let me write some code Jan 21 07:29:14 use getValue? Jan 21 07:29:27 well i guess i'll try to to get everything Jan 21 07:38:15 ok so I want to send a message to my main activity like this but less hacky http://stackoverflow.com/questions/8570823/how-to-send-data-to-a-running-activity-from-broadcast-receiver Jan 21 07:47:14 classic google javadoc : BluetoothGattCharacteristic (UUID uuid, int properties, int permissions) Jan 21 07:47:23 properties Properties of this characteristic Jan 21 07:47:30 permissions Permissions for this characteristic Jan 21 07:47:44 yeeaaah now its clear Jan 21 07:49:50 does anyone else get annoyed by the automatic Settings menu item in a generated blank activity in android studio? is there a way to disable this? Jan 21 07:50:11 it even adds a new "Hello world" entry to strings.xml every time you create a new activity o_o Jan 21 07:50:46 g00s: man I spent like 48 hours trying to reverse engineer my BLE motorola keylink. Decided that shit was hard and gave it a rest. I found a book on Safari Books online a little useful. Jan 21 07:51:28 I was really really uncomfortable using the standard motorola app due to the permissions and GPS ability. Jan 21 07:52:15 so I gave it to my grandma, I'll use TI's CC2540 next time I want to do something with BLE. Jan 21 07:52:28 awesome acid jazz song https://www.youtube.com/watch?v=BjYIn7TClv0 Jan 21 07:52:39 givemefive911 yeah i have a few books, i think robin heydons is the best. givemefive911 so have you poked the android BLE apis then ? Jan 21 07:53:28 nothing that i'd be helpful with. I mostly was looking through capture logs and other people's source. Jan 21 07:53:57 ah, ok. yeah - ble is pretty simple, the android abstraction over it is terrible though Jan 21 07:54:13 What do you want to use the CC2540 for? Jan 21 07:54:26 i spent 2 weeks learning the protocol, and all the time after that dealing with buggy android crap Jan 21 07:54:41 g00s: i got permission 0 Jan 21 07:54:44 but i dont see it in the docs Jan 21 07:55:11 givemefive911 i'd use something based on nRF51822 - the CC254x have 8051 cores lolllll Jan 21 07:55:29 also got PROPERTY_INDICATE Jan 21 07:55:33 Moreover, they have a closed source stack, proprietary compilers, Jan 21 07:55:35 i think there was a 51822 + ARM m0 somewhere Jan 21 07:55:49 WRITE_TYPE_DEFAULT Jan 21 07:56:19 Halfwit yeah, the compilers are pretty expensive Jan 21 07:56:24 $3000 Jan 21 07:56:31 But you can have a month trial on it Jan 21 07:56:32 i did some research on chips g00s on chips, it was the nRF, CC, Broadcoms, and Bluegiga Jan 21 07:56:44 cheapest was TI, then nRF, Jan 21 07:57:05 i unded up buying the Broadcom.. and have the dev kit. :( anyone wants it' ill sell it for cheap Jan 21 07:57:22 I'm really not set on any hardware, suggestions would actually be great. I really want to correctly implement a usb keyboard bridge that could switch between multiple computers, kind of like the logitech k480 but just a bridge and with encryption Jan 21 07:58:24 From the forums I was reading, the nRF looks to be the decision most are going with, from a development standpoint Jan 21 07:58:38 givemefive911: what are you looking for? price? power? features? Jan 21 07:58:40 is there an easy way to implement the swipe-left/right to delete row for a listView? Jan 21 07:59:11 As an aside from this conversation, is anyone using Arch Linux? Jan 21 07:59:24 I use archlinux - not for android dev though Jan 21 07:59:51 hesperaux: https://github.com/romannurik/Android-SwipeToDismiss Jan 21 07:59:53 Oh ok. I'm having permissions annoyances, I'll just google it Jan 21 08:00:10 sudo Halfwit xD Jan 21 08:00:15 Nordic makes a bluetooth transceiver? didn't know that, but i'm not surprised Jan 21 08:00:18 <3 nordic Jan 21 08:00:21 chmod + chown all the things Jan 21 08:00:35 they were involved in the design of the protocol, its probably one of the most robust implementations Jan 21 08:00:40 * hesperaux recommends not simply chmod -R a directory Jan 21 08:00:50 you have to decide if their soft-brick thing works for you though Jan 21 08:01:19 I think I forgot to chown /android-studio Jan 21 08:01:20 * hesperaux wants a bluetooth transceiver that is separated from the processor Jan 21 08:01:30 I'd like to bring my own MCU and control the radio with SPI Jan 21 08:01:57 givemefive911, thanks for this Jan 21 08:02:07 hesperaux: rm -rf / prblem solved Jan 21 08:02:18 lol Jan 21 08:02:31 i use docker, so thats fine :) Jan 21 08:02:41 coreOS + docker containers Jan 21 08:02:48 hi, I have a line like: if (bundle.getBoolean("foobar"), false) {, but foobar doesn't exist. So is it right that I get java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String)' on a null object reference ?!... shouldn't it be just false? Jan 21 08:05:03 jareddlc: I really have no idea what I"m talking about as far as BLE, but I'd like to hold 128bit aes HID connections active on multiple devices and as long as I can power it from a usb hub I'd be fine. Price doesn't matter a whole lot but an open development community and good resources would be nice. Jan 21 08:06:39 hey Odaym sorry to bug you again, about the SGS4 / connectGatt on UI thread - is that the only method you worried about, or do I have to do discoverServices / disconnect on UI thread also ? Jan 21 08:06:43 thats far beyond me capabilites. I tried USB once. NOPE. as far as i can tell. Im using hm-10 module which uses TI CC2254 and i only use it for commucation, my micro does all the heavy lifting Jan 21 08:06:45 That's the main reason I went with the CC2541, I was going to use it for an HID device; it just turned into a huge headache Jan 21 08:07:20 g00s: is permssion 0 no permission? Jan 21 08:08:04 Halfwit: I'm based in Dallas/UTD so I'm always inclined to look at TI first but I really haven't done a lot with their stuff besides MSP430. Jan 21 08:08:34 nah just the connect was troublesome, all the rest went along just fine Jan 21 08:08:52 givemefive911: They are claiming that the newer iterations will be much more developer friendly, so here's hoping we can go back to them soon Jan 21 08:09:08 Odaym ok thanks. now the BluetoothGattCharacteristic ... did you ever just instantiate this with a UUID and try to read w/o doing service discovery ? Jan 21 08:09:26 no Jan 21 08:09:35 ok - thanks again ! Jan 21 08:09:36 always initialize > service discovery > etc. Jan 21 08:10:01 Halfwit: what's the ETA on that, do you know Jan 21 08:10:14 givemefive911: msp430 is so underpowered.. i always had isues with serial :) Jan 21 08:10:16 Also, chmod chown didn't do a damn thing. back to sudo for -sdk updates. Jan 21 08:10:48 all the interesting books are expensive :( http://www.artechhouse.com/Main/Books/Inside-Bluetooth-Low-Energy-2072.aspx Jan 21 08:10:50 * hesperaux recommends STM32 Jan 21 08:10:54 givemefive911: Honestly, I was reading a long forum discussion about the CC254x, and the TI reps had only mentioned that they were coming, I hadn't looked further into it yet Jan 21 08:11:03 g00s: easier to paste :) Jan 21 08:11:03 https://gist.github.com/jareddlc/13052e11f27b67cb32f9 Jan 21 08:11:47 also someone just mentioned they use 8051, those are old i suppose? Jan 21 08:12:01 and 8 bit Jan 21 08:12:28 Mhmm Jan 21 08:12:46 8051 is ancient Jan 21 08:12:56 hahah probably thats why there so cheap Jan 21 08:12:59 but i cant complain Jan 21 08:13:04 my 97 dodge truck probably has 8051 controlling the fuel injectors Jan 21 08:13:05 My little CC2541 unit is likely going to be just a toy Jan 21 08:13:06 ARM is cheap as well Jan 21 08:13:10 im using it with the HM-10 module, becuase i wanted to develope fast Jan 21 08:13:26 my next one was either nRF or CSR Jan 21 08:13:38 jareddlc: That was my thought going in, but I hit a wall of TI shit that I never expected from them Jan 21 08:13:49 but i choose broadcom becuase i want to an BLE Meetup in bayarea and the broadcom rep promised me it was easy... Jan 21 08:14:00 what is the Nordic BLE transceiver part name? Jan 21 08:14:01 jareddlc he never used android haha Jan 21 08:14:07 Halfwit: but im using HM-10 module Jan 21 08:14:18 which means i communicate with it via UART Jan 21 08:15:13 hesperaux: i think nrf51822 Jan 21 08:15:27 k. I'm gonna have to pick one up soon. Wanna try that Jan 21 08:16:28 http://www.ebay.com/itm/NRF51822-Bluetooth-Module-Networking-Module-Wireless-Communication-Best-/171505095639?pt=LH_DefaultDomain_0&hash=item27ee8013d7 Jan 21 08:17:22 hesperaux: i think dev kit is like $60 im not sure Jan 21 08:17:32 i forgot i had it all down in a spreadsheet for my research Jan 21 08:17:36 i never buy dev kits from OEM Jan 21 08:18:12 xD Jan 21 08:18:20 do you end up making your own breakout? Jan 21 08:18:36 nah, I buy cheap ebay adapters Jan 21 08:19:08 it takes a little extra work to get things working, but I'm poor Jan 21 08:19:19 sounds like you need to write a blog post.. Jan 21 08:19:51 hesperaux: that is fine, Jan 21 08:20:10 givemefive911: who? Jan 21 08:20:53 wow hesperaux thats good price for it Jan 21 08:20:55 hesperaux for his ebayed dev kits Jan 21 08:20:58 i might buy it xD for my next project Jan 21 08:21:02 lol Jan 21 08:21:37 did I just get lucky to find a lot of bluetooth guys on at this time? whats a good channel to idle in for bluetooth Jan 21 08:21:46 there isn't always a knockoff available - if there isn't, I usually pick something else. But I'm being really vague about what kind of "dev kits" we're talking about Jan 21 08:21:54 * hesperaux doesn't know Jan 21 08:21:55 givemefive911: no idea, i usually ask all my bt questions here Jan 21 08:22:16 I haven't done any BLE yet. Just regular BT for a device. Used a UART<>BT adapter board (HC-06) Jan 21 08:22:36 I have an HC-05 somewhere in this mess of a room Jan 21 08:22:39 during work times you can find my with same name on, angularjs, nodejs, ubuntu, docker, coreos, rackspace, gs4, ansible Jan 21 08:22:42 But I'm just learning, really. Jan 21 08:22:49 hey, how can I make my appbar's up button add an extra string to the intent? Jan 21 08:22:53 haha Halfwit i started my current project with hm-05 then upgraded to 10 Jan 21 08:22:55 I forget which ones of the HC-* have master/slave capability Jan 21 08:23:01 not 05 Jan 21 08:23:03 06+ Jan 21 08:23:08 ^ Jan 21 08:23:17 yeah, I think 04 and 05 are master or slave, each Jan 21 08:23:29 05 uses CSR chip Jan 21 08:23:42 I fixed my permissions, now I can dev on this machine. Hurrah. Jan 21 08:23:48 woo Jan 21 08:24:04 good job Jan 21 08:24:11 * hesperaux is supposed to be dev'ing right now Jan 21 08:24:29 why doesn't anyone in the retail market implement the encryption specified by bluetooth 4.0? Jan 21 08:24:38 are they lazy or is just technically difficult Jan 21 08:24:43 probably both Jan 21 08:25:24 "It's not the government, so nobody will care if we make insecure embedded products" Jan 21 08:25:34 Is the nRF51 compilable fully open sourced? Jan 21 08:25:45 no Jan 21 08:25:53 from what I just read, the BT stack is binary Jan 21 08:25:55 Shit like this pops up: http://samy.pl/keysweeper/ Jan 21 08:26:15 givemefive911, exactly - pisses me off Jan 21 08:26:32 lol givemefive911 yup Jan 21 08:26:45 they just dgaf Jan 21 08:27:11 that looks like an NRF24L01+ board Jan 21 08:27:15 is that what MS uses? Jan 21 08:27:41 I'm going to read a few blogs on developing for it. Normally people are not loathe to air their frustrations Jan 21 08:29:14 gluck Halfwit always fun to take on new projects Jan 21 08:29:47 I want to make an external input device for wearables, should prove interesting. Jan 21 08:30:06 wow this is a very interesting post givemefive911 Jan 21 08:30:16 i was wondering if I could s niff the nRF protocol Jan 21 08:30:28 it would be convenient for debuggin Jan 21 08:30:36 alright guys im heading out Jan 21 08:30:43 peace Jan 21 08:30:44 thx g00s for the help Jan 21 08:32:02 hesperaux: yeah.. after I get done with my work this week I'm going to spend the weekend looking at it Jan 21 08:32:12 * hesperaux has too much crap to do as it is Jan 21 08:32:27 jareddlc sorry, i'm learning too Jan 21 08:32:37 Halfwit: what kind of input? Jan 21 08:32:55 lol no, i mean i appreciate your help Jan 21 08:33:06 anyways cya Jan 21 08:33:09 sleep time Jan 21 08:34:49 givemefive911: Touch input, kind of akin to what you can do with the side of Google Glass, you can swipe up down left right, etc Jan 21 08:36:12 ah. I want https://hellonod.com/ Jan 21 08:36:17 Have you seen that Jan 21 08:36:34 Is that the air writing one? Jan 21 08:36:41 Yeah I have seen it. Jan 21 08:37:13 Mine will likely be a ring, but not that damn complex. Just take the little touchpad on the side of glass, slap that on a ring, that's what I'm trying to do. Nothing this fancy Jan 21 08:37:49 Like what he's doing at :50 in the movie Jan 21 08:52:13 Odaym interesting how the nordic master control panel has an option for 'clear device cache' - but i never found a way to do that without resetting the BT adapter - which they do not Jan 21 08:52:35 Hello I am a beginner, I need to consult on creation of GUI features for Android app would appreciate some guidance Jan 21 08:52:37 would have been great if the devs blogged about their findings, the app seems pretty robust - wonder if its special trickery or what Jan 21 08:53:01 cmdr_Red can't consult on what you dont' know Jan 21 08:54:16 g00s: definition consult: to seek advice or information from; ask guidance from: Jan 21 08:58:05 givemefive911, that swipe to dismiss code is golden Jan 21 08:58:25 yes and it's ported all the way back with 9old. Jan 21 08:58:36 and someone ported it forward to work with recyclerview Jan 21 08:58:41 for now i'm not supporting old androids Jan 21 08:59:02 and i've never used recyclerview, but both those facts are good things Jan 21 09:08:45 Good Day : D I am looking for a way to develop android apps on an android tablet. Jan 21 09:10:34 hesperaux: I found this article to be a helpful intro. The sample code is nice because both implementations exist. http://www.bignerdranch.com/blog/recyclerview-part-1-fundamentals-for-listview-experts/ Jan 21 09:12:23 yeah bignerd has part 2 and 3 i think Jan 21 09:12:30 one of the better rv tuts Jan 21 09:13:25 givemefive911, bookmarked it. looks good Jan 21 09:14:54 hmm, no Filterable interface huh? Jan 21 09:20:04 hesperaux: u gotta implement that in your adapter or extend an abstract class like this one https://gist.github.com/Shywim/127f207e7248fe48400b Jan 21 09:21:44 I've never had this little trouble utiziling other people's code than with this swipeToDismiss stuff...this is great Jan 21 09:22:36 that's not so bad givemefive911 Jan 21 09:40:12 alright guys, I'm headed to bead Jan 21 09:40:15 bed, that is Jan 21 09:40:34 * hesperaux waves cordially Jan 21 09:43:52 Hello, I'm trying to use Sugar Orm but for some reason it doesn't initialise my tables Jan 21 10:17:15 <_genuser_> do we have to keep passing context around to object that need it? can't we just get a reference to it from some global object? Jan 21 10:21:26 in AS is there someway I can not make gradle build every time I debug my app? Gradle is slow f-ing slow Jan 21 10:25:28 _genuser_: http://possiblemobile.com/2013/06/context/ Jan 21 10:28:01 <_genuser_> xgearx: thanks. reading. Jan 21 10:30:37 <_genuser_> argh, this whole context business sucks. but I see the articles clarifies what I need to do to save it. so maybe not that annoying in the end. Jan 21 10:31:06 should interfaces be kept in their own file, or can i somehow put them in the class they’re associated with? Jan 21 10:35:23 <_genuser_> ultra-: probably a good idea to put them inside the class they're related to. helps organize and create less files. Jan 21 10:37:01 Hey my android studio is panicking and now im panicking Jan 21 10:37:10 does anybdy know why my emulators wont Jan 21 10:37:18 work im sure its something simple Jan 21 10:37:18 ok, thanks Jan 21 10:37:25 How do I turn off gradle from building every time I debug my app in AS? Jan 21 10:37:40 seriously i dont have time to wait for gradle. it's too slow and useless Jan 21 10:38:18 <_genuser_> MartialLaw: are you running the same version again and again without making changes? Jan 21 10:38:28 <_genuser_> otherwise, wouldn't you need to have it compiled each time? Jan 21 10:39:21 of course i am making changes.... hence the debug Jan 21 10:39:41 I really don't have time to wait for gradle right now Jan 21 10:39:52 i'm playing games just waiting for it to finish Jan 21 10:40:11 Ok Im sorry you're having to wait I can't help though as im not familiar with gradle Jan 21 10:40:20 could you tell me why my emulators arent working? Jan 21 10:40:24 i have all the time in the world Jan 21 10:40:58 probably because you are using the emulator in the first place. Seriously, does everybody here use the AVD? that's INCREDIBLY slow Jan 21 10:42:57 Starting emulator for AVD 'Nexus_5_API_21' Jan 21 10:42:57 PANIC: Could not find Nexus_5_API_21.ini file in $ANDROID_AVD_HOME nor in $HOME/.android/avd Jan 21 10:43:02 <_genuser_> I was using the emu for a long time. then moving the .apk to a server and copying it over wifi to my phone. Jan 21 10:43:24 <_genuser_> finally installed the samsung drivers for my phone. so now direct phone dev over usb cable. Jan 21 10:43:47 that sounds ideal genuser Jan 21 10:43:57 have you ever come across the error im experiencing Jan 21 10:44:38 <_genuser_> emulator error? no, I haven't seen that before. whenever an emu misbehaved, I just created a new one and went off to code. Jan 21 10:46:06 Ive trying a few variables theres a note that windows struggles emulating ram over a certain point but that point is fairly low Jan 21 10:46:24 768M should i keep it under that for device memory? Jan 21 10:47:32 <_genuser_> on my emu the ram size is 512, and it's never given problems. Jan 21 10:48:17 Hello guys, do you know how to dynamically set color to an item of an AlertDialog ? Jan 21 10:48:43 <_genuser_> color of the alertdialog? as in the theme or color of the text? Jan 21 10:48:58 i can set background for whole items like that ((AlertDialog) dialog).getListView().setBackgroundColor(color), but i want to set for only one item, with a known position Jan 21 10:50:00 _genuser_: background color of an item Jan 21 10:51:06 <_genuser_> oh, can't you set the background by doing itemReference.setBAckgroundColor(R.color.); ? Jan 21 10:51:51 i only have item position Jan 21 10:52:54 getListView().getChildAt(position).findViewById(....) Jan 21 10:53:35 <_genuser_> err, what he said. Jan 21 10:54:49 <_genuser_> I have two-three options objects and each is reading from sharedprefs and I'm just thinking I should consolidate them all. Jan 21 10:55:06 <_genuser_> but each is specific to it's own crap and I also don't like throwing all teh crap in one bucket. Jan 21 10:55:18 <_genuser_> eh, confusing. sort of. Jan 21 10:56:03 man o man AS is filled with memory leaks Jan 21 10:56:42 <_genuser_> isn't it an ibm thing? Jan 21 10:56:45 MartialLaw: getChildAt was what i was looking for, thx :) Jan 21 11:01:28 hey , I am trying to make alarm manager to work , but it doesn't show the toast at the designated time , http://pastebin.com/PhEapEAu Jan 21 11:03:50 i cant get android studio to make my apks , it just says local path doesnt exist Jan 21 11:03:53 any ideas? Jan 21 11:05:12 seems pretty buggy still, still better than eclipse lol Jan 21 11:17:09 any good way to blur background on a transparent toolbar so that any view behind it becomes blury? Jan 21 11:17:30 i’m extending BroadcastReceiver to detect changes in the network connection, but i need to do some things at startup and i don’t understand how to override the constructor Jan 21 11:20:47 Do i need always put Bitmap.decode in try catch with OOM even if use in sample size and other manipulations (like in this post http://developer.android.com/training/displaying-bitmaps/load-bitmap.html)? Jan 21 11:30:45 Hey guys, I'm currently developing an app and planning on putting it on play store but am pretty confident that my current layout will break on different screen sizes as it uses hard coded dp sizes. I was hoping someone could tell me some useful hints/tips of how to lay things out so Android does the majority of the work of styling it all? Example xml -> http://pastebin.com/EiJRH59d Jan 21 11:33:15 Timaah21: http://developer.android.com/guide/practices/screens_support.html Jan 21 11:36:07 And with regards to testing? Is there some site out there that shows what it looks like on a series of devices? Or am I just going to have to create a ton of emulators and run them in all? Jan 21 11:36:28 I've had issues before when using screen-specific layouts that it looks different on same screen-sized devices Jan 21 11:37:56 Hello Jan 21 11:38:37 How can I obtain that package manager grants me the permissions used in android manifest? Jan 21 11:38:48 Timmaah21: you could use uiautomatorviewer Jan 21 11:38:51 Any ideas? Jan 21 11:39:00 Timmaah21: it's in the android sdk Jan 21 11:39:04 http://developer.android.com/tools/testing/testing_ui.html Jan 21 11:39:05 cristian_c, it's automatic Jan 21 11:39:33 adq, but I've read in the logcat that package manager doesn't grant me the permission Jan 21 11:39:45 if you forgot to declare appropriate permission, your function depending on it will not work Jan 21 11:40:07 so you forgot to declare the corresponding permission (should be explained in the logcat which one) Jan 21 11:40:13 Isn't that more for UI interaction as opposed to UI layout though, MartialLaw ? Jan 21 11:40:22 adq, ok, but I've added the uses-permission element in the manifest Jan 21 11:41:05 adq, logcat tells me that package manager doesn't grant me the permission Jan 21 11:41:20 ahh mayb you ask for a system permission Jan 21 11:41:38 adq, I think Jan 21 11:41:39 thus you will not have it, even if you declared it because they require a signature from google or trusted parties Jan 21 11:42:03 adq, so, how can I solve, in particular? Jan 21 11:42:17 adq, I know that many apps use these permissions Jan 21 11:42:25 adq, external storage permissions Jan 21 11:42:31 there are several protection level, signature and signatureOrSystem yo cannot do anything about it Jan 21 11:42:39 but external storage permission is ok, Jan 21 11:42:41 adq, level 18 Jan 21 11:42:45 in the logcat Jan 21 11:42:52 nono protection level is not API Jan 21 11:43:14 adq, Jan 21 11:43:16 http://developer.android.com/guide/topics/manifest/permission-element.html read about it here Jan 21 11:43:37 adq, I've not to restrict or to add new permissions Jan 21 11:43:42 http://developer.android.com/reference/android/Manifest.permission.html#MOUNT_UNMOUNT_FILESYSTEMS Jan 21 11:43:46 Not for use by third-party applications <<< ! Jan 21 11:43:49 but using an existing one Jan 21 11:43:59 adq, I know that many apps use these permissions Jan 21 11:43:59 adq, external storage permissions Jan 21 11:44:11 it's another one for external storage you need Jan 21 11:44:22 some developers write code that use these APIs Jan 21 11:44:26 READ_EXTERNAL_STORAGE & WRITE_EXTERNAL_STORAGE Jan 21 11:44:32 ahhhhh Jan 21 11:44:34 ok Jan 21 11:44:39 sorry Jan 21 11:44:44 read the doc :) see the two links above Jan 21 11:44:46 no pb cristian_c Jan 21 11:44:58 I always read many doc Jan 21 11:45:05 :) Jan 21 11:45:08 it's very big ;) Jan 21 11:45:34 and I always search in google (often without many results :() Jan 21 11:46:08 ok, I'll read the linked doc better Jan 21 11:46:47 Similar question.. is there some way of getting the action bar to show in android studio preview? Jan 21 11:48:05 nvm.. seems like it's an open defect; https://code.google.com/p/android/issues/detail?id=78944 Jan 21 11:48:53 do kitkat and lollipop share the same action/app bar icons? Jan 21 11:58:50 <_genuser_> can you not add new items like R.keys.* ? just like R.string.*, R.id.*, R.color.* ? Jan 21 12:03:06 _genuser_: why woudl you? Jan 21 12:03:42 <_genuser_> Darkwater: well, mr. water because I'm trying to put some key names in a file separate instead of in the strings.xml file. Jan 21 12:04:04 <_genuser_> I was also going to just create constants in a class, but I figured a true resource would be handy-ier. Jan 21 12:05:53 need video calling facility in my android app, ideas? Jan 21 12:06:19 _genuser_: oh never mind, misinterpreted your question Jan 21 12:07:01 <_genuser_> Darkwater: oh, I thoguth you were going to tell me a better alternative, lol. Jan 21 12:07:36 <_genuser_> recommendations? go with contstants in a file? I like to have the key names in a constant so read/write key names are all from the same source. Jan 21 12:10:17 _genuser_, I've been defining constants in a dedicated class for a similar purpose. Jan 21 12:10:39 but I suspect it's not accepted or recommended practice. Expediency. Jan 21 12:11:01 I'll be watching for anwares to your inquiry if it spawns discussion. Jan 21 12:11:02 <_genuser_> I see. thanks for your input. I'll probably do the same thing. Jan 21 12:12:09 _genuser_, FWIW, some of the aforementioned constants migrated to R. resource files, when Jan 21 12:12:35 I defined related resources when I was shuffling code around. Jan 21 12:12:48 But I haven't (yet) eliminated them all. Jan 21 12:26:27 <_genuser_> FlipBill: I see. Jan 21 12:27:05 <_genuser_> interesting, a static variable in an object retains it's value even tho, I recompile the unit and re-install. Jan 21 12:27:47 _genuser_, u mean a change due to source edit is not observed? Jan 21 12:28:07 If so, I suspect you are overlooking something. Jan 21 12:29:04 hi ! Jan 21 12:29:36 <_genuser_> FlipBill: no, I made a mistake. I was re-running it expecting it to recompile/re-install. but it only does that when src is changed. Jan 21 12:30:04 WHat are you using? Android Studio? Jan 21 12:30:47 I'm runnning emulators/deivces outside of IDE, so not familiar with fully-integrated behavior. Jan 21 12:31:11 * FlipBill leaving office for 25 mins Jan 21 12:31:29 <_genuser_> running eclipse for now. Jan 21 12:36:56 I want to make a android app on www.mp3skull.com , Jan 21 12:37:20 how can i get that fkch value that the url shows after the first search ? Jan 21 12:37:46 You do realize that they pirate music. Jan 21 12:38:38 yep , i am not going to publish it on the play store , its just something i am learning Jan 21 12:38:51 does any one of you know a widget for a countdown timer (implementing the timer, I don't want to handle n thread to handle each countdown) Jan 21 12:38:56 ? Jan 21 12:39:42 donniezazen, : I am just interested into knowing how do we solve these kind of problem , suppose i want to make an app that has a search widget and shows the list view of all the possible hits Jan 21 12:41:14 genuser,I thought they stop use eclipse for android? Jan 21 12:42:02 perlsyntax, : Google has turned Android Studio 1.0 as thier official IDE i think Jan 21 12:42:18 perlsyntax, : Android Studio is better and Stable I guess, Jan 21 12:42:33 jackum,I think so to. Jan 21 12:43:15 jI think got more tool then xcode or it the same. Jan 21 12:43:26 perlsyntax : Intellij is superb , Eclipse has cluttered UI and UX Jan 21 12:43:39 i see Jan 21 12:43:58 perlsyntax, : Android Studio is much more polished and provide extra features . Jan 21 12:44:15 lol , I am just a noob , Teaching Everybody , Jan 21 12:44:27 can anyone tell me how to solve my problem ? Jan 21 12:44:29 i didn't know that.I am newbie to jackhum. Jan 21 12:44:55 I got alot to learn. Jan 21 12:45:13 perlsyntax, : lol , Even I am a noob , just started to learn it today. Jan 21 12:45:53 jackhum,Really i been doing alot of reading on java android.:) Jan 21 12:46:16 no problem , do you know how to solve my problem ? Jan 21 12:46:49 jackhum,Not really i still new at prgramming in java. Jan 21 12:46:55 Could someone look at http://pastebin.com/eYhRznpy, and tell me why my children of that object ain't getting centered in the bottom of the screen, can't seem to see it myself Jan 21 12:47:45 Any Arabic-speaking users in? I am looking for a co-founder who knows how to make phone apps and knows javascript to help me with a site similar to omegle.com but directed towards the Arab world. You can visit the site at http://dardeshni.com. Jan 21 12:49:18 so i click power saving gps mode and it always reverts back to high accuracy Jan 21 12:49:22 uh, doesnt it like my choice? Jan 21 12:52:52 <_genuser_> perlsyntax: yeah they've stopped supported eclipse. Jan 21 12:53:20 <_genuser_> but I'm keeping the project at api 18 and fixing this project. it's not like I am gonna write api 21 apps and then only use them on the latest and greatest phones. Jan 21 12:54:05 <_genuser_> besides, AS is pretty ok but it's much more memory hungry/processor hungry and all to write a little app. Jan 21 12:58:46 is there a way to max expand a view to above a other view ? Jan 21 12:59:12 Like for instance a scrollview can't go trough a button that's down in the screen Jan 21 12:59:18 is there a tool where i can take my xhdpi bitmap and have it output mdpi/hdpi bitmaps for me? Jan 21 13:00:40 Hyrixo, I only see a LinearLayout. Your Q not clear to me. Jan 21 13:01:11 in fact, there is no closing tag. Jan 21 13:01:23 hey , I am trying to make alarm manager to work , but it doesn't show the toast at the designated time , http://pastebin.com/PhEapEAu Jan 21 13:01:30 flipbill, http://pastebin.com/NDqwL3Js that's the full one Jan 21 13:02:09 flipbill, i want the button all the way in the bottom and the numberpickers next to each other just above it Jan 21 13:02:35 so why is it on my droid phone the gps mode keeps reverting back to high accuracy Jan 21 13:02:35 even tho i havent selected it Jan 21 13:02:54 Put the whole thing in a LinearLayout with vertical orientation? Jan 21 13:03:17 yeh Jan 21 13:04:04 as an aside s/fill_parent/match_parent/ Jan 21 13:05:07 i dont think you heard me the first time? Jan 21 13:06:19 Flipbill , like this ? http://pastebin.com/DipSQ7Jf Jan 21 13:06:38 Hyrixo, yes Jan 21 13:07:19 Flipbill, didn't do it :/ Jan 21 13:07:46 Heh. Yeah, it can be tedious. But it looks right to me... Jan 21 13:08:01 Ye that's what i thought aswell Jan 21 13:08:16 Do you have some kind of interactive tool to play with it? AS has one. Jan 21 13:08:29 Do u happen to know how to limit a view from expanding over other views Jan 21 13:08:34 can look, i'm using as Jan 21 13:09:08 Click on Design tab when editing XML Jan 21 13:09:57 Hyrixo, layout_alignParentBottom is probably superfluous without LinearLayout Jan 21 13:10:27 Flipbill, thanks the design tip helped didn't think about that anymore they work now Jan 21 13:11:02 So what was the problem? Jan 21 13:11:23 s/without/within/ Jan 21 13:12:06 Flipbill, he just added stuff to the button for alignment and then putted the numberpicker above @button Jan 21 13:13:01 Oh, so you let the design tab do the editing? Gotcha. Code these days... Jan 21 13:13:36 Flipbill, ye he didnt change so much so it was ok Jan 21 13:13:53 he just stated obvious things like left of , right of and such Jan 21 13:15:36 killer, don't u need some kind of event handler for the alram code? Jan 21 13:15:45 s/alram/alarm/ Jan 21 13:16:50 FlipBill: I have written broadreceiver for Alarm.java that shows a toast Jan 21 13:17:28 Right, a BroadcastReceiver. So how do you know the receiver doesn't run? Jan 21 13:20:00 Toast is n't shown , that is the job that assigned to it, http://pastebin.com/9qwcd9Jg Jan 21 13:20:17 the job assigned to broadcaster Jan 21 13:21:24 hm android bug tracker seems to be infested with spam :/ Jan 21 13:21:58 might there be a reason for the Toast not to show by the time the Alarm is triggered? Jan 21 13:22:11 IOW, is the alrm failing, or is the Toast failing? Jan 21 13:22:31 Can u put some log statements in to... Jan 21 13:22:50 1) display time parameters as sanity check when alarm is set Jan 21 13:23:03 2) display a message prior to issuing Toast Jan 21 13:23:27 ok , will try Jan 21 13:23:30 Also, verify that Context passed to onReceive endures. Jan 21 13:23:40 I am not an expert on this. Jan 21 13:24:04 But I do have one app that uses alarm successfully, albeit differently. Jan 21 13:33:25 Hello guys, I'm a bit confused, maybe I ate something wrong, I don't know. Anyhow, I'm rewriting my old app and I now have the problem that my soft-keyboard keeps appearing. I've checked in my xml files but I can't find any code that triggers the keyboard. Any tips or suggestions? Jan 21 13:34:52 Number5, I would guess something like am EditText is grabbing focus?? Jan 21 13:36:16 FlipBill, ok, but than I could see it in the xml file right? Jan 21 13:37:44 Number5, I don't know. Just suggesting what to look for. Maybe some other combination of circumstances causes the focus. Jan 21 13:38:02 FlipBill, thnx my friend Jan 21 13:41:26 FlipBill: problem seems to be with this line if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Jan 21 13:41:29 alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); Jan 21 13:42:01 as my simuator was kitkat , works ok with 4.0 Jan 21 13:44:25 killer, maybe because setExact code uses current time, which is past when method is called? Jan 21 13:46:24 SO ,setRepeating will work for kitkat and above ? Jan 21 13:47:05 I'm suggesting that the setExact code will never work anywhere. Jan 21 13:47:29 Try adding a few seconds to current time as an experiment Jan 21 13:48:17 But maybe I'm wrong, because I see the interval is a full day... Jan 21 13:48:50 I assumed that you were seeing a subsequent (repeat) alarm trigger when it worked. Jan 21 13:49:10 How did you set alarm for your app for kitkat Jan 21 13:50:44 It looks like this: m.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+msFuture,pi); Jan 21 13:50:48 android docs say i should use /res/mipmap folders for launcher icons, but does 2.3 even know about /res/mipmap ? Jan 21 13:51:26 I've been using it since Gingerbread, I think Jan 21 13:52:03 added in API level 11 it says, for R.mipmap Jan 21 13:52:33 osxorgate, last message was meant for killer Jan 21 13:52:34 anyone around that's used volley with okhttp as the transmission layer? Jan 21 13:55:09 FlipBill: I transferred my old code from last night and it worked mysteriuosly , even with set exact Jan 21 13:55:25 I don't know for now , what happened Jan 21 13:55:34 OK Jan 21 13:56:06 thanx for your help , :) Jan 21 13:56:16 yw Jan 21 14:02:09 quiet in here Jan 21 14:04:04 make some noise Jan 21 14:04:51 noise Jan 21 14:06:09 I am trying to build the gradle plugin documentation, inside of /tools I do ./gradlew init and then ./gradlew docsAll but I get strange exceptions (NullPointer and Security iirc) and no javadocs anywhere, what am I missing? I do not want to assemble the plugin I just want the documentation (because I can't find it online, there's only the plugin DSL spec which links to an non-existing javadoc) Jan 21 14:06:13 is there anyway to get lolipop on my droid razr maxx? Jan 21 14:08:03 I am creating an app that will log your driving sessions, and I wondered if anyone know if there is a way to make my gps coordinates snap to the road? Jan 21 14:15:36 If I want an activity to use a totally dynamic layout, no layout xml file, all I need to do is remove the id from setContentView(...) and delete the xml, right? Jan 21 14:16:00 does GCM work for sub-package names? e.g. I set up a key for com.project.android, and my build is com.project.android.debug, will my project recognize messages sent using that key? Jan 21 14:16:00 eeyup Jan 21 14:16:09 (to jgorak ) Jan 21 14:16:30 Thanks Ashiren. It looked functional but I couldn't shake the feeling that there might be some reference elsewhere (like linking the filename to the ID) Jan 21 14:16:55 I gotta stop overthinking this stuff :D Jan 21 14:24:06 I probably shouldn't load the entire material icon set into an android project Jan 21 14:25:33 I am using alarmManager.setExact which will run only if api level is atleast 19(kitkat) , but eclipse is showing error that min api is 14 and u r using setExact from api 19 . But same code doesn't show any error in android studio Jan 21 14:53:51 How does Gradle work out different version dependencies when including multiple libraries? Jan 21 14:55:56 theblang, it kinda doesn't :) Jan 21 14:55:58 it includes all of them Jan 21 14:55:59 when I set up a GCM api key for android, I give it a sha of my keystore and the package name.... should the package name match my receiver's category? is that how these things are connected? Jan 21 14:56:18 shekibobo, yes, it has to match your app package name and category Jan 21 14:56:44 the broadcast from GCM service will have your package name set as category and that's how Android will know which intent filter handles that Jan 21 14:57:06 if I have an applicationIdSuffix set up, does that mess with any of those assumptions? Jan 21 14:58:51 of course. Jan 21 14:59:09 only what actually gets packaged into apk counts, right? Jan 21 14:59:59 well, the category doesn't change, as far as I can tell Jan 21 15:00:57 when I did command line pushes, I used the non-suffixed -c com.myapp.package to send it, and it was received, despite being the com.myapp.package.debug version Jan 21 15:03:48 so if I want to register push notifications on the *.debug app, do I need to do sha1;com.maypp.package.debug in the google console? Jan 21 15:07:02 hey , whenever i use a method that is not supported in my min sdk version , eclipse shows an error but Android Studio doesn't show it as an error Jan 21 15:08:56 for example if my min sdk is 14 and I use a function from 19 , then eclipse shows an error but AS doesn't Jan 21 15:09:26 Of course , I use that function under if statement Jan 21 15:09:47 sounds like it's working as intended? Jan 21 15:10:05 shekibobo, hmm... thing is that applicationSuffix actually changes packaged app package id Jan 21 15:10:18 shekibobo, I see no reason how that could work for you since GCM registrations are package id related Jan 21 15:15:45 seems like a feature in AS , nice one Jan 21 15:16:32 Hello Jan 21 15:17:22 I'm new to Android development and I was wondering why the action bar does not appear on the design screen of the activity in Android Studio Jan 21 15:17:51 It does appear when I run the app on an emulator or my phone, though Jan 21 15:18:21 oscarb92: because it isn't actually part of the layout Jan 21 15:18:41 The layout gets inflated below the action bar Jan 21 15:18:53 That makes sense Jan 21 15:19:34 But I've seen in beta versions of the IDE that you can see the Action bar. That got me wondering about it. Jan 21 15:20:15 Well if you use the new Lollipop toolbar it'll show up because that is an actual view in your layout Jan 21 15:23:33 OmegaVesko: I see Jan 21 15:23:39 OmegaVesko: thank you Jan 21 15:23:53 You're welcome :) Jan 21 15:27:05 oscarb92, and now for real explanation Jan 21 15:27:13 oscarb92, you don't have a proper theme set in preview :P Jan 21 15:28:00 oscarb92, click on the little "half-moon" icon on top of preview and set the theme you set in AndroidManifest.xml Jan 21 15:39:07 ihjon Jan 21 15:43:39 How can I avoid unchecked warnings when doing ArrayAdapter myAdapter = (ArrayAdapter) mySpinner.getAdapter(); ? Jan 21 16:11:01 hi, does anyone know how to get rid of glUtilsParamSize errors? Jan 21 16:11:18 in logcat, i cant believe "filtering" is the only way to do it Jan 21 16:20:56 hello Jan 21 16:23:29 Mavrik it includes all of them, but it still works out which one to use for which dependency? Jan 21 16:23:45 the $25 dev fee for Play is one-time correct? Jan 21 16:28:33 i cant display the mapview on , i had this error , http://pastebin.com/nuvhXnN4 Jan 21 16:28:53 i dont know how to slove it Jan 21 16:29:12 any idea? Jan 21 16:31:05 theblang, it doesn't, you get compile error about multiple included classes Jan 21 16:31:57 guys, is there a spinner/carousel widget like https://github.com/nicklockwood/iCarousel ? Jan 21 16:32:37 re Jan 21 16:32:40 Mavrik ahh, got ya. I remember having multiple class problems when using Eclipse, I guess I just coincidentally didn't have the same libraries after I switched to Gradle Jan 21 16:32:51 mhm :) Jan 21 16:33:30 im trying to use mapview on android, i cant display the map , i got this error http://pastebin.com/nuvhXnN4 Jan 21 16:33:38 i dont know how to solve it Jan 21 16:34:14 john67_: I ended up removing the embedded MapView from my app and just launching an intent with geo:lat,lon Jan 21 16:34:33 is it possible to add google analytics to a google play product page? Jan 21 16:34:41 theblang: the geo? Jan 21 16:35:10 john67_: https://developer.android.com/guide/components/intents-common.html#Maps Jan 21 16:35:20 thnx Jan 21 16:36:01 Good morning all Jan 21 16:36:02 john67_: had constant irritations with MapView, then had to make a Kindle version (can't use Google Play stuff), finally said screw it and just gave em a button. Jan 21 16:36:07 MikeWallaceDev_: Good morning man! Jan 21 16:37:47 Bleh, having a UX problem. I have a screen deep in my nav hierarchy that requires authentication. I'd like to make a quick screen they can log in with, but then I have to consider all the previous screens in the back stack. Jan 21 16:38:13 Guess I could check and do a refresh if authentication has changed, in onResume or something Jan 21 16:38:50 theblang, don't make the screen an Activity? Maybe make a dialog (so no backstack) Jan 21 16:39:12 MikeWallaceDev_: Well, they would have already dug down in the nav hierarchy at this point. Jan 21 16:39:26 and? Jan 21 16:39:45 You can put it up at any time, no changes in backstack Jan 21 16:41:03 MikeWallaceDev: Yeah, but my top level pages have certain things, like a nav drawer, that changes if the user is authenticated. So if they authenticate via dialog they can still go back and see the old screens, before they logged in. Jan 21 16:41:53 Well, no, because you check their login state in onResume, right? Jan 21 16:42:01 does any one knows a good libs. to make a design countdown timer ? Jan 21 16:42:50 MikeWallaceDev: That is what I'm going to do I think. I was previously just checking at create time. Would be easy to just add a callback even to any fragment that changes with authentication. Jan 21 16:43:58 MikeWallaceDev: Just seems kind of messy I guess. The other options is to just make them go back if they authenticate, but that would annoy users. Jan 21 16:44:32 Well, checking at create time wasn't a good move anyway. What if the logon times out? (I put my device down, go to the store, picks it up in 2 hours, I'm still shown as logged in... Jan 21 16:44:55 (but I'm not) Jan 21 16:45:17 MikeWallaceDev: Yeah, we were planning to do an automatic re-authenticate behind the scenes. Jan 21 16:46:04 In my opinion, that could be worse, someone else can pick up my device. But that's discussable. Jan 21 16:46:18 One could argue that my device should be locked, not the app Jan 21 16:47:09 Has anyone update on there nexus to 5.0.1 and did you have any probs? Jan 21 16:47:34 not with development, no Jan 21 16:48:09 Just asking becuase i not sure if i should. Jan 21 16:49:13 Mavrik,I take if i don't update i could i still update to android 5.0.2 if it come out? Jan 21 16:49:29 Sorry for the newbie question. Jan 21 16:49:34 Ugh. Jan 21 16:49:50 I'm not sure you're on the right channel. Jan 21 16:50:13 i see Jan 21 16:54:51 Need a traceview explanation: http://i.imgur.com/zK3hspy.png <- I explicitly restricted to 10 FPS de drawing loop (you can see that there is around 10 computing+drawing in 1000 ms from 3900 to 4900), when not computing+drawing, the thread is sleeping (which is the cyan part, highlighted), why does the Thread.sleep only reports 0.8% usage at toplevel (we're not interested in the children or the body of Jan 21 16:54:51 sleep itself)? Jan 21 16:55:17 Mavrilk,I shock i not have any prob with android 5.0 so far.:) Jan 21 16:56:56 adq, because as you can see, the actual sleeping is one in another method Jan 21 16:57:03 adq, the one you see as 91,3% Jan 21 16:57:31 why does the scrollview position reset when its child's visibility gets changed? Jan 21 16:57:32 yeah but that inside the body of sleep, for sure that makes sense, but you can see that Thread.sleep is linked to toplevel Jan 21 16:57:47 I would have expected around 50% at top level for cpu time of thread.sleep Jan 21 16:58:00 ah, I see what do you mean Jan 21 16:58:02 :) Jan 21 16:58:06 it's a mystery for me Jan 21 16:58:26 making a childview's visibility go from View.GONE to View.VISIBLE, made it reset Jan 21 16:58:59 the computing+drawing reports 90% of cpu time (at top level) which is obviously wrong according to the pic and the fact that if it is sleeping, it's not computing nor drawing Jan 21 17:01:03 maybe, should I just look another column values (like incl Real time instead of cpu time)? Jan 21 17:01:58 because the numbers make more sense there, 13% for computing+drawing and 33% for sleeping (and an enormous amount of context switch 50%) which almost sum to 100% Jan 21 17:02:11 but still according to the picture, it spends more time sleeping than computing Jan 21 17:02:34 which makes this 33% doubtful Jan 21 17:04:47 http://pastebin.com/Z2E54BdZ please check >_> Jan 21 17:05:35 razzledazzle, you will probably not experience this issue with INVISIBLE instead of GONE Jan 21 17:06:05 because when the view switches from GONE to VISIBLE or INVISIBLE, it is inflated, measured & all the stuff to prepare the display Jan 21 17:09:32 danijoo, if you remember our conversation from yesterday, nope. no error message came back to the backend. Jan 21 17:10:06 adq, but INVISIBLE would cause an empty space to occur, can't that be avoided? Jan 21 17:10:12 ok, for the curious, concerning my understanding issue of cpu time in traceview, i've read somewhere that it does not include time spent in IO and waiting Jan 21 17:10:40 razzledazzle, GONE doesn't take up any space Jan 21 17:10:45 razzledazzle, true for the empty space, avoided maybe but i don't know how specifically Jan 21 17:11:26 <[ale^]> hi ppl. Jan 21 17:21:20 what happens if i set notification id of my app to "1" and some other app also have the same id Jan 21 17:21:49 I would expect each package gets their own "namespace" Jan 21 17:24:09 Ok , it means that notification id should be unique in my app only (if it has more tha one notifications,, other apps doesn't matter Jan 21 17:43:52 don't suppose anyone here has heard of gradle BuildConfig problems like the eclipse tools have had? e.g. where DEBUG was true in a production-exported app. Jan 21 17:44:03 seems unlikely, but just checking. Jan 21 17:46:50 hi ! I would like to set as layout parameters, somthing like (wrap_content + 50dp) Jan 21 17:46:52 is it possible? Jan 21 17:47:41 mtR_: padding would probably fit there Jan 21 17:48:21 the space created by the padding isnt used Jan 21 17:48:32 tried padding alredy Jan 21 17:49:09 mtR_: margin? but in general, no. if you want something special, you'll probably have to do it in code. Jan 21 17:50:01 hm ill probably have to calculate the exact height manually then Jan 21 17:50:02 mtR_: you can get a fair way with RelativeLayout, depending on what you're doing Jan 21 17:50:20 mtR_: what's the goal? there might be a simpler option. Jan 21 17:52:03 groxx: im using a gridView, and the last element in the bottom is a bit hidden by some buttons, so i would like to enlarge the height a bit so i can scroll and see last element clearly Jan 21 17:53:04 aah. does adding a bottom margin to the grid help? Jan 21 17:54:28 otherwise, I might recommend adding some fake entries to fill in an additional bottom row. might be easier than custom layout. Jan 21 17:54:42 might not, but it's an idea anyway :) Jan 21 17:55:24 or.. hm Jan 21 17:56:00 I always think that list views need "content padding", but I can never remember if there is something. Jan 21 17:56:01 is there a way to include asset files only during testing? Jan 21 17:56:21 does adding a footer work with grid view? that would probably be easiest. Jan 21 17:56:26 groxx: i just tried margin, its the same result than when I used layout_above on my gridView to my button on bottom Jan 21 17:56:50 i can scroll and see crealy but Jan 21 17:56:54 i've got a file that I need to test but only want to include it for testing and not in the final apk. Jan 21 17:56:54 alexfu, using flavors and build types.... Jan 21 17:56:59 clearly* Jan 21 17:57:11 alexfu: you can make an app/src/androidTest/res/ folder Jan 21 17:57:48 mtR_: and I'm guessing you want them to overlap a bit? Jan 21 17:58:09 groxx: exactly Jan 21 17:58:14 :) Jan 21 17:58:54 mtR_: I'd see if you can add a footer view, tbh. should be pretty quick if it works. Jan 21 17:59:06 If I want to do tabs with fragments, is there an alternative to ViewPager? Jan 21 17:59:58 theblang: there's a tabhost thing, I forget what that uses. otherwise I do it by hand, swapping fragments is pretty easy. Jan 21 18:00:23 no idea how to do that, but ill try this. Thanks groxx :) Jan 21 18:00:45 groxx I guess I would just roll my own indicator? Jan 21 18:01:56 theblang: since I hate the normal indicators, I call that a good thing :) Jan 21 18:02:24 plus then you don't have to fight with the system's weird style modifications Jan 21 18:02:44 groxx im probably going to do it. sick of ViewPager Jan 21 18:03:05 theblang: same Jan 21 18:03:40 MikeWallaceDev: true. good call. Jan 21 18:04:09 endless pain. pretty soon here I'll be ripping it apart so I can actually control paging myself, and e.g. actually page infinitely and not jump when reloading sata Jan 21 18:04:13 data* Jan 21 18:07:42 mtR_: eh. doesn't look like grid view has that supported already. my bias is to "just" add another view type and fill in the bottom, since my code usually has multiple view types already Jan 21 18:08:54 mtR_: otherwise, you might be able to change e.g. the last row's margins. grid view might ignore that though, it's a bit of a strange view :( Jan 21 18:10:34 mtR_: and it doesn't :| I'm full of bad ideas today, it seems Jan 21 18:11:44 Hey everyone! Jan 21 18:12:20 Radther: ! Jan 21 18:12:40 Hay. Jan 21 18:12:46 How's everyones android related projects going? Jan 21 18:13:15 TacticalJoke: Hay! http://upload.wikimedia.org/wikipedia/commons/b/ba/Round_hay_bale_at_dawn02.jpg Jan 21 18:13:33 :) Jan 21 18:15:53 Radther: I'm about ready to stab my testing phones, is how they're going :) camera gymnastics + discovering some kind of bug with relativelayout (maybe due to negative margins? bad idea, I know) = this project has taken like 5x longer than anyone imagined. Jan 21 18:16:28 Sounds annoying Jan 21 18:16:47 Can I send two separate notifications (different IDs) with the same type of intent, but with different extras? Right now if I have two PendingIntents meant to launch the same activity, but with different EXTRAs, both notifications launch the same thing Jan 21 18:16:59 lots of nonsensical and/or uncontrollable state changes. and toss in some asynchronous fragment transactions just for giggles. Jan 21 18:17:43 Maybe there is a market for Android therapists Jan 21 18:17:43 Fortunately my project hasn't started to get annoying yet. Jan 21 18:18:11 shekibobo: pendingintents are... different. make sure you understand the docs: http://developer.android.com/reference/android/app/PendingIntent.html Jan 21 18:18:43 FlipBill, yep, they're called people who come in and clean up your codebase :) Jan 21 18:18:44 shekibobo: I don't think it mentions in there, but you can also give each pendingintent a unique request code, and that'll force new instances. Jan 21 18:18:49 FlipBill, and they charge alot ;) Jan 21 18:18:58 Any one good with reverse engineering skills Jan 21 18:19:05 groxx, yeah, negative margins are about as terrible idea as it goes Jan 21 18:19:17 unlike CSS, Android doesn't really handle them well :/ Jan 21 18:19:19 Mavrik: but they work so well D: until they explode. Jan 21 18:20:01 in my case: it was changing the relativelayout's drawing order. things listed first in the xml were getting drawn on top of everything. add a view to the layout (anywhere! doing anything!) and an entirely different drawing order would pop up out of nowhere. Jan 21 18:20:09 I have no idea how it's possible for that to happen. Jan 21 18:20:18 :) Jan 21 18:20:42 I'd roll with custom viewgroup in those cases Jan 21 18:20:54 so I had to rip it all apart and fix it. several layers of xml and custom view code. it's much happier now. Jan 21 18:21:00 having full control over layout and drawing saves so much time and trouble :) Jan 21 18:21:30 yeah, we do need to go that route eventually. none of us quite completely groks the view layout system though, as we haven't had a need yet. Jan 21 18:23:03 groxx: so that's what the request code is. Thanks. Looks like my solution is to make the PI request code the same level of uniqueness as my notification (in this case, same thing) Jan 21 18:23:33 Mavrik, I was thinking of lying on a couch and whining. Jan 21 18:23:57 shekibobo: yeah, it's very poorly documented (pretty much only exists in a google groups discussion with hackbod), but request code is part of the filterEquals "identity" for pendingintents. Jan 21 18:24:02 extras are not. Jan 21 18:25:19 noted Jan 21 18:25:24 seemed like a really weird mechanic Jan 21 18:25:48 Any one get a recommendation on the best way to deal with XML? Jan 21 18:26:05 I'm building an RSS reader. Jan 21 18:26:18 it makes more sense when you figure out the other uses for pendingintents. you can give them to other applications as a way to call into your app, and then later find and revoke them if you want. Jan 21 18:26:46 notifications and widgets _seem_ a little less distant than that, but they're still another process accessing your private service/activity/receivers. Jan 21 18:27:46 Radther: dunno. I've always just hacked out an xml pull parser. it's pretty easy when you know what to do, it's just a lot of boilerplate. Jan 21 18:28:15 Yeah, I'm currently deciding between that and SAX Jan 21 18:28:31 sax is... tree parsing? Jan 21 18:28:46 What is the XML for? Just curious. Jan 21 18:28:56 TacticalJoke: RSS feeds. Jan 21 18:29:26 hm. maybe not. dunno, I've never built a SAX parser. Jan 21 18:29:56 Looking at the stuff online it stands for Simple API for XML, and is for parsing XML. Jan 21 18:30:10 And getting the data from it. Jan 21 18:30:33 Is there a good RSS library? Jan 21 18:30:56 There are a couple that look alright but I think I would rather have control of it my self. Jan 21 18:31:13 Especially since the app is a RSS reader. Jan 21 18:31:22 Yeah, I can understand that. Jan 21 18:31:38 looks kinda like it's an event/visitor style version of a pull parser... Jan 21 18:32:34 Yeah. The bit that I'm currently looking into is checking for new feeds and only getting the latest rather then downloading more then is needed. Jan 21 18:33:10 Also seems a bit more memory efficient. Jan 21 18:33:46 yeah. personally, I've seen user-visible performance benefits to pull parsers over dom/tree parsers, though that was a couple years ago. but any time you're going over a couple hundred elements it's probably worthwhile. Jan 21 18:34:02 (I assume pull / sax are roughly equivalent) Jan 21 18:35:17 Looking at it overall pullparser will probably be easier to implement. Jan 21 18:35:36 I imagine it's still beneficial though, as dom parsing generally means buffering the whole input, then duplicating it in parsed objects. lots of allocation, and android isn't particularly fast at that (and it tends to block the whole application, so even a background one can stutter your UI) Jan 21 18:36:21 maybe ART helps there? Jan 21 18:36:51 True, though the data I am getting will be quite small as it is just a few feeds. The initial load as a user adds new feeds might slow down the app though. Jan 21 18:40:08 Another annoyance is that I can't get older entries of feeds meaning I will need the app to constantly monitor feeds for fear of missing posts. The verge for example only keep the last 10... Jan 21 18:41:05 is there a way for an activity to intercept an intent for said activity if it's currently running? Jan 21 18:41:56 Radther: that's pretty much rss 101, but yeah :) it does suck for building mobile apps. Jan 21 18:42:30 "Oh, an intent for me, and it has this same extra as me. I'll just grab this intent and do my own thing with it" Jan 21 18:42:33 shekibobo: single_top +/- clear_top will deliver it to the existing activity via onNewIntent Jan 21 18:42:35 groxx: I thought (not sure why) that feeds had a link to the next "page" of the feed at the end... Jan 21 18:42:57 Radther: afaik that's only if they're feeling generous, not any kind of real part of the spec Jan 21 18:43:15 it's intentionally a lightweight "what's recent" thing, as far as I've seen Jan 21 18:43:38 then google reader came along and everyone hearted it so much that everyone expects rss feeds to have their full history available :) Jan 21 18:44:21 Yeah, guess I will need to leave something running to get new feeds when they update. Obviously making use of all the new battery apis on Lollipop of course. Jan 21 18:44:37 Google Reader did indeed change everything. Jan 21 18:45:13 given that, I _might_ recommend building off someone else's system, tbh. most of the major ones I've seen offer a free API (though they may or may not require login to get content) Jan 21 18:45:56 groxx: does it have to be a single-top/clear-top to even have that method? Doesn't show up in the override list of the activity Jan 21 18:46:14 nm Jan 21 18:46:18 I was in the wrong place Jan 21 18:47:12 groxx: I'm trying to make the app as lightweight as possible and built more like a twitter feed for following a couple of sites you are interested in. Jan 21 18:47:40 Which means using other services just bloats it up and encourages adding *too* much content to the feeds. Jan 21 18:49:31 is there any point in using RecyclerView for a short fixed list of CardViews, or should I just use ScrollView Jan 21 18:50:00 MooGoo: probably linear layout? Jan 21 18:50:11 im having theme issues with some sources i downloaded, they want to use one of the holo themes and their manifest did not specify ANY uses sdk. i added this but im still getting an error related to the theme parent Jan 21 18:50:12 as long as it can scroll Jan 21 18:50:22 i have googled but none of the suggested fixes fixes anything Jan 21 18:50:37 MooGoo: if there's no memory problem with all of them at once, linear layout ftw. way simpler than e.g. recycler Jan 21 18:50:55 MooGoo: it scrolls Jan 21 18:51:10 error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DarkActionBar'. Jan 21 18:51:52 ok Jan 21 18:51:53 or, I think it does. if not you can just wrap it in a scroll view. Jan 21 18:52:06 yea I wasnt sure Jan 21 18:52:15 whats the point of ScrollView of LinearLayout scrolls Jan 21 18:52:54 anyone got any ideas? Jan 21 18:52:57 LinearLayout doesn't scroll Jan 21 18:53:13 has the filesystem on Android been updated recently, in Kitkat or Lollipop maybe? Jan 21 18:53:13 I440r: You need to build against an api level that has that holo style.. Jan 21 18:53:17 You don't set that in your manifest Jan 21 18:53:35 im building against api level 21 Jan 21 18:53:51 you mean ? Jan 21 18:53:55 or is this something else? Jan 21 18:54:17 Build target != targetSdk Jan 21 18:54:26 You tell your ide somewhere what api level to build against Jan 21 18:54:44 Find that, set it to >= whenever android:Theme.Holo.Light.DarkActionBar was added Jan 21 18:55:10 im in intellij idea, where do you specify build target under project settings? im not seeing it Jan 21 18:56:24 aha my build target is Google AOIs (5.0.1) Jan 21 18:56:29 api's even Jan 21 18:56:56 so im building against a target that has this theme Jan 21 18:57:48 I'm sure you don't on the module where you're getting that error Jan 21 18:58:37 erm. ive set a project build target... that doesnt cover the entire project? Jan 21 18:58:46 define "module" Jan 21 18:59:09 An intellij project can have multiple modules Jan 21 19:00:02 They can specify their own sdk, or inherit from the project Jan 21 19:00:20 there is only one module and its module sdk is set to api level 21. Jan 21 19:01:12 what does it mean to recycle a bitmap? Jan 21 19:01:38 there is an option in ThumbnailUtils to recycle the bitmap but i dont understand the implications of this Jan 21 19:01:45 https://developer.android.com/reference/android/graphics/Bitmap.html#recycle() Jan 21 19:03:53 SimonVT, thanks Jan 21 19:06:12 i was getting two of these errors before but now im getting only one so we did fix half the problem Jan 21 19:06:30 error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Material.Light'. Jan 21 19:06:57 this is from a file in values-v21 Jan 21 19:07:13 maybe i need some support library? Jan 21 19:10:20 Hello there, I'm just wondering if it would be a good idea to install an IDE and the Android SDK in a flash drive or would that imply too much writes on the memory and quickly drain it's lifetime Jan 21 19:10:32 No, material themes were added in api21 Jan 21 19:10:53 there is only one module defined in these sources Jan 21 19:11:38 hm, i think i found another bug in the bluetooth LE apis Jan 21 19:11:55 we have mServices being modified here https://github.com/android/platform_frameworks_base/blob/master/core/java/android/bluetooth/BluetoothGatt.java#L211 Jan 21 19:11:56 g00s where? im working with those right now too Jan 21 19:12:08 Imnpsnm: dunno. afaik Android Studio doesn't do much in its .app package on OSX (most goes into ~/library/caches or others), so it would probably be basically fine Jan 21 19:12:23 but then there is no guard here https://github.com/android/platform_frameworks_base/blob/master/core/java/android/bluetooth/BluetoothGatt.java#L829 Jan 21 19:12:43 the callback onService is called on some arbitrary thread Jan 21 19:12:57 getServices is usually called on your thread, UI, whatever Jan 21 19:13:38 g00s: that does seem dubious... Jan 21 19:14:45 indubitably. Jan 21 19:14:50 the example code ive seen has the callback for each service pass a message to the main thread Jan 21 19:14:59 groxx: Well I'll be using it on windows but I hope it works the same way, thank you :) Jan 21 19:15:16 the callback wont be executed on your main thread, that doesnt seem dubious to me Jan 21 19:16:01 i cant get rid of this freeking style error wtf Jan 21 19:16:12 Imnpsnm: I still wouldn't recommend using a pricy drive for it, but I'd at least consider it good enough for my purposes. but I'm fine with having to redownload it pretty much any time, so YMMV. Jan 21 19:16:15 I440r right, thats not the problem. if you see here, https://github.com/android/platform_frameworks_base/blob/master/core/java/android/bluetooth/BluetoothGatt.java#L829 Jan 21 19:16:44 that CallbackWrapper just forwards most of those calls on to your BluetoothGattCallback Jan 21 19:17:07 thats not the problem, is that some of those callbacks are mutating shared state of BluetoothGatt without locks Jan 21 19:17:19 synchronization, etc Jan 21 19:17:25 oh Jan 21 19:17:29 lol Jan 21 19:17:49 there should probably be synchronized (mStateLock) { mServices.add ( ) } Jan 21 19:17:55 android ble is kind of in its infancy, they only just implemented the freeking bluetooth manager crap Jan 21 19:19:05 what would be the best way of dismissing a notification that would launch the activity you're currently running? should that be automatic? or should you click it and relaunch the activity? what's best practice on that? Jan 21 19:19:51 is there a way to watch for certain notifications and react to them? Jan 21 19:21:01 shekibobo: I don't totally follow that, but: do you mean e.g. "notif opens activity X, user just navigated to X, how do I clear the notif?" ? Jan 21 19:21:19 yay got rid of it.. these style settings for modules are a freeking PITA Jan 21 19:21:25 for projects Jan 21 19:21:49 no, it's more "user is in activity X. New notification is posted that would launch activity X." what should happen there? Jan 21 19:23:24 can activity X watch for certain notifications and dismiss/react to them? Jan 21 19:23:46 shekibobo: I'd say "depends" :) but I can see how that would happen. fwiw I've just kept a static variable on such activities, and checked before posting the notification. Jan 21 19:24:07 there are plenty of ways to do that horribly wrong, but it works in some cases. Jan 21 19:24:32 How come I have a layout issue on exactly one phone, where text does not seem to fit onto the screen, goes into the next line and makes everything look bad, while it looks fine on all other phones? Jan 21 19:24:35 Using DP Jan 21 19:25:01 Syzygy: default fonts and font rendering changes at times Jan 21 19:25:02 groxx: One of the *fun* parts of programming is trying lots of things and seeing which one works. Jan 21 19:25:14 the other thing I'm considering is posting the notification, and posting a subsequent eventbus message that could check/clear/update the relevant screen Jan 21 19:25:19 groxx, it's not a default font I believe Jan 21 19:25:21 let me check Jan 21 19:25:44 would be nice if the android emulator could use a BLE dongle plugged into the USB to do BLE stuff Jan 21 19:25:54 Syzygy: is the problem device either heavily modified or a different os version? Jan 21 19:26:33 Syzygy: though in general that's not the kind of thing you can guarantee, without e.g. checking the layout and adjusting the font size to fit if necessary Jan 21 19:26:40 not modified. 4.1.2, let me check what the other old phones are running as their OS Jan 21 19:28:01 well, it's working on older and newer OS versions, haven't seen another phone with that OS around Jan 21 19:29:24 maybe different screen densities? it might draw differently to read "better" if needed. Jan 21 19:29:41 it works fine on lower and higher densities Jan 21 19:30:13 at worst though, you can measure the text, and resize it if necessary. it's not particularly nice feeling, but it works, and afaik there's nothing built into android to do that for you. Jan 21 19:30:29 crap. Jan 21 19:30:36 other options, like drawing to a canvas and scaling it to fit, tend to leave you with blurry text. Jan 21 19:31:26 yeah. some devices I've seen just do different font rendering, dunno why. characters are a pixel different or so, or kerning is totally broken, or similar. Jan 21 19:31:58 groxx: Notfiication+EventBus seems to be a nice decoupled way of handling the notification situation Jan 21 19:32:14 there might be an auto-resizing view someone else has built, fwiw. seems fairly reusable + widely desired. Jan 21 19:33:12 that reminds me... we have something like that in our code base. testing it now. Jan 21 19:33:17 shekibobo: yeah, if that works, it's probably better. Jan 21 19:35:05 hah... great. it's in a single line, but the layout still behaves like it's in two lines, after an animation it has the right size. Jan 21 19:36:56 actually it's a few pixels shorter Jan 21 19:37:33 makes sense, if it's wrap_content. smaller font = smaller height. Jan 21 19:44:42 groxx: like this? http://www.quadra-tec.net/~floppie/blag/2013/01/scalinglinearlayout-auto-scaling-layouts-in-android/ Jan 21 19:44:48 as far as auto-resizing views go Jan 21 19:48:17 dp = px / (ppi / 160) is this the correct formula to convert between pixel and dp? Jan 21 19:55:09 Is there anything that is more pronounced than an action bar item but not an entire button inserted into the UI? Jan 21 19:58:51 theblang: What is does the button need to do? Jan 21 19:59:14 Radther load another screen. previous had two tabs, but I think I want to remove the Tab UI Jan 21 19:59:20 Radther a related screen Jan 21 19:59:33 Would a Fab be appropriate? http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button Jan 21 20:00:19 It is a view added to the UI but is meant for core features of the screen and is a bit more prominent then an action bar item. Jan 21 20:00:21 Radther nice, that just might work! thanks! Jan 21 20:01:00 Radther it looks like that isn't core, so I may need to look to Github unless I want to implement myself based on the material designs? Jan 21 20:01:21 Yeah, for some reason google decided not to add it. I use this library. https://github.com/makovkastar/FloatingActionButton Jan 21 20:01:34 shouldn't the galaxy s 2 have a pixel density of ~218? my own calculation comes closer to 241 Jan 21 20:02:41 I get the 218...? Jan 21 20:03:10 is my formula false? px / dp * 160 Jan 21 20:04:12 dp is converted to px based on density buckets, not the screens actual density Jan 21 20:04:19 240 is hdpi Jan 21 20:04:37 alright. that might explain it. Jan 21 20:04:45 Wait, what is it you are trying to calculate. Pixel density is how many pixels per inch there are. Jan 21 20:04:57 For the s2 thats 216. Jan 21 20:05:57 Radther, I had something that took 220px with wrap_content, but I needed something with a fixed size instead, so I had to figure out what dp I need to enter to get a comparable fixed size. Jan 21 20:06:15 and I thought calculating it would be more accurate than eyeballing it Jan 21 20:07:51 hey guys… im trying to change my project name in Android Studio from FlatDesignSample3 to MetasysApplications, but I’m doing something wrong, can anyone help me? Renaming project says module name is already used: http://i.imgur.com/8lUJ90u.jpg Jan 21 20:08:37 luist, my approach is to create a new project and copy the files over. renaming is always so messy Jan 21 20:12:48 Syzygy: ill try that… consider i created a new empty project… do i remove the current “app” module? Can i just copy my main module inside the new project? Jan 21 20:13:00 Radther yeah, checking that lib out now. Can you do text instead of an icon Jan 21 20:13:28 No, the idea is that it is an icon. Jan 21 20:13:38 Might look a bit strange with text. Jan 21 20:15:34 Was the ability to add a maven build configuration removed from AS recently? Jan 21 20:17:54 anyone know if its possible to have a ViewOutlineProvider that outlines multiple shapes in a single view ? Jan 21 20:23:22 Windows 10 unified apps look pretty interesting ... Jan 21 20:27:27 g00s: I'm interested to see how this turns out. https://www.youtube.com/watch?v=aThCr0PsyuA Jan 21 20:27:58 yeah, they said available sometime beofre summer 2015 ? Jan 21 20:28:34 Did they. It looks like an April fools joke... Jan 21 20:29:14 I'm trying to work out the max size of an image i can crop based on the size of my image and my crop ratio Jan 21 20:29:20 but im not good at maths at all :/ Jan 21 20:29:39 My crop ratio is 5:4 Jan 21 20:29:55 so if my image is 500 x 400, then 500 x 400 is the crop size Jan 21 20:30:07 if my image is 600 x 400 then my crop size is still 500 x 400 Jan 21 20:30:25 im struggling to make an expression to work this one out :/ Jan 21 20:31:58 Radther they have a history with things like photosynth - they probably have the people to make this happen Jan 21 20:33:56 g00s: True, but it just looks so unbelievable at the moment. At least to look like it does in the video. Jan 21 20:47:17 i HATE gradle Jan 21 20:47:28 gradle project sync failed basic functionality Jan 21 20:48:31 aww Jan 21 20:52:56 Radther: interesting. seems like it's probably technically achievable now, though as usual the real problem will be getting content / software for it. Jan 21 20:53:36 but competition++ for hud / vr is a fantastic thing Jan 21 20:54:46 I’m trying to rename my project and main module by creating a new project and copying the files, but im stuck with this: http://i.imgur.com/xdY9p2U.jpg when i tell it to compile/run, it doesnt show any available module Jan 21 20:54:52 can anyone help me? Jan 21 21:13:43 Hey! I'm having a question releasing my app on google play. Is it OK to use for i.e Spotify's logo in my app? I've build an app which syncs music information with spotify and is using their logo as a button Jan 21 21:14:38 The application is free... Jan 21 21:14:48 aceus: depends on Spotify's rules, afaik Jan 21 21:14:58 aceus: take a look at their T&C Jan 21 21:15:07 usually there's something about use of their logo Jan 21 21:15:18 there are some things that fall under 'fair use', but I don't really know how far it goes in apps Jan 21 21:16:15 https://www.google.nl/search?q=define+fair+use Jan 21 21:16:21 looks like it's probably not fair use by definition Jan 21 21:16:49 yes... =/ Jan 21 21:17:02 what's the worst thing that can happen if i publish it anyway? Jan 21 21:17:07 get removed Jan 21 21:17:13 ok Jan 21 21:17:15 possibly banned from play store Jan 21 21:17:21 All Spotify trademarks, service marks, trade names, logos, domain names, and any other features of the Spotify brand are the sole property of Spotify. This Licence does not grant you any rights to use the Spotify trademarks, service marks, trade names, logos, domain names, or any other features of the Spotify brand, whether for commercial or non-commercial use. Jan 21 21:17:28 looks like you can't Jan 21 21:17:34 aaah Jan 21 21:17:38 damn Jan 21 21:17:41 https://www.spotify.com/uk/legal/end-user-agreement/ Jan 21 21:17:46 looks like you might not even be able to mention them Jan 21 21:17:55 as Spotify anyway Jan 21 21:18:06 huh that's strange Jan 21 21:18:19 lawyer up Jan 21 21:18:25 hit the gym Jan 21 21:18:32 The Spotify software applications are licensed, not sold, to you, and Spotify retains ownership of all copies of the Spotify software applications even after installation on your Devices. Jan 21 21:18:39 I hate this closedness Jan 21 21:18:42 how about this: https://play.google.com/store/apps/details?id=com.experience.howtusspoot ? Jan 21 21:18:45 The Spotify Service provides a platform for third party applications, websites and services to make available products and services to you (“Third Party Applications”), and your use of these Third Party Applications is subject to their terms of use. You understand and agree that Spotify is not responsible or liable for the behavior, features, or content of any Third Party Application. Jan 21 21:19:02 that app runs the risk of getting removed Jan 21 21:19:16 yeah Jan 21 21:19:18 It was released 26 april 2014 Jan 21 21:19:20 but they were a little clever Jan 21 21:19:23 spootify Jan 21 21:19:30 and the logo is different enough Jan 21 21:19:32 hah Jan 21 21:19:57 and no logos in their screenshots Jan 21 21:19:57 aceus: there's usually some set of exemptions for things that integrate with . e.g. you can use twitter logos in a variety of scenarios, but only if X, Y, or Z, and you can't change them. Jan 21 21:20:05 ^ Jan 21 21:20:11 apple is huge on that as well Jan 21 21:20:18 some features require you to use their logo Jan 21 21:20:23 you should take a look at the agreement as it might give you some useful info Jan 21 21:20:32 look at the 3rd party app agreement Jan 21 21:21:49 The Spotify Service Jan 21 21:22:18 here we go: https://developer.spotify.com/developer-terms-of-use/ Jan 21 21:23:00 Section III Jan 21 21:23:25 okey Jan 21 21:23:39 Spotify marks Jan 21 21:23:42 so you can use it Jan 21 21:24:14 If you use any Spotify Marks, you will at no time contest or aid in contesting the validity or ownership of those Spotify Marks or Spotify’s rights in them, including, but not limited to, applying to register any trademark, trade name or other designation that is confusingly similar to the Spotify Marks. Jan 21 21:24:40 then see branding guidelines https://developer.spotify.com/download/guidelines/ux-with-other-brands.pdf Jan 21 21:24:58 follow that and you’re golden Jan 21 21:25:28 if google flags your app then appeal with a description of why you think you are able to do this and supply those agreements Jan 21 21:25:35 https://developer.spotify.com/download/guidelines/ux-with-other-brands.pdf Jan 21 21:25:49 yup Jan 21 21:25:54 Ok, so it may be OK if it's done right? Jan 21 21:25:59 yes Jan 21 21:26:02 cool Jan 21 21:26:03 follow the guidelines Jan 21 21:26:11 if you get flagged then appeal Jan 21 21:26:24 (flagging happens automatically most times) Jan 21 21:26:44 especially if you have their logo in your logo or if you have their logo in the screen shots of your app Jan 21 21:29:19 I want to point out that, the cost of the app, or whether it’s free, is completely irrelevant when it comes to this stuff Jan 21 21:29:32 okey Jan 21 21:29:38 oh hell yes that;s a good point Jan 21 21:29:48 a lot of people use that as a defense and it fails Jan 21 21:29:56 gotta go Jan 21 21:30:04 glhf Jan 21 21:30:36 :) Jan 21 21:30:38 thanks alot Jan 21 21:31:01 How is it with scraping from websites? Jan 21 21:31:21 I'm scraping from an online database webpage, and have contacted the owner without any answer Jan 21 21:31:29 generally 100% a no. Jan 21 21:31:34 :) Jan 21 21:31:38 they may come after you, or they may change their structure, breaking your app Jan 21 21:31:43 it's a bit fuzzier when they don't have a robots.txt that bans it though Jan 21 21:31:44 yep Jan 21 21:31:52 afaik robots.txt is relatively binding though Jan 21 21:31:58 if they haven’t gotten back to you, probably assume that you are not allowed to do it Jan 21 21:32:28 can they see that the GET requests is coming from an android device? Jan 21 21:33:45 there's no easy way to answer that. _generally_ no, if you hide it, but then you're getting further and further into the realms of "I know I'm not supposed to do this, so I hid it", which doesn't paint a good picture if you're found and they're upset. Jan 21 21:34:53 lol Jan 21 21:35:12 aceus does the website have a legal or terms of use? Jan 21 21:35:22 sometimes there is a ban on scraping Jan 21 21:35:42 No, it does not Jan 21 21:35:48 ^ and if there isn't, but there's a robots.txt file that you're ignoring, it's still effectively a ban on scraping. Jan 21 21:36:01 From google: The terms of service of established data-heavy sites almost invariably prohibit data scraping. Violating the terms of service doesn't mean that you've done something illegal (i.e., this is not a crime - you can't go to prison for it). But it does mean that the website might be able to sue you for breach of contract. Jan 21 21:36:38 btu they’ll probably just change a small thing and break your app Jan 21 21:36:57 Yeah, if they want to... Jan 21 21:37:34 The db is just open for anyone to add music information. No terms of service or anything like that Jan 21 21:37:57 Very basic, so think I'll give it a shot Jan 21 21:38:00 :) Jan 21 21:38:27 heheheheh, I know you have good intentions but others may not Jan 21 21:38:46 hehe Jan 21 21:38:53 make sure you use prepared statements that wont allow people to drop tables or other weird things Jan 21 21:39:04 nono Jan 21 21:39:11 if the db is open, then does it have it’s own API? Jan 21 21:39:13 i'm just searching through the "adressbar" Jan 21 21:39:21 ooh lol Jan 21 21:39:22 i'm only searching, no inserting... Jan 21 21:39:29 haha what? Jan 21 21:39:30 what's a good color picker preference library that works on older androids? Jan 21 21:39:36 ...and newer androids Jan 21 21:39:59 aceus what? what? Jan 21 21:40:12 "ooh lol" :P Jan 21 21:40:24 nvm Jan 21 21:46:37 fakey I don't remember the name but Marie Schmeiz made a nice one. Maybe you can start looking here : https://plus.google.com/+MarieSchweiz Jan 21 21:48:02 Found it : https://github.com/LarsWerkman/HoloColorPicker Jan 21 21:55:26 interesting. I still dislike those sliders :\ gimme a triangle picker any day. Jan 21 21:58:57 NosePicker Jan 21 21:59:02 a color picker in the shape of a nose Jan 21 22:04:49 jeez. just when you think you're figuring out android's lifecycle... Jan 21 22:05:15 apparently, if you launched the app from the launcher, hit home, and then hit the icon again, you "just" resume. Jan 21 22:06:05 meanwhile, if you started the task with e.g. an intent from a notification, then hit home, then hit the app icon, the system starts your app with a single_top | new_task intent, _every time_. Jan 21 22:06:08 wtf. Jan 21 22:09:26 MikeWallace thanks, i found this https://github.com/LarsWerkman/HoloColorPicker Jan 21 22:09:37 it's the one you referred to i think Jan 21 22:09:41 that's the link I gave you :D Jan 21 22:09:47 but, i imported via gradle and it shows as a referenced library after gradle refresh, but it's not putting src in the gen and getting class not found exception... Jan 21 22:09:55 yeah, I like it. Use it in an app... Jan 21 22:10:02 yeah sorry i'm confused. also first wrote this response in the wrong chat lol Jan 21 22:10:09 HAHAHA Jan 21 22:13:39 hi everyone, i have following setting MainActivity holds -> MainFragment, which handles a TabsPagerAdapter -> the TabsPagerAdapter contains 3 Fragments -> each Fragment has its own ChildFragments -> when i change positions and get back to the last position, one of the shown ChildFragments, of the current TabsPager Fragment, wants to recreate itself. But every object and variable is null....even though it should handle every Object and Jan 21 22:27:20 i want to have a training mode in an app which shows the views in a different color, i have speculated the best way to do this would be to use a different color resource for this. does that seem suitable or is there a better way? Jan 21 22:29:51 I’m trying to rename my project and main module by creating a new project and copying the files, but im stuck with this: http://i.imgur.com/xdY9p2U.jpg when i tell it to compile/run, it doesnt show any available module. can anyone help me? Jan 21 22:30:37 luist, give me a sec, I wrote a blog post on that Jan 21 22:30:49 MikeWallaceDev: okay thanks Jan 21 22:31:41 http://androiddevcorner.blogspot.ca/2014/02/copying-template-project.html Jan 21 22:34:33 hey all Jan 21 22:34:35 hey groxx Jan 21 22:34:39 MikeWallaceDev: i dont think i have an .idea directory? Jan 21 22:35:14 luist, are you working with AS? I should have asked that first :D Jan 21 22:35:23 MikeWallaceDev: yes Jan 21 22:35:52 then you have an .idea dir :D Jan 21 22:39:05 MikeWallaceDev: but cant use have either a file based project or a dir based project? Jan 21 22:39:33 MikeWallaceDev: he might have .idea files but not a directory? i haven't used AS much so dont remember exactly... Jan 21 22:40:04 yeah, not sure about AS, but with IDEA, you can definitely have a file based project with no .idea directory Jan 21 22:40:17 which is what I prefer Jan 21 22:40:49 right, file based project, I didn't think of that, I don't use them.... Jan 21 22:41:04 yeah JesusFreke you can have it in AS too Jan 21 22:41:43 luist, I don't remember the details (that's why I wrote the blog, so I won't have to remember! :D ) if the post doesn't help, I can't either :) Jan 21 22:41:56 (sorry for the semi brush off, I'm working...) Jan 21 22:42:33 well it seems the project isnt finding the main module, which contains the app Jan 21 22:42:52 i included the library only… which contains the sliding menu used by the app Jan 21 22:43:24 MikeWallaceDev: yeah i have an .idea folder, but it was not copied Jan 21 22:43:49 MikeWallaceDev: it was created with the new project. the only thing i copied was the src folder inside the main module Jan 21 22:50:46 Hello, is it possible to change ones Game Services username os it shows something else other than your real name? Jan 21 22:50:52 for example some username or whatever you choose? Jan 21 22:50:55 how would you build a login screen with a video as a background ? Jan 21 22:50:56 or is it only limited to your google real name? Jan 21 22:51:24 should the video be local or remote, how to handle screen size, what codec / widget use ? Jan 21 23:02:10 Anyone who knows? Jan 21 23:02:46 In case someone wasn't in when i initially wrote my question: Hello, is it possible to change ones Game Services username to something other than your real name? Eg a custom username or the likes? or is it only limited to your google real name? Jan 21 23:06:32 blusky: i’d probably try putting whatever class plays a video and a View for your login screen onto a viewgroup Jan 21 23:06:43 but I don’t really know if that’s the right way Jan 21 23:07:51 nah, just overlapping in a Frame or Relative layout... Jan 21 23:08:34 blusky: welcome to the problem that everyone has faced.. the most performant and compatible way.. is not to have a video but to apply your own set of in-app animations to "fake" the original video.. if you can. if the video content doesnt allow this.. well your going to have to use a TextureView .. APIv14+ and then you can store your video locally (since its login its needed immediately).. Jan 21 23:09:02 well there you go Jan 21 23:09:13 blusky: if the video doesnt change often then you could use the side-resource-apk mech to have it stored seperately to the main-apk and this way you dont bloat your updates Jan 21 23:09:39 blusky: you also get all the codecs supported by APIv14+ see http://developer.android.com/guide/appendix/media-formats.html Jan 21 23:10:07 thx Napalm :) Jan 21 23:10:41 ^ side resource apk is a good idea. i think most apps I've seen with a video at launch don't do that though. Jan 21 23:11:10 blusky: http://developer.android.com/google/play/expansion-files.html Jan 21 23:11:43 blusky: also be prepared to not have the video and display some alternative instead Jan 21 23:12:10 blusky: you can also use a fixed image first time around and download the video.. then next time the user has to login they'll see it Jan 21 23:12:39 ^ which also means you can store it on the external storage, rather than always eating internal. Jan 21 23:12:59 or do expansion apks go to the external? Jan 21 23:13:02 groxx: expansion-apk is always stored externally Jan 21 23:13:07 hm. does anyone have good suggestions for a "learning resources" list for good example android apps (open source, obviously, to prevent appearance of impropriety) besides the github list in android studio? Jan 21 23:13:09 good news. Jan 21 23:13:20 /external/0/Android/obb// Jan 21 23:13:22 for example Jan 21 23:13:41 true, I have seen that. Jan 21 23:14:25 blusky: ofc, the simplist solution, dont fucking do it because its a waste of bandwidth/storage and your time Jan 21 23:14:31 :D Jan 21 23:14:59 agreed there too :) it's a lot of bloat for something you assume most people will only see once. Jan 21 23:17:09 the method i prefer is to simply have a couple of images in no-dpi scale load them with BitmapFactory.decodeResource and simply pan-fade between them infinitely Jan 21 23:17:20 blusky: ^ Jan 21 23:24:05 \o/ Jan 21 23:27:51 Napalm: my video is only 500ko, so ... why not, it's nice :) Jan 21 23:28:00 but it's not smooth Jan 21 23:28:04 I dunno why :/ Jan 21 23:28:13 blusky: shitty encoding Jan 21 23:28:30 the video is smooth on another player, or on computer Jan 21 23:28:42 blusky: whats your video source resolution and fps Jan 21 23:29:15 960*540, 25fps Jan 21 23:29:36 length? Jan 21 23:29:43 7s Jan 21 23:30:15 so thats 90Mbyte uncompressed Jan 21 23:30:43 (and unbuffered) Jan 21 23:30:45 even if most of your frames are "mostly" the same.. it sounds quite high Jan 21 23:30:59 for 500Kbyte Jan 21 23:31:06 i mean low Jan 21 23:31:15 video playback doesn't uncompress the whole thing at once though Jan 21 23:31:48 correct, but it has to through-put 104Mbit/sec in this case to the GPU Jan 21 23:32:26 is it sent to gpu by default ? Jan 21 23:32:27 nothing you can do about that.. but changing the compression profile and making the video larger.. will probably make the video "stutter" less Jan 21 23:32:52 blusky: how are you playing it? TextureView? Jan 21 23:33:09 videoview Jan 21 23:33:19 ugh Jan 21 23:33:27 what-the-fuck Jan 21 23:33:29 ok, gonna change that :D Jan 21 23:33:31 lol Jan 21 23:33:41 ahah, i'm a noob, videoview sounded nice :D Jan 21 23:33:57 hahaha Jan 21 23:33:58 it would be great, if it was nice :) Jan 21 23:33:59 TextureView with MediaPlayer will sort you out good Jan 21 23:34:18 blusky: any other video playback in your app? Jan 21 23:34:55 nop Jan 21 23:35:21 yea, then TextureView with MediaPlayer is your best bet.. if you had other video I was going to suggest use ExoPlayer Jan 21 23:37:08 gonna rtfm and try that then :)= Jan 21 23:37:29 Hi, Can anyone help me I always get this exception http://prntscr.com/5veyq5 NoClassDefFoundException after adding the OkHttp library. I already tried to clean and rebuild the project Jan 21 23:37:57 how did you add it to your project? Jan 21 23:38:25 added jar to /lib then right click add library then clean and rebuild Jan 21 23:38:39 hello Jan 21 23:38:49 * Napalm thinks JakeWharton has a special IRC trigger for OkHttp phrase to nuke all support and trolls in their tracks :D Jan 21 23:38:53 is there a way to limit the permission of an app to the minimum? Jan 21 23:39:09 i don't want to waste my time behind cracking the phone Jan 21 23:39:09 Macthetrix: OkHttp depends on Okio. You'll need its jar as well. Jan 21 23:39:33 JakeWharton: do you have an okhttp example project? Jan 21 23:39:52 showing what? OkHttp has a bunch of examples and recipes. Jan 21 23:40:13 Ok let me add that jar Jan 21 23:40:21 guys,if you are the devs of android, isn't it the time to face some simple but very important concepts like privacy? how can one tolerate, say, a calculator requiring permissions for reading sms? Jan 21 23:40:45 ok. i haven't played with it yet (i know, i know, i really should) but i'm trying to compile a list of useful resources :) Jan 21 23:41:14 i can't think of any reason not to use it in a new project though. Jan 21 23:41:51 you work for people who don’t trust 3rd party libraries? Jan 21 23:41:58 l_r: if you think an app is asking for too many permissions, say no and don't install it. that's what most of us do. and some of us even name and shame. Jan 21 23:42:26 s73v3r: i mean projects i'd be involved in. :P Jan 21 23:42:48 lewellyn, that's what people have been doing since years now Jan 21 23:43:07 my question began with "isn't it the time to...." Jan 21 23:43:07 l_r: and that's how it's meant to be. none of us here have any influence over the status quo. Jan 21 23:43:12 l_r: problem solved then Jan 21 23:43:32 google wants broad permissions and users keep ignoring the requested permissions so skeezy devs keep putting out crappy apps which do bad things. Jan 21 23:43:42 yeah Jan 21 23:43:52 nothing anyone here can do about it aside from bitch and moan. Jan 21 23:43:57 is okio included if you add okhttp via maven? Jan 21 23:44:00 yes Jan 21 23:44:32 i'd consider it defective if it didn't get its maven dependencies correct. and that would make me suspect of the rest. ;) Jan 21 23:45:22 lewellyn, at least apple started to care about the privacy of its users many years ago and the iphone can limit an app Jan 21 23:45:32 Wow thanks Jake adding okio fixed it Jan 21 23:46:09 l_r: the users can limit the apps too. the best limit which teaches devs what is not ok is users not installing crapware-of-the-week. Jan 21 23:46:45 another support query squashed by JakeWharton Jan 21 23:46:48 lewellyn, experience shows that users are like children...that's all.... Jan 21 23:46:56 a few platforms have granular permissions, controlled by the user. none of the platforms have granular permissions which don't suck for either the user or the developer to deal with. Jan 21 23:47:04 or, in some cases, both. Jan 21 23:47:19 http://www.androidcentral.com/cyanogenmod-updating-privacy-guard-20-new-features-coming-cm102 Jan 21 23:47:35 been around for a few minutes Jan 21 23:47:49 l_r: its what grantUriPermissions were always for Jan 21 23:48:03 yeah...cyanogenmod...never got it to work... last time i was about to loose my sim card because of it not handling the pin code input well Jan 21 23:48:18 the best platform in terms of granular permissions was potentially the legacy blackberry os. it would ask the user as an app requested permissions and the developer could test whether the permission was granted or denied. but it was irritating since you'd be getting new permissions dialogs at random. "click take picture then click ok on the permissions dialog..." Jan 21 23:49:05 the pro is that the user knows WHY the permission is being requested, most of the time. Jan 21 23:49:10 the cons seem obvious :) Jan 21 23:50:11 lewellyn, better than nothing...at the least the concept was clear to balckberry Jan 21 23:51:06 anyone know a good way to store a string that only my app should know about... i.e a server cookie Jan 21 23:51:26 but we all know what the truth is...google does not have economic interests on such features, it would have a negative impact Jan 21 23:51:56 well, users disliked it enough that blackberry 10 lets users, at first launch or update requesting new permissions, decide which permissions to grant or not. so now you have the same problem as the google approach where you need to list it all in the app description, but you have to be very paranoid whenever you use any feature. Jan 21 23:52:04 first $$$, next privacy Jan 21 23:53:02 lewellyn, a simple switch "on/off" or "paranoic /not paranoic" installation would start to eb solving the problem Jan 21 23:53:04 there's no answer which will make everyone happy. Jan 21 23:53:31 no it won't. you'll end up in the blackberry 10 boat where they had to actually change how they store permissions because users were shooting themselves in the foot. :( Jan 21 23:54:55 (bb 10.3.0 or 10.3.1 resets your permissions preferences when you uninstall an app. earlier versions thought that the user was actually intelligent and remembered the granted permissions across installs. now you have people expecting memory getting confused instead of the ones who couldn't remember that they denied e.g. camera access.) Jan 21 23:55:41 tl;dr there are no good answers to permissions. android's model of all-or-nothing at least doesn't let stupid people do so many stupid things and make stupid support requests and 1-star reviews. Jan 21 23:55:52 Until they install Xposed. Jan 21 23:55:59 And forget they fucked up their device. Jan 21 23:56:33 Mavrik: but that's beyond the android model. google's decision at least is sensical even if i disagree with it. Jan 21 23:56:43 lewellyn, i don't know how userberry implemeted the idea, but as i said before, iphone works fine with regard to permission . i never had one, but a friend of mine was surprised when he tried to install his first application on his first android phone (he had always been using ihpone) Jan 21 23:56:58 iOS is far from fine Jan 21 23:57:05 l_r: what JakeWharton said. :P Jan 21 23:57:15 lewellyn, mhm, I wish I could define permissions as "optional" in manifest Jan 21 23:57:17 i left it out because it's such a clusterfuck that i don't even know where to start. Jan 21 23:57:26 and then ask user about them explicitly Jan 21 23:57:28 Mavrik: but that'd confuse the average stupid user. Jan 21 23:57:35 if your app is reliant on a permission you have to educate the user before even showing the dialog Jan 21 23:57:39 Mavrik: that's about how the java bbos worked though. Jan 21 23:57:44 Average stupid moron can buy an Apple device. Jan 21 23:57:51 our iOS devs fear people tapping 'no' on a permissions dialog that we need for our apps Jan 21 23:58:23 for good reason Jan 21 23:58:26 yeah. most platforms with granular permissions have that same problem. Jan 21 23:58:40 I mean... we already have OS that caters to idiots, I think making Android a copy of iOS doesn't really help the market Jan 21 23:58:41 iOS is an order of magnitude worse though. :( Jan 21 23:59:03 JakeWharton, hmm, yeah, we had that issue to, especially since iOS doesn't allow repopups Jan 21 23:59:04 as i've said many times, iOS is a hostile ecosystem to both developers and users. Jan 21 23:59:08 yep Jan 21 23:59:24 you have to do crazy complicated things to restore that permission and most users will not Jan 22 00:00:09 JakeWharton: yeah. again, that's why i used bb10 as the current granular model instead of ios. bbry at least realized that people might want a way to send people to the permissions page to let the user turn something on. :P Jan 22 00:00:45 Well, having optional permissions declarable gives you both ways: you still can define permissions you need as non-optional. Jan 22 00:01:07 "It looks like the Camera permission is not available. We need this to take photos of your cat. Please turn it on at the next screen. [ Continue ]" Jan 22 00:01:08 And you don't scare away users for those few cases when you need/want intrusive ones (e.g. contacts sync etc.) Jan 22 00:01:37 Mavrik: the problem is that the intrusive ones usually don't make sense but everyone and their dog requests them. :( Jan 22 00:01:51 lewellyn, hrmf, I don't know Jan 22 00:02:00 if I want to offer contact lookup and search Jan 22 00:02:13 it makes sense... but not all users want to allow me that access and that's fine. Jan 22 00:02:21 i was going to install a big-name paid game the other day. but it wanted access to contacts and camera. and i have no idea why. so screw that. Jan 22 00:02:29 Exactly. Jan 22 00:02:44 i mean, i have no idea why it'd even concievably have a justification for the permissions. Jan 22 00:03:03 Well, you can do a lookup and match with your friends, it's a commonly requested feature in games Jan 22 00:03:08 and that makes it harder for legit requests to make it past most people who actually read permissions. Jan 22 00:03:18 And now it's either everyone or noone. Jan 22 00:03:24 it has an existing social service login. :P Jan 22 00:03:48 there's no reason for it to read my contacts and place phone calls if it's using an established social gaming service. Jan 22 00:04:12 now you're going all Apple again Jan 22 00:04:16 there isn't only one social gaming service. Jan 22 00:04:21 why should there be only one choice? Jan 22 00:04:23 if it were only camera, sure, i would have probably muttered and hit ok. :P Jan 22 00:04:40 so any recomendations for cooke storage? Jan 22 00:04:44 because they use a well-specified choice :P Jan 22 00:04:53 coke * I store mine in a Coca Cola can Jan 22 00:05:05 i store mine in a female-shaped bottle. Jan 22 00:05:32 mrs buttersworth?! Jan 22 00:05:52 she's too sweet for me. Jan 22 00:06:00 i need a bad girl who'll rot my teeth. Jan 22 00:07:23 i hope ur citing lyrics? Jan 22 00:14:03 If I’m using autolink on a textview, can I tell it to not underline it? Jan 22 00:15:23 x29a: no. Jan 22 00:15:37 wait a moment Jan 22 00:15:46 on my new android phone i have a guest user Jan 22 00:15:56 can i install an app as guest user? Jan 22 00:16:06 l_r: probably not via google play. Jan 22 00:17:01 On iOS, there’s a common pattern around permissions where you pop up your own dialog asking for the permission, preferably with a description of why you need it. If they say no, you dismiss the dialog. If they say yes, then you actually invoke the API call to request permission. Jan 22 00:17:18 but assuming it's possible to install an app via apk, would it be possible to solve the permission problem..meaning that the calculator can read sms, yes, but those sms are owned by the guest user who by definition is temporary? Jan 22 00:17:38 x29a: https://www.youtube.com/watch?v=6UddLOJz4lQ Jan 22 00:17:48 l_r: The solution is not to install the damn calculator that is asking for such invasive permissions Jan 22 00:17:58 s73v3r: i thought that the api was hit or miss on ios, from talking to ios devs. Jan 22 00:18:33 no, it’s pretty solid. But you only actually use it after the user has told you they’re willing to grant the permission Jan 22 00:18:43 s73v3r: extend ClickableSpan/URLSpan and override updateDrawState() and call ds.setUnderlineText(false); after calling the super methodf Jan 22 00:18:54 and if they deny it, you'll never be able to teach them how to re-enable if they want it. Jan 22 00:18:55 is there a way to do it without writing code? Jan 22 00:19:01 s73v3r: no Jan 22 00:19:05 fuck Jan 22 00:19:11 indeed Jan 22 00:19:39 groxx: there are ways to do so. Telling them where to go, for one Jan 22 00:19:44 s73v3r: you can always just make a method that replaces the current URLSpan with your own that extends it.. a one off execution Jan 22 00:19:52 s73v3r: yeah, but how often do they actually do it? Jan 22 00:20:18 But the idea behind the pattern I talked about is that your user will say no on your dialog, not the system dialog Jan 22 00:20:41 so they don’t have to go into Settings or anything. And you can choose to bug them again next time, or after 3 times, or whatever Jan 22 00:21:08 yep. the ask-before-actually-asking thing works pretty well Jan 22 00:21:50 I’m pretty sure it would take off if Android introduced more granular permissions. Jan 22 00:22:26 And presumably on Android, you’d be able to launch the settings intent to take them to settings (assuming each OEM doesn’t make it different) to turn it on straight from the app Jan 22 00:23:12 this is presumably a very common / basic android thing but I'm finding it hard to google the right terms. If I have a DatePicker in a relative layout and a TimePicker below it (android:layout_below="@+id/datePicker"), what is the best way to handle screen sizes that don't fit them both? At the moment it cuts it off, and it would be horrible UX to put it in a ScrollView because the date/time pickers themselves scroll. Jan 22 00:23:30 maybe they can be made smaller on smaller screens? Jan 22 00:23:58 guys Jan 22 00:24:11 but the guest thing is the thing i was asking! Jan 22 00:24:15 "Restricted profiles function similarly to parental controls. The restricted profile has access to apps from your account, but you can choose exactly which apps they have access to. Developers have the option to implement fine-grained settings for restricted profiles, so you could theoretically choose what the restricted profile could do in a specific app." Jan 22 00:24:15 duncannz: you can always use a ViewAnimator/Flipper or such and page between the two Jan 22 00:24:28 duncannz: Most things I’ve seen do it by putting date on one screen, and time on another Jan 22 00:25:41 is there a good resource for good android architecture patterns (minus just a googling)? Jan 22 00:26:02 not particularly. there’s a lot of articles about it, but not a lot of consensus Jan 22 00:26:30 there are a few I've seen, but yeah, no real standardizing. and the ones I've seen are semi-questionable (though they might still give you ideas) Jan 22 00:26:57 a lot of it is also just "follow good java practices", which are not easy to come up with on the spot if you're not familiar with java already. Jan 22 00:27:13 s73v3r: that was what i as getting, there isn't really any that stand out that people have converged on Jan 22 00:27:30 The best thing I could tell you is to try and separate as much as you can out from your activities/fragments as possible Jan 22 00:27:57 s73v3r: what is your general opinion of fragments and how they fit into the activity lifecycle. vs just using activities? Jan 22 00:27:58 treat them largely as view controllers, and try to keep the app/business logic out of them as much as you can Jan 22 00:29:03 If you have only one screen of stuff, then do just an activity. if you have several connected screens, like say, a signup flow, then it might be better to set each screen as a fragment, and use the activity to switch between Jan 22 00:29:53 I'll recommend not nesting fragments, fwiw. there are some odd details when you start doing that. Jan 22 00:30:06 groxx: a fragment starting a fragment Jan 22 00:30:21 generally it works, but some things are difficult. among others, the support fragments won't call onActivityResult on your sub-fragments. Jan 22 00:30:23 groxx: vs 1 activity with multiple fragments? Jan 22 00:31:19 more of "always have your activity organize your fragments". it has been more pain that it was worth to let fragments police their sub-fragments, even though it makes conceptual sense. Jan 22 00:31:38 groxx: alright that makes sense Jan 22 00:31:43 groxx: do you use MVP? Jan 22 00:32:32 it's a dubious distinction, but I'll claim we're more MVC than MVP. our activities / fragments are fairly fat with behavior, sadly. Jan 22 00:33:04 I usually consider P = presentation = minimal business logic, just transforming semi-standard-format data for display. Jan 22 00:34:03 alright, i am attempting to come up with a re structure that removes most of the bloat from the activities and fragments that are, as you have stated so elegantly :), "fat with behavior" Jan 22 00:34:30 and abstract out and have a clear distinction of a data layer Jan 22 00:35:15 fwiw I've been thinking for a while now that we'd be in less pain if as much as possible were in "plain" java objects. basically, build an 'application' core that would in theory work on any java platform, and then build a lifecycle / display layer to make it work on Android. Jan 22 00:35:49 it should also be more easily testable, since there would be less coupling to android-specific stuff. Jan 22 00:36:07 work-and-personal-projects have not actually taken the plunge though :) Jan 22 00:37:15 that is very similar to the direction i want to go, and as you have put it more testable. I would like to just be able to use junit/mockito for 90% of the unit tests, and robolectric for very little Jan 22 00:38:12 yeah. architecturally I think it sounds good. in practice, it's so much more boilerplate that it doesn't feel worth it most of the time :) especially since work is perpetually in "growth mode". lots and lots of rapid changes. Jan 22 00:39:25 groxx: yuuuup, never get the time to make these changes to make growth faster and easier, and instead build on top of a shaky foundation Jan 22 00:40:45 yeah :) we're pretty undeniably past the point where it would make sense to do some refactoring, but we're also getting close to some important goals. so it's perpetually put off. eventually! one day! then all will be unicorns and ponies. Jan 22 00:41:50 groxx: omg lol well put. So it does sound like these ideas and goal aren't too off base as far as an attempt at a good architecture Jan 22 00:44:53 groxx, s73v3r: thanks for the input and opinions. much appreciated. Jan 22 00:45:28 guys can an external app read the email handled by another app, say k9, supposing the external app is given ALL the possible permissions? Jan 22 00:45:38 and also assume my sd card has been removed Jan 22 00:46:30 I need zoom-enhance technology. Jan 22 00:46:32 l_r: with root, sure. without, I think it's only possible with some permissions you can't get without building your own OS. and if the data is on the SD card, then nothing has access to it, so no. Jan 22 00:46:57 no the data is not on the sd Jan 22 00:47:04 k9 stores it somewhere else Jan 22 00:47:10 that's why i am asking Jan 22 00:48:15 for example, can skype read my gmail 's? Jan 22 00:48:35 then with root, it's definitely possible. you could read the network traffic, or read its files, or dive in and observe the JVM as it runs. none of that is easy though. Jan 22 00:48:43 skype: no. Jan 22 00:48:54 groxx, so those cases are not possible Jan 22 00:49:04 cross-app access is not possible Jan 22 00:49:42 cross-app access when the app gives an approved method of doing so (e.g. a content resolver, so other apps can query the app) works. but it's up to the app to secure that. Jan 22 00:50:09 I don't believe gmail has anything that allows that though, if that's your concern. (I'm not 100% certain, but I'd be surprised.) Jan 22 00:56:38 Hello, is it possibel to change your game services username to something else other than your google accounts real name? Jan 22 00:56:59 or actually nevermind, think I just came up with a different approach Jan 22 00:58:11 so what is the proper way to create a fullscreen app with no titlebar? Jan 22 00:59:00 my attempts via what I've found via google either do nothing, remove the text from the titlebar only, or remove the titlebar completely but then still show the top drop bar Jan 22 00:59:22 fxmulder: what are you asking exactly? Jan 22 00:59:38 you've just suggested a few Jan 22 00:59:49 what are you trying to do, and whats the problem exactly? Jan 22 01:01:25 l Jan 22 01:01:35 Napalm: I just created a new fullscreen app using android studio and it has the titlebar at the top which has the icon and app name in it, and I am trying to remove that titlebar Jan 22 01:02:04 just set your activities theme to the fullscreen variant Jan 22 01:02:19 Napalm: that did nothing when I attempted it Jan 22 01:02:21 fxmulder: i would delete that auto generated one Jan 22 01:02:31 well I should say, it is already the fullscreen theme Jan 22 01:02:39 but I changed it to the notitlebar.fullscreen theme Jan 22 01:02:42 which did nothing Jan 22 01:02:49 fxmulder: what you did was create an activity thats like for a media player Jan 22 01:03:02 where you are popping the titlebar and other ui in and out of the screen Jan 22 01:03:08 if you just want a fullscreen activity Jan 22 01:03:15 all you need is set to the theme Jan 22 01:05:13 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" ? Jan 22 01:05:19 yup Jan 22 01:05:29 yeah that doesn't change anything Jan 22 01:05:33 create a blank class that extendds Activity Jan 22 01:05:38 and use that Jan 22 01:10:10 so you're thinking that something in the definition of the class I'm currently using that extends Activity is defeating what I am trying to do Jan 22 01:11:04 perhaps, the default AndroidStudio activity for fullscreen does lots of code for things that is sounds like you dont want Jan 22 01:12:34 whats the bottom bar called, I want to style it baut cant remeber its name Jan 22 01:14:03 n^izzo: the one with the back, home and recents buttons? Jan 22 01:14:14 Napalm, yea thats the one Jan 22 01:14:28 its not the action bar Jan 22 01:15:09 n^izzoq: NavigationBar.. and you can only style it on KitKat+ and thats limited at best.. you can make it pretty much fully transparent on KitKat and semi-transparent on Lollipop Jan 22 01:15:22 ty Jan 22 01:17:53 This thread hit the front page of reddit: http://www.reddit.com/r/AskReddit/comments/2t73j8/what_if_everything_was_spiders/ Jan 22 01:17:55 Seriously? Jan 22 01:20:31 spiders is serious. Jan 22 01:27:29 Napalm, so how do I make a theme just for > api21? Jan 22 01:28:07 Napalm: good call that seems to have worked Jan 22 01:28:20 creata values-v21 folder and create a new resource xml file in it and create a style with the same theme name.. this is explained in lots of places online Jan 22 01:29:21 but then will it only target v21 or any api =< 21 Jan 22 01:29:57 no only 21+ Jan 22 01:30:10 n^izzo: your normal values folder has the other theme in it Jan 22 01:30:39 n^izzo: sounds like you dont understand how resources work on Android.. see http://developer.android.com/guide/topics/resources/providing-resources.html Jan 22 01:43:03 Napalm, ok I have targetetd themes now but how do I make it inherit from the base theme? Jan 22 01:44:01 because the new theme v21\styles.xml is called AppTheme and so is the base theme Jan 22 01:45:27 so rename that to the base theme Jan 22 01:45:40 BaseAppTheme Jan 22 01:45:46 and do the same for the one in Values Jan 22 01:46:04 now create a new style in values called AppTheme and parent it ot BaseAppTheme Jan 22 01:46:17 ahh I see Jan 22 01:46:20 :P **** BEGIN LOGGING AT Thu Jan 22 01:55:46 2015 Jan 22 02:02:46 Does Google Chrome (for desktop OSes) store browser history even if the user doesn't log in? Jan 22 02:03:02 I uninstalled Chrome, removed all browser history, and reinstalled it, and my full history was there. Jan 22 02:03:18 Then I did the same but this time cleared history (everything) in Chrome and my history was there again when I reinstalled. Jan 22 02:03:20 Freaky Jan 22 02:16:20 hey guys. I'm using a scrollview to hold a big linearlayout. Inside it is a listview. When the scrollview doesn't need to scroll, the listview scrolls fine. When it's too small (landscape mode), the scrollview scrolling takes over the listview scrolling. I am using a swipe to dismiss on the listview (roman nurik's code). Any idea why this is happening? Jan 22 02:19:52 hesperaux: Romain Guy said don't put a ListView in a ScrollView: http://stackoverflow.com/a/3496042 Jan 22 02:20:01 Why are you doing that? :) Jan 22 02:20:06 heh Jan 22 02:20:34 can I put a scroll view in a scroll view? Jan 22 02:20:45 the form UI doesn't fit on my screen. the user can add from the form UI to a listview, as part of their input. The listview holds these multiple parameters until the form is submitted Jan 22 02:20:46 It's scroll views all the way down Jan 22 02:22:31 because of the height of the form, it needs to be in a scrollview. because of the relationship between the listview and the boxes which fill it, it needs to be below the boxes, which are in turn inside the scrollview/form Jan 22 02:23:20 What Views other than the ListView are in the ScrollView? Jan 22 02:23:29 autocompletetextviews (which Jan 22 02:23:32 fail enter key Jan 22 02:24:02 autocompletetextviews (which act a little strange in landscape with the IME), one or two textviews, a progress bar, a button, and an edittext Jan 22 02:31:43 it seems the correct way to do this is to create a vertical linear layout, and manually add and remove items from it. That would mean I'd have to manage all the view objects myself, as well as the data structure it would normally adapt to. Really? Jan 22 02:32:15 and to implement swipe to dismiss I will have to use the other type of dismiss listener, used for regular object types Jan 22 02:39:31 is passing a class for instantiation a thing in Java or are classes not first-class types? Jan 22 02:42:15 not generally. you would have to know the arguments to the constructor, and use reflection, which can be slow Jan 22 02:42:33 You would usually use a Factory for that Jan 22 02:43:57 or more likely, some sort of DI library Jan 22 02:44:00 bleh... yeah, reflection API looks painful Jan 22 02:44:06 waste of time Jan 22 02:44:33 So much for merrily duck-typing away' Jan 22 02:47:13 hesperaux: I'm not sure of the solution. Sorry. Is there some way you could restructure the UI to make it simpler? Jan 22 02:47:48 TacticalJoke, i could get away with having the scrollview take up only some of the viewport, and put the listview beneath it, and rearrange the input boxes...but it wouldnt' be as optimal for UX Jan 22 02:48:00 I think I'll have to manage a linearlayout in code instead...fffffff Jan 22 02:48:27 Maybe an option is to put everything in the ListView. But that could be ugly (especially with the EditTexts). Jan 22 02:49:49 yeah very ugly Jan 22 02:49:51 What is this screen for? Jan 22 02:51:16 it logs a diary entry of a person, basically Jan 22 02:51:53 since some of the data can have multipleresponses, the listview holds them and multiple rows with the same entry id are inserted for each item in the list **** ENDING LOGGING AT Thu Jan 22 02:59:59 2015