**** BEGIN LOGGING AT Wed Dec 03 02:59:59 2014 Dec 03 03:11:58 TacticalJoke, hate extraneous parents when they're unnecessary or don't disambiguate order of operations Dec 03 03:12:03 parens Dec 03 03:22:51 pfn: define disambiguate? since java doesn't consider valid statements ambiguous, does it include e.g. "return a++ + 3 > 7 && x == y ? 1 : 2" Dec 03 03:24:00 I feel like I should have a nastier example, but brain isn't up to it at the moment D: Dec 03 03:27:57 visually Dec 03 03:29:53 more clear if you do ((((((((((((((((((((((((((((a++ + 3 > 7 && x == y ? 1 : 2")))))))))))))))))))))))))))))) Dec 03 03:30:41 That equation is being hugged to death. Dec 03 03:30:59 I guess I should say 'expression'. Dec 03 03:31:25 hi all, I'm having a new exception with Lollipop devices with a RuntimeException when trying to getCameraInfo in the old Camera api in the native method _getCameraInfo... anyone know if there were any changes to the old API? Dec 03 03:32:14 so much love expressed in there. Dec 03 03:35:47 troh: camera definitely works in lollipop for me. what's the exception, and basic camera Qs include: a) 100% sure you're on the right thread? b) did it work on the same device pre-lollipop, or is it just a new crash you're detecting in the wild, c) camera is such a pain. are you sure you can't just use the camera intent? Dec 03 03:36:19 Can I programmatically say a button is focused ? Dec 03 03:36:32 Or set it's state to pressed? Dec 03 03:37:30 SASDOE: have you tried btn.setPressed(true) ? Dec 03 03:37:47 I made something I hate. Dec 03 03:37:57 I need advice on how to best position it. Dec 03 03:38:12 Agamemnus: so you're a programmer. any other confessions? Dec 03 03:38:25 :) Dec 03 03:38:36 Groxx: cheers, I'll try that. Dec 03 03:38:45 I created a reward for starting the game and playing a puzzle. Dec 03 03:38:52 Every 24 hours, you get the reward. Dec 03 03:39:06 ah. "engagement". Dec 03 03:39:17 How should I do it? Make a notification at the start of the puzzle or after the user finishes it? Dec 03 03:39:17 Groxx: And can I set that state in an xml file as well? Dec 03 03:39:23 Groxx: a) yes, 100% sure I'm on the right thread. created a single camera thread and run on that. b) new crash detected in the wild, nexus 5. didn't happen before. c) ughhh... :P Dec 03 03:39:42 SASDOE: not that I know of, but that's not all that conclusive :) Dec 03 03:40:12 And should the notification require that the user press an "ok" button to acknowledge it? Dec 03 03:41:20 Hmm. I'm adding two kinds of views to my ListView. When I append items to the list, one of my views (but not the other) is *not* being recycled. Dec 03 03:41:28 I can't quite figure out why one is but one isn't. Dec 03 03:41:51 Though it's not consistent. Sometimes, it does get recycled. Dec 03 03:41:54 Agamemnus: fwiw I've generally seen the best interactions from things that have a "call to action". so a notification that says "play for today's free reward" is both a) kinda spammy, and b) tells them why they should click it, which tends to actually increase the number who click. Dec 03 03:41:59 (After adding items to the list, I mean. Dec 03 03:42:00 ) Dec 03 03:42:38 Oh no Dec 03 03:42:41 It's not like that Dec 03 03:42:50 But I do have push notifications Dec 03 03:42:54 I mean in the game itself Dec 03 03:43:04 When you start. You get the reward automatically Dec 03 03:43:12 But that's even more horrible. Dec 03 03:43:22 I mean, via push notifications. I might have to.. Dec 03 03:43:37 TacticalJoke: hm. type count is 2, and you have more cases where the "other" view should be visible, and it should be using a recycled? or is this something happening in a recycle listener? Dec 03 03:43:49 I've seen it in other games. I uninstalled those games because I hate that. Dec 03 03:43:58 Agamemnus: yeah, I tend to do that too :) Dec 03 03:44:18 Basically, one view is shown 25 times; the other, one time. Dec 03 03:44:37 When I append the list and notifyDataSetChanged(), the one-time view is recreated almost every time. Dec 03 03:44:41 Just curious of why. lol Dec 03 03:44:52 The 25-time item isn't recreated at all, basically. Dec 03 03:44:58 TacticalJoke: is it the first item in the list? Dec 03 03:45:03 Nah, it's the last. Dec 03 03:45:07 Always the last. Dec 03 03:46:27 could still be related… iirc listview creates a "prototype" row to estimate size. it gets recreated periodically, I forget the details. somewhat orthogonal: are you getting a convertView to reuse when it comes into view, or is it always null? Dec 03 03:47:15 Doesn't seem to happen if it's the first item in the list. Dec 03 03:47:59 After appending my list, convertView is null when I first scroll down to this last item, but it's non-null every time after that. Dec 03 03:48:09 Until I append the list again, when it becomes null again. Dec 03 03:48:57 My main concern is this. Dec 03 03:49:07 It's a technical concern: Dec 03 03:49:29 I need to wait for a server response, or have a timeout value, if I have a click-through popup at the start. Dec 03 03:49:53 Alternatively I can have it pop up inconspicuously and hide Dec 03 03:50:12 What do you think, Groxx? Dec 03 03:50:33 On a side note, god damn, this ListView is fast. :D Dec 03 03:50:42 Even with 10s of thousands of items, there's not a hint of lag. Dec 03 03:51:11 Actually, make that thousands. Dec 03 03:51:29 http://www.androidpolice.com/2014/12/02/android-5-0-1-lrx22c-hitting-aosp-now/ Dec 03 03:51:31 ooh Dec 03 03:51:32 any reason why I shouldn't upgrade to rc2? Dec 03 03:51:33 TacticalJoke: if you append to the list, are you appending more of the last-item? or more of the 25-copies items? Dec 03 03:52:07 It's 25 more of item 1. Item 2 then just jumps to the end of that. Dec 03 03:52:14 Item 2 is a "Load More" view. Dec 03 03:52:18 aah Dec 03 03:52:32 It's weird how this doesn't happen if the "Load More" thing is the first item. Dec 03 03:52:35 Also.. does anyone know the Chrome version that comes with Android L? Dec 03 03:55:00 TacticalJoke: I forget exact recycling logic… though it still sounds like that prototype-row-measuring behavior, to my mind. (it's just sticking there, not claiming it's definite. tired brain.) are you by any chance using stackFromBottom? Dec 03 03:55:56 No, not stackFromBottom. Dec 03 03:56:10 TacticalJoke: I assume it's safe to assume your getView is sane, and not just inflating new copies by accident? Dec 03 03:56:18 Yeah. Dec 03 03:56:49 My getView takes its meds. Dec 03 03:57:15 "practice safe inflation" -> I really didn't want my mind to go there. Dec 03 03:58:33 :D Dec 03 03:58:57 Gotta be more careful about deflation, I think. Dec 03 04:00:05 TacticalJoke: oh, do you have animations running on the "load more" view when you reload the list? Dec 03 04:01:03 mostly I'm wondering if they might have transient state, which will prevent them from being recycled Dec 03 04:01:42 The "load more" view is a LinearLayout containing a TextView and a ProgressBar. When the TextView is clicked, the ProgressBar shows. Dec 03 04:01:53 Actually, it's a RelativeLayout, but I guess that doesn't matter. :) Dec 03 04:02:05 (And the TextView hides when the ProgressBar shows, of course.) Dec 03 04:02:47 I wonder whether that messes with the recycling in some way. Dec 03 04:04:57 TacticalJoke: sorry. been too long since I've plumbed the depth of ListView :\ not really sure what the cause is. Dec 03 04:04:57 Hey guys, I'm having trouble building a port of Lollipop to the OUYA. It's trying to build the OTA package, and I assume that the size is too big or something, here's a log https://gist.github.com/logangorence/461527f488c693289b42, and any help would be appreciated :) Dec 03 04:05:28 LoganG please see topic Dec 03 04:05:37 troh: ah, sorry. what's the full stack trace of the exception? Dec 03 04:05:45 oh sorry Dec 03 04:05:55 wrong channel :> Dec 03 04:06:49 Groxx: No worries. :) Dec 03 04:07:08 Groxx, any opinions? Dec 03 04:07:32 Make it pop up inconspicuously and hide, or force the user to touch the "ok" button? (or whatever it's called) Dec 03 04:09:43 Agamemnus: sorry, got distracted :) so this would be first-launch, and if you show it you need to wait for a server response for something, and… react based on the server response, before doing anything? Dec 03 04:11:33 Agamemnus: e.g. you want to take them to a different thing based on a temporary promotion or something? (or something equivalent, from a client/server communication standpoint) Dec 03 04:19:21 No it's not like that Dec 03 04:19:30 Well, close. Dec 03 04:19:38 Should it be first-launch? Dec 03 04:19:43 It's like this: Dec 03 04:19:54 The user opens the game. Dec 03 04:20:01 The user selects a puzzle. (it's a jigsaw game) Dec 03 04:20:06 The user gets an ad. Dec 03 04:20:18 After the ad, I query the server and potentially add 1 "gem". Dec 03 04:20:39 So at that point I have some opening animation stuff. (the title of the level appears and flies out) Dec 03 04:20:50 I'm not taking the user anywhere. Dec 03 04:21:15 I'm just wondering if I should notify the user that they got an extra gem or create a popup they have to click through to start the puzzle. Dec 03 04:21:40 By notify, I mean like what happens when you log in via Google Play Services. A little popup on top. Dec 03 04:21:51 aaah, I was pretty far off :) Dec 03 04:22:37 At the moment it's basically a popup that runs at the same time as the title. Kind of bad. Dec 03 04:23:04 personally, I hate tap-throughs that don't actually do anything for me as a user. info popups, etc, things that are just in the way of doing what I want to do. Dec 03 04:23:31 But on the other hand, I want the player to know they got a gem... Dec 03 04:23:42 Maybe I can split the baby. Dec 03 04:23:44 yeah. I do see lots of tap-throughs for that exact purpose :\ Dec 03 04:23:56 Make a pop-up the first few times Dec 03 04:24:10 and then make it an easy notification Dec 03 04:24:24 maybe a better approach: show their gem-count on the 'main' screen, and have a tooltip-like thing explaining that they just got a free one today. Dec 03 04:24:37 doesn't block, stays around long enough to read, etc Dec 03 04:24:51 Maybe, not sure the ui can handle it. Dec 03 04:25:17 At the moment, and I've only had the new version up for a few days, but people don't seem to pay any attention to my new features Dec 03 04:25:38 yeah, brainstorming is easier than implementing :) maybe it's clear enough to have "gems: 12 (+1 today)" ? Dec 03 04:25:46 Espresso question: is there a nice easy way to select every view with id = id/foobar ? e.g. if I have a listview containing many views with the same id. onView(withId(R.id.foobar)) is supposed to only select a single view, right? I am finding myself missing xpath. Dec 03 04:25:52 Hmm, maybe. Dec 03 04:26:24 Let me make you a video of the new feature I have and you'll see how hard it seems to be to get people to click Dec 03 04:26:38 it should be glaringly obvious but apparently it isn't. Dec 03 04:26:39 Agamemnus: with my job, we do tons of A/B tests for things like this. show a variant, calculate e.g. day-over-day retention for each. we're pretty often surprised by what works best. Dec 03 04:26:49 Maybe because most of my users are French. Dec 03 04:26:53 hi hows life Dec 03 04:27:18 it does take a lot of users to get actually-significant results though, and it's best if you can link it with a cohort analysis (because people finding the app from different sources tend to behave differently) Dec 03 04:27:28 is it possible to commit the entire android-studio history into git ? Dec 03 04:28:12 Sure. I only have a few dozen users, hard to analyze anything Dec 03 04:28:15 well Dec 03 04:28:20 a few dozen logins Dec 03 04:28:20 I recently implemented v21 toolbar, can anyone tell my why I have this extra space on the left? Dec 03 04:28:22 http://i.imgur.com/l0zUa4o.jpg Dec 03 04:28:26 880 users Dec 03 04:28:30 Will onActionMove etc functions always be called from the IU thread? Dec 03 04:28:39 How do I know which thread my functions will be called from? Dec 03 04:32:39 http://developer.android.com/reference/android/app/Activity.html#dispatchTouchEvent%28android.view.MotionEvent%29 Dec 03 04:32:46 How do I know what thread this function will be called in? Dec 03 04:33:02 will dispatchTouchEvent always be called from the UI thread? Dec 03 04:33:25 what is this about 4.2.2 moving wifi_sleep_policy to system.global? Dec 03 04:33:53 I see warnings in the logs now about this, but I didn't think I was "writing" to system.settings before Dec 03 04:34:49 johnflux: why you want to know that? Dec 03 04:35:27 kuil09: because I want to make a change and then call invalidate() to update the view Dec 03 04:35:40 kuil09: but the docs say that you must only call invalidate() from the UI thread Dec 03 04:36:29 johnflux: I would assume it's only on the UI thread. I think touch events count as "view" behavior. Dec 03 04:37:56 johnflux: a quick test though, if you really want: `if (Looper.myLooper() == Looper.getMainLooper()) { .. on ui thread } else { nope }` Dec 03 04:39:31 johnflux: in general, everything Android will happen on the main thread, unless the method or class explicitly states otherwise. I can't recall any specific exceptions, but for the most part the Android framework isn't multi-threaded. Dec 03 04:39:38 johnflux: Similarly, if in the course of processing the event the view's appearance may need to be changed, the view will call invalidate(). Dec 03 04:39:59 Groxx: can I put that inside some sort of assert that is only called in debug views? Dec 03 04:40:43 johnflux: you could. I'd just stick it in dispatchTouchEvent and see if it goes into the false clause. Dec 03 04:41:06 johnflux: fwiw `assert` doesn't work in Android (by default), so don't use that. Dec 03 04:41:26 Groxx: thanks Dec 03 04:43:27 johnflux: I would honestly be surprised if it's not main thread, though I do wish the docs were more explicit about this :( Dec 03 04:46:45 all android life cycle call back occur on the main thread Dec 03 04:46:53 and that is all Dec 03 04:47:05 Groxx: you seem like a pretty smart guy, wondering if you know: have you ever managed to get INSTALL_REFERRER to work on 19? Dec 03 04:47:11 the only time they don't is when you explicitly specify a thread Dec 03 04:49:12 I wonder if 5.0.1 fixes the memory problems in lollipop Dec 03 04:49:43 Agamemnus: haven't tried, sorry. Dec 03 04:50:29 pfn: memory problems in lollipop? Dec 03 04:50:31 oh joy Dec 03 04:50:38 it never ends, does it Dec 03 04:51:01 Search for the Holy OS Dec 03 04:51:10 * pfn shrugs Dec 03 04:51:20 if it's fixed, it's not much to write about Dec 03 04:52:54 Agamemnus: do you have it working in other versions, but it's broken on 19 for some reason? Dec 03 04:53:06 Someone said it works on 18. Dec 03 04:53:16 I also read that it works on 15 or 16. Dec 03 04:53:43 I used Google's code to inject a broadcast Dec 03 04:53:48 It works in that case. Dec 03 04:53:59 It just doesn't work when you install. Dec 03 04:54:32 Agamemnus: I'm seeing mentions of it not working in alpha/beta releases. does that cover it? Dec 03 04:54:36 (The INSTALL_REFERRER lets you track installs that come with extra url key/values.) Dec 03 04:54:39 Is there a way to select a child of a ListView by index in Espresso? Dec 03 04:54:54 yes, i read this too, but I can't get it to work in release, either. Dec 03 04:55:01 Here: Dec 03 04:56:06 https://code.google.com/p/android/issues/detail?id=19247 Dec 03 04:56:48 it is a 3 year old issue... Dec 03 04:57:04 maybe only some apps/accounts are affected Dec 03 04:57:08 soon to be 4 Dec 03 04:57:51 I submitted an issue on Google's abandoned issue tracker, and I also sent them an email. Dec 03 04:59:35 Groxx, you know how sometimes, you find one bug and start debugging Dec 03 04:59:40 and along the way you find 10 more? Dec 03 04:59:48 Agamemnus: hm. it does seem believable that it's related to the Play store version, not the OS… Dec 03 05:00:28 I'm not sure, I was talking to someone yesterday who had it working Dec 03 05:00:38 Their target was 18 Dec 03 05:00:44 As far as they remembered... Dec 03 05:01:26 if you're using proguard: you've added the -keep rules? Dec 03 05:01:36 Interesting Dec 03 05:01:52 I'm not sure if I am or am not using proguard. Dec 03 05:01:58 I'm compiling with Cordova. Dec 03 05:02:09 possibly not, then Dec 03 05:02:15 not using proguard, that is Dec 03 05:03:07 another Q: it looks like it's only sent when you launch your app (makes sense, fits with other broadcasts). you're launching the app and still not seeing it? and is this in production and not working, or have you not pushed it to the play store yet? Dec 03 05:03:26 It's in the Play Store. Dec 03 05:03:34 I launched the app, not seeing it, correct. Dec 03 05:03:44 I output the string as soon as the receiver gets a hit Dec 03 05:03:55 you can try it yourself Dec 03 05:04:05 if you are so inclined Dec 03 05:04:23 I sent Google complete instructions on how to replicate Dec 03 05:04:37 I'm sorta interested, but I don't think I have time, nor do I have any experience on this one. probably can't help much :\ Dec 03 05:05:02 otherwise, my fallback trick is to find an app that _does_ seem to have it working, and decompile it. Dec 03 05:05:09 heh Dec 03 05:05:36 maybe there's something obvious in the manifest you're missing, or something like that. rarely helps, but it can be interesting anyway :) Dec 03 05:05:44 Well Dec 03 05:05:53 One thing I noticed from the guy who had it working Dec 03 05:06:06 they had Dec 03 05:06:28 android:name=".MultipleInstallBroadcastReceiver" Dec 03 05:06:31 in Mine is more like Dec 03 05:06:54 android:name="com.flyingsoftgames.googleplayquery.QueryReceiver" Dec 03 05:07:02 that shouldn't make a difference though.... right?!? Dec 03 05:07:09 The injected broadcast works perfectly. Dec 03 05:08:41 that's what kills me Dec 03 05:08:52 Back to the multiple bugs: Dec 03 05:08:54 I wouldn't think so, but I don't know the rules for receivers there :\ Dec 03 05:09:05 So the broadcast receiver doesn't work, but I have a fallback: Dec 03 05:09:20 My system logs the "challenge codes" along with the email they were sent to. Dec 03 05:09:37 Then, when a user logs in, I can try to match their email to any existing challenge code. Dec 03 05:09:44 That way, it's automatic. Dec 03 05:09:47 BUT Dec 03 05:10:21 I have two permissions screens if I ask for an access token that has an email address Dec 03 05:10:25 it's a house of pain Dec 03 05:10:38 the first screen is Google+, the second is Google. Dec 03 05:11:17 The Google+ one is from GoogleApiClient.Builder and the Google one is from GoogleAuthUtil.getToken. Dec 03 05:11:47 So sure, I actually can get the email address from the first one, but I can't trust the client to send me the correct email address. Dec 03 05:12:05 and the token, by default, has no email address. Dec 03 05:12:17 Ever seen that one...? Dec 03 05:13:18 Agamemnus: nope, but I haven't used either Dec 03 05:13:30 sorry I can't be more helpful Dec 03 05:13:49 And when I was working on that, I noticed another bug. Dec 03 05:13:58 (All this is BESIDES my own bugs!) Dec 03 05:14:54 When you revoke an account permission via https://security.google.com/settings/security/permissions?hl=en, calls to Google's servers yield stale tokens. Dec 03 05:14:57 I've got to head offline for the night fwiw - I'll have to play the ¯\_(ツ)_/¯ card and say "dunno". I'm interested, but I should move on to other things Dec 03 05:15:08 For an hour. Dec 03 05:15:15 oh lovely Dec 03 05:15:22 :D Dec 03 05:15:53 Thanks, you've been an excellent rubber ducky. Dec 03 05:16:08 haha, glad I could quack for ya :) and good luck Dec 03 05:40:50 hey guys, i am refactoring and cleaning my code. what are some of the best practices for using preferences. example"SwitchPreference android:title, android:key Dec 03 05:41:24 currently I am doing: android:title="@string/preference_connectivity_bluetooth" android:key="preference_connectivity_bluetooth"/> Dec 03 05:54:53 Is it okay to return (from getItemViewType) AbsListView.ITEM_VIEW_TYPE_IGNORE for a specific view only? Dec 03 05:54:58 It seems to work, but just making sure. Dec 03 05:55:17 I want one view type not to be cached and another view type to be cached. Dec 03 06:01:08 I am trying to change font of whole app to open-sans, or droid sans. But I have no clue how to call it in the android:typeface item for the theme.. Where can I get a list of possible fonts? Unfortunately I can't tab to complete. Dec 03 06:02:51 SASDOE did you look at system_fonts.xml ? Dec 03 06:04:53 Weird. We have Adapter.IGNORE_ITEM_VIEW_TYPE and AbsListView.ITEM_VIEW_TYPE_IGNORE. Dec 03 06:05:36 The former is much more readable, IMO. Dec 03 06:09:42 two different things Dec 03 06:09:51 type of ignore versus ignore the type Dec 03 06:09:54 ? Dec 03 06:09:59 g00s_: cheers just what I wanted! Dec 03 06:10:07 Hello, I have a bit of a hackish question. Is it possible to force change the keyboard to a different keyboard? Dec 03 06:11:20 more specifically, I want to be able to bring up a specific keyboard without the user having to manually switch Dec 03 06:11:40 lol, just read about the 'gangnam style' thing, holy crap, thats such a stupid ass video Dec 03 06:11:58 Well almost, I want to use Droid Sans, which is spelled like this with a space in the system_fonts.xml. However whatever combination I try, I can't get it to work (or so I assume, since android studio highlights it in red). Dec 03 06:12:07 stupid song, stupid everything ... how the fuck did that blow up the youtube counter Dec 03 06:12:20 humans are retarded Dec 03 06:14:56 SASDOE you have to say something like "sans-serif-condensed" Dec 03 06:15:03 i think anyhow :) Dec 03 06:20:18 "This week only: Pink Floyd’s The Dark Side Of The Moon is only 99 cents on Google Play" Dec 03 06:20:23 now, thats real fucking music Dec 03 06:22:41 ++ Dec 03 06:23:56 ++++ Dec 03 06:27:38 Kagetsuki: you can specify the input type: text, number, datetime etc Dec 03 06:28:16 but if you want a custom layout for keyboard, you'd have to roll your own and suppress existing input method Dec 03 06:30:28 lasserix_: We already rolled our own but it's a special keyboard. Basically we want to switch to the users default keyboard (which we figured out how to set) for seraches etc. in our app, then when you finish the search it goes back to our keyboard Dec 03 06:31:52 q: I want to use android-studio to preview layout (it must have this feature) But I cant find how to activate layout preview . Android studio version 0.8.14 Dec 03 06:32:49 Kagetsuki: you just hide the system keyboard, use yours, then request it like you normally would when want to use system default keyboard Dec 03 06:33:22 lasserix_: wait, you can request the system keyboard? how can this be done? Dec 03 06:38:13 Chopin is where it's at. :D Dec 03 06:38:23 I gotta go. Dec 03 06:38:29 hey guys, how to prevent my foreground app being killed? Dec 03 06:38:40 killed by what? Dec 03 06:38:56 Android Dec 03 06:39:01 bears! Dec 03 06:39:06 android what? sleep? Dec 03 06:39:07 bears, must be! Dec 03 06:39:14 Kagetsuki: no no, just killed. boom. gone. Dec 03 06:39:15 fucking bears ruin everything Dec 03 06:39:40 I've gone a long way reducing memory usage Dec 03 06:39:44 still, it gets killed :P Dec 03 06:39:45 it's either bears or your app is throwing an excetion or something Dec 03 06:39:52 no, no exception Dec 03 06:40:07 I was guessing Android not liking my app memory usage Dec 03 06:40:11 aaah, you mean you go over memory threshhold and the monitor kills it so the phone doesn't freeze Dec 03 06:40:20 I have no such problem on the Nexus 10 with 2 GB, but the Tegra Note 7 is being killed. Dec 03 06:40:34 it's just memory, you need to slim down Dec 03 06:40:42 Yeah I've been slimming down, like way down Dec 03 06:40:52 my good old transformer prime is laggy as all hell for ~2 or 3 minutes when you turn it on Dec 03 06:41:02 and randomly forgets it knows touch inputs Dec 03 06:41:04 but I'm trying to make big app ya know, and I don't care about the thousand of background processes that run, I just want to run my app. Dec 03 06:41:14 when you profile it what's your memory usage look like? on the Nexus 10 what is it topping out at? Dec 03 06:41:27 Kagetsuki: I'm profiling it while I'm running it now Dec 03 06:41:42 but the weird thing is that I saw it eaRlier on this device go to bout 330 mb Dec 03 06:41:46 before it would get killed Dec 03 06:41:55 I've brought it down to around 150 mb, but it still gets killed. Dec 03 06:41:58 how much memory on the device? Dec 03 06:42:01 1 gb Dec 03 06:42:06 hmm, that should be fine Dec 03 06:42:08 (all native activity) Dec 03 06:42:20 that doesn't take into account GPU resources though Dec 03 06:42:38 so I don't know now if those are a problems, but I'm also limiting those to a certain treshold as well... Dec 03 06:43:01 you may want to put up some points or make a monitoring log, and see if you can determine if it gets killed after or during some specific operation Dec 03 06:43:21 if it always gets killed in the same spot that may be it Dec 03 06:43:23 oh I know when it gets killed Dec 03 06:43:31 it gets killed after a lot of loading/unloading Dec 03 06:43:47 not *when*, *where* Dec 03 06:44:04 define where? Dec 03 06:44:14 there could be a specific method in your loading procedure which is having an issue Dec 03 06:44:21 where in your code Dec 03 06:44:56 well it's the same loading code that runs again and again, it's not like my app is crashing or something Dec 03 06:45:08 "when loading" could be a big area of your code, if you can narrow it down and see if it always gets killed during one specific method then you need to look there Dec 03 06:45:23 but I do see in the logcat stuff like : I/dalvikvm-heap(23452): Grow heap (frag case) to 6.310MB for 25088-byte allocation Dec 03 06:46:20 there are tricks to make heaps in managed stacks Dec 03 06:46:47 maybe you should be doing that, and monitor your virtual heap yourself Dec 03 06:46:58 that will also save you some alloc/gc time Dec 03 06:47:10 well I do have my own memory manager Dec 03 06:47:18 I've tried that, it has some significant overhead Dec 03 06:47:24 so it actually crashes a bit sooner Dec 03 06:47:47 in general a virtual heap in a stack should have significantly less overhead Dec 03 06:47:57 there it just crashed Dec 03 06:48:20 it's so strange because the last heap Size was at 145000 mb, and it definitely was going up to 300,000 before before crashing Dec 03 06:48:21 your data objects are always the same or is this just a huge wad of raw data your app works through? Dec 03 06:48:53 it's loading / caching a (set to a very limited amount) data loaded from /sdcard/ Dec 03 06:49:04 the caching is limited, the data is big... Dec 03 06:49:23 but it loads and most stuff goes to the GPU , but there's about a 150 mb foot print now of RAM Dec 03 06:49:45 (used to be much muc more and it wouldn't evne do the initial load and crash) Dec 03 06:49:53 right but what kind of data is this? Is this data made into a clean object instance on load or is it just stored in a big block of raw heap? Dec 03 06:50:00 now I can actually load all the maps and spin around but eventually it crashes Dec 03 06:50:09 it's map data Dec 03 06:50:09 also, have you considered one piece of data in your data set is bad and that is causing the crashes? Dec 03 06:50:39 no it's definitely not bad data Dec 03 06:50:51 but now I'm starting to think it might be the GPU resources taht I'm abusing? Dec 03 06:50:56 Kagetsuki: http://ecere.ca/gnosis/ Dec 03 06:51:33 I used to do game dev on the AGB, DS, GC and PS2 - you're talking my language here :D Dec 03 06:51:43 :D Dec 03 06:52:47 wait wait, you know it is possible you're requesting some GLES operation that the GPU on your older device doesn't support or has issues with Dec 03 06:53:11 Kagetsuki: the thing mostly runs fine Dec 03 06:53:15 until I pan around the view too much Dec 03 06:53:20 aaaaah Dec 03 06:53:23 and then I see background services dying Dec 03 06:53:25 and then my app goes Dec 03 06:53:59 so your suspicion is that something is filling up and then BOOM Dec 03 06:54:05 which is likely Dec 03 06:54:32 dumpsys gfxinfo... that might be useful :P Dec 03 06:54:40 this engine, does it have some way to limit functionality or to say flush the graphics? Dec 03 06:54:41 yeah well definitely earlier the RAM was an issue Dec 03 06:54:57 yeah but it sounds like you got the memory mostly under control Dec 03 06:55:03 Kagetsuki: well I'm trying to load as much graphics as I can :P Dec 03 06:55:10 Kagetsuki: http://pastebin.com/tcFarbx8 Dec 03 06:55:11 Kagetsuki: well I don't know, that's what I came here to ask Dec 03 06:55:23 I read many places say that you shouldn't be using more than 24 mb of ram, so in that regard I'm still way above :P Dec 03 06:55:36 but I just find it strange that earlier it'd let me go up to 300mb and now I'm dying at 150 Dec 03 06:55:52 also the thing never gets killed on the Nexus 10 with 2 GB... Dec 03 06:56:01 or maybe it does later on I don't know I haven't tested it Dec 03 06:56:01 showing and hiding softkeyboard/system default keyboard Dec 03 06:56:05 lasserix_: I love you! I owe you at least a coffee Dec 03 06:56:14 but then the GPU shares that memory as well Dec 03 06:56:33 that works almost all the time, didn't work once so make sure you check it but that's the best routines i have for toggling softkeyboard Dec 03 06:56:45 sweet Dec 03 06:57:03 https://code.google.com/p/android/issues/detail?id=81083 Dec 03 06:57:06 anyone getting this ? Dec 03 06:57:21 should gpu mb have any effect on device ram? Dec 03 06:57:57 lasserix_: well yes the memory is shared right? Dec 03 06:58:05 ESphynix: try flushing the graphics say once before each load cycle. See if it crashes then Dec 03 06:58:08 umm Dec 03 06:58:19 i dont think gpu memory will affect os pressure to kill app due to low memory Dec 03 06:58:20 ESphynix: it is shared sometimes Dec 03 06:58:24 perhaps during the transfer Dec 03 06:58:31 but then why not just load it into buffers from the start? Dec 03 06:58:37 Kagetsuki: based on the device, or ? Dec 03 06:58:40 buffers are outside the vm heap i think Dec 03 06:58:53 *nio buffers i mean Dec 03 06:58:53 yes, based on the device Dec 03 06:58:58 lasserix_: outside the VM heap, but in the device memory? Dec 03 06:59:02 ie they won't cause gc's Dec 03 06:59:09 I am using a preference dialog to display a custom configuration menu. Now I have created a custom ListPreference whose data should be pulled dynamically from another source that static XML. Unfortunatly this View element is beeing created automatically by calling addPreferencesFromResource() and I have no chance to access this element from withing my activity. I have found the findPreference() Dec 03 06:59:10 method which unfortunatly is deprecated. Any idea how to dynamically add entries to my ListPreference object? Or how to pass any reference to my activity to my custom ListPreference object? Dec 03 06:59:15 e.g. on this Tegra Note 7 with 1 GB :P Dec 03 06:59:19 not sure outside of the vm heap is totally accurate, but yeah Dec 03 06:59:50 Esphynx: lasserix_ is correct; if you have a graphics system that is using device memory the graphics system will manage that memory so it is exempt from normal GC Dec 03 07:00:03 makani: can't you get the root layout view in your dialog? Dec 03 07:00:04 lasserix_: I'm quite sure you are correct Dec 03 07:00:55 any way to display memory usage? Dec 03 07:00:57 makani: if you switch to dialog fragment you can use getView after layout has been completed to do findViewById and modify Dec 03 07:01:03 lasserix_ what do you mean exactly? Dec 03 07:01:04 right Kagetsuki Dec 03 07:01:21 you can use adb and use like top and some other things, if you look on dev website there are a bunch of command line toools you can use Dec 03 07:01:42 lasserix_: you don't think it will cause it to be killed eh? Dec 03 07:01:58 and I have no chance to access this element from withing my activity --> there must be a way to get root view in the hiearchy of your dialog, thus you can do thatRootView.findViewById(R.id.whatever) to manipulate Dec 03 07:02:03 the view element Dec 03 07:02:05 could UI response time cause it to be killed, other than displaying that User dialog ? Dec 03 07:02:13 yeah Dec 03 07:02:16 if goes ANR Dec 03 07:02:22 then you are not doing some proper threading Dec 03 07:02:35 could it get killed because of that/ Dec 03 07:02:39 i can't see how using nio buffers would cause low memory pressure, well maybe if you totally maxed it out? Dec 03 07:02:41 I thoguht it'd just display that dialog Dec 03 07:02:46 yeah it would Dec 03 07:02:55 So maybe that's what's doing it now... Dec 03 07:03:08 I think I understand what you mean. I will give it a try Dec 03 07:03:19 makani: more likely than the GPU usage? Dec 03 07:03:21 ESphynx: you can request larger heap size? Dec 03 07:03:28 in your manifest Dec 03 07:03:32 lasserix_: native code? Dec 03 07:03:36 aaaaaaah I think lasserix_ is on to something Dec 03 07:03:50 android:largeHeap="true" Dec 03 07:03:50 but I would still bet it's a memory issue all the same Dec 03 07:04:02 certainly worth a try Dec 03 07:04:04 I bet largeHeap doesn't fix it Dec 03 07:04:12 but yes worth a shot Dec 03 07:04:18 "You can use android:largeHeap="true" to request a larger heap size, but this will not work on any pre Honeycomb devices. On pre 2.3 devices, you can use the VMRuntime class, but this will not work on Gingerbread and above." Dec 03 07:04:21 ah pre Dec 03 07:04:33 hahaha Dec 03 07:04:33 "The only way to have as large a limit as possible is to do memory intensive tasks via the NDK, as the NDK does not impose memory limits like the SDK." Dec 03 07:04:38 not sure that affects the NDK though? Dec 03 07:04:44 Hello. I am creating a custom theme. How should I refer my custom styles in the "item"s of my theme. code: https://gist.github.com/vedant1811/caf50b1ba0d57e19cf9a Dec 03 07:04:58 ESphynx: you saw GC calls then its not native Dec 03 07:05:12 lasserix_: the GC calls were most likely on 'other' stuff? Dec 03 07:05:16 my app is fully native Dec 03 07:05:20 you can tell Dec 03 07:05:23 from the logcat Dec 03 07:05:24 ahh Dec 03 07:05:27 interesting Dec 03 07:05:35 are you getting a native dump when it crashes? Dec 03 07:05:40 my app and libraries are entirely written in eC :P Dec 03 07:05:44 nope, no dump Dec 03 07:06:31 ESPhynix: if it is a video memory issue then it's as simple as properly clearing the video memory. If it's an issue with graphics data being sent to memory taking too long as lasserix suggests then you need to be doing that more efficiently / have a dedicated thread that manages graphics buffer transfers Dec 03 07:07:21 lasserix_: totally serious about that coffee. if you have that kind of thing in your country I'll charge a card for you ;) Dec 03 07:07:29 lasserix_: All I get is "I/ActivityManager( 1035): Process com.ecere.test01 (pid 10351) has died." Dec 03 07:07:49 The heap limit on recent 2GB devices is around 192MB. Apps that need a large amount of memory, such as image editors, can include android:largeHeap=true in the app manifest to increase that to a higher limit (currently around 512MB). Dec 03 07:07:52 Kagetsuki: A dedicated thread that manages graphcis buffer transfer is the next thing I want to work on :P Dec 03 07:07:58 lasserix_: I can find the view of course, but how to get access to a specific view element (custom ListPreference object) that has been automatically created via XML definition? Dec 03 07:07:59 Kagetsuki: heh thanks Dec 03 07:08:00 that would be a great plus :P Dec 03 07:08:35 lasserix_: interesting. Those limits are a lot friendlier than what I was reading online around 24 mb ;P Dec 03 07:08:50 problem is on this 1GB device though :) Dec 03 07:09:44 ESphynx: either way in Java you should be keeping heap stuff to a minimum. Try breaking down your data into lists of objects or something? Dec 03 07:10:05 Kagetsuki: not in Java, and yeah I've been cutting 'a lot' of stuff out :P Dec 03 07:10:07 more overhead for sure but if it stops the crashing Dec 03 07:10:16 aaaaaah you are in C/C++? Dec 03 07:10:20 Kagetsuki: I'm in eC :P Dec 03 07:10:49 makani: final ListPreference listPreference = (ListPreference) findPreference("language"); Dec 03 07:10:54 eC? Dec 03 07:11:00 Kagetsuki: http://ec-lang.org Dec 03 07:11:08 makani: in your preference dialog/activity do you have findPreference() method? Dec 03 07:11:23 but this is deprecated Dec 03 07:11:25 Does anyone know how to add default notification sounds? Dec 03 07:11:26 ohh Dec 03 07:11:28 it could be an eC malloc issue Dec 03 07:12:07 Kagetsuki: well like I said right now I disalbed the memory manager, so eC malloc is pretty much a C malloc apart from a 16 bytes overhead per alloc :) (which amounts to about 17 mb total or so in my app) Dec 03 07:12:22 It already has been removed in API 12 Dec 03 07:12:25 I could save that 17 mb more but I'm not sure that would help me ;) Dec 03 07:12:32 makani: you can use it but you should be using fragments instead Dec 03 07:12:51 http://stackoverflow.com/questions/15624026/how-to-set-preference-summary-without-the-deprecated-method-findpreference-for-a Dec 03 07:12:58 ESphynix: yes but I've made plenty of messes with raw malloc Dec 03 07:13:04 Any one who used vitamio lib for video streaming? Dec 03 07:13:11 hehe Dec 03 07:13:13 if you can valgrind this thing I'd say give that a shot Dec 03 07:13:47 Kagetsuki: if it's be a memory corruption issue, I'd get a native traceback :P this is Android deciding to kill my app :P Dec 03 07:14:39 but when you deploy this is it being wrapped as java bytecode? Dec 03 07:15:13 Kagetsuki: so it's a native activity... the apk has some .so files Dec 03 07:15:31 aaah, that's actually pretty cool Dec 03 07:15:44 yeah it's all quite neat Dec 03 07:16:11 I build cross-platform apps with eC that runs on Windows, OS X, Linux, Android and soon the web (through Emscripten) and iOS :P Dec 03 07:16:17 I already use PreferenceFrgaments, but I don't see any possiblity to get access to a specific preference?! Dec 03 07:16:57 http://developer.android.com/reference/android/preference/PreferenceFragment.html#findPreference(java.lang.CharSequence) Dec 03 07:17:14 but still I wouldn't count out memory issue as a possibility. But at this point I'm still betting on graphics. Try flushing your graphics buffers a bunch and if it still gets killed put the buffer loader into a thread - it could just be the buffer loading is taking too long and when android asks for your app to respond and it doesn't it assumes it's frozen and kills it. Dec 03 07:17:36 what do you mean by flushing my graphics buffers? Dec 03 07:18:37 Yeah well I think I really need to improve responsiveness regardless so I'm going to work on the threading :P Dec 03 07:19:05 damn, Thanks lasserix_! This is what I was looking for :) Dec 03 07:19:12 well you're loading data into graphics memory, I'm assuming you'd need to cull it or clear buffers at some point Dec 03 07:19:36 Kagetsuki: yeah well my cache manager will free those buffers when they're no longer loaded Dec 03 07:19:47 but yeah guess I'll review all that together :) Dec 03 07:19:48 thanks guys Dec 03 07:19:55 but that's what I'm saying Dec 03 07:19:59 need to get redy for bed need to wakie up soon :P Dec 03 07:20:11 to test if that is the issue just force the buffers to clear and do a test run Dec 03 07:20:21 ESphynx MS had a video on how they write cross platform with c++ Dec 03 07:20:46 if it doesn't crash then that's your issue and you need to more agressively clear the graphics memory Dec 03 07:20:47 g00s_: I dislike C++ more than anything on this planet :P Dec 03 07:20:54 ha ! Dec 03 07:21:08 I dislike MS immensely but I love C++ Dec 03 07:21:15 so HA! Dec 03 07:21:16 g00s_: I did draw some inspiration from the basic syntax of C++ though :) Dec 03 07:21:37 eC is like C++ without the overengineering tendencies :P Dec 03 07:22:06 (And without the headers, though I hear they're finally getting around to fixing that? :P) Dec 03 07:22:08 c++ is the way it is because bjarne made compromises to be compatible with C Dec 03 07:22:19 had to be done at the time to get a foothold Dec 03 07:22:25 g00s_: they stopped claiming C compatibility a long time ago Dec 03 07:22:27 nobody was marketing it Dec 03 07:22:45 but I take an even stronger stance with eC to be a C superset :) Dec 03 07:23:02 wait, so C++11 doesn't compile C99 ? Dec 03 07:23:14 g00s_: I very much doubt it does. Dec 03 07:23:21 even with extern "C" { } Dec 03 07:23:32 certainly not 'as is' , they're 2 separate languages now Dec 03 07:23:43 they have been for quite some time Dec 03 07:23:47 i've been out of the loop for a while :) Dec 03 07:23:57 yeah the last 2 decades or so :P Dec 03 07:24:32 C++ was never a superset of C. it's just easily thought of as such. until you come across someone like me who has a tendency to write C that's invalid C++. Dec 03 07:24:35 fuck, everything that has curly brackets is C Dec 03 07:24:45 lewellyn: I think it was originally? ;) Dec 03 07:24:56 ESphynx: not quite Dec 03 07:25:07 It was called 'C with objects' at some point :P Dec 03 07:25:37 ok. no finalized C++ has been totally compatible with C. Dec 03 07:25:48 ah :) Dec 03 07:26:13 ObjC is the only 100% C superset afaik Dec 03 07:26:20 and they can be so because they have a funky syntax Dec 03 07:26:38 I chose to adopt a more C++'y syntax for eC, where you have a 'class' keyword :P Dec 03 07:27:04 I prefer C++ syntax over Objective C myself Dec 03 07:27:17 (again if you're coming from Smalltalk then you must prever the ObjC syntax) Dec 03 07:27:30 Kagetsuki: it's the more familiar syntax :) similar to Java and C# as well Dec 03 07:27:57 and you can totally do objects in C if you aren't a wuss and you have a thing for structs and pointer magic Dec 03 07:28:03 hehehe Dec 03 07:28:18 we did some craaazy stuff on the AGB Dec 03 07:29:18 Consumer closed input channel or an error occurred. events=0x9 -- that's an interesting error Dec 03 07:29:32 EG custom C runtimes to switch modes with DMI after initialization Dec 03 07:29:37 Kagetsuki: that's how I started before turning that into the eC language :P Dec 03 07:30:32 I ended up with a crazy pointer fetish after that. Any language without pointers or direct memory manipulation I wouldn't touch for years. Now I'm a pretty big Ruby guy so I guess I've grown past that.... Dec 03 07:30:40 i like obj-c > c++ because of message passing. thats closer to what Alan Kay had in mind for OO Dec 03 07:30:52 messaging passing > method calls Dec 03 07:31:35 g00s_: I don't know, I've come to dislike message passing : Dec 03 07:31:40 I'm a big fan of direct calls:P Dec 03 07:33:51 ESphynx: can you start your code without loading your resources and see if it crashes? Dec 03 07:35:18 hahhaha, lasserix_ if it crashes then I'm sure ESphynx will bury his head in his desk Dec 03 07:35:28 lasserix_: it will not crash Dec 03 07:35:39 lasserix_: i can load a bunch of resourcse before it crashes Dec 03 07:36:36 yeah i think even if it is native memory the problem is its virtually sharred so if it is hogging it might kill it Dec 03 07:36:41 "South Korea Plans to Put Up a Christmas Tree; North Korea Has Threatened to Bomb It" Dec 03 07:36:43 not the onion Dec 03 07:36:54 lasserix_: the GPU stuff? Dec 03 07:37:03 not sure about the GPU Dec 03 07:37:08 but you have to cpu it before you gpu it Dec 03 07:37:40 lasserix_: the thing is I was bringing the heap size much higher before Dec 03 07:37:46 hmm Dec 03 07:37:48 yeah Dec 03 07:37:57 you need bettermemory management ig uess? Dec 03 07:38:58 lasserix_: https://gist.github.com/anonymous/f513ac84ec2f5ecbe0a9 Dec 03 07:39:04 this is the last crash, rather early Dec 03 07:39:57 I don't think I was using much more than 150 mb Dec 03 07:40:15 hmm Dec 03 07:40:25 you are doing multithreading? Dec 03 07:40:37 I do have a couple threads I think Dec 03 07:40:53 the resources are loaded on the main thread at the moment though. Dec 03 07:40:53 my guess is you are having corrupt memory then Dec 03 07:40:58 ohh Dec 03 07:40:58 yeah Dec 03 07:41:04 that's definatly not what you should be doing Dec 03 07:41:21 yeah going to work on fixing that tomorrow like I was saying :P Dec 03 07:41:32 but I am wondering whether that could really be what's causing these issues? Dec 03 07:41:38 anyways you can take a look at https://developer.android.com/training/articles/memory.html to see stuff about memory Dec 03 07:41:39 sure Dec 03 07:41:51 if you have corrupt memory block because of failed synchronization Dec 03 07:42:04 and a pointer is pointing to some overflow Dec 03 07:42:15 that can definatly crash out :) Dec 03 07:42:50 lasserix_: I've read that, the numbers in there scared me and I got my memory usage way down :P however it still gets killed :P Dec 03 07:43:17 lasserix_: wouldn't I get getting a native callstack though... I mean I've seen app crashes :) Dec 03 07:43:30 this is the 'other' apps on the device that start closing and then finally my app gets killed Dec 03 07:43:36 not if it's what i am saying Dec 03 07:43:54 you could easily have a pointer point to something corrupt which means the error will have nothign to do with where its crashing Dec 03 07:43:58 amongst other thigns going on Dec 03 07:44:13 so you probably have a memory leak maybe? Dec 03 07:44:13 lasserix_: yes but it would still show a segmentation fault in 'my app' Dec 03 07:44:26 then it is probably a memory leak Dec 03 07:44:42 ther'es no memory leak, I use up a max of 150 mb now Dec 03 07:44:51 before it was going up to 300 mb before the system would kill it Dec 03 07:45:01 I reduced that down and now it still gets killed :P Dec 03 07:45:45 yeah i guess try offloading resource loading from main thread Dec 03 07:46:21 but a memory leak could be exponetial and therefore you see it rise to an accepetable level but it actually spirals out of control and crashes instantly ;p Dec 03 07:47:06 lasserix_: hehe yeah I don't have anything of that sort in there ;) Dec 03 07:47:24 lasserix_: ok so I'm starting to believe the theory that now it's just getting killed because of excessive response time Dec 03 07:48:12 dunno why it would kill off other apps in teh process tho Dec 03 07:48:39 to try to make my app more responsive? :P I dunno :P Dec 03 07:49:14 if I designed Android I would have adopted a much more predictable/controllable behavior :P Dec 03 07:49:22 none of that random process killing stuff :P Dec 03 07:49:26 hi guys, i want to make buttons on top left and top right corner or a screen, which layout should i use? Dec 03 07:50:05 ESphynx: it isn't random =) Dec 03 07:50:24 appel1: it's chaotic? ;) Dec 03 07:51:12 appel1: I strongly dislike the idea of all that junk running in the background and getting killed and restarted while I'm trying to run an app in the foreground with this horribly slow CPU :P Dec 03 07:51:49 ESphynx: it'll only get restarted if it has a sticky service or triggers because of some broadcast or AlarmManager alarm afaik. Dec 03 07:52:28 appel1: looking at logcat when running my app shows me a bunch of stuff going on that I don't care about :P Dec 03 07:52:31 I just want my app to run ;) Dec 03 07:52:49 I'm not even online Dec 03 07:53:28 ESphynx: android is a cooperative multitasking environment, it expects apps to do the right thing like disabling broadcast they don't care about for the moment and stopping services when they've completed their task. Dec 03 07:53:55 ESphynx: unfortunately it is quite common for devs to consider that optional since in testing their apps work fine on a device with only their app installed :\ Dec 03 07:54:02 Cervantes: you can use ltos of things but relativelayout may be what you want Dec 03 07:54:45 appel1: disabling broadcasts? doing NDK stuff I'm not even sure what a broadcast is, wouldn't it be an 'opt-in' thing? Dec 03 07:55:13 ESphynx: it's for manifest registered broadcast receivers :) like for connectivity changed. Dec 03 07:55:15 stopping services -- is that something an app starts? (and thus need to stop?) Dec 03 07:55:24 he means things like cough cough not using main thread to load 125mb of resources cough cough Dec 03 07:55:32 lasserix_: ok, thx Dec 03 07:55:33 ESphynx: when the app doesn't need to know that connectivity changed it is supposed to disable it. Dec 03 07:55:39 ESphynx: if it has one registered that is =) Dec 03 07:55:50 ESphynx: and yes, if an app starts a service it is expected to also stop it. Dec 03 07:56:13 appel1: that makes sense, but i'm not starting any services or listening to connectivity Dec 03 07:56:20 he means things like cough cough not using main thread to load 125mb of resources cough cough Dec 03 07:56:37 that is like a non-native app stopping a service after its task is finished Dec 03 07:56:44 ah, yes, doing stuff that takes a long time on the main thread is usually bad as well =) Dec 03 07:56:46 appel1: My point is... core system stuff shouldn't die off while a process is running Dec 03 07:57:19 (and thus requiring a restart)... it should also be a minimum of resources... so that I could use some of that 1 gb of memory :) Dec 03 07:57:23 ESphynx: if the a process with higher "priority" needs more memory Android will try to kill almost everything else to free memory. Dec 03 07:57:52 appel1: that's precisely my point. it shouldn't need to kill 'system' stuff that 's already running when I boot up my tablet. Dec 03 07:58:07 ESphynx: how else is it going to free enough memory? Dec 03 07:58:26 appel1: how much memory does it take to check if I'm connected to wifi? Dec 03 07:58:37 there's no app nothng running on the tablet Dec 03 07:58:41 apparently just enough :p Dec 03 07:59:46 ESphynx: is that all your app does? Dec 03 07:59:57 appel1: no I'm talking about that 'system' stuff that it's trying to kill Dec 03 08:00:10 I understand killing off apps users install or apps the user was previously running to make room for the background app Dec 03 08:00:23 but with only a background app, I don't understand why stuff needs to be killed. Dec 03 08:00:28 with only a foreground* app sorry Dec 03 08:00:50 what is your solution? Dec 03 08:00:59 start the program with hot air? Dec 03 08:01:03 Anyone know why I'm not getting paragraphs in my textView? There's 10 paragraphs (using two line breaks), and yet the text appears as one huge blob Dec 03 08:01:11 day-: I'd like to understand the issue better Dec 03 08:01:25 day-: i.e. how much memory does it take to run the core android system and its basic system services Dec 03 08:01:36 ESphynx: if your app uses more memory than is available and there are processes android can kill would you prefer it give you an out of memory error? Dec 03 08:01:43 day-: and if taht's a reasonable amount of memory (as I'd imagine it is?) then that stuff should never get killed Dec 03 08:02:17 ESphynx: I missed something I think, what processes are getting killed here? anything system essiential? Dec 03 08:02:17 this isnt about reasonable. its about not enough available Dec 03 08:02:42 appel1: if those processes are not user opted in processes and they're started when the tablet is started, they should not be started automatically Dec 03 08:03:00 appel1: https://gist.github.com/anonymous/f513ac84ec2f5ecbe0a9 Dec 03 08:03:06 ESphynx: user opt-in? what? Dec 03 08:03:21 appel1: these things that get killed... I didn't start any of these processes myself Dec 03 08:03:39 I find it annoying that Android will later kill them to run the foreground app when it started them in the first place Dec 03 08:03:52 and then restart them again (while my app is still running) Dec 03 08:04:09 appel1: just trying to understand the system services vs. user app ? Dec 03 08:04:23 How can I properly deal with threads? I end up not knowing what functions are called from what threads Dec 03 08:04:39 and whether a variable is called from multiple threads or not Dec 03 08:04:43 johnflux read JCIP, learn rxjava Dec 03 08:05:40 day-: reasonable vs. available... On a device with 1 GB of RAM, I'd expect the foreground app to able to use at least 300mb without the core system services suffering Dec 03 08:05:53 g00s_: JCIP looks interesting - I'll get it Dec 03 08:05:55 ESphynx: those things getting killed and restarted are sticky services which is why they get restarted Dec 03 08:06:09 johnflux unfortunately, a little dated but ... Dec 03 08:06:11 appel1: right. do I care about all these services? Dec 03 08:06:18 so is android :) Dec 03 08:06:42 appel1: My point is , if they're essential, they shouldn't get killed. If they're not, they shouldn't get automatically started on bootup Dec 03 08:06:48 ESphynx: Google Play Services is something a lot of apps depend on. Dec 03 08:06:53 g00s_: :-) Dec 03 08:07:04 appel1: so what if my app depended on it and suddenly it gets killed? Dec 03 08:07:20 ESphynx: then it most likely wouldn't get killed. Dec 03 08:07:40 g00s_: I was naively thinking that it would be cool if there was a way to color functions in android studio. so that functions that ran outside of the main loop have a different color Dec 03 08:07:54 appel1: do you have an idea of how much RAM the default services take ? Dec 03 08:08:05 ESphynx: the nvidia update service though is most likely just bad design, it shouldn't need to be running all the time. Dec 03 08:08:34 appel1: obviously my first goal here is to figure out why my ap is getting killed, but also why it's causing all the system services to get killed is puzzling Dec 03 08:08:55 appel1: LIke I was saying, I get killed using around 150mb of ram, while earlier before I slimmed down I was getting killed at around 300mb Dec 03 08:09:39 ESphynx: is your app a foreground app? Dec 03 08:09:44 and I'm wondering whether faster response time / loading buffers in another thread is going to fix that or not Dec 03 08:09:47 appel1: it sure is. Dec 03 08:10:18 appel1: again, I understand user background or inactive apps getting killed by the system to make room for the foreground apps Dec 03 08:10:29 ESphynx: in settings -> apps -> running, how much free memory do you have, that is memory available for prcess caching and for the foreground app. Dec 03 08:10:40 let me check that Dec 03 08:11:21 appel1: Free memory? no free memory showing there (4.4.2) Dec 03 08:11:28 I do see apps 'running' though that shouldn't be running Dec 03 08:11:42 ESphynx: do they have services? Dec 03 08:11:49 johnflux it would be possible if you used annotations maybe Dec 03 08:11:54 Services run on the main thread only ? Dec 03 08:12:16 @RunsOnThread(my name) ... my name gets purple or something Dec 03 08:12:34 shmoon: you can have as many threads as you like in your services =) the service callbacks do get called on the main thread though. Dec 03 08:13:29 ESphynx: have you read http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle about how Android prioritizes processes? Dec 03 08:13:31 385mb free Dec 03 08:13:34 sup g00s_ . When do you get work done? you were on this morning when I left ;) Dec 03 08:13:39 appel1: so you mean i can spwan other threads and execute some tasks in my services, but usually the main service thing which is probably the onStartCommand, onDestroy and other methods are run on the main thread onl Dec 03 08:14:02 shmoon: yes Dec 03 08:14:06 appel1: do you know whether that 385 mb covers the GPU bufers as well? Dec 03 08:14:11 then what does it "service is a component which runs in the background" mean ? Dec 03 08:14:15 g00s_: just googling for what annotations are :-) Dec 03 08:14:19 background part specifically Dec 03 08:14:58 shmoon: it means that a process with a service is less likely to get killed when it has nothing in the foreground (user visible). Dec 03 08:15:45 g00s_: http://tools.android.com/tech-docs/support-annotations annotations look interesting Dec 03 08:16:02 hmm i see appel1 , interesting. Thats not what i made out from the sentence. but cool now i know. Dec 03 08:16:50 ESphynx: so if your app gets killed there must be enough other apps trying to start services or receiving broadcast intents that Android decides to kill your app since it uses a lot memory. that should only happen in the most extreme of low memory cases though. Dec 03 08:17:23 johnflux yeah, i haven't used those yet. probably should :) Dec 03 08:17:32 appel1: so my app is only using 150mb of memory Dec 03 08:17:46 according to adb shell dumpsys meminfo Dec 03 08:17:59 ESphynx: yes, but how much is that in relation to how much is available? =) Dec 03 08:18:25 ESphynx: if your device has 300mb of ram then 150 is a lot, but if the device has 3gb then 150 isn't all that much. Dec 03 08:18:27 appel1: well there is 385 mb like I was saying, and nothing but these default services running Dec 03 08:18:35 1 GB (tegra note 7) Dec 03 08:18:42 385 showing as free in the apps Dec 03 08:18:59 hmm Dec 03 08:19:01 appel1: I am puzzled because earlier my app could go up to 330mb before getting killed Dec 03 08:19:23 ESphynx: have you installed something new on the device since then? Dec 03 08:19:24 (Before I slimmed it down to ~150) Dec 03 08:19:30 no, nothing installed, reset device Dec 03 08:19:33 ok Dec 03 08:22:00 do you know what Pss total is Dec 03 08:22:10 there's this 'Uknown' in there which is rather large Dec 03 08:24:55 pss = proportional set size Dec 03 08:25:06 ESphynx: http://android-developers.blogspot.se/2014/01/process-stats-understanding-how-your.html Dec 03 08:25:22 thanks appel1 Dec 03 08:25:39 I was looking mainly at 'Native Heap/Heap Size' Dec 03 08:27:00 ESphynx: if you want to know how much memory your app "uses" then pss is where to look i think Dec 03 08:27:16 I'm just confused how they all add up? Dec 03 08:27:40 e.g. right now PSS total is less than Native Heap / Heap Size, but earlier it was more Dec 03 08:28:02 it is more than Heap Alloc, but 'Unknown' is less Dec 03 08:29:43 http://stackoverflow.com/questions/26898274/graphics-and-gl-shown-in-meminfo-only-for-application-targeting-4-0-and-abov -- this is interesting? ;) Dec 03 08:29:49 maybe I need to use 14 there? Dec 03 08:30:06 ESphynx: what do you mean? TOTAL is the sum of the individual parts in for example the Pss Total column. Dec 03 08:30:46 appel1: right, but the Native Heap where does it fit? it is obviously part of my overall memory Dec 03 08:31:48 hi guys, is there a way to extract string from xml into java code to make String object? Dec 03 08:31:58 ESphynx: it's how much you have allocated on the native heap, what am I missing? Dec 03 08:32:39 ESphynx: and yes, that is interesting that you get a more clear view of graphics memory if you target api level >= 14. Dec 03 08:32:40 appel1: my app is 100% native... I'm trying to understand those numbers, and why sometimes native heap is bigger and other times 'pss/total unknown' is bigger Dec 03 08:33:02 appel1: how would I target that? I tried that didn't do it :P Dec 03 08:33:37 ESphynx: no, it's the target api level that changes that. Dec 03 08:34:20 targetSdkVersion ? Dec 03 08:34:39 ESphynx: Pss Total is the column header, stuff like Native Heap and Unknown are rows. In the Pss Total column it is all Pss. And at the bottom at the TOTAL row is the sum of the values for each row. Dec 03 08:34:49 ESphynx: yes Dec 03 08:34:55 appel1: Native heap is another column. that's what confuses the heck out of me. Dec 03 08:35:17 ah no sory Dec 03 08:35:29 'Heap Size', ' Heap Alloc' for Native Heap are columns Dec 03 08:35:36 PSS Total has got 0 for Native Heap Dec 03 08:36:45 ESphynx: https://developer.android.com/tools/debugging/debugging-memory.html Dec 03 08:36:48 Why can't I get paragraphs in a damn textView? Tried with \n\n and

tags. Dec 03 08:36:57 ESphynx "The Heap Alloc is the amount of memory that the Dalvik and native heap allocators keep track of for your app." Dec 03 08:37:00 It's just one huge blob. Dec 03 08:37:05 Defined in strings/ Dec 03 08:37:13 ok i am trying to understand this statement, need a bit of help "Running a service in its own process will not block the application in case the service performs long running operations in its main thread." Dec 03 08:37:23 why will it not block the UI thread? Dec 03 08:37:30 appel1: I get that, but is it factored in the PSS total ? In unknown? Dec 03 08:37:38 or what main thread is it referring to ? does every process have a main thread or what ? Dec 03 08:37:47 * shmoon sucks with thread concepts Dec 03 08:37:53 ESphynx: also from that page: "This value is larger than Pss Total and Private Dirty because your process was forked from Zygote and it includes allocations that your process shares with all the others." Dec 03 08:38:17 Hi all. I need to create a String like this: "{\"id\": \”test\”, \"text\”:\”message\”}” . Is it possible to build this up with key-value and not with String myString = "{...." + .... + ... + ....;? Dec 03 08:38:34 shmoon: if the call to service is asynchronous and is serviced by separate process, then the UI thread (which handles event loop of the application) is not blocked Dec 03 08:38:52 FrancescoV: create a map and use a json lib Dec 03 08:40:05 shmoon: each process has its own main thread, so doing something on the main thread in one process does not inherently block the main thread of any other process. Dec 03 08:40:07 deebo: and without using a lib? Dec 03 08:40:34 appel1: I'm not really concerned about that Dalvik Heap value, as my app is native and that just remains the same (3 mb)... I'm concerned about Native Heap (72,307) and Pss total/Unknown (64,848) and PSS Total (93,139) Dec 03 08:40:39 i'll try with a JSONObject Dec 03 08:40:52 appel1: ok, so when i run a service in its own process, it runs on the main thread in that process which is different from what we call the UI thread (main thread) of the app Dec 03 08:40:57 ESphynx: your process is still forked from zygote Dec 03 08:41:05 so the ui/main thread or basiclaly the app is not blocked. am i getting it right ? Dec 03 08:41:17 FrancescoV: just do it as JSONObject then do toString Dec 03 08:41:19 appel1: https://gist.github.com/anonymous/172fcf4656531a8b57fb Dec 03 08:42:00 shmoon: yes, but it is usually better to simply start a worker thread and run the service in the same process as your app since it makes things a lot easier when communicating with the service. Dec 03 08:42:22 shmoon why you need remote process? Dec 03 08:42:30 lasserix_: I was thinking te same thing. Sorry about asking the question to fast without thinking before Dec 03 08:42:42 appel1: ok cool got it, thanks :) Dec 03 08:42:48 shmoon: depending on what you need IntentService might be a good idea since it handles most stuff for you like background workers and stopping the service when it is done. Dec 03 08:42:55 lasserix_: i dont, i am trying to understand some things in this article that i am reading on vogella Dec 03 08:43:05 oh Dec 03 08:43:15 appel1: oh i see, will check it out Dec 03 08:43:41 shmoon: not suitable for long running stuff like media playback though Dec 03 08:44:23 appel1: Now https://gist.github.com/anonymous/39b41c6b8da378688ee1 Dec 03 08:44:32 Is this good practice (i.e., the right way to close' a DialogFragment)? => I have a DialogFragment showing up with a button. Uppon button click, i communicate with the host ACtivity and in the host Activity i then remove the Fragment by calling FragmentTransaction.remove()....It is working, but is this the right way to do that? Dec 03 08:44:57 is my app using 183 mb? wat's that 116350 'unknown'? My heap alloc is '125012' Dec 03 08:45:25 ESphynx: unknown might be GL related, not entirely sure. Dec 03 08:45:28 and it crashed before I could take another snapshot Dec 03 08:45:39 appel1: that's precisely what I'd like to understand :P Dec 03 08:46:00 also would be nice if it's sort of peeking out to have the last values before it got killed :S Dec 03 08:46:11 peaking* Dec 03 08:46:42 top Dec 03 08:46:43 ESphynx: procstats should show you max usage by your app Dec 03 08:46:52 appel1: basically I'm wondering whether I'm using 123012 in my heap alloc + 116350 on the GPU Dec 03 08:47:03 appel1: even after it died? Dec 03 08:47:11 (for the last run? not all run before I slimmed down :P) Dec 03 08:47:49 I have a normal app, and some other developer said that we were "uploading textures every frame". Does this make sense? Dec 03 08:48:16 ESphynx: it shows aggregated stats, with the --hours paramter you can control over how many Dec 03 08:48:21 nice :) thanks Dec 03 08:48:26 johnflux: sure but that sounds very, very inefficient Dec 03 08:48:56 lasserix_: right. That was their complaint. How could I be doing this accidentally? Dec 03 08:49:10 putting whatever texture transfer into your draw call Dec 03 08:49:46 hmm Dec 03 08:50:37 lasserix_: my onDraw() does: canvas.drawBitmap(mBitmap, 0, 0, mFinalPaint); Dec 03 08:50:57 lasserix_: so I guess that's the problem. How can I improve that? Dec 03 08:52:26 appel1: where do they explain all those stats Dec 03 08:54:39 this is what it looks like: https://gist.github.com/anonymous/b35fb9ace3efa2982d7c Dec 03 08:54:52 johnflux: thats fine Dec 03 08:55:22 uploading texture each time would be like onDraw() { canvas.drawBitmap(loadBitmap(), 0, 0, mFinalPaint); } Dec 03 08:55:30 why does your coworker say you are doing this? Dec 03 08:59:25 lasserix_: the bitmap is ALPHA_8. And I'm setting the color with mFinalPaint Dec 03 08:59:39 ? Dec 03 08:59:44 lasserix_: I wonder if it can't accelerate this, and falling back to creating a new bitmap Dec 03 09:00:00 lasserix_: so I wonder if it's faster if I use ARGB_8888 instead of ALPHA_8 Dec 03 09:00:24 how often you set the color? Dec 03 09:01:01 lasserix_: every few seconds or so Dec 03 09:01:48 hmm Dec 03 09:01:52 hardly every frame Dec 03 09:01:59 are you seeing performance issue or something? Dec 03 09:02:56 lasserix_: not as such - just trying to understand it all at the moment Dec 03 09:03:11 oh well Dec 03 09:03:19 since you are modulating the transparency (im guessing) Dec 03 09:03:21 you have to do this Dec 03 09:03:26 so if you don't see performance hit dont worry Dec 03 09:03:29 or convert to opengl Dec 03 09:03:37 hey all my pages on viewpager have animations on them.. when i go through the fragment-pages it only starts the animation after i have viewed the page.. whats the deal? Dec 03 09:03:52 johnflux: have you read? http://www.curious-creature.com/2010/12/08/bitmap-quality-banding-and-dithering/ Dec 03 09:04:38 MartialLaw: you need to activate onPageSelected not getView or whatever Dec 03 09:05:14 and start the animation for each page in onPageSelected? Dec 03 09:06:37 well Dec 03 09:06:42 expiriement but yeah Dec 03 09:06:45 that's the right track Dec 03 09:06:46 because Dec 03 09:06:48 lasserix_: thanks Dec 03 09:06:50 wheny ou are on page 3 Dec 03 09:06:56 page 4 has been created Dec 03 09:07:23 viewpager always creates initially 3 then n and n + 1 Dec 03 09:08:54 ahh annoying ok Dec 03 09:08:56 thanks Dec 03 09:09:02 yeah it seems to be working, just makes more work :( Dec 03 09:09:12 ESphynx: part of it is explained on that last page i linked to Dec 03 09:09:15 viewpager + animation fucking pain in the ass Dec 03 09:09:21 lol Dec 03 09:15:21 appel1: can't manage to get it to show Graphics / GL :S Dec 03 09:15:32 thanks lasserix_, works now... lots of work to do.... Dec 03 09:16:30 ESphynx: you making the gravitational potential simulator? Dec 03 09:16:42 MartialLaw: no worries have fun, make sure you cancel them animations properly! Dec 03 09:16:46 lasserix_? lol Dec 03 09:17:18 oh someone was making a gravity field simulator or something and they wanted to jump straight into native code to do knowing nothing of android Dec 03 09:17:19 :) Dec 03 09:17:43 sounds a bit like me Dec 03 09:22:48 hi, i have a ListView to which I add views that have been previously created and have their own onClickListener's, but when i click on these views (that are in fact simple TextViews's), only the last one of the list receives the onclick events. and it receives the events also for all the other views that were previously clicked. any ideas why? Dec 03 09:23:30 ESphynx: so maybe device dependent then? :\ Dec 03 09:23:52 appel1: could be? :S or maybe because I'm using the NDK? Dec 03 09:24:26 appel1: anyways probalby that 'unknown' stuff covers those GL objects :S Dec 03 09:24:34 Morg0th: do you understand how baseadapter getView works? Dec 03 09:24:44 ESphynx: yes, that's my guess as well. Dec 03 09:25:28 appel1: and that could be contributing to my app getting killed/ Dec 03 09:26:44 ESphynx: could be, I don't know very much about using OpenGL directly. Dec 03 09:28:04 ESphynx: do your loading off the UI thread Dec 03 09:28:10 then see if it keeps crashing Dec 03 09:28:46 gropping about like a man on an alien ship trying to find the land button is not going to magically work out ;p Dec 03 09:28:48 well maybe Dec 03 09:28:54 that is the wonder and power of programming Dec 03 09:29:10 ITS NOT WORKING and i have no idea why EUREKA ITS WORKING and i have no idea why. Dec 03 09:30:45 lol Dec 03 09:30:52 yeah I should really be sleeping right now :S Dec 03 09:30:57 but this is frustrating :P Dec 03 09:31:32 see I'm up to 214,000 mb now and it's not crashing Dec 03 09:31:37 (according to PSS total) Dec 03 09:32:40 lasserix_: well i guess i didn't, your question made me try a few things and it seems to work now that i'm only setting the view when it's null. so thanks! :) Dec 03 09:33:04 Morg0th: make sure you reset them if you use the convertview Dec 03 09:33:12 but cool! awesome Dec 03 09:33:27 ESphynx: she can't take much more captain Dec 03 09:33:36 ESphynx: she's about to blow captain! Dec 03 09:33:53 okok thank you Dec 03 09:33:54 216 221 267 290 OOOOOMMMM Dec 03 09:35:17 now my device says 431 mb free :P Dec 03 09:35:55 anyone have another good way to load pdf from server on activity using webview? Dec 03 09:36:00 ESphynx: you goto many cat shows? Dec 03 09:36:09 cat shows ? Dec 03 09:36:16 https://www.youtube.com/watch?v=9yBMop-Cu1I&list=UUA-A4TOModypC4pumahbyZg Dec 03 09:36:33 my Dec 03 09:36:43 poor cats Dec 03 09:37:20 yeah that would not be me Dec 03 09:37:31 Morning all Dec 03 09:37:39 I have yet to put up videos :P Dec 03 09:39:19 hello everyone ! Dec 03 09:39:24 Hi Dec 03 09:39:29 I have a little question to ask... Dec 03 09:40:08 As long as it's no longer than 10 words Dec 03 09:40:11 Can I check if my java code was included in the binary when I've compiled? Dec 03 09:40:15 Do you know why after performing a backup/restore on and android device, some apps (always the same, like Adobe reader for instance) are missing ? Dec 03 09:40:19 Ant ideas? Dec 03 09:46:12 ypress wrong channel Dec 03 09:46:17 see #android Dec 03 09:46:24 but my guess is the are copyright protected or some such Dec 03 09:46:39 cristian_c: you can decompile Dec 03 09:46:51 but why wouldn't be included? unless it got optimzied out Dec 03 09:47:13 cristian_c: what do you mean? if it was removed by mistake by proguard? Dec 03 09:47:40 appel1, I've found a proguard file in my project android directory Dec 03 09:47:44 Hello. can I change the text alignment in the action bar without setting a custom view, i.e. by settinga a style in my application theme? Dec 03 09:47:56 I can change the color and background but not alignment Dec 03 09:48:10 Please help, my search returning null pointer --->> searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())) Dec 03 09:48:37 appel1, in proguard-project.txt I don't see references to the code Dec 03 09:48:42 Using ActionBarActivity Dec 03 09:49:13 lasserix_, if I open the .apk, it seems there are no files related to my java code Dec 03 09:49:30 cristian_c: correct Dec 03 09:49:34 cristian_c: is your problem that your application does not work? Dec 03 09:49:57 appel1, I'm not sure if I've compiled correctly Dec 03 09:50:22 cristian_c: why not test your app and if it behaves correctly you're good to go. Dec 03 09:50:51 hi guys, in ios we have a uiindicatorview (loading spinner). is there a similar view in android? Dec 03 09:50:52 I've launched the android script in the android sdk, and then I've placed my .java code in this new directory Dec 03 09:51:00 then I've launched ant debug Dec 03 09:51:14 searching for spinner brings up results for a drop down list Dec 03 09:51:33 appel1, ok, but I'd like to know if code was effectively incliuded or not Dec 03 09:51:46 the app could not work for various reasons Dec 03 09:51:57 why wouldn't it be included? Dec 03 09:52:02 what are you uing to compile? Dec 03 09:52:21 cristian_c: I guess you could use some reverseengineering tool on your apk Dec 03 09:53:01 pangelovski: You probably want ProgressDialog Dec 03 09:53:38 lasserix_, I've created a .java code, and I couldn't compile it with javac because Ios libraries were not recognized also if I've installed the android ais with android sdk manager Dec 03 09:53:48 appel1, ok Dec 03 09:54:07 *android libraries Dec 03 09:54:25 *android apis Dec 03 09:54:30 loke:thanks Dec 03 09:54:31 ios libraries? huh? Dec 03 09:54:50 appel1, not ios, it's a typo Dec 03 09:54:51 phonegap Dec 03 09:55:31 hackable: getComponentName().toString() ? Dec 03 09:57:14 cristian_c: did you try running it and seeing if it is doing what your code was supposed to do? Dec 03 09:57:27 the only way is to use some RE tools Dec 03 09:57:41 lasserix_, it's not a gui application Dec 03 09:58:04 lasserix_, I should launch it in android terminal emulator Dec 03 09:58:05 what makes it have to be? Dec 03 09:59:09 lasserix_, I've not understood : 'what makes it have to be?' Dec 03 09:59:16 gui Dec 03 09:59:34 basically you should idk make a hello world program? Dec 03 09:59:40 that's like the whole point of hello world right? Dec 03 09:59:42 lasserix_, this applications should unmount usb storage Dec 03 09:59:51 well first do hello world Dec 03 09:59:52 *application Dec 03 09:59:54 then move on to that Dec 03 10:00:17 and see if it works, if hello world worked, then your code is just buggy if it doesn't? Dec 03 10:00:42 lasserix_, it's not a good idea Dec 03 10:00:46 *a bad idea Dec 03 10:01:57 lasserix_, but also in the helloworld case, how can I see if code was included or not in the .apk? Dec 03 10:01:58 well sounds like you are not doing app dev so maybe goto android-root Dec 03 10:02:17 well i imagine when you run it or whatever it should spit out hello world at some point Dec 03 10:02:26 im tired goodnight! Dec 03 10:03:02 Has anyone opther ideas? Dec 03 10:03:06 *other Dec 03 10:08:18 hi guys, I have a actionbar with a button. now when the user clicks on the button, I want to replace the text of the button with a spinner. im wondering if it is good practice to do it this way and also how would i implement this? Dec 03 10:12:40 Hello! Can someone give advice how to speedup apk build in android studio (i know only about daemon). I have 30sec :( Dec 03 10:14:16 I have 8 libs linked as source Dec 03 10:16:59 Are you using any big assets (videos/images) you could temporarily replace with smaller sized ones xgearx? Dec 03 10:17:16 no Dec 03 10:17:26 most time takes dexing Dec 03 10:17:36 Anyone ever used wiremock in android? Dec 03 10:18:06 Then I dunno what to suggest, other than try Eclipse if you have Eclipse installed and are familiar with it, found the build times are faster in Eclipse than Android Studio Dec 03 10:20:29 hi Dec 03 10:21:24 i doubt what ide you use will affect compiletime and dexing Dec 03 10:23:29 if ListView is a view, is ArrayAdapter a model ? (like in the MVC pattern ?) Dec 03 10:23:48 JakeWharton, I fixed have a pull request for the colourblind indicator issue for picasso. Not sure if anyone has looked at the issue since i raised it so I just went and solved it. Dec 03 10:23:57 * - fixed Dec 03 10:25:51 quelqun_dautre: Yeah, you could say that. Dec 03 10:28:15 VnM: i need gradle fetures to build my project Dec 03 10:28:19 Well not necessarily the IDE asfdd, but AS uses Gradle for building, Eclipse uses Ant as a standard. And Ant has been faster for me than Gradle Dec 03 10:29:16 I use IntelliJ IDEA (which is the full version of AS) and I don't touch gradle Dec 03 10:30:09 loke, not really the 'full version' Dec 03 10:30:37 AS is the combination of IntelliJ IDEA along with all the other tools packaged with it Dec 03 10:30:47 thats what makes it AS Dec 03 10:30:55 yea there's no full or half Dec 03 10:31:04 Android has a great AS Dec 03 10:31:07 :D Dec 03 10:31:24 kevel1: Are you saying there are things in AS that is not in IDEA? Dec 03 10:31:46 true Dec 03 10:32:34 just like ADT has things that do not exist in Eclipse (but can be acquired of course, but then you'd just get ADT, right?) Dec 03 10:32:47 Odaym: What would that be? Dec 03 10:33:00 the little 2 icons at the toolbar, SDK and AVD Manager Dec 03 10:33:05 you won't find those in Eclipse Dec 03 10:33:18 the View of Logcat, the perspective of DDMS... Dec 03 10:33:21 etc. etc. Dec 03 10:33:24 Well you get things like the navigation editor, device monitors, managers, etc Dec 03 10:33:33 logcat for sure Dec 03 10:33:39 many things Dec 03 10:33:53 and, its all integrated. Dec 03 10:34:06 Odaym: There is the sdk and avd manager in IDEA Dec 03 10:34:13 I have them right here Dec 03 10:34:17 that was not my example Dec 03 10:34:28 I was giving an example with Eclipse and ADT Dec 03 10:34:56 Odaym: ah. You're right. I was talking about what kevell suggested (that AS has features IDEA don't) Dec 03 10:35:00 AS really really is the best IDE I've used so far Dec 03 10:35:03 so good man, so good Dec 03 10:35:31 take my money! Dec 03 10:35:31 Odaym: You shoul duse the full IDEA then. AS i, after all, just a stripped down version of that :-) Dec 03 10:35:40 you sure? Dec 03 10:35:49 Yes. I've used IDEA since version 3 Dec 03 10:36:00 I'd have to look that up, Im not sure IntelliJ would cram the Android stuff in their full version as well? Dec 03 10:36:00 It's always been the best IDE the world has ever seen Dec 03 10:36:03 why would they Dec 03 10:36:10 Odaym: Yes, it's in there Dec 03 10:36:19 but what if I dont need it, it'll be bloated Dec 03 10:36:28 is IntelliJ usually just for Java? Dec 03 10:36:30 Odaym: Then you unselect those modules Dec 03 10:36:52 Odaym: It used to be (definitely when I started with it back in, hmm... 2000 or so) Dec 03 10:37:12 Now it does more. It's an entire suite, and can do things like c#, Ruby, etc. Even PHP i think Dec 03 10:37:16 I only use it for Java though Dec 03 10:37:32 do you pay for the enterprise version? Dec 03 10:37:35 you personally Dec 03 10:37:38 And yes, it does Javascript, HTML and CSS really well, which is useful of course Dec 03 10:38:17 Odaym: Yes. (well, right now my employer do). That said, if you want to use it for free, just download it and use the 30-day trial. After 30 days, it's trivial to reset the counter. Dec 03 10:38:51 then why did they make Android Studio?.. Dec 03 10:38:59 if all the stuff that's here is in IntelliJ? Dec 03 10:39:19 they would've just said "grab intelliJ and enable the Android modules and you're good to go" Dec 03 10:39:47 Odaym: Not sure. I think Google realised that Eclipse is utter garbage (always has been) and that using it deterred developers. So they went to the best there is. Dec 03 10:41:40 Probably Google want to be in control of what they offer. Before AS, the gui editor for Android in IDEA wansn't very good. Dec 03 10:43:56 ahh I see Dec 03 10:44:00 ohh ok Dec 03 10:44:05 yea clear now Dec 03 10:44:59 I just want a nicer looking theme for AS Dec 03 10:45:08 I want to feel like im in 2014 Dec 03 10:45:10 not 1994 Dec 03 10:46:21 can anyone give a hint for streaming video using rtmp, I am using vitamio lib but it is making my app size to be very large. Dec 03 10:47:33 how big is very large? Dec 03 10:47:39 U want to avoid using MediaPlayer Dec 03 10:47:44 thats all im telling you Dec 03 10:47:48 avoid it like the fucking plague Dec 03 10:48:51 kevel1: On IDEA you can install the ThemeLF Plugin. Dec 03 10:49:26 android 5.0.1 Dec 03 10:49:27 :D Dec 03 11:03:20 whats so bad about mediaplayer kevel1 Dec 03 11:05:59 it has a fixed buffer size which you can't change Dec 03 11:06:19 so if you want to stream something which has a lowish bit rate Dec 03 11:06:32 stage fright kicks in and takes a while for the video to begin Dec 03 11:06:43 (assuming you are streaming and not loading from file) Dec 03 11:16:53 can a gridview be put inside listview? Dec 03 11:21:16 mmm jetbrains added some nice features to IJ 14! big fan :) Dec 03 11:23:49 hmm ok kevel1 Dec 03 11:26:39 aaearon, you can lok into something like exoplayer Dec 03 11:26:57 http://developer.android.com/guide/topics/media/exoplayer.html Dec 03 11:28:13 thanks for the link Dec 03 11:38:24 huh Dec 03 11:41:52 hi guys, I'm not sure if it is possible but I have a circular shape with a gradient to simulate a progressbar. Now i have a startcolor and an endcolor, but it seems as though the gradient is split 50/50. Is it possible to have one color 75% of the ring and the other color to 25% Dec 03 11:42:19 is there a reason why Theme.AppCompat hides actionbar now? Dec 03 11:57:39 http://pastebin.com/QpTV2sZE what my be the problem? The "Tabs" are overwriten by the fragments instead of by the R.string.* Dec 03 12:01:14 any general concensus when it comes to using jackson vs gson? Dec 03 12:04:51 jackson Dec 03 12:07:16 aaearon, whatever retrofit uses by default because I'm too lazy to figure out how to replace it :P Dec 03 12:09:54 Mavrik, hahaa Dec 03 12:10:01 pangelovski, easiest would be to just use a drawable as background for your progressbar and gradually reveal it Dec 03 12:14:02 Other than that I don't know how you're currently drawing your circle shape, but I know there is a centerX/Y value for gradients that might do what you want Dec 03 12:15:39 Hi!, how can I finish an activity with a button click?, I've already tried with a onClick function that calls MyClassName.this.finish(); Dec 03 12:15:47 But doesn't work. Dec 03 12:16:06 btw, I'm trying to finish the current activity I'm in. Dec 03 12:16:45 Just finish() should do it if you're in the activity Dec 03 12:16:59 VnM, thanks, I'll try it right away Dec 03 12:26:10 VnM, doesn't work :(, this is the code + the error: http://pastebin.com/SUNU4sED Dec 03 12:27:04 You have a typo in your code keniobats Dec 03 12:28:06 You defined cancelIm_m_ediate as method but in your onClick you wrote cancelI_n_mediate, also I believe in your onClick you passed a View which isn't necessary Dec 03 12:29:02 (and not supported in your code) Dec 03 12:33:27 VnM, you're right, I have some other currencies with that typo, I'll fix it and get back to you. Thanks a lot! :) Dec 03 12:33:47 You're welcome, sometimes it's the simplest things Dec 03 13:06:06 what might cause INSTALL_FAILED_DEXOPT? Dec 03 13:06:17 it's not the DEX size Dec 03 13:06:23 we have 62K methods Dec 03 13:09:11 Are you using an emulator or an actual device? Dec 03 13:11:47 If you're using an emulator thepoosh, try uninstalling the app from your device first providing it's already installed, if that doesn't work wipe the data of the emulator. If you're not using an emulator is it low on storage maybe? Dec 03 13:12:11 VnM: actaul devices Dec 03 13:12:22 hmmm Dec 03 13:12:35 it's happening on all 2.3.* devices since an update Dec 03 13:12:40 but I'm not sure which Dec 03 13:12:50 it means that there's not enough space on the SD card? Dec 03 13:13:15 I have 412MB storage space Dec 03 13:13:27 or 712 MB Dec 03 13:14:09 Well I doubt thats the issue then, I assume you have tried running a Clean on the project? Dec 03 13:14:38 it's from an exported apk as well as from a clean project from eclipse Dec 03 13:31:09 I'm doing some testing in Android. How can I wait for a callback? Dec 03 13:40:12 so i have a viewpager and a fragmentpageradapter with animations for each fragment in it and starting the animations in onPageSelected (thnx lasserix) but when i do fast scrolling it begins to slow down to the point where it basically locks up the app... should i be starting the animations elsewhere? Dec 03 13:55:02 in my cursoradapter i need to check a preference to determine whether or not to show a particular view. in what method should i check the preference? Dec 03 14:01:11 Anyone know if it is possible to enable routing across an LTE and RNDIS connection without rooting? Dec 03 14:08:33 i figured it out. i had a timer running on the UI that slowed everything down significantly Dec 03 14:28:20 Anyone who knows how to wait for a callback to finish in a android test case? Dec 03 14:36:09 anybody know why when building a LayerDrawable in code with a background ripple (android:color="?android:attr/colorControlHighlight") the ripple is pink, yet if apply the via XML using the ripple is grey? Dec 03 15:08:53 Click66, block the test until your test notifies Dec 03 15:09:01 callback notifies Dec 03 15:12:36 Hi, for some reason my app is destroyed when the screen turns off and also if i call teh task selector while my app is running and select my app again. Any ideas what might cause this? Dec 03 15:12:53 any logz? Dec 03 15:13:31 freiform: adb logcat, read the backtrace Dec 03 15:13:39 your activity gets paused when the screen turns off Dec 03 15:13:53 if long enough, it will be destroyed, that's normal Dec 03 15:14:05 I'll check for logs. Dec 03 15:14:13 and if it crashes on pause, that's your fault Dec 03 15:14:28 why do people expect help without looking at logs first Dec 03 15:14:40 it does not crash it calls onDestroy() when the screen is unlocked again. Dec 03 15:15:06 and how do you know that Dec 03 15:15:20 you probably threw a finish in there somewhere Dec 03 15:17:43 pfn: oh boy. finish() is called in onStop(), Dec 03 15:18:05 silly you Dec 03 15:18:06 that's embarrasing. Dec 03 15:35:03 ugh, I hate using gmail for exchange Dec 03 15:35:30 it uses the same notify icon, so I can't tell if an email is from Gmail or exchange Dec 03 15:54:20 ugh, Handler.hasCallbacks is @hide--that's annoying Dec 03 15:55:41 hmm, added in 2012 Dec 03 15:56:21 hmm, 4.1.1 Dec 03 15:56:23 yuck Dec 03 16:05:12 hello Dec 03 16:06:19 anybody there can help me with a ListView ? Dec 03 16:09:06 hm? Dec 03 16:10:06 I have a ListView that contain a List of questions Dec 03 16:10:29 mhm Dec 03 16:10:51 I user click in a question false I want to paint the listview red Dec 03 16:11:11 and if user click in question true I want to paint green Dec 03 16:11:20 how can I do it ? Dec 03 16:12:15 listview.setOnItemClickListener() Dec 03 16:12:37 and check there if position is "right" Dec 03 16:12:38 Ashiren: yep Dec 03 16:12:43 do you have your own adapter? Dec 03 16:12:48 yep Dec 03 16:13:17 so you probably override getView with custom convertView Dec 03 16:13:49 there you could convertView.setBackground with desired color Dec 03 16:16:22 Ashiren: http://pastebin.com/VPPgakLV Dec 03 16:19:13 so layout.setBackgroundColor(Color.parseColor("#ff0000")); for red or "#00ff00" for green Dec 03 16:19:22 I have an activity that connects to a persistent service, and gets its state from ther service. This creates an ugly flash, where the activity is created with the default UI controls, then a split second later updates them to reflect the state of the service. How can I get rid of this flash? Dec 03 16:19:57 and before you could in onItemClickListener, dunno, check if question is right Dec 03 16:20:23 d0de: you mean it binds to service Dec 03 16:20:36 Ashiren, yes Dec 03 16:21:06 Ashiren, and then in the onServiceConnected() callback it gets the state from the service and updates the UI Dec 03 16:21:06 meh. i would like to know it myself Dec 03 16:21:17 binding is asynchrounous Dec 03 16:21:26 and mostly occurs after onResume Dec 03 16:21:40 so far fraction of second it will show unconnected activity Dec 03 16:21:44 its annoying Dec 03 16:22:04 yes! It's v annoying Dec 03 16:22:05 and i dont know any elegant solution to that Dec 03 16:22:29 maybe some splash screen or loading to mitigate the effect Dec 03 16:22:58 Ashiren: but if I added in getView method of adapter all lines are painting on setAdapter Dec 03 16:24:15 whats RespostaPergunta? does it have something like boolean clicked variable? Dec 03 16:24:48 I have a custom Dialog which looks like this http://eagle.phys.utk.edu/guidry/android/figs/themesPreferenceDialog.png my theme is Holo.Light. But how can I change my dialog so that the "title' and the line under the title isn't visible( gone actually). The root of the dialog needs to be wrap_content height and width Dec 03 16:25:20 does have int value..value = 1 (true) or value = 0 (false) Dec 03 16:25:46 FrancescoV: have you tried setTitle(null)? Dec 03 16:26:46 Ashiren: this result with empty title but doesn't wrap arount my views of my custom.xml layout Dec 03 16:29:11 it needs to look like this: http://1.bp.blogspot.com/-GdBTOVMZpBA/T_ZRc5OVRxI/AAAAAAAABdw/9tBUFBTtR70/s1600/android%2Blistview%2Bload%2Bmore%2Bdata.png but my layout of course Dec 03 16:32:52 hey guys, so with the NDK/OpenGL, what's the recommended approach for GL contexts? Dec 03 16:37:08 hello Dec 03 16:37:11 how do I handle an option menu item in an Activity only if it hasn't been handled in its Fragments? Dec 03 16:37:43 looks like the activity handler is called first and then, if it returns false, handlers in fragments are called Dec 03 16:38:23 Thorn, super.onOptions prior to processing and check its return value Dec 03 16:38:34 i.e. render in the main thread ? render in another thread? load textures in a separate thread? Dec 03 16:38:35 that's what I did Dec 03 16:38:56 * pfn shrugs Dec 03 16:39:02 the activity handler is always called Dec 03 16:39:51 if (super.onOptions...()) return true; /* handle */ return false; Dec 03 16:40:13 of course, but super should delegate to fragments first Dec 03 16:40:17 * pfn shrugs Dec 03 16:40:28 I mean it always falls through Dec 03 16:41:03 adding logging now Dec 03 16:50:18 I guess it does, oh well Dec 03 16:50:26 activity.onOptionSelected() never delegates to fragments unless it returns false Dec 03 16:50:40 even though it calls super() at the beginning Dec 03 16:50:41 yeah, it's onMenuItemSelected that does the delegation, and it does it after Dec 03 16:50:58 Ashiren: I'm trying change but still can't do this works, look: http://pastebin.com/h1HjLnxs Dec 03 16:53:19 http://stackoverflow.com/questions/16679917/onoptionsitemselected-in-activity-is-called-before-onoptionsitemselected-in-frag Dec 03 16:58:13 if I am doing a nav drawer with menu items that change if the user is logged in, do you think I'd be better off doing two nav drawer fragments? Dec 03 16:58:51 So which thread should an NDK app be doing OpenGL render from? Dec 03 16:59:18 anybody here can help me with a ListView ? Dec 03 17:20:55 fernandopaiva: Just ask Dec 03 17:21:33 yiati: I have a List with 4 questions Dec 03 17:21:52 These questions has 3 false and 1 true Dec 03 17:22:24 this list I added in ListAdapter of a ListView Dec 03 17:23:21 I want when user click in a question false all lines of ListView paint with red and if question is true the line paint green Dec 03 17:23:39 to do it I'm trying this: http://pastebin.com/h1HjLnxs Dec 03 17:24:00 but doesn't work Dec 03 17:24:17 What doesn't work? Dec 03 17:24:17 yiati: do you know how can I do ? Dec 03 17:24:46 Is it opening Chrome instead? Dec 03 17:25:20 doesn't work because all lines doesn't paint red Dec 03 17:25:37 Do they paint a different color? Dec 03 17:26:57 only line is paint, other lines doesn't Dec 03 17:27:37 for example, only first line is paint the others not Dec 03 17:34:02 fernandopaiva: sounds like you found out what you need to debug then Dec 03 17:36:37 yiati: what ? Dec 03 17:37:45 fernandopaiva: You have a line that sets the paint. Figure out why it's not getting there, and you have your next clue as to why it's not working. Dec 03 17:40:15 fuck, I've been identity theft'd Dec 03 17:40:25 :P Dec 03 17:46:18 my 5.0 phone got stuck in a reboot loop this morning Dec 03 17:46:24 all I did was try to open a text message Dec 03 17:46:36 it then crashed 20 minutes later yet again Dec 03 17:46:47 I'm ready to switch to Apple :( Dec 03 17:46:54 after years of being a very happy 4.x user Dec 03 17:47:07 switch Dec 03 17:47:10 doesn't sound like a reboot loop Dec 03 17:47:11 but ok Dec 03 17:47:25 and send me photo how it bends Dec 03 17:47:27 a Dec 03 17:47:43 and come back when iOS upgrade will break system Dec 03 17:47:49 because it doesnt happens at all :D Dec 03 17:49:24 matt_j also show us your newfound money from people buying your apps ! Dec 03 17:49:38 it looks like custom views in dialogs are not tinted with AppCompat...any ideas on how to make that happen? Dec 03 17:49:43 but no farting apps ! Dec 03 17:51:11 idea navigation of eclipse people ! https://medium.com/@andrey_cheptsov/top-20-navigation-features-in-intellij-idea-ed8c17075880 Dec 03 17:51:17 *for eclipse lol Dec 03 17:51:46 you crazy eclipse people! Dec 03 17:51:58 Thanks g00s Dec 03 17:52:09 only a partial person Dec 03 17:52:24 I am a whole people Dec 03 17:52:35 :)x Dec 03 17:52:44 "Google now says updates for Nexus devices can be delayed based on your carrier" Dec 03 17:52:54 http://phandroid.com/2014/12/02/updates-for-nexus-devices-can-now-be-delayed-by-carriers/ Dec 03 17:52:56 nooooo Dec 03 17:53:09 it’s not going to be vanilla? Dec 03 17:53:15 whats the point of the nexus now? Dec 03 17:53:21 That is the only reason I can think of the delay Dec 03 17:53:22 right? Dec 03 17:53:27 matt_j show us your newfound joy working with an unfragmented platform ! Dec 03 17:53:30 Could have just gotten a note 4 Dec 03 17:53:36 g00s: hahahaha Dec 03 17:53:53 I mean more as a personal phone. I like Android because of its flexibility as a gadget Dec 03 17:54:00 but now it's just completely unstable :( Dec 03 17:55:34 i stayed on 4.4.4. 5.0 google releases are failboat Dec 03 17:55:48 or x.0 i should say Dec 03 17:57:21 I guess I got too optimistic because of 4.4 :( I thought I had the coolest phone ever Dec 03 17:57:26 and seriously, what's with the clock app? Dec 03 17:57:31 Why does it turn PINK when I snooze the alarm? Dec 03 17:57:50 why did a programmer sit down and take the time to have it swap blue/pink? Dec 03 17:57:54 because sleep is for sallies Dec 03 17:59:10 also the unsexy white background behind the apps screen Dec 03 17:59:18 heh... nancy Dec 03 18:05:36 I dunno... Dec 03 18:05:44 are linux kernel releases this buggy? Dec 03 18:05:55 I imagine if they were, people would be pretty angry Dec 03 18:06:28 there were some video playback bugs still not fixed since 4.3 IIRC Dec 03 18:15:43 do any of you have any tips on android app programming in either java or python? Dec 03 18:15:55 read Dec 03 18:16:46 marvimias my tip is use java not python Dec 03 18:16:56 g00s, Why is that? Dec 03 18:17:00 given two activities A and B, and they're bound/ubound to/from a service in onStart/onStop. in onServiceConnected, a listener is set in the service, and in onStop, the listener is nulled. how can i avoid the listener getting null when navigating from A to B (because B#onStart and onServiceConnected in B is called before A#onStop)? Dec 03 18:17:10 marvimias 'when in rome, do as the romans' Dec 03 18:17:13 get a good book and read about whichever one you are more comfortable with. Dec 03 18:18:09 bitkiller: You could have the activity check to make sure the listener is that activity before nulling Dec 03 18:18:58 s73v3r, nice tip. was thinking about a lot solutions and not thinking the obvious one Dec 03 18:20:20 g00s: while i agree java is first choice. i thought there was some work going into developing android in python. im sure its More complicated to get started but i know people who are very comfortable in python and they might like it better Dec 03 18:22:01 the entire api is java though Dec 03 18:22:06 python? can it call java apis? Dec 03 18:22:22 http://python-for-android.readthedocs.org/en/latest/# ?? Dec 03 18:23:08 or http://developer.android.com/guide/index.html for java/android docs Dec 03 18:23:25 better yet http://developer.android.com/training/index.html Dec 03 18:29:09 are there any third party emulators that a developer can use that support ARM? Dec 03 18:29:30 Genymotion looks freeking awesome compared to AVD but is utterly useless to me right now Dec 03 18:29:48 huh. Dec 03 18:29:56 Genymotion is x86 not arm Dec 03 18:30:01 <_Auron_> genymotion is nice when it doesn't crash Dec 03 18:30:05 you kinda lose all awesomeness of Genymotion if you switch to ARM :P Dec 03 18:30:13 my avd's crash constantly Dec 03 18:30:25 <_Auron_> yeah Dec 03 18:30:42 nothing beats an actual device really. Dec 03 18:30:46 <_Auron_> ^ Dec 03 18:30:47 run a debug session, launch avd. avd boots but debug never connects. run new debug session, new avd is launched Dec 03 18:31:17 the device is slow compared to even this shitty avd Dec 03 18:31:23 by A LOT Dec 03 18:31:39 are there any free third party arm android emulators Dec 03 18:31:44 what are you using, a 30$ device? Dec 03 18:32:04 droid incred and thumderbolt Dec 03 18:32:10 I don't think anyone ported Android to ARM VM for free :/ Dec 03 18:32:10 thunderbolt Dec 03 18:32:31 There are just few (slow) non-commercial ARM VMs out there anyway Dec 03 18:32:39 my desktop is a 4.7ghz lga2011 with 64 gigs of ram Dec 03 18:33:15 <_Auron_> why so much ram? Dec 03 18:33:31 why not? :D Dec 03 18:33:52 <_Auron_> well if it's not being used money was wasted, but hey epeen :P Dec 03 18:33:56 i put /usr/portage in a 32 gig ram disk.... Dec 03 18:33:59 Hello Dec 03 18:34:11 _Auron_: it'll be used.. disk cache, etc. Dec 03 18:34:17 it currently IS being used Dec 03 18:34:34 <_Auron_> just seems a bit overkill Dec 03 18:34:35 when i play games i put the game in the ram disk too Dec 03 18:34:46 <_Auron_> but whatever :D Dec 03 18:34:47 way way WAY faster than ANY ssd Dec 03 18:35:39 i was going to donate cycles to the AOSP too lol but my situation does not allow for that Dec 03 18:35:56 Are disk operations really that expensive for video games? Dec 03 18:36:12 depends on the game Dec 03 18:37:04 <_Auron_> RAGE is probably the heaviest with idtech5 doing gigs of texture streaming Dec 03 18:37:16 yiati, there was a case where a company had to reprint several thosands of Xbox 360 DVDs because order of files got swapped on the DVD :) Dec 03 18:37:45 but disk operaions are expensive Dec 03 18:38:05 Yes, the are if they are your bottleneck Dec 03 18:38:33 exactly, "depends on the game" <--- :) Dec 03 18:38:42 Yeah I just couldn't think of any Dec 03 18:38:51 I'm sure the one you suggested is one though Dec 03 18:39:03 i did not notice ANY difference with BF3 when i ran it out of the ram disk Dec 03 18:39:40 i got about 300fps on the physical drive and when running out of the ram drive Dec 03 18:39:48 pretty much everything new relies heavily on streaming from disk while playing (e.g. endless levels of Unreal Engine) so they're optimized for slowest disks out there Dec 03 18:40:00 (and DVDs since they have to run of BRs and DVDs on 360/PS3) Dec 03 18:40:10 so RAM disks don't do much on those games except shorten initial load Dec 03 18:40:18 not even that Dec 03 18:40:28 they have to be loaded into ram before they can be loaded into ram :) Dec 03 18:41:13 a complete android AOSP rebuld took about 20 minutes out of ram disk, i never benched it off of the HD Dec 03 18:41:25 make clobber && make -j12 Dec 03 18:41:38 nice Dec 03 18:41:58 but i cant do that any more, im usng the latest jdk from portage and androids build system does not use it Dec 03 18:42:15 i can build android apps, just not aosp sources Dec 03 18:43:36 Mavrik, games on xbox/ps have been installed to hard drive for a while now Dec 03 18:43:48 Mavrik, they don't optimize for optical disk Dec 03 18:44:06 That... depends. Dec 03 18:44:07 ps2 and original xbox were the last to run directly from disk Dec 03 18:44:15 No, that's certanly not true. Dec 03 18:44:18 optical Dec 03 18:44:26 sure, certain games don't require HDD installation Dec 03 18:44:29 360 (and PS3) games will do streaming from disk and optical drive at once when required Dec 03 18:44:32 but their requirements are quite low Dec 03 18:44:49 Remember, Halo 3 had huge performance issues when Xbox 360 introduced installation Dec 03 18:45:26 Because it read disk cache and what was supposed to be on optical disk all from a single drive which was significantly slower Dec 03 18:45:47 Also note that it was rather late in 360 cycle that MS even allowed publish of games that required an HDD Dec 03 18:48:39 halp! I am getting noclassdeffounderror on a project I just imported.. the class is there in the same package.. idk what logcat is talkign about Dec 03 18:52:27 dunno, I never had a 360, but as I understand, ps3 required it from the getgo Dec 03 19:19:21 If I were to communicate between two android applications using sockets and having forwarded ports, what could stop this communcation from taking place? Dec 03 19:19:41 lots Dec 03 19:20:00 Hello all. i need to fusion to project into one. what should i do? Dec 03 19:20:43 2 projects* Dec 03 19:21:34 Does anyone know what "Total arena pages for JIT: N" in LogCat means? Dec 03 19:22:31 heh, I'm attempting to send a message from a client to a server; I have the ports forwarded for TCP and UDP and I'm just not able to see anything on the server end Dec 03 19:23:00 use wireshark everywhere Dec 03 19:23:21 on the server, on your router, on every network hop in between where you have access Dec 03 19:25:22 Thank you pfn, I'll try that Dec 03 19:27:23 how i can set the height of my header in listview? Dec 03 19:28:06 t0th_-_: Isn't it a case of setting the height of the view you're using as a header? Dec 03 19:28:25 You might even want to use padding or something. Dec 03 19:28:58 i setted my height in a view of header Dec 03 19:34:30 anywaym thanks Dec 03 19:34:59 I don't understand. Dec 03 19:35:24 Noone does Dec 03 19:36:38 thanks anyway Dec 03 19:36:50 how i can get the dimens.xml values in acitivty? Dec 03 19:37:07 getResources Dec 03 19:37:18 thanks Dec 03 19:41:28 is there an easy way to retrieve phone numbers from a list of contact _ID's besides iterating on them and doing a query for each? Dec 03 19:44:38 anyone have any idea what was going on here? http://stackoverflow.com/questions/27278736/urisyntaxexception-on-underscore-in-path-segment-not-domain Dec 03 19:48:09 i have this View header = getLayoutInflater().inflate(R.layout.map_fragment, null); how i can set the height of this header? Dec 03 19:50:32 t0th_-_: In map_fragment.xml, set 'android:layout_height'. Dec 03 19:50:40 i have Dec 03 19:50:57 maxHeight? Dec 03 19:51:30 what? Dec 03 19:52:46 Are you setting a Fragment as a ListView header? Dec 03 19:52:50 (On a side note.) Dec 03 19:53:33 I guess that's impossible, but you were asking before about ListView headers, so I wonder what's going on here. Dec 03 19:53:58 yes Dec 03 19:54:03 adding a map fragment in header Dec 03 19:54:12 it is added but i need change the height Dec 03 19:54:47 Wouldn't you have to wrap the Fragment in a ViewGroup? Dec 03 19:54:56 The idea of adding a Fragment as a ListView header sounds really weird to me. Dec 03 19:55:02 Maybe I'm wrong. Dec 03 19:55:17 working Dec 03 20:00:55 Hi all, in terms of IDEs whats the best/recommended to go now for Android dev, Eclipse + Plugin or Android Studio? Is Android Studio stable? Dec 03 20:01:36 Android Studio is starting to push release candidates, so it's very close to stable. tbh I'd go with AS. Dec 03 20:01:47 t0th_-_: You should post some code or something. Dec 03 20:01:57 it is working, thanks man Dec 03 20:02:22 pedrosanta: Eclipse still has better integration for a few things, like UI inspection, NDK, MAT (memory analyzer), and logcat. but AS is nicer ovrall. Dec 03 20:02:41 I wish Google would stop treating the NDK as an afterthought. Dec 03 20:02:43 android studio is very nice Dec 03 20:02:48 pretty stable, runs good Dec 03 20:03:35 I use Eclipse for work, AS for play. AS is a nicer coding experience, which is where you'll spend most of your time :) and product flavors are SO much easier than in Eclipse (manifest merging in eclipse sucks, to put it mildly) Dec 03 20:04:03 nice, one of my apps shows as top apps for 2014 Dec 03 20:04:09 I've used Eclipse in the past, but since then I've been mostly on Web Dev (and ocasionally on Android)... I just wanted to be updated on this issue. Well, the main drawback of Eclipse is, well, Eclipse. xD Dec 03 20:04:35 I really wish they'd get the Gradle integration for Eclipse working, simply because Eclipse works better with NDK and some of the other tools Dec 03 20:04:47 hey everyone, im looking for a way to animate a view changing sizes... Ihave 4 edit texts side by side, 3 of which are invisible at first and the first edit text takes up the whole screen. Then an event happens and the 4 edit texts have to share the space, but instead of just appearing id like the first textedit to shrink its width to an appropriate size via animation Dec 03 20:05:27 pedrosanta: yeah :) Eclipse does everything, but it does nothing particularly well. If you need everything, stick with Eclipse. If you don't, give AS a try. Dec 03 20:05:30 s73v3r: I've heard people running gradle with maven, is that still a thing? Dec 03 20:05:39 Well, trying them both won't do no harm, so... Dec 03 20:05:41 (for people who still use Eclipse) Dec 03 20:05:48 pedrosanta: oh, also: Eclipse is still faster to build and launch, in my experience Dec 03 20:05:53 hwrdprkns: Not a clue Dec 03 20:06:00 pfn: Which app? Dec 03 20:06:04 I guess I'm gonna try AS and evaluate. Thanks for the tips. Dec 03 20:06:08 intellij does everything that eclipse does, but better Dec 03 20:06:11 minus C Dec 03 20:06:14 and C++ Dec 03 20:06:29 android studio is only good if you only want to do android Dec 03 20:06:43 hwrdprkns: afaik you just add buildscript { repositories { mavenCentral() } } and you can include maven artifacts as compile-dependencies Dec 03 20:06:49 pfn: so? Dec 03 20:07:08 just make sure you are pulling builds from the dev channel NOT the canary channel. The ones on the canary channel are more likely to be unstable Dec 03 20:07:08 pedrosanta: Android Studio is where the Android-tools team is focusing its efforts now, but I personally am sticking with Eclipse until they add JVM unit testing to Android Studio. (Also, Android Studio is way slower for me than Eclipse.) Dec 03 20:07:40 TacticalJoke: I see... so it's not there, yet. Dec 03 20:07:48 android studio is specifically built for making android apps Dec 03 20:07:52 TacticalJoke: would that be unit testing on a separate JVM ("plain" java unit tests, no android dependencies)? Dec 03 20:08:00 jfpoole, it's a tv app Dec 03 20:08:10 pedrosanta: A lot of people love Android Studio. Just giving you more info. :) Dec 03 20:08:16 i love android studio Dec 03 20:08:22 njcomsec: it's "specifically built" to the same degree as Eclipse's android plugin, as it's basically an Intellij plugin. Dec 03 20:08:22 AS is where things are going. Look forward not back Dec 03 20:08:23 TacticalJoke, jvm unit testing is supported in android studio... Dec 03 20:08:32 TacticalJoke, the robolectric docs even point to it as the default configuration... Dec 03 20:08:35 Groxx: It's basically unit-testing my app where the unit tests run on the JVM. Dec 03 20:08:44 Yhea, I guess I'm gonna give AS a run and maintain them both on my system... Dec 03 20:08:48 pfn: It doesn't work with Gradle. Dec 03 20:08:51 There's a bug about this on the issue tracker. Dec 03 20:09:11 in Espresso how do I select the nth view with id "id/foo"? (I have a ListView containing many things containing foo) Dec 03 20:09:12 that's gradle, so what Dec 03 20:09:19 that's not a problem with android studio Dec 03 20:09:23 :\ I wish they'd close the gaps in AS before adding new features. the memory monitor is cool and all, but not really all that useful. Dec 03 20:09:33 pfn: Android Studio is all about Gradle. Dec 03 20:09:35 TacticalJoke, gradle not supporting jvm unit tests is completely irrelevant to android studio Dec 03 20:09:36 false Dec 03 20:09:45 Oh, come on. Dec 03 20:09:52 Gradle is pretty much Feature #1 of Android Studio. Dec 03 20:10:40 no, it's just the build aspect of android studio, and for build, you don't need jvm unit tests Dec 03 20:10:59 JakeWharton you around? Following up from my question yesterday, do you think this exception is necessary if there are cases where you're intentionally doing this on a background thread? java.lang.IllegalStateException: Method call should happen from the main thread at com.squareup.picasso.Utils.checkMain(Utils.java:124) Dec 03 20:11:05 https://developer.android.com/sdk/installing/studio.html Item #1 in the feature list: "Flexible Gradle-based build system." Dec 03 20:11:19 JacobTabak: intentionally doing what? Dec 03 20:11:25 loading an image into an imageview Dec 03 20:11:29 hmm, weird, I thought I saw docs showing how to use robolectric in android studio Dec 03 20:11:30 guess not Dec 03 20:11:31 that's not part of the UI Dec 03 20:11:40 TacticalJoke, that doesn't mean jvm unit testing is at all related Dec 03 20:11:42 or relevant Dec 03 20:11:46 People using Robolectric in Android Studio are having to jump through hoops. Dec 03 20:11:53 At least when they're using Gradle. Dec 03 20:11:55 add java perspective Dec 03 20:11:56 build Dec 03 20:11:58 I finally worked through the horror. Dec 03 20:11:59 how is that ahoop Dec 03 20:12:06 adding jvm unit testing in eclipse is the same number of hoops Dec 03 20:12:10 https://github.com/agamemnus/googleplaytoken ... just one simple permissions screen. Dec 03 20:12:13 pfn: It's really not that easy. Dec 03 20:12:18 not that easy at all Dec 03 20:12:26 * pfn shrugs Dec 03 20:12:40 I'm working on my fork of Picasso that will have an option to dispatch synchronously... Dec 03 20:12:51 JacobTabak: seems rare Dec 03 20:12:58 yeah, right... Dec 03 20:12:59 usually an error Dec 03 20:13:02 :\ Dec 03 20:13:10 maybe I'll just keep a fork and remove that Dec 03 20:13:37 i wonder what the history behind that exception is Dec 03 20:13:41 Here's the bug about JVM unit testing in Android Studio: https://code.google.com/p/android/issues/detail?id=65186 Dec 03 20:13:46 like, why would it be picasso's responsibility to throw the exception there Dec 03 20:14:02 because we rely on certain threads for implicit synchronization Dec 03 20:14:06 A lot of people are using as a work-around, but I'm not sure how stable that is. Dec 03 20:14:21 ah, i see Dec 03 20:14:41 Wouldn't you just use picasso's get() instead of into() if you want to do it from a background thread? Dec 03 20:15:05 better explanation here simonVT: http://stackoverflow.com/questions/27239203/synchronous-image-loading-on-a-background-thread-with-picasso-without-get?noredirect=1#comment43015982_27239203 Dec 03 20:15:23 sorry, here: http://stackoverflow.com/questions/27239203/synchronous-image-loading-on-a-background-thread-with-picasso-without-get Dec 03 20:16:13 the short answer is that there are several views that i'll be doing this with Dec 03 20:16:27 Why draw the view if you have the bitmap? Dec 03 20:16:40 the bitmap is just a small part of the view Dec 03 20:17:01 I don't want to add conditional logic each time I load an image Dec 03 20:17:15 ie, in this case, do get() and setImageBitmap(), but in other case, load it normally Dec 03 20:17:25 i'd rather just inject a picasso instance that handles each case correctly Dec 03 20:18:00 i mean, it's a fairly common render a viewgroup to a bitmap Dec 03 20:18:01 Seems unnecessary to maintain a picasso fork just to save a few lines of code Dec 03 20:18:17 pfn: Wait ,really? How can I just run JVM unit tests not on Dalvik in my Android module? Dec 03 20:18:18 right SimonVT, I was hoping to find a way to make it merge-able Dec 03 20:18:36 because it seems like a fairly common use case Dec 03 20:18:39 hwrdprkns: In Eclipse, yes. In Android Studio with Gradle, yes if you jump through hoops. Dec 03 20:18:54 like you want to add decorations, text, or emoji on top of an image and export it as a jpeg or something Dec 03 20:18:57 Ahhh the h00ps, ugh Dec 03 20:19:00 I don't think it sounds fairly common Dec 03 20:19:37 there are a bunch of SO posts relating to the subject Dec 03 20:19:39 hwrdprkns, not on device Dec 03 20:19:42 hwrdprkns, no hoops Dec 03 20:20:02 add java, mark directory as test Dec 03 20:20:05 run java tests Dec 03 20:20:08 I don't think that works, pfn. Dec 03 20:20:09 but SimonVT, as i'm running into these issues, i'm realizing that I probably can't do it in a clean way, so I will probably just use some helper class to load the images Dec 03 20:20:20 which just kinda sucks because I hate to confuse the code Dec 03 20:20:29 JakeWharton knows more, but if I'm not mistaken these are the recommended hoops to jump through to get Robolectric working in Android Studio with Gradle: http://blog.blundell-apps.com/android-gradle-app-with-robolectric-junit-tests/ Dec 03 20:20:30 hwrdprkns, you can't run java tests on-device, that's not the point Dec 03 20:20:40 those are my favorite hoops, yes Dec 03 20:20:51 the plugins and IDE plugin story is a mess Dec 03 20:22:46 If a method I call returns a result it shouldn't return, is an IllegalStateException the most appropriate exception to throw? Dec 03 20:23:53 so do you think i should just wrap the load calls rather than do something more elegant? Dec 03 20:24:12 the challenge is I also need to apply transformations, cropping etc Dec 03 20:24:21 TacticalJoke, that's to test with gradle, not studio Dec 03 20:24:36 Studio is all about dat Gradle. Dec 03 20:25:09 i have a working solution its just ugly :( Dec 03 20:26:25 Hmm, I guess I could throw IndexOutOfBoundsException in this case. Dec 03 20:26:35 TacticalJoke, but it isn't, no Dec 03 20:29:42 i want to resume to my activity from a service and close any activity that is in foreground, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); leaves activities open underneath mine......how do i do it? i think the CLEAR_TOP flag just closes my activities but not third-party ones..... Dec 03 20:30:12 thoughts on this SimonVT? http://pastebin.com/gnHiGeLB Dec 03 20:30:27 bout as clean as it can get I'm afraid :( Dec 03 20:31:26 TacticalJoke, as for hoops, looking at what you pasted, it's a short gradle script Dec 03 20:31:43 add junit to dependencies and robolectric plugin, done Dec 03 20:31:55 Isn't it also a custom test runner? Dec 03 20:32:18 JacobTabak: Could probably also just use a Target, but yeah, seems better(/easier) than building it into Picasso (it really doesn't sound like a very common usecase) Dec 03 20:33:24 i'm pretty sure it would be async/use the dispatcher with target Dec 03 20:33:33 which is what I need to avoid Dec 03 20:33:35 but thanks! Dec 03 20:33:41 Yep, it would Dec 03 20:34:40 hmm Dec 03 20:34:45 time to look into that more thoroughly then Dec 03 20:35:41 hm any hint specifically as to how I can bypass dispatcher with that? Dec 03 20:36:15 Oh, I don't think you can Dec 03 20:36:39 But you could get the Bitmap with all the Picasso goodness (resizing, transformations, ..), and then do whatever with the Bitmap and your ImageView after Dec 03 20:37:01 ah, that's a good point Dec 03 20:37:21 thanks again SimonVT ! Dec 03 20:56:28 Oh, gawd, what did they do to the design of . Dec 03 20:58:59 Perhaps intended meta-cringe. Dec 03 20:59:46 seems fitting :) Dec 03 21:01:46 can we build an unsigned apk with a custom build type in gradle? Dec 03 21:02:09 you can with a button click in AS Dec 03 21:02:31 Ravenheart, for a custom build type, not the debug debug one Dec 03 21:03:41 well its got a make project Dec 03 21:03:51 dunno if its unsigned :) Dec 03 21:09:30 No worries, Ravenheart apparently there's this initWith function that you can use to "subclass" buildTypes Dec 03 21:09:36 or rather inherit build types Dec 03 21:10:35 i haven't gotten to the point where i write my own build scripts yet Dec 03 21:11:09 Morning guys Dec 03 21:11:25 Hi Dec 03 21:11:37 Is it possible to make an image clickable inside a clickable listview? Dec 03 21:11:45 (The row is clickable in the listview) Dec 03 21:11:50 I am Japanese and I live in Japan Dec 03 21:12:02 I have a view in a fragment that I want to maintain a certain aspect ratio. When should I set its height so it depends on the width? Dec 03 21:12:22 hello licksjp Dec 03 21:12:25 hi aceus Dec 03 21:12:26 I am Developping Android apps and have entryed in GooglePlay Dec 03 21:12:28 hey! Dec 03 21:13:07 Ravenheart:Morning!! Dec 03 21:13:55 I am making program for my Android apps in all night in Japan Dec 03 21:14:42 aceus: Can't you set a View.OnClickListener for the ImageView? Dec 03 21:14:43 oh don't do that Dec 03 21:14:51 sleepy devs make mistakes Dec 03 21:18:12 How do I do something like this? http://pastebin.com/fx75CtvK Dec 03 21:18:37 I don't want to inherit from "Whatever.ProgressBar"; I just want to use the default horizontal-progess-bar style for whichever theme we're using Dec 03 21:18:38 . Dec 03 21:19:13 Oops, forgot the 'true' at the end there. Dec 03 21:22:36 I guess the only solution is to inherit from Widget.Holo.ProgressBar.Horizontal or whatever. Dec 03 21:23:22 Though that's annoyingly limited. Hmm. Dec 03 21:24:29 TacticalJoke : I'll try that! Thanks :) Dec 03 21:26:45 aceus: IMO, a good pattern here is for the Activity to say "whateverAdapter.setImageOnClickListener(new View.OnClickListener() {});" and for the Adapter to say "imageView.setOnClickListener(theOnClickListenerGivenToUsByTheActivity);". Dec 03 21:26:51 Then the Activity code gets to handle the event. Dec 03 21:26:59 Though this may or may not apply in your case. Dec 03 21:27:42 Afzal are you using that rxloader ? Dec 03 21:27:56 g00s, nope Dec 03 21:28:02 lol Dec 03 21:28:13 if I have a content provider, why would i use rx loader? Dec 03 21:28:25 LoaderManager works pretty well in my experience Dec 03 21:28:34 loaders and providers are orthogonal Dec 03 21:28:43 yeah its ok Dec 03 21:28:46 okay cursors I guess Dec 03 21:29:14 but content provider provides a cursor that the loader can use so I guess there's that Dec 03 21:29:50 the cursorloader will manage the lifecycle of the cursor, which is nice Dec 03 21:32:27 holy shit \o/ http://www.bluetooth.com/SiteCollectionDocuments/4-2/bluetooth4-2.aspx#control Dec 03 21:34:35 Hmm, is there a way of determining my progress bar's style in my app's theme? Dec 03 21:34:48 This kinda thing: @style/ActionBar Dec 03 21:35:01 I'm guessing not. lol Dec 03 21:35:34 you could probably resolve the attr and test for equivalence Dec 03 21:36:11 Hmm, how would that be done? I'm a n00b at style stuff. Dec 03 21:36:23 yeah i always forget that stuff too heh Dec 03 21:36:39 no matter how many times i learn it, i forget it in about 2-4 hours Dec 03 21:36:42 I guess I'm thinking of allowing my app's theme to change at runtime, in future. Dec 03 21:36:46 But I have no idea about that. lol Dec 03 21:36:59 Nevertheless, I'm trying to write it in a flexible way right now so that the future won't be too painful. Dec 03 21:40:44 anyone else seeing this issue? https://code.google.com/p/android/issues/detail?id=80681 Dec 03 21:45:28 can I access the built in ListView divider to use somewhere else? anyone remember the ID Dec 03 21:45:55 robolectric has classes added to a dependency, classes like ActivityThread and WindowManagerGlobal, that are not apart of what is shipped with the sdk. is there a dependency i am missing? Dec 03 21:46:02 shekibobo i think that happens to people after they upgrade JDK; idea gets confused ? Dec 03 21:46:41 g00s: any idea how to fix it? restarting AS doesn't always work Dec 03 21:46:52 did you update your JDK ? Dec 03 21:46:59 also, I'm building with JDK 1.8 and I haven't updated in a while Dec 03 21:47:08 certainly not since I started seeing that issue Dec 03 21:47:11 oh weird, no idea then Dec 03 21:47:35 did you do a gradle build from the command line prior ? Dec 03 21:47:48 nope Dec 03 21:47:54 hm Dec 03 21:47:57 seems to be a problem between builds through AS Dec 03 21:48:11 build on AS, works, fine, change something, build on AS, problem Dec 03 21:48:29 run ./gradlew clean packageDebug, build on AS, works fine again Dec 03 21:48:50 i've had problems doing a command line build and then hopping to AS Dec 03 21:49:02 might be something with the gradle daemon Dec 03 21:50:21 So, let's say my app has two themes: Light (inheriting from Theme.Holo.Light) and Dark (inheriting from Theme.Holo). When Light is set, I want (certain) progress bars to use the Widget.Holo.[Light.]ProgressBar.Horizontal style, and, when Dark is set, I want (certain) progress bars to use Widget.Holo.ProgressBar.Horizontal. Dec 03 21:50:23 Is this possible? Dec 03 21:50:50 yeah, override those theme attrs ? Dec 03 21:51:15 you'll have to dig into the 3 layer deep xml mess Dec 03 21:51:18 TacticalJoke: I'm attempting that too, the only place I found it impossible is the pop-up dialog when you long press Dec 03 21:51:41 I realise that I could do this using "style="?android:attr/progressBarStyleHorizontal"" on the progress bar, but the problem is that I want to define my own progress-bar style. Dec 03 21:52:07 TacticalJoke: you have make custom xml's for spinners dropdown's and custom options context menu Dec 03 21:52:20 Create your own attribute, reference that from the style Dec 03 21:53:58 SimonVT: Do you mean that I can reference the attr from a custom style such as this? http://pastebin.com/fx75CtvK Dec 03 21:54:49 No, you can create an attribute called myProgressBarStyle.. Put that in your theme, add style="?attr/myProgressBarStyle" in your layout Dec 03 21:59:08 TacticalJoke this was good http://blog.danlew.net/2014/11/19/styles-on-android/ Dec 03 21:59:23 and this http://wiresareobsolete.com/2014/11/keeping-styles-in-scope/ Dec 03 21:59:35 <_Auron_> I guess this is more of a java question, but anyone know why SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); doesn't recognize X as a pattern character? Dec 03 22:00:06 thats more of a harmony question :D Dec 03 22:00:51 <_Auron_> it's listed as a character for timezone on http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html Dec 03 22:00:53 <_Auron_> hmm Dec 03 22:01:16 _Auron_: stick with the android docs http://developer.android.com/reference/java/text/SimpleDateFormat.html it's not listed there. Dec 03 22:02:49 heh Dec 03 22:02:49 _Auron_ you forgot, android isn't java Dec 03 22:02:50 <_Auron_> blargh :P Dec 03 22:03:06 generally the oracle docs work… but not always :) Dec 03 22:04:36 over time, less and less of the will work ;) Dec 03 22:04:39 <_Auron_> heh Dec 03 22:05:01 <_Auron_> so I just had to use Z instead of X, oy vey. thanks Groxx, that did the trick Dec 03 22:05:05 and then suddenly, everyone will be doing dart Dec 03 22:05:43 _Auron_: fwiw it looks like X is specifically for 8601-compliant values. If you're dealing with a strict parser somewhere, you might have to build it yourself (I'd just wrap the SimpleDateFormat and append the text, fwiw) Dec 03 22:06:15 Hi, i'm reading http://source.android.com/devices/graphics/architecture.html Am i right to say that when drawing w/ canvas to a surface through .lock() and .unlock() i'm not getting the performance I could by using an opengl surface? I develop on a Nexus 7 Dec 03 22:07:05 <_Auron_> Groxx: Yeah it's ISO 8601 Dec 03 22:07:12 The section of the article i'm currently on says that canvas.lock() and canvas.unlock() always give a canvas that is drawn to w/ cpu. Dec 03 22:08:11 abcdefg-devman: that sounds right to me, though this isn't my expertise. if you're using an opengl surface, I assume you can do stuff like gpu-executed shaders? Dec 03 22:09:21 right.. I'm looking to draw an Audio Scope to a surface., the surface is my only ui element. I haven't tried yet to simply use my canvas. i guess if the performance is poor i'll give the ogl surface a try Dec 03 22:09:42 If I'm creating an attrs.xml file, do I need to use ? Dec 03 22:09:45 canvas is nice though because w/ this i can draw text to the Surface, Dec 03 22:09:51 declare* Dec 03 22:10:24 TacticalJoke, only if you're declaring styleable... Dec 03 22:10:51 I don't know whether I'm declaring styleable. lol Dec 03 22:11:00 if you don't know, then you aren't Dec 03 22:11:06 styleable = any xml attributes Dec 03 22:11:29 abcdefg-devman: just make sure you profile it first. the slowdown might be from something else. Dec 03 22:11:59 Basically, I'm just trying to create a style for my ProgessBar that can be determined by which theme we happen to be using. Dec 03 22:12:10 I guess attrs.xml is the way. Trying to see how. Dec 03 22:12:10 TacticalJoke, then no Dec 03 22:12:21 and attrs.xml is used for defining attributes, by convention Dec 03 22:12:26 Groxx: ok thanks Dec 03 22:12:31 abcdefg-devman: ah, I misread that. I'd probably recommend trying a simple canvas version first, unless you're familiar with openGL coding. Dec 03 22:12:32 styles.xml and themes.xml are where you want to conventionally put styling information Dec 03 22:13:01 Groxx: i've seens some ogl before, but yeah i'll trry the canvas first :) Dec 03 22:13:02 Yeah. The problem is that I need to define a style for a ProgressBar, where this style inherits from X (if theme A is set) or Y (if theme B is set). Dec 03 22:13:14 TacticalJoke, again, read what I said Dec 03 22:13:18 your problem is quite clear Dec 03 22:14:12 anyway, time to go to the bank and police station Dec 03 22:14:16 first I go rob it, then I turn myself in Dec 03 22:14:33 I'm a maven noob. how do i compile Picasso from the command line? Dec 03 22:14:41 jaynewstrom, mvn compile Dec 03 22:14:42 mvn clean package Dec 03 22:14:51 package if you want to generate a jar... Dec 03 22:14:53 It's so hard to figure this out. The fact that there is basically zero documentation makes it difficult. Dec 03 22:14:57 install if you want to drop it in ~/.m2 Dec 03 22:16:15 thanks... I'm getting test failures now. But i'll see what i come up with Dec 03 22:17:09 master is green on Travis CI so it's a you problem :) https://travis-ci.org/square/picasso Dec 03 22:17:13 builds fine. all i want is the jar Dec 03 22:17:32 mvn clean package -DskipTests Dec 03 22:17:47 pfn: Is it possible to basically do this?