**** BEGIN LOGGING AT Mon Sep 29 02:59:58 2014 Sep 29 03:05:54 anyone in japan? I need a quick favor, could you tell me which game categories are highlighted in google play japan? msg me please if you can check that for me, thanks Sep 29 03:14:29 rottz: why not proxy? Sep 29 03:15:18 yeah, I have tor semi-configured for that on another computer Sep 29 03:15:26 thought it would be easier to find someone :D Sep 29 03:15:33 thanks anyway for the suggestion Sep 29 03:15:39 I’ll find the computer Sep 29 03:15:46 :) good luck! Sep 29 03:38:52 i've got a ui kit psd.. how would i convert that to android xml? Sep 29 03:39:11 can someone tell me the steps? does it involve slicing etc like we do to convert psd to html templates? Sep 29 03:59:51 is there any alternative to mortar of square? Sep 29 04:05:00 I've tried to google up a solution but I can't find anything reasonable; I'm hitting the limit on the number of methods at the dexing stage because of all the 3rd party libraries I'm using.. I'm currently using proguard in gradle to get working APKs but it's buggering up my work flow with eclipse. Is there a way to get ADT to run proguard on debug builds in eclipse? Sep 29 04:06:41 kamol: just .plus() modules yourself Sep 29 04:06:43 that's what i do Sep 29 04:09:32 I am trying to set the style on the CheckBox or RadioButton of a SubMenu in the ActionBar. So far it looks impossible. The CheckBox is created here: https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/view/menu/ListMenuItemView.java#L251-257 Sep 29 04:09:54 Is there a way I could use reflection and grab mCheckBox and then set the style on it? Sep 29 04:10:27 JakeWharton: ic, thank you! Sep 29 04:29:46 JakeWharton: I was reading https://speakerdeck.com/jakewharton/android-apps-with-dagger-devoxx-2013, where I can find sample code for View injection like SingUpView (in your example)? Sep 29 04:32:56 this is pretty cool (r*tree) https://github.com/davidmoten/rtree Sep 29 04:39:23 is there any bug with TextViews with ellipsis? Sep 29 04:39:43 I've set maxlines 3, and the text is shown like this: Sep 29 04:40:09 Foo bar...yada Sep 29 04:40:25 for some reason android add the "..." and one word after it Sep 29 04:55:30 http://stackoverflow.com/questions/17131294/strange-issue-with-androidellipsize-end Sep 29 04:55:37 it is a bug... Sep 29 05:02:35 If it doesn't do what the docs say then it should go onto the issue tracker.. Sep 29 05:04:52 there are lots of bugs with ellipsize in the defect tracker Sep 29 05:06:09 that's not totally unexpected considering that's what a bug tracker is for Sep 29 05:06:45 well, looking at the bugs its a miracle it works at all :) Sep 29 05:06:54 lots of bugs WITH ELLIPSIZE is not totally expected either ;) Sep 29 05:07:36 Putting TextViews inside of GridLayout is also fun Sep 29 05:12:36 if i have a checkbox in the listview item - how do i stop the list view item accidently being activated when tapping the checkbox? is it possible to ignore the listview items click even for the right 30pixels ? Sep 29 05:12:48 sylon: padding Sep 29 05:13:36 dgp - sorry, padding for what? the checkbox is inside the list view Sep 29 05:14:37 sylon: if you give the checkbox padding and make it clickable that area won't send events down to the list view Sep 29 05:15:32 if the check box was 10px and you give it 10px padding it now has an area of 30px by 30px where it will consume touch events as long as it's told to do so Sep 29 05:16:07 ohh ok Sep 29 05:16:11 thanks will give that a shot Sep 29 05:16:24 that's the difference between padding and margin as far as I'm awae Sep 29 05:16:35 s/awae/aware/ Sep 29 05:16:53 Positive vs. negative space Sep 29 05:22:14 dgp: padding didn't seem to help Sep 29 05:22:31 this is what i tried android:paddingLeft="15dp" Sep 29 05:24:58 set the passing to something massive and give it a background colour so you can see where it is and then try poking it to see if the list is getting the touches Sep 29 05:25:34 dgp: exactly what i was trying, seems it doesn't help - only setting width makes it big Sep 29 05:25:39 but then checkbox is not in the center Sep 29 05:26:41 well, you could so something like a FrameLayout with the CheckBox inside it and making the FrameLayout clickable so it catches the touches but you shouldn't need to do that :) Sep 29 05:27:54 I have animSetXY.playTogether(animX, animY); and another animatorSet -> animatorSet.playTogether(waveAnimator, alphaAnimator); Sep 29 05:28:04 now I need the 2nd to play after the first Sep 29 05:28:22 so I should add them to another animatorSet with after() ? Sep 29 05:44:33 what would be the ideal protocol for a new messaging app? Sep 29 05:44:35 xmpp? Sep 29 05:52:08 supay, guess depends on your needs. Ideal would be non polling from client&push from server Sep 29 05:52:52 whatitis: so there are options apart from xmpp? can you link me to some or give me names of protocols? Sep 29 05:53:00 yet another messaging app? Sep 29 05:53:06 yes Sep 29 05:53:26 this one will be special: it deletes the message in transit Sep 29 05:53:36 lol :) Sep 29 05:53:56 that would be quite battery and data efficient Sep 29 05:53:59 are there any great ideas for a new messaging app? Sep 29 05:54:40 better question, is there any need for yet another Sep 29 05:54:49 absolutely! :) Sep 29 05:55:40 ravilov: not another that does exactly what all the gazillion existing apps do.. but something different! Sep 29 05:56:01 supay i can think of 2 great idead; p2p and extremely secure but thats a tough one Sep 29 05:56:04 that's what they all claim Sep 29 05:56:21 "something different" Sep 29 05:56:29 it would also have to be open source so people could vouch the security Sep 29 05:56:55 and even there, lots of projects Sep 29 05:57:09 g00s: p2p? that is peer-to-peer messaging? Implying that there is no centralised server? Sep 29 05:57:18 yes Sep 29 05:57:29 open source? can i make something open source *and* make money off of it? Sep 29 05:57:39 ok, p2p would be tough Sep 29 05:57:51 ... is therr any relation? Sep 29 05:57:56 there* Sep 29 05:58:19 why would open source mean no money? Sep 29 05:58:22 sure, open source projects get funded by the community and can't really make money.. because everything is open source, right? Sep 29 05:58:37 hello all, interesting discussion going on. Sep 29 05:58:44 hello g00s Sep 29 05:58:56 hi t2mkn Sep 29 05:59:09 g00s: wouldn't p2p messaging be unstable? There be a lot of message loss? Sep 29 05:59:43 supay only the hard things are worth doing :) Sep 29 05:59:51 that's where awesomeness and uniqueness of your messaging system come in Sep 29 06:00:08 i agree, but aren't there problems with the idea? Sep 29 06:00:19 supay: p2p cant be unstable. there are ways u can reduce message loss Sep 29 06:00:22 and looks like the guys at BitTorrent started working on this already. Sep 29 06:00:28 Supay, p2p is direct Sep 29 06:00:29 no, only with implementation Sep 29 06:00:42 t2mkn: 'reduce' message loss, but that means that there is message loss. Sep 29 06:01:07 welp Sep 29 06:01:11 off I go Sep 29 06:01:20 supay: u can avoid it 100% by catching internally unless successful Sep 29 06:01:29 have fun reinventing the wheel, supay Sep 29 06:01:42 ravilov: -." thanks Sep 29 06:01:50 t2mkn: can you please elaborate? Sep 29 06:02:05 (hint: delivery confirmations) Sep 29 06:02:19 ok.. Sep 29 06:02:26 supay: ravilov got it Sep 29 06:02:40 * supay googles Sep 29 06:02:54 wow Sep 29 06:03:13 http://labs.bittorrent.com/bleep/ Sep 29 06:03:30 but in p2p big thing is how do u manage to get list of available ones. online offline status. Sep 29 06:03:50 yet not to use huge amount of internet Sep 29 06:04:06 t2mkn: exactly.. the problem in getting 'presence' Sep 29 06:04:35 but then, that shouldn't be a problem considering skype had a p2p architecture.. Sep 29 06:04:40 u can get users from contact. now the question is if they are online or not. Sep 29 06:05:09 supay: skype is p2p still they manage in a server. Sep 29 06:05:33 okay Sep 29 06:05:46 from their server skype gets all online offline and info of users Sep 29 06:05:52 t2mkn: how about if we use a server for the presence part and chats will be p2p? Sep 29 06:06:06 ok Sep 29 06:06:09 so skype already does that Sep 29 06:06:13 supay: that would be like skype :D Sep 29 06:06:17 LOL Sep 29 06:07:07 Supay, just define your app, then implement what you need Sep 29 06:07:18 ... profit ! Sep 29 06:07:23 some one from friends list have to be host :D and yes he should be online always. or auto hosting can work too if user allows to. Sep 29 06:07:49 whatitis: fair enough.. but im having difficulty implementing the design.. how to design the app and make it look great is something i can't find an answer to online. Sep 29 06:08:07 atlist one has to secrifise with internet for many :D Sep 29 06:08:11 looks like being open source is going to be the least of his worries when it comes to making money off this :p Sep 29 06:08:20 t2mkn: you mean 'at least one' of the friends must be online always? Sep 29 06:08:30 ravilov: :P Sep 29 06:08:56 no at list one should be host. supay Sep 29 06:09:20 if no one is theiry then the starter becomes host for all late commers. supay Sep 29 06:09:32 hmm, that makes sense Sep 29 06:09:41 Supay, design is seperate from your code logic. Sep 29 06:10:18 whatitis, unless it's about code design :p Sep 29 06:10:20 whatitis: correct, but wouldn't design define the first impression that users get? Sep 29 06:10:21 supay: give me free version :D when u r done. i give u the idea :D Sep 29 06:10:49 t2mkn: haha, a new messaging app has to be free, dont worry, i'll link you ;) Sep 29 06:11:07 coooool (y) supay Sep 29 06:11:10 Supay your question was about messaging transfer, not design Sep 29 06:11:44 whatitis: yes, and i got the answer too - (1) xmpp (2) p2p (3) some new convoluted and secure protocol Sep 29 06:11:53 supay, you have a completely wrong approach here - you don't even know the first thing about messaging, you haven't figured out the architecture or the protcol, and you're already worried about the looks? dude Sep 29 06:13:17 ravilov: i was just pondering about protocols. i've actually done quite some research on xmpp. if you guys would like, i could discuss my app idea with you right here Sep 29 06:13:21 ravilov: protocol is nothing but a massedup code or messages :P i make my own protos with bit operations. supay, can do too with a little googling :D Sep 29 06:13:36 you also have the wrong motive, no freelancer with a "breakthrough idea" should ever engage in making an app motivated by making money off it Sep 29 06:14:16 well, honestly, investors take the revenue-model part of the presentation very seriously.. Sep 29 06:14:43 you have investors already? Sep 29 06:14:45 im all in for doing it for the lulz, but to make a viable business out of it, i would need to think a little about the revenue too Sep 29 06:14:56 yes, people that will invest as soon as i have a prototype.. Sep 29 06:16:07 But then again, creating the app is in itself a crazy journey.. Sep 29 06:16:09 make it simple p2p. background activity is important. design at 1st time dont make sense. work first. then improve. Sep 29 06:16:25 having profits in mind is different than profits being your major incentive, sounds like you fall into the latter category though Sep 29 06:17:22 ravilov: you know what? you're right. i should be more focussed on the app than how much money it can/will make. Sep 29 06:17:28 thanks ravilov Sep 29 06:18:15 np Sep 29 06:20:44 so, another question, what about scaling the app? Sep 29 06:21:16 but that would depend on the backend and isn't an android related discussion, sorry Sep 29 06:30:53 I'm learning about using databases in Android. The documentation says "Because they can be long-running, be sure that you call getWritableDatabase() or getReadableDatabase() in a background thread, such as with AsyncTask or IntentService". Sep 29 06:31:13 Does this mean that any app that accesses a database, no matter how tiny, must show a "Loading" activity? Sep 29 06:31:50 Where does it say use activity? Sep 29 06:32:04 Well, what else can we do? Sep 29 06:32:08 TacticalJoke: ...No that would depend on the size of the database and your operations Sep 29 06:32:47 You can call those in a background thread, you don't need to report progress unless you believe the operations are so long the user will lose interest Sep 29 06:32:59 You use what they suggest? It doesnt imply a new activity Sep 29 06:33:09 "must"? there can be no Sep 29 06:33:18 But, if we're not reporting progress, what do we do while we're waiting for the method to return? Sep 29 06:33:20 "must"? there can be no "must" about this Sep 29 06:33:53 TacticalJoke: Pick our nose? Sep 29 06:34:58 I can't think of anything other than to disable the controls until the method has returned. Sep 29 06:35:22 do whatever is appropriate for the situation Sep 29 06:35:28 don't try to generalize Sep 29 06:35:39 Lock everything down, play some sounds and animations to thoroughly freak the user out in the meantime Sep 29 06:35:43 Let's say that we're creating a to-do list app (similar to Google Keep). Sep 29 06:35:55 What do we do on start-up while waiting for getWritableDatabase to return? Sep 29 06:36:17 who is this "we"? Sep 29 06:36:34 lol Sep 29 06:36:36 Pull images from reddit and present them to the user :] Sep 29 06:36:45 NSFW preferably Sep 29 06:37:08 God, you're lame. Sep 29 06:37:17 If you don't have a clue, why answer? Sep 29 06:37:27 You can call me whatever ya want buddy, just not late for dinner! Sep 29 06:37:30 \:D/ Sep 29 06:38:03 dumb answers don't mean clueless, sometimes they mean the question wasn't smart either, TacticalJoke Sep 29 06:38:42 They usually mean "clueless". Sep 29 06:38:47 In my experience. Sep 29 06:39:05 People who know stuff rarely resort to mockery when someone is asking for help Sep 29 06:39:06 . Sep 29 06:39:32 really? Sep 29 06:39:36 Yep. Sep 29 06:39:37 ok if you say so Sep 29 06:40:07 If someone has a sensible answer, I would appreciate it. Sep 29 06:40:22 that sounded like mockery from someone who doesn't know stuff ;-) Sep 29 06:40:23 Heh Sep 29 06:40:30 my experience is completely different than yours, but eh, you seem to know your stuff Sep 29 06:40:39 Let's look at the literature, TacticalJoke Sep 29 06:40:54 It says nothing about making a new activity Sep 29 06:41:03 But how do we show progress? How do we keep them engaged?! Sep 29 06:41:07 http://developer.android.com/reference/android/widget/ProgressBar.html Sep 29 06:41:26 Ahh, docs Sep 29 06:42:32 Doesn't a ProgressBar require an Acitivity or something like it? Sep 29 06:42:41 o_o Sep 29 06:42:48 Activity* Sep 29 06:43:20 * ravilov wonders why are we even discussing this trivial and abstract stuff Sep 29 06:43:25 I apologize, I thought you were working from an activity, you mentioned something about disabling the controls Sep 29 06:43:54 you already got your answer TacticalJoke, in fact a few of them, what else do you need? Sep 29 06:44:52 if still in doubt, go look at some popular apps and what they do, then copy the behavior Sep 29 06:45:14 Every tutorial I've come across doesn't use a background thread. I'm not sure which apps to look at. Sep 29 06:46:32 TacticalJoke: I see. How about you call your database methods in the main ui thread then Sep 29 06:46:41 When you see what the problem is, http://developer.android.com/reference/android/os/AsyncTask.html Sep 29 06:47:11 logcat is log Sep 29 06:49:19 why would you expect tutorials to do that? if they're tutoring you on how to use databases, why would they complicate things with complex surplus? Sep 29 06:49:49 you don't expect a tutorial to teach you how to do things *right* do you? Sep 29 06:50:15 tutorials are there to make a point, not to promote good practices Sep 29 07:11:09 ravilov: Sorry, but that's nonsense. Sep 29 07:11:18 A tutorial that teaches bad practices is a bad tutorial. Sep 29 07:12:26 Thanks for the help, I guess, as painful as it was trying to get it. Sep 29 07:13:58 man Sep 29 07:14:09 they should just remove asynctask from the API Sep 29 07:14:33 Mavrik: Why Sep 29 07:14:35 the amount of shitty code using AsyncTask by tutorial induced cargo culting is too much Sep 29 07:14:47 Psh Sep 29 07:15:27 But but, having thenewboston cultists use FutureTask or Handlers? The horror! Sep 29 07:15:50 use anything :P Sep 29 07:16:10 :) Sep 29 07:22:12 Mavrik, they should introduce the all new SyncTask claiming you cannot perceive more than one thing at a time anyway Sep 29 07:22:28 :p Sep 29 07:25:28 (the fact it would be no different from normal linear code is not important) Sep 29 07:33:07 hi Sep 29 07:33:23 when do you use match_parent instead of fill_parent and vice versa ? Sep 29 07:34:23 they are completely equivalent Sep 29 07:34:35 fill_parent is deprecated Sep 29 07:35:29 http://stackoverflow.com/questions/8516825/is-deprecated-word-the-only-difference-between-fill-parent-and-match-parent Sep 29 07:36:13 zoraj, looked up the docs already? http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#FILL_PARENT Sep 29 07:36:45 ravilov, I must admit I didnt read it Sep 29 07:36:52 clearly states they are equivalent and FILL was simply renamed to MATCH in API 8 Sep 29 07:37:18 yeah I figured :p Sep 29 07:38:02 :p okey thanks for the link, I got it Sep 29 07:44:39 hi all, I have a short code snip with a question here: http://pastebin.com/63VUqUyt any idea how to solve it? Sep 29 07:45:44 meital, you probably don't have proper context and therefore no resources Sep 29 07:46:11 hello hello hello! Sep 29 07:46:41 ravilov: ah ok, do you have an idea of a nice way to get this info without hard coding the strings in my test class? Sep 29 07:47:50 meital, never used automated testing (bad me!) but I think there's some class you can inherit and it provides proper context Sep 29 07:48:20 ravilov: thanks, I'll try looking for that class :P Sep 29 07:49:09 hmm looking at logs, seems ActivityInstrumentationTestCase2 is the correct one and ActivityUnitTestCase isn't Sep 29 07:49:17 however I see you're already using ActivityInstrumentationTestCase2 Sep 29 07:49:36 so my assumption could be incorrect and it might not be due to missing resources Sep 29 07:52:07 so I got a question about billing: I aquired a subscription, the transaction succeeded in Googleplay but then I got disconnected from network and I could not verify the receipt on my server side, how do I handle the receipts that were not verified? Sep 29 07:55:16 hi guys, i am getting reports that my app crashes with "java.lang.SecurityException: Call from user 0 as user -2 Sep 29 07:55:16 without permission INTERACT_ACROSS_USERS or INTERACT_ACROSS_USERS_FULL not Sep 29 07:55:17 allowed." in the RemoteViewsFactory.getViewAt, any ideas on what could be causing it? Sep 29 07:55:46 Morning all Sep 29 07:57:41 Morning Sep 29 07:57:50 uid -2 seems invalid Sep 29 07:57:54 is there a caused by? Sep 29 07:58:03 ravilov: it seems like the correct way to do it is like this: "BTN_VIDEO = getInstrumentation().getContext().getString(R.string.captureVideoBtnText);" Sep 29 07:58:12 however I get the same error... Sep 29 07:58:26 then maybe it's not down to resources Sep 29 08:01:30 meital, are you sure this is how you do testing? it seems unlikely you have to have a default constructor and you need to instantiate an Activity yourself Sep 29 08:04:53 meital also don't forget, you don't get a context until after onCreate Sep 29 08:07:40 there is a better alternative to Android Loaders? Sep 29 08:10:33 what a strange question Sep 29 08:13:05 ravilov: sorry, let me elaborate it. I want to improve UX of my app. When user open some activity, I want to show progress bar and when network fails, need to show network failure activity/fragment. Sep 29 08:13:46 right now, I only know to use Android Loaders, however, I am looking some other alternatives Sep 29 08:14:17 maybe, something with dagger or something else? Thank you in advance Sep 29 08:14:56 never heard of loaders, probably because it's 3.0+ which I don't work with Sep 29 08:15:28 I would just do it manually. need a progressdialog? show a progressdialog. need a notice? show a notice (alertdialog or whatever) Sep 29 08:15:41 also, s/there is/is there/ Sep 29 08:17:01 Has ViewPagerIndicator been replaced by anything? Sep 29 08:18:01 ravilov: I'm assuming that kamol is referring to Cursor Loaders Sep 29 08:18:22 cursor loaders? no, I don't think so Sep 29 08:19:00 ravilov: I am referring to http://developer.android.com/guide/components/loaders.html Sep 29 08:19:11 well cursor loaders are a way of getting asynchronous information to your view, but they don't give you any progress information Sep 29 08:19:35 Ankhwatcher: PagerTitleStrip Sep 29 08:19:49 kamol, I know; Ankhwatcher, did you look up android loaders at all? Sep 29 08:20:53 kamol: if you do your fetching with an AsyncTask then you get a call to the UI thread where you can update a progressbar Sep 29 08:20:56 JakeWharton: thanks! Sep 29 08:22:22 Ankhwatcher: thank you, I know about it, however, I am looking for some nicer approach. to reduce duplicate codes and so on. Sep 29 08:22:38 I'm looking for information regarding the following situation. When I complete an in-app transcription procedure on googleplay in my app, I obtain a receipt. Then I need to verify that receipt on my server-side. But what happens if just before that, I lose my network connection. I need to save that (or those) receipts and process them later. Is there an efficient way or work flow I should use to handle this kind of s Sep 29 08:22:38 ituation? Sep 29 08:23:01 this AsyncTaskLoader seems like the middleground you're looking for Sep 29 08:24:14 JakeWharton: on https://speakerdeck.com/jakewharton/android-apps-with-dagger-devoxx-2013 slide 141, why do you use LandingActivity? Sep 29 08:24:57 ravilov: thank you for your answer btw Sep 29 08:25:56 hi Sep 29 08:27:01 i want to create a slider type thing. basically lets say if i have 5 images, slide to view the next. and below the slider there will be a little input box to chat. somewhat similar to hot or not app if you've used it. how do i go about achieving this ? Sep 29 08:31:05 shmoon: you can use ViewAnimator Sep 29 08:32:45 kamol: ok, I'll check it. thanks :) Sep 29 08:37:23 allowed." in the RemoteViewsFactory.getViewAt, any ideas on what could be causing it? Sep 29 08:37:33 hi guys, i am getting reports that my app crashes with "java.lang.SecurityException: Call from user 0 as user -2 Sep 29 08:37:36 without permission INTERACT_ACROSS_USERS or INTERACT_ACROSS_USERS_FULL not Sep 29 08:37:37 allowed." in the RemoteViewsFactory.getViewAt, any ideas on what could be causing it? Sep 29 08:38:37 ... what is the point of repeating your question after you got your followup already? Sep 29 08:47:07 JakeWharton: is there a way to get PagerTitleStrip to display indicator dots? Sep 29 08:47:40 Ankhwatcher: are you talking about a viewpager? Sep 29 08:49:01 supay: yes, I want to make sure ViewPagerIndicator hasn't been Sherlocked before I use it in a new app. Sep 29 08:50:01 i see, well, im not sure Sep 29 08:50:07 Ankhwatcher: may i pm? Sep 29 08:50:18 go nuts Sep 29 08:54:02 any idea why all characters with accent do not showed correctly ? Sep 29 08:56:01 zoraj: are you sure you got the encoding right? Sep 29 08:56:07 from json files Sep 29 08:56:25 supay, I guess there is no way to specified encoding within a json files Sep 29 08:57:17 damn so many typos in one sentence :D Sep 29 08:57:40 zoraj: i think there is Sep 29 08:57:45 I repeat : "I guess there is no way to specify the encoding format within a json file" Sep 29 08:58:27 er what? Sep 29 08:58:36 AFAIK json is always in UTF-8 Sep 29 08:58:40 ravilov: that's exactly what I was thinking Sep 29 08:58:51 well the "er what?" bit Sep 29 08:59:07 the encoding should be defined in the header... Sep 29 08:59:08 zoraj, you're clearly doing something wrong Sep 29 08:59:36 Ankhwatcher: exactly Sep 29 09:00:42 http://www.ietf.org/rfc/rfc4627.txt -- "JSON text SHALL be encoded in Unicode. The default encoding is UTF-8." Sep 29 09:00:47 is google really not working for some people? Sep 29 09:01:02 I use InputStreamReader to convert JSON to String Sep 29 09:01:18 ok? Sep 29 09:01:49 ravilov, :p it does it does, I promise to do some little research before hanging out here :p Sep 29 09:03:22 this channel really should not be the default go-to place Sep 29 09:04:19 ^^ ok Sep 29 09:04:27 yes sir Sep 29 09:04:54 We need a bot that queries the first question someone asks to lmgtfy.com, if it comes up with enough hits automatically kick them from the channel with the url as message! Sep 29 09:05:04 I've just changed my default home page to www.google.com Sep 29 09:05:34 VnM: thats an interesting bot iea Sep 29 09:05:35 idea8 Sep 29 09:05:39 idea* ugh Sep 29 09:06:14 kicked ! rude at this point Sep 29 09:08:26 8 ideas all in one! Sep 29 09:08:43 VnM, get on it Sep 29 09:09:13 I'll need to use your Google Sep 29 09:09:38 but then you'll break it! Sep 29 09:10:16 lol Sep 29 09:10:21 ravilov is a really funny guy Sep 29 09:37:20 hi there! I'd like to ask if somebody in here knows how "Settings->about phone -> status -> My Phone Number" gets detected? is this information on the sim or on a cell tower? Sep 29 09:37:52 Hello, can I ask about building android images, and not only applications? Sep 29 09:37:59 this has nothing to do with android, friendlyguy Sep 29 09:38:16 viric, yes but not in here: #android-root is the place for you Sep 29 09:38:20 even unrelated to android? Sep 29 09:38:25 ok! thank you! Sep 29 09:38:30 okay, thanks Sep 29 09:42:46 why does the thumb of a switch element always appear larger than the track! Sep 29 09:43:06 I can't get the thumb to sit inside the track and not overflow as if it were some slider knob Sep 29 09:44:04 isn't that the point, that it "sticks out"? Sep 29 09:44:12 wait, switch element? Sep 29 09:44:14 nevermind Sep 29 09:49:32 How to set that scaling animation changes view of elements, now it just scales my View, but it doesn't affect other relative views that should slide up a bit after view is scaled Sep 29 09:54:52 vegetablesalad19, animations don't ever change layouts due to performance reasons Sep 29 09:55:12 so you need to make an animation that resizes your view + translates position of other views in lockstep Sep 29 09:55:19 and then update layout parameters after the animation ends Sep 29 10:22:04 My android project has target SDK 16 and I copied the APK generated through eclipse over to my Android 4.2.1 device. And it said the package could not be parsed. Any idea? Sep 29 10:22:38 I'm looking for information regarding the following situation. When I complete an in-app transcription procedure on googleplay in my app, I obtain a receipt. Then I need to verify that receipt on my server-side. But what happens if just before that, I lose my network connection. I need to save that (or those) receipts and process them later. Is there an efficient way or work flow I should use to handle this kind of s Sep 29 10:22:38 ituation? Sep 29 10:38:14 i have a paid app that i’d like to convert to freemium… is making a separate, free version the best way so i don’t screw over the people who already bought it? Sep 29 10:38:20 what do you think about MVP in Android? Sep 29 10:38:20 Any Google engineers around here? Sep 29 10:49:07 hey i want to create an app that controls some external hardware. i need a softwarebutton that can used like a hardwarebutton. so as i long as i press it it gives me the signal pressed. how would i do this with android? Sep 29 10:51:56 danners, I believe you'll want a button with an onTouchListener attached, then listen to the down action Sep 29 10:52:13 VnM: thanks will try that Sep 29 11:02:04 Hi I have this error http://pastebin.com/QY8HHMcr Sep 29 11:03:10 i’m going over this IAP tutorial, and it starts by making a new project… is that right? or should i modify my existing project? http://www.theappguruz.com/tutorial/implement-in-app-purchase-version-3/ Sep 29 11:03:35 niru: how abou the code that goes with that Sep 29 11:04:40 hey I uploaded my apk and one obb to the play store beta but when I install it it just downlaodes the apk and not the obb... might it be the case that it takes longer till the obb is available than the apk to the playstore? Sep 29 11:05:45 goTAN, you gave them the same versionCode right? Sep 29 11:05:52 VnM: yes Sep 29 11:06:16 VnM: but to be honest I can't see the obb in the developer console... Sep 29 11:06:55 and I switched to advanced mode in the developer console Sep 29 11:07:37 Weird, didn't get any errors while uploading? Filesize under 2GB and such? Sep 29 11:08:01 no, filesize is about 300 mb Sep 29 11:08:17 am I supposed to see the .obb somewhere in the developer console? Sep 29 11:08:35 I only see the apk Sep 29 11:09:05 I don't know about that, I've only done my research on it and fiddled with creating an app with obb files, haven't uploaded to the store myself Sep 29 11:09:24 But I would assume you can see both the APK and .obb file in your console Sep 29 11:09:47 hm yea Sep 29 11:10:14 and in general the device should automatically download the .obb file to the apk right? Sep 29 11:10:39 In most cases yeah, read this bit http://developer.android.com/google/play/expansion-files.html#Downloading Sep 29 11:11:11 yea I've read this. but it just sais "in most cases" Sep 29 11:11:15 Is there a way to change the size of a drawable inside a button? I'm using drawableTop to get an Image and it's taking up the whole space Sep 29 11:11:43 I have here one samsung galaxy 3 and one samsung note with 4.3 and 4.2 Sep 29 11:12:02 and I assume that those devices should be able to download the .obb automatically Sep 29 11:12:53 hm well I guess I just try do upload anouther version and pray Sep 29 11:13:49 Yeah, double check the filename see if everything is correct main/patch.versionCode.packagename.obb Sep 29 11:14:04 yea Sep 29 11:14:46 And Sophomore you probably want to look into ImageButton and scaleType in xml Sep 29 11:16:15 VnM: Thanks, I'll look into it. Sep 29 11:17:22 VnM: I have a text, above which is an Image. Do you thing ImageButton will work for this kind of case? Sep 29 11:22:03 Ah probably not unless you wanna put the text in the image Sep 29 11:22:40 I think you can scale the drawable you attach to your Button if you do it programatically Sep 29 11:33:38 VnM: I think I found the problem, the naming was wrong of the obb. but it does not matter how the apk is called right? so when my app in the google play store is called awesome todo app , the apk can still be called fu.apk right? Sep 29 11:33:56 Yeah Sep 29 11:34:41 Your .obb file just has to match the package name, which is completely separate from your app name and apk name Sep 29 11:34:59 it never mattered what kewl name you want to assign to your app, the package is the only unique identifier and only that matters Sep 29 11:35:13 the only one that matters* Sep 29 11:36:31 yea but I dont exactly know how to the name .obb Sep 29 11:36:54 it was something like main.[versioncode].[bundleIddentifier] Sep 29 11:37:01 Yes, exactly that Sep 29 11:37:17 Where versionCode matches your versionCode of your apk, which you'll find in your manifest Sep 29 11:37:36 And bundleIdentifier is your packagename Sep 29 11:37:50 ah ok so that was the problem then cause I named it [apkName].main.[versioncode].bundleId] Sep 29 11:41:20 Didn't it go wrong during tests within development then goTAN ? Or are you uploading atm to do testing? Sep 29 11:41:53 docs docs and more docs... and use google, dammit! http://developer.android.com/google/play/expansion-files.html#Filename Sep 29 11:42:25 Watch your bloodpressure ravilov Sep 29 11:43:04 my blood pressure is fine thank you very muOH NO I THINK IM DIEING Sep 29 11:44:07 VnM: well google gave me no error when uploading the wrong named .obb Sep 29 11:44:17 now I am uploading the correct one Sep 29 11:45:10 its not a very straight forward process ;) Sep 29 11:46:06 what are the other IDEs available for Android development other then Eclipse and AndroidStudio ? Sep 29 11:46:23 Yeah but I mean for tests you could've also made a folder on your testdevice manually Internal storage\Android\obb\\.obb Sep 29 11:47:41 t2mkn, I've seen people use NetBeans for Android development as well, but Eclipse and Android Studio are the most common ones I think Sep 29 11:48:12 Also IntelliJ, but it's pretty close to Android Studio Sep 29 11:48:21 VnM: well I did that thats not the problem Sep 29 11:48:47 VnM: I need to test if my app can download the .obb when its missing Sep 29 11:48:59 But you were able to access your file with the wrong filename? Sep 29 11:50:18 well I have an ide which automatically pushes the apk to the device so I dont have to touch the file name Sep 29 11:51:06 VnM, I believe, and I could be wrong, that Google are moving to IntelliJ themselves Sep 29 11:51:09 * GiGa uses IntelliJ Sep 29 11:51:18 * GiGa does not work for google Sep 29 11:51:39 Well Android Studio is a stripped version of IntelliJ Sep 29 11:51:53 * pragma- uses the command-line tools and vim. Sep 29 11:51:58 * pragma- master race. Sep 29 11:52:03 lol Sep 29 11:52:28 Pragma, each to their own but certainly kudos. Vim's on my list of "must do that somewhen..." Sep 29 11:52:35 anyone have any experience with GCM? Sep 29 11:53:19 * ravilov uses vim exclusively for everything except android development Sep 29 11:53:25 not quite there just yet Sep 29 11:54:12 is there a way to see what messages are queued to send on Google's cloud messaging servers Sep 29 11:54:24 as in theory I've just sent 2 messages yet they're not being received by the device Sep 29 11:54:40 * GiGa thinks Google needs to add some working examples to their docs! Sep 29 11:54:45 The device is registered? Sep 29 11:54:49 yep Sep 29 11:54:54 I have the registration ID Sep 29 11:55:02 but when I send a message Sep 29 11:55:03 Try turning the wifi off and on again Sep 29 11:55:38 (using code found http://stackoverflow.com/questions/11242743/gcm-with-php-google-cloud-messaging) nothing comes through Sep 29 11:55:42 ok, will give that a go Sep 29 11:55:52 well, 4g in this case Sep 29 11:56:40 I've worked with something similar before, and in some cases it didn't receive the messages right away, but somehow when I disabled and enabled my connection I received the messages Sep 29 11:56:41 VnM, does the app have to get a regID everytime, surely not? Sep 29 11:57:19 Well I assume you have some logic that knows whether it's been registered or not Sep 29 11:57:22 (my first stumbling block was not having a google account added in my emulator Sep 29 11:57:23 ) Sep 29 11:57:30 I'm using some tutorial code at the moment Sep 29 11:57:42 I don't think emulators work with GCM Sep 29 11:57:48 I'm new to android development, probably trying to run before I can walk Sep 29 11:57:53 indeed, I'm using my phone now Sep 29 11:57:56 that registered ok Sep 29 11:58:05 there's a broadcast listener Sep 29 11:58:16 but according to the debug that's never being used Sep 29 11:58:34 You defined it in your manifest? Sep 29 11:59:13 Think you'll have to define it as a receiver in your manifest file Sep 29 11:59:27 VnM, yep, see http://pastebin.sabayon.org/pastie/17071 Sep 29 11:59:40 which gives away my real name, good job I'm not hiding :) Sep 29 12:00:30 I believe the permission is wrong, but I might be mistaken Sep 29 12:00:39 I'm now wondering that too Sep 29 12:00:46 the fact it says SEND not RECEIVE? Sep 29 12:00:54 The permission of the receiver has to be something official like com.google.android I think, not your own packagename Sep 29 12:01:30 ah, probably should be "android:permission="com.google.android.c2dm.permission.SEND"" Sep 29 12:01:51 Yeah, same for the receive action Sep 29 12:02:15 hm apparently I cannot upload another version... I get the error: This confoguration cannot be published for the following reason: Version 1 is not served to any device configuration:all devices that might receive version 1 would receive one of version 2. Sep 29 12:02:23 I have no clue what that means Sep 29 12:02:36 vnm, retesting, good spot Sep 29 12:02:48 ah, many thanks Sep 29 12:02:55 that's got that sorted Sep 29 12:04:53 ah ypu have to deactivate the last one Sep 29 12:08:47 presumably the app has to be started by a human in order for it to receive the messages Sep 29 12:08:58 or will doing that auto-start the listener? Sep 29 12:09:53 Well you'll have to run the app once at least, the rest depends on your code Sep 29 12:10:00 ok Sep 29 12:10:14 I'm assuming there's a way to make it run on phone boot but I'm not too concerned about that Sep 29 12:10:44 thanks so much for that Sep 29 12:12:58 Yeah there is a way to do that too, but personally I wouldn't Sep 29 12:13:05 I'm looking for information regarding the following situation. When I complete an in-app transcription procedure on googleplay in my app, I obtain a receipt. Then I need to verify that receipt on my server-side. But what happens if just before that, I lose my network connection. I need to save that (or those) receipts and process them later. Is there an efficient way or work flow I should use to handle this kind of s Sep 29 12:13:05 ituation? Sep 29 12:21:47 is it "verify on my server side" or "verify in my server-side" Sep 29 12:22:44 * flan3002 votes for 'on'. Sep 29 12:26:19 but its: "When I complete an in-app transcription procedure IN googleplay" Sep 29 12:32:57 what type should i use if i get the value of an SQLite _ID, and store it on a variable then assign it to a foreign key in a table? Sep 29 12:43:04 Krisg: sqlite (signed) integer can be up to 8 bytes, so i guess long in java Sep 29 12:44:37 tyvm :) Sep 29 12:47:16 Does anyone know how to select easily a file in the internal memory? Sep 29 12:48:50 I've released a new app and could use some feedback please: https://play.google.com/store/apps/details?id=com.cygery.quickercameralauncher.pro (free apk available on request via email) Sep 29 12:50:25 I want the user to be able to select a file in the internal memory. Any simple way to do that? Sep 29 12:51:42 MrBramard, there are libraries for this Sep 29 12:52:38 hi! Sep 29 12:53:34 i have a problem. i turn of the display with WindowManager.LayoutParams params = Main.getMainInstance().getWindow().getAttributes(); params.screenBrightness = LayoutParams.BRIGHTNESS_OVERRIDE_OFF; Sep 29 12:53:52 but after this, i cant switch on the display Sep 29 12:54:18 somebody tell me why wont work with me? Sep 29 12:54:22 I know but i wanted to know if someone here use a good one Sep 29 12:54:36 turn on method: params.screenBrightness = LayoutParams.BRIGHTNESS_OVERRIDE_FULL; Sep 29 12:56:50 Doesn't look like you're turning off the screen, sounds like you're changing the brightness, try BRIGHTNESS_OVERRIDE_NONE instead of FULL Sep 29 12:57:18 Though I'm not sure why you would want to do this Sep 29 12:58:13 VnM, because it is an embedded system and i work on a pseudo sleep mode Sep 29 12:58:40 and thx, i will try it Sep 29 12:59:22 MrBramard, File tmpFolder = new File("/data/internal_Storage/); tmpFolder.list(); Sep 29 12:59:42 Wouldn't a WakeLock be better though? Sep 29 13:00:05 wakelock is not work :S Sep 29 13:00:16 btw api lvl 16 Sep 29 13:00:57 VnM, it is not work Sep 29 13:01:06 Thanks Obsitos, i'll try that! Sep 29 13:01:17 WakeLock requires a permission, should work Sep 29 13:01:25 i have permission Sep 29 13:02:02 Obsitos, did you try http://stackoverflow.com/questions/9561320/android-how-to-turn-screen-on-and-off-programmatically ? Sep 29 13:02:24 yes, i try this at first :D Sep 29 13:02:44 Try passing your own float value instead of the set values from LayoutParams Sep 29 13:02:47 I am working on an OpenGL application using the NDK, and currently sometimes it starts spamming "E/JavaBinder( 438): !!! FAILED BINDER TRANSACTION !!!" seemingly every frame. A few times the application has also just exited without any further explanaition. Does anyone know what this could be caysed by? Sep 29 13:03:05 I have reverted my code to a previous state where I am fairly sure this did not happen, but it seems to still be happening Sep 29 13:03:07 VnM, i use values from LayoutParams Sep 29 13:03:16 it could also be that I did not notice it before but it didn't crash the application Sep 29 13:03:54 Yeah I know you do, but try setting screenBrightness to 1.0 or 0.9 instead of using LayoutParams.BRIGHTNESS_OVERRIDE_FULL Sep 29 13:05:32 ok, i try it now Sep 29 13:06:04 If that doesn't work, maybe add some logging so you're sure your code is actually being reached, because it seems odd to me that you can turn your screen "off" but not back on with the same code Sep 29 13:07:00 is there a channel more specifically for NDK development? Sep 29 13:07:27 Obsitos, do you use LayoutParams.FLAG_KEEP_SCREEN_ON? Sep 29 13:07:32 hi guys, i have a linearview with three children, and i want the top and bottom one to always show and the middle one to use whatever space is left, how would i define this? Sep 29 13:07:46 ggVGc, search for "failed binder transaction" on Google it gives loads of StackOverflow hits Sep 29 13:07:50 EPG, yes, i used Sep 29 13:08:35 asperon, use layout_weight Sep 29 13:08:49 EPG, i did, wont really do what i want anyway Sep 29 13:08:56 post your layout, then Sep 29 13:09:13 http://pastebin.com/SXe4w0tj Sep 29 13:10:36 VnM, reach the "turn on" code Sep 29 13:11:36 Obsitos, can you paste the complete relevant code? Sep 29 13:11:46 VnM: yep, and none of them are relevant Sep 29 13:11:52 for my scenario Sep 29 13:12:29 asperon, did you try setting layout_height to 1? Sep 29 13:12:42 EPG, no, let me try that Sep 29 13:13:06 also: what's the parent layout? Sep 29 13:13:24 VnM: whatever is happening is definitely caused by something in my C code, and probably has to do with resource useage(although that is just a hunch). None of what I can find online deals with NDK code as far as I can see, and I don't know how to find out more about what is going on right now Sep 29 13:13:37 its a linearlayout that does the same trick with the width Sep 29 13:13:56 EPG, http://pastebin.com/y7fD45xM Sep 29 13:14:25 currently the framerate also drops by 15fps when the "failed transaction" spamming starts, but I am not sure if that is because of the error or because of the printouts Sep 29 13:15:17 Obsitos, use |= instead of = when adding the flag Sep 29 13:15:44 Meh I have nothing to suggest other than try run a Clean on your project ggVGc , sorry :D Sep 29 13:16:13 ggVGc, which device/Android version are you using? Sep 29 13:16:19 I think I've encountered the same issue before but I can't for the life of me remember how I solved it Sep 29 13:19:06 yeah, don't think that's gonna solve it Sep 29 13:19:24 I am fairly sure something is wrong in my code, but I have no idea why Sep 29 13:19:28 EPG, that did nothing Sep 29 13:19:56 And Obsitos , are you sure you're passing TRUE to your setLights method the second time? Sep 29 13:20:04 EPG, still not working Sep 29 13:20:16 I am guessing it's memory use, but I don't want to just blindly try that if it's not even the issue Sep 29 13:20:17 VnM, yes im sure Sep 29 13:20:23 i tested this Sep 29 13:20:40 EPG: Huawei Ascend Sep 29 13:20:44 Y300 I think Sep 29 13:20:50 asperon, please post the complete layout Sep 29 13:21:35 Obsitos, can you detect whether the screen turned off (maybe via the SCREEN_OFF broadcast)? Sep 29 13:21:38 http://pastebin.com/neG2cUpY Sep 29 13:22:08 Hey guys, anyone got a few minutes to help me figure out how to reference an external jar outside of an sdk? Sep 29 13:22:31 *outside of an IDE Sep 29 13:22:36 EPG, idk. i try it Sep 29 13:23:15 Hi everyone. My laptop wifi is near to die, do u think i can use my phone wifi to navigate? I cannot find any app: they works only with mobile networks Sep 29 13:24:35 asperon, don't use imageviews for padding Sep 29 13:24:40 I'm dealing with China Mobile's nasty CMBilling.jar and referencing it from my project is causing SIMULATION and dalvik errors Sep 29 13:24:51 EPG, no choice, its a remoteview on api 7 Sep 29 13:25:15 oh, no padding attribute there? Sep 29 13:26:21 EPG, no Sep 29 13:26:45 EPG, not that can be set dynamic, so i need to do it this way, the left/right works as intended Sep 29 13:26:46 ok, I've neither target API7 nor worked with remoteviews yet Sep 29 13:27:04 but i can't seem to get the top/bottom ones to work, and i cant figure out why Sep 29 13:27:13 guess i just have to continue trying then ;) Sep 29 13:33:55 EPG, yes i can detect screen turned off Sep 29 13:36:17 EPG, you have an idea? Sep 29 13:38:05 strange, http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_TURN_SCREEN_ON should work but maybe your device/system build behaves differently Sep 29 13:38:23 in AndroidStudio: xml files which have string values from strings.xml like @string/hello_world displaies like "Hello World". when u mouse over it displaies the reference. when u click it changes to reference. How can i reverce after clicking? Sep 29 13:38:42 asperon, hm, maybe the height of the framelayout must be set to a precise value? Sep 29 13:39:16 EPG, not what i can tell, the problem is that the middle linearview grews larger then it shoulds Sep 29 13:42:50 any one Sep 29 13:44:01 t2mkn leave it Sep 29 13:44:40 StingRay_: not possible revercing Sep 29 13:44:58 it's not a mode afaik Sep 29 13:45:24 re-open the file if it bothers you that much Sep 29 13:47:58 got the solution. select the reference and hit command+- (collapse). StingRay_ Sep 29 14:01:21 Anyone good with Loaders? Trying to get some insight on an issue with restarting one. http://stackoverflow.com/q/26019360/1747491 Sep 29 14:02:20 mattblang did we not conclude that the method is not supposed to be called and is not really for use Sep 29 14:03:03 StingRay_ no, we concluded that manually calling reset was not really intended for use. The onLoaderReset, I'm pretty sure, is supposed to be called. Sep 29 14:03:45 mattblang but I mean what is your use ? Sep 29 14:03:59 StingRay_ this person doesn't seem to have a problem with it http://www.reddit.com/r/androiddev/comments/2hc1pq/this_is_driving_me_nuts_what_causes_onloaderreset/ckrfy3l Sep 29 14:04:03 you want to know it's fully released when you stop using it ? Sep 29 14:04:42 StingRay_ no, I want the ListView to empty its contents when a refresh of the data that backs it is happening Sep 29 14:04:53 StingRay_ otherwise, bindView returns null for just a small window Sep 29 14:05:58 not worth the hassle of attempting to use something not intended or that is fixed with null check Sep 29 14:06:11 StingRay_ because the SQLite data updates, but then the Cursor for the ListView is loaded async, so just a small window there where NPE is possible. I want to just swapCursor null in the onLoaderReset to fix this. Sep 29 14:06:26 StingRay_ right, but this seems exactly what it is intended for. it just isn't being called Sep 29 14:06:46 i think it's an end reference use not a swap Sep 29 14:06:51 have a look at src Sep 29 14:07:24 StingRay_ yeah, good idea. if this isn't what it is for, I'm fine with that. just want to get it straight in my head Sep 29 14:07:56 well do you manually "DESTROY" the loader ? Sep 29 14:08:21 StingRay_ no, I use restartLoader Sep 29 14:08:26 mattblang, are you using a content provider? Sep 29 14:08:27 in my listview, i wish to have a framelayout containing a full-width textview (A), with on the right on top of it, another textview (B). Depending on the width of B, i want the text of A fading to transparent, the closer to B, the more transparent. B should kind of obscure A. I can get this to work with a layoutlistener + textpaint shader, but it is slowwww... how else can i do this? Sep 29 14:08:35 MikeWallaceDev no Sep 29 14:08:39 mattblang then not sure what you are expecting Sep 29 14:09:03 StingRay_ well I figured restartLoader, which restarts the loader, would called onLoaderReset. I feel that is an acceptable assumption Sep 29 14:09:09 start to manage it and destroy it manually by .reset() and you will use that callback :) Sep 29 14:09:24 reset != restart Sep 29 14:09:38 StingRay_ I actually did try to manually do .reset() but the callback still was't called Sep 29 14:10:11 StingRay_ right, maybe I see my confusion now Sep 29 14:10:13 is there any way to "debug" a layout Sep 29 14:10:36 mattblang would be good cause you are wasting a fair amount of time on this :) Sep 29 14:10:44 when solved with if null :) Sep 29 14:10:47 zylinx, define debug Sep 29 14:10:55 you can show layout bounds on a device/emulator Sep 29 14:11:02 StingRay_ haha, well, I'm not actively working on it just happened to see a comment on the Reddit thread I made and thought I'd ask here again Sep 29 14:11:02 you can inspect the layout tree usind ddms Sep 29 14:11:43 StringRay_ but yeah, I see destroyLoader now, which will cause .reset to be called, and like you said reset != restart. I will say though, there should be an onLoaderRestarted callback Sep 29 14:12:06 StingRay_ but again, I did manually call .reset and nothing happened. I will just have to test it later using destroyLoader Sep 29 14:18:26 EPG well i have a layout which when the keyboard comes up mis behaves and i am trying to figure out what is going on Sep 29 14:20:19 zylinx, iirc you can set if it should pan or resize when the keyboard is shown Sep 29 14:20:28 zylinx: maybe in manifest it is set to resize on softkeyboard Sep 29 14:23:45 could i pastebin my layout and manifest ? Sep 29 14:27:11 EPG osxorgate : my layout: http://pastebin.com/kvp37uYR and this is what happens when my keyboard comes up: http://i.imgur.com/ofEmVb2.png as you can see my headings only show the first letter!? Sep 29 14:28:17 it is happening with the first row in table layout "@+id/header" Sep 29 14:28:30 at the top Sep 29 14:29:16 zylinx: my first search would be into textAppearanceMedium Sep 29 14:29:33 or rather what are hidden implications of setting android:textAppearance Sep 29 14:30:23 ahhh Sep 29 14:31:19 i might also mention, that it only happens under certain circumstances which are reproducible but make no sence (ie. it happens when im interfacing with one server but not the next) Sep 29 14:31:45 i can't find any difference betwene the data served from wither Sep 29 14:31:48 either* Sep 29 14:36:10 also setting android:singleLine="true" on the textviews cause them to disappear completely... when keyboard comes up on that specific server Sep 29 14:39:48 osxorgate: removing android:textAppearance="?android:attr/textAppearanceMedium" changes nothing :/ Sep 29 14:40:07 except the font size Sep 29 14:45:10 That's so weird zylinx , maybe have a fiddle with your manifest, for the activity you're working with atm add android:windowSoftInputMode and try adjustPan or adjustResize if you haven't tried it yet Sep 29 14:46:01 i will try that VnM thanks Sep 29 14:46:41 has anyone used a slider in a PreferenceScreen? Sep 29 14:46:58 I have something that swipes horizontally placed inside of something that swipes vertically. is there a good way to prevent a vertical swipe while I am swiping the child horizontally? Sep 29 14:49:04 requestsomethingintercepttouch Sep 29 14:49:15 requestDisableInterceptsTouch or something like that Sep 29 14:51:10 holy f#@$, VnM it worked! Sep 29 14:51:42 Excellent, still strange though, but glad it fixed it Sep 29 14:52:17 i just added android:windowSoftInputMode="adjustResize" to the manifest on that activity, do you have any idea why it fixed it ? Sep 29 14:52:18 thats what i said, sort of ;) Sep 29 14:52:39 yeah osxorgate soz Sep 29 14:54:47 I have no idea why it was going wrong without the setting, there was enough space still to display the full value, but adjustResize is kinda the official way to resize your screen when the keyboard appears, guess it does some magic to resolve your issue Sep 29 14:55:45 adjustPan will just keep the layout the same, but it will somethings obscure bits of your layout which can be annoying if you have input fields at the bottom of your screen Sep 29 14:59:28 awesome, thanks again VnM, osxorgate Sep 29 14:59:43 \o Sep 29 15:08:36 Hi! Sep 29 15:09:10 Does anybody here know how to use Actionbar Sherlock with a PreferenceFragment? Sep 29 15:09:32 it seems it's not supported since SherlockPreferenceFragment does not exist, I wonder how you do :| Sep 29 15:10:27 anyone use MVP ? Sep 29 15:11:59 dude the time for actionbarsherlock has passed Sep 29 15:15:50 isnt there an official action bar now Sep 29 15:16:20 ... Sep 29 15:21:22 osxorgate, ??? Sep 29 15:21:44 Mattx: use actionbar from support library Sep 29 15:21:49 njcomsec, of course there is. and it's still not so flexible. have you tried to use it? Sep 29 15:21:53 or even better: ditch support for <15 Sep 29 15:22:03 not flexible? Sep 29 15:22:22 i dont even support < andoid 4 Sep 29 15:22:33 I've found SlidingMenu + ABS to be extremely good Sep 29 15:22:58 hmmmm Sep 29 15:23:14 wait, do you use Drawer Navigation too? :P Sep 29 15:23:19 i never felt the need to use 3rd party libraries Sep 29 15:23:32 SlidingMenu is far better than the official drawer menu! Sep 29 15:24:00 better how? Sep 29 15:24:29 I remember I started using it when I found that the official menu didn't move the header when opened Sep 29 15:24:33 I hated that Sep 29 15:24:47 maybe it can be done now with enough code, but SM makes it super simple Sep 29 15:25:15 I mean, when the menu was opened the actionbar was not moved to the left Sep 29 15:25:27 err, to the right, depending on the side of your drawer of course Sep 29 15:27:25 http://hmkcode.com/wp-content/uploads/2013/09/android-navigation-drawer.png Sep 29 15:27:49 vs https://19de10c0037730b31d67-c6cb9846d861a1213b31648a6cce64e1.ssl.cf1.rackcdn.com/android-gliph-menu-bitcoin.png Sep 29 15:28:31 i think it might be more diffucult to maintain stuff like this Sep 29 15:28:39 long term Sep 29 15:29:18 I don't think so, SM only requires something like 10 lines of code, no more than that Sep 29 15:29:36 same for ABS, you have to change a few extends and that's it Sep 29 15:29:41 ok Sep 29 15:43:27 hi, everybody! can anyone give me android app idea? i have to develop little android app i don't what to do, any suggests? Sep 29 15:45:01 sarbazx apply to sharktank or something :P Sep 29 15:46:00 hey guys Sep 29 15:46:42 I've made some changes to the manifest, stuff that has to do with supporting more devices. The APK after uploading shows those devices (144 new devices added), but I want to see which ones they are Sep 29 15:46:44 find some sort of data file (xml, json, excel...) of cellular annttenas location in your country. Download that file (network) parse it and display inside a google map view Sep 29 15:46:56 like the list you're able to see when an already published version is in the console Sep 29 15:47:03 sarbazx: ... that was for you Sep 29 15:47:05 where you can turn support of them on and off Sep 29 15:55:38 Does anyone know how can I find out when a newly uploaded apk (beta) is available? Sep 29 15:55:50 g00s what's sharktank? Sep 29 15:55:58 I deactivated even the older version but you the tester can still download it Sep 29 15:57:57 oh sorry I am talking about the google play store Sep 29 16:03:19 Hello everyone Sep 29 16:04:07 I’m trying to test a game on Android, but I can’t seem to get the achievements and such to show up Sep 29 16:04:24 Does anyone know why this is happening and how to fix it? I’m new to Android development Sep 29 16:05:29 hey i guessed right ! http://phandroid.com/2014/09/28/android-lollipop-name/ Sep 29 16:06:14 oh maybe Layer cake , heh Sep 29 16:10:13 meh Sep 29 16:10:25 they could release the new nexus faster, I just broke my old one Sep 29 16:10:37 and I can't root my temp. phone Sep 29 16:10:53 (to move over Google Authenticator credentials) Sep 29 16:11:30 p_l get a lumia 521 for a few bucks :D Sep 29 16:11:51 like , grocery money amount of bucks Sep 29 16:12:00 g00s: maybe where you live, not here Sep 29 16:12:30 also, don't want windows phone (mostly because of hassle of setting a new ecosystem rather than dislike of the OS, though) Sep 29 16:12:47 p_l well, thats just the nice part of it. you don't have to set anything up Sep 29 16:12:57 ts not like android, where its useless if you don't have an account Sep 29 16:13:13 i didn't put in my account until i wanted outlook integration Sep 29 16:13:13 g00s: I'd have to setup at least few contact integrations over Sep 29 16:13:28 ah yeah, contacts. Sep 29 16:13:29 because I have tons of contact data stretched over different accounts Sep 29 16:13:54 i hardly use my phone for anything, so its been great Sep 29 16:14:03 I use mine a lot, eh Sep 29 16:14:12 usually just leave it home Sep 29 16:14:32 p_l do you use it for actually talking :P Sep 29 16:14:39 g00s should be windows phone slogan … "windows phone, for when you dont use it much at all" Sep 29 16:14:39 tes Sep 29 16:14:44 *yes Sep 29 16:15:01 has anyone used a slider in a PreferenceScreen? Sep 29 16:15:20 StingRay_ actually the WP tech dissapeared in my life, 0 hassles, 0 bugs, 0 worries - thats what i mean mostly Sep 29 16:15:24 phone calls, messaging (SMS, Hangouts, FB Messenger, sometimes skype), RSS, G+, mail, etc. Sep 29 16:15:46 oh yeah, FB messenger is probably important Sep 29 16:15:49 g00s 0 functionality (besides min, which it's good at), 0 apps Sep 29 16:15:50 i dont use that stuff though :D Sep 29 16:16:11 g00s: I only use it because it's used by others Sep 29 16:16:17 StingRay_ yeah thats one of the biggest problems, lack of apps Sep 29 16:16:19 who I haven't yet converted ;) Sep 29 16:17:05 p_l i didn't think you would be into the corporate spying thing ... Sep 29 16:18:49 i just noticed how big the iphone 6 was; even the smaller one compared to the previous ones -- i would like something smaller. but the aspect ratiom yuck Sep 29 16:20:24 hi! I'm developing an app to perform a specific task when a phone gets connected to a specific wifi in a certain time frame. As I don't want to have Wifi on the whole time, I want to try to switch Wifi on when the phone comes into proximity of the Wifis location. I've read on Services and IntenetServices a lot now and wondering what the best way to achieve this goal would be. For the most part an IntentService would IMHO be the Sep 29 16:20:24 best choice, but as I've read locationUpdates are not possible with them. So should I use a normal service to check for the location and perform the rest in an IntentService or are there better solutions for it? Sep 29 16:20:28 g00s: I normally run with extra code that blocks access to various APIs Sep 29 16:20:41 g00s: but I am temporarily on a loaner phone.... Sep 29 16:23:07 i'm surprised there haven't been any updates to the support libs since i/o ? Sep 29 16:25:35 um Sep 29 16:25:51 which support libs? Sep 29 16:26:07 the one i see in my sdk manager :P Sep 29 16:26:07 v4 was updated in july Sep 29 16:26:29 rest of them in march yes Sep 29 16:26:58 it would be nice if they updated recyclerview, or put it in the non -rc stuff Sep 29 16:27:04 if its done Sep 29 16:27:20 hmm, they were pretty clear about not giving any updates until L is out Sep 29 16:27:27 so even the one L update was a surprise :) Sep 29 16:27:37 the sdk images are getting updates Sep 29 16:28:28 sdk platform, rather, which is at rev 4 Sep 29 16:28:55 * p_l hopes next nexus will be 64bit Sep 29 16:29:24 one thing people don't talk about often is how terrible cheduling of multiple cores is Sep 29 16:29:29 maybe they will fix that too Sep 29 16:29:35 so its not better to use one core than n Sep 29 16:29:46 *scheduling Sep 29 16:29:55 p_l, it certanly will be Sep 29 16:30:14 g00s: scheduling is always wonky Sep 29 16:30:28 at least the tablet Sep 29 16:30:29 the next nexus phone better not be a phablet Sep 29 16:31:03 StingRay_ maybe it separates in 2, one part goes in your pocket the other on your wrist Sep 29 16:31:04 :D Sep 29 16:31:24 I cant stand these "phones" over 5" Sep 29 16:31:25 did you guys see this ? http://www.gizmag.com/portal-wearable-smartphone-concept/34017/ Sep 29 16:31:25 g00s, hmm, what's wrong with multicore scheduling? Sep 29 16:31:49 StingRay_, I wouldn't mind them if that wouldn't mean that ALL phones worth buying are 5"+ Sep 29 16:32:53 Mavrik the SoC vendors done tune the linux scheduler (at all, often) so that situations where one core would be optimal do not result in all cores turning on, which under some workloads produces the same throughput but with N times more power consumption (n=cores) Sep 29 16:32:58 don Sep 29 16:33:09 dang, i can't type today Sep 29 16:33:21 um... syntax error on that sentence :) Sep 29 16:33:29 don't tune :D Sep 29 16:33:29 so the issue is not using all cores or the issue is using all cores? :) Sep 29 16:33:48 Mavrik usually using all cores Sep 29 16:33:56 when you don't need all cores Sep 29 16:34:44 the big problem is cpu hotplug, because it used to be a rarely-used thing, and most multicore systems didn't do it all Sep 29 16:34:50 ... till mobile multicore happened Sep 29 16:35:15 meanwhile, I've got 1662 devices to add to DHCP server Sep 29 16:45:25 I have an issue with a fragment within a fragment. When the containing fragment is reloaded the view gets reinflated causing the following error: IllegalArgumentException: Binary XML file line #140: Duplicate id 0x7f060102, tag null, or parent id 0x0 with another fragment for Sep 29 16:45:43 line 140 is where the containing fragment is specified. Sep 29 16:45:48 *contained Sep 29 16:46:10 Can I not have fragments in fragments? Sep 29 16:50:26 Syzygy_ sure you can nest fragments Sep 29 16:51:56 I wonder what causes this then. it seems like the layout of the containing fragment is inflated again even though it (or at least the contained fragment) isn't unloaded first Sep 29 16:52:23 should I destroy the child fragment in onPause of the parent fragment? Sep 29 16:53:16 destroy ? Sep 29 16:53:26 did you guys hear about those teenagers going into the apple store to test the bending problems :D Sep 29 16:53:39 hello, I need a simple widget which has child widgets and always only shows one of them. any suggestions? Sep 29 16:54:09 g00s thats funny Sep 29 16:54:17 any photo evidence ? Sep 29 16:54:48 http://www.dailydot.com/technology/iphone-6-bendgate-apple-store/ Sep 29 16:55:53 that's not funny, it's just criminal mischief Sep 29 16:56:34 kids these days Sep 29 17:00:08 im kinda new to android i have a question about editing a contact. once selecting the contact and the OnActivityResult comes back how can i launch another intent. startActivity(intent); crashes because its still null, kinda confused how to get around this Sep 29 17:00:27 >_< this moto 360 standby mode is confusing me Sep 29 17:04:10 eric schmidt just finished a book http://www.amazon.com/How-Google-Works-Eric-Schmidt-ebook/dp/B00HUU13Y0 Sep 29 17:04:23 "The authors explain how technology has shifted the balance of power from companies to consumers" Sep 29 17:04:28 i don't think that is true at all Sep 29 17:04:52 it's printed on paper…in a book Sep 29 17:05:00 obviously true ;) Sep 29 17:07:02 "Google CEO Suggests You Change Your Name to Escape His Permanent Record" ... anyone remember that ? Sep 29 17:07:23 don't sound so empowering ;) Sep 29 17:37:18 g00s: I don't know, sounds like the power is in the consumers hands there. All it takes is something simple, like changing your name, to escape the Googles Sep 29 17:37:44 i don't think changing your name will help ;) Sep 29 17:38:00 yeah, they will just link the public records Sep 29 17:38:04 index them Sep 29 17:39:04 the whole issue of privacy and transparency, regulations of data brokers, etc needs public attention Sep 29 17:39:10 so when you search for your new name, results from your previous name show up, and at the top will say, showing results for 'new name formally known as old name' Sep 29 17:39:11 *more Sep 29 17:40:02 formerly* Sep 29 17:40:34 all the information these companies collect about people, individual behavior, group behavior - is so powerful, nothing any consumer gets in return (free mail) resolves that assymetry Sep 29 17:41:19 birbeck after you change your name, better delete your browser cookies XD Sep 29 17:41:34 yeah, thats not gonna work Sep 29 17:42:17 all of that information puts ultimate power in the hands of a few Sep 29 17:46:33 com.sj.mazerace.game.LevelView$1 17 Sep 29 17:46:47 that is what DDMS shows as the allocated class, what does that mean? $1 Sep 29 17:46:57 birbeck i'm waiting for someone to write a authoritative book on the relationship between silicon valley and the NSA Sep 29 17:47:10 because the LevelView is just allocated once. The size of the allocated class above is 12 Sep 29 17:47:22 $1 would seem to be an inner class Sep 29 17:50:33 troned, $1 is anonymous inner class Sep 29 17:50:47 e.g. somewhere you do new Somehing() { ... more code ... } Sep 29 17:52:50 holy crap working with a moto 360 is terribly weird Sep 29 17:53:01 I hate developing for wear :/ Sep 29 17:53:04 Does the for each loop (for (TYPE x: xs)) cause a performance or memory penalty compared to using an iterator or will it produce the same code? Sep 29 17:53:49 troned, it just creates an iterator for you and makes code more maintainable Sep 29 17:54:29 troned, stuff like that should be optimized by the compiler Sep 29 17:54:53 you're more likely the mess it up if you use an iterator and manage it yourself Sep 29 17:57:10 troned Sep 29 17:57:13 dont use foreach Sep 29 17:57:21 anyone know if there have been any studies or even simply opinion pieces on what the optimum size for an http request body is? postulating an infinitely streaming set of data and criteria being upload reliability over unreliable networks? (aka, if it takes 5 solid minutes of transfer time, the conn might not be reliable enough to prevent you having to retry the request) Sep 29 17:57:40 i figure 10kb uploads? but that's pulled straight outta my ass Sep 29 17:58:22 lasserix, why not? Sep 29 17:59:08 it uses an iterator Sep 29 17:59:12 which creates some overhead Sep 29 17:59:14 forget the details Sep 29 17:59:25 for if you really want to optimize you're not supposed to use it Sep 29 18:00:00 i've always assumed it produced the same code Sep 29 18:00:08 Which you probably don't, so just go ahead and use it Sep 29 18:00:13 but i've never looked at the bytecode Sep 29 18:00:25 http://stackoverflow.com/questions/10217489/methods-in-foreach-and-for-loops-in-java Sep 29 18:00:29 i always use for (type t : ts) just cuz its simple Sep 29 18:01:09 even Chris Preuget (sp?) who has done several talks on games for android at IO conference mentions NOT to use foreach Sep 29 18:01:30 right. Sep 29 18:01:31 foreach in java? Sep 29 18:01:41 now i'm curious Sep 29 18:01:45 The enhanced for loop (also sometimes known as "for-each" loop) can be used for collections that implement the Iterable interface and for arrays. With collections, an iterator is allocated to make interface calls to hasNext() and next(). With an ArrayList, a hand-written counted loop is about 3x faster (with or without JIT), but for other collections the enhanced for loop syntax will be exactly equivalent to explicit iterator usage Sep 29 18:01:45 . Sep 29 18:01:45 I love the Android community cargo culting Sep 29 18:02:01 cargo culting? Sep 29 18:02:12 "someone once found out that on this certain case that certain thing is 3x slower" Sep 29 18:02:16 3 times faster? mmm Sep 29 18:02:18 "NEVER USE IT EVER!" Sep 29 18:02:19 So just for ArrayList Sep 29 18:02:21 lasserix oh well that's for an ArrayList Sep 29 18:02:31 Mavrik: Oooh, yeah. Sep 29 18:02:34 considering the fact that he talks about JIT or not JIT Sep 29 18:02:35 which I am guessing troned is using Sep 29 18:02:35 where .get(i) == return mArray[i] Sep 29 18:02:42 it's probably the talk from times of Android 2.1 and 2.3 Sep 29 18:02:56 well 2.3 is pretty much used still Sep 29 18:03:02 where stuff was running on 400MHz devices with shitty VM and different other hardware Sep 29 18:03:20 Ashiren, I'm sure all those 15% of users with obsolete phones are gaming alot Sep 29 18:03:28 i do Sep 29 18:04:01 https://developer.android.com/about/dashboards/index.html Sep 29 18:04:03 troned: but really its probably NOT causing any bottleneck so using foreach makes it cleaner to read and you might as welll use it Sep 29 18:04:07 yes, well I'm still firing your ass if you don't use foreach (unless you prove it actually has impact on app performance) Sep 29 18:04:24 It says only 12.1% of android users use < 2.37 Sep 29 18:04:30 2.3.7* Sep 29 18:04:42 thats 12.1% too many Sep 29 18:04:59 I wouldn't support that in my app :/ Sep 29 18:05:20 ahh wait! Sep 29 18:05:23 what a shame. building for >=3.0 would be so much easier Sep 29 18:05:28 but then 3.x has maybe 1% Sep 29 18:05:29 The reason NOT to use for the foreach loop is not the speed Sep 29 18:05:35 but the fact the foreach loops allocates an iterator Sep 29 18:05:38 so building for 4.0+ is even more easier Sep 29 18:05:39 which can lead to a GC call Sep 29 18:05:51 so don't use foreach because it can cause your game to hiccup Sep 29 18:06:15 just to be sure - by foreach you mean for (X x : XList) ? Sep 29 18:06:19 it's not about speed, it's about garbage Sep 29 18:06:20 yeah Sep 29 18:06:52 hmm, I still have 16% of people on < 2.3 on one of my apps Sep 29 18:07:39 lasserix, yep, but concurrent parallel GC can clean up the eden space pretty fast Sep 29 18:09:09 "eden space"? Sep 29 18:09:25 well that is just what chris preugot said Sep 29 18:10:08 i've never heard android devs lamenting over foreach Sep 29 18:10:21 this is specifically for games Sep 29 18:10:53 mhm, yes for main game loop in games it can be problematic at times Sep 29 18:11:00 but you solve that when you see GC stopping your thread Sep 29 18:11:01 if the foreach causes a gc call and you get 20-50 ms of delay it causes a problem in a game Sep 29 18:11:09 haha, wow Sep 29 18:11:10 not before Sep 29 18:11:27 foreach and while(iter.hasNext()) produce EXACTLY the same dalvik bytecode Sep 29 18:11:29 Mavrik: well i am just reiterating what the grandmaster game designer said ... ;p Sep 29 18:11:31 gist'ing Sep 29 18:11:44 sarbs, yes sarbs. Sep 29 18:11:52 a foreach uses an iterator Sep 29 18:12:01 but it has to allocate that iterator Sep 29 18:12:11 and in a game loop when you are allocating an iterator every 16 ms Sep 29 18:12:19 (or more) it can cause your game to hiccup anyways Sep 29 18:12:46 * g00s glad i don't work on games Sep 29 18:12:53 troned: http://www.youtube.com/watch?v=U4Bk5rmIpic&noredirect=1 Sep 29 18:12:59 you might watch his videos they are really good Sep 29 18:13:07 * glad I don't write games in Java. Sep 29 18:13:13 ^^ Sep 29 18:16:10 lasserix https://gist.github.com/tophyr/ca3c5bb891e2727e03c2 Sep 29 18:16:49 lasserix maybe i missed the context of the original question then, i was under the impression there was a debate about whether foreach() or while() was more efficient to iterate lists Sep 29 18:18:38 how hard is it learning to program android apps compaired to ios ? Sep 29 18:19:20 What I am really doing is tracking down allocations in my gameloop Sep 29 18:19:40 sometimes i have tiny, tiny pauses, noticed the GC is working a lot. Sep 29 18:20:29 There are a lot of messages from my TiltSensor, can I get around that somehow? The sensor uses a new msg every time it posts to my handler Sep 29 18:23:43 troned why are using a message handler to get data from your accelerometer? Sep 29 18:23:52 and if you are goign to do that Sep 29 18:23:53 make sure you use Sep 29 18:24:04 Message.obtain() to get your message instances not Message m = new Message() Sep 29 18:24:17 the pool size for all messages per app is pretty small though Sep 29 18:24:23 g00s Sep 29 18:24:24 was it around 20 ? Sep 29 18:24:30 snielsen the APIs can be very different in usage, but it's not that different overall, really Sep 29 18:24:34 lasserix, well basically I was recommended to do it that way (either here or by some authorative blogpost), but maybe i should not have listend. i want to get around it now Sep 29 18:24:41 the accelerator pushes like at 120 hz Sep 29 18:24:48 120hz is a lot of messages Sep 29 18:25:01 which defintly causes garbage if you don't use Message.obtain and recycle your messages Sep 29 18:25:05 i use obtain Sep 29 18:25:06 http://stackoverflow.com/questions/26090445/android-accelerometer-compass-generates-a-lot-of-garbage-collection?noredirect=1#comment40884292_26090445 Sep 29 18:25:13 ^ code and stackoverflow post Sep 29 18:25:18 snielsen i haven't used the new Swift stuff, i got out of iOS about a year ago, but really your question generalizes to "how hard is it to learn to program X if i know Y", and the answer is "once you know how to program, you know how to program" Sep 29 18:25:41 learning a new language or framework is generally much, much, MUCH easier than learning the first language Sep 29 18:25:56 ahh Sep 29 18:25:57 troned Sep 29 18:25:58 here Sep 29 18:26:18 http://www.rbgrn.net/content/342-using-input-pipelines-your-android-game Sep 29 18:26:26 implement that for your acceleratometer events Sep 29 18:27:12 basically you use two queues as pools, one on the side of your acceleratomer, which you ffed the original messages into, then you push over to your game loop where the other ones reads and consumes Sep 29 18:27:29 each returning to the pool after being pushed/consumed Sep 29 18:28:52 i only know the simple stuff, i didnt find the heavy object oriented way in objc that intuitive, so i figured i’d give swift a go but either i’m really bad or xcode has become buggy Sep 29 18:28:55 works quite well Sep 29 18:34:13 troned: btw sorry about no code been extra busy + birthday celebration this last weekend Sep 29 18:34:23 i will try and do that tonight or tomorrow Sep 29 18:34:29 i have implemented that input pipe line too Sep 29 18:34:38 does anybody have Lombok working in Android Studio? Sep 29 18:34:38 happy birthday! no worries. Sep 29 18:35:04 Is there a way to style the CheckBox and RadioButton in SubMenu items? Sep 29 18:36:23 regarding foreach - wow. for arraylist it is 2x faster Sep 29 18:36:29 for vs foreach Sep 29 18:39:39 lasserix, it is possible it is not the GC but the actual locking, if the sensor threads locks the ball with X Hz and then the GameLoop moves the ball with 16Hz Sep 29 18:39:40 and for arrays - no difference Sep 29 18:40:01 troned but you are seeing GC calls ? Sep 29 18:40:23 but yeah it could be concurrency issue defintily Sep 29 18:41:05 but handlers use a synchronous message queue Sep 29 18:41:24 so i dont know where the locking would be coming from unless you have some locks not in your accleratometer class Sep 29 18:41:45 but my guess is if you are seeing consistent GC calls then it is that Sep 29 18:42:02 What could be the cause for my IDE not recognizing DateFormat.getDateInsance(); while it recognizes DateFormat.getDateFormat(context); which is not listed in the documentation? Sep 29 18:43:30 You imported the wrong class Sep 29 18:43:46 nevermind. I was using android.text.format.DateFormat, while the documentation lists java.text.DateFormat. Sep 29 18:43:59 Bingo, SimonVT Sep 29 18:44:00 weird that the android doc would list the java version Sep 29 18:45:07 Not really, it lists anything that's part of the public api Sep 29 18:47:02 lasserix, my ball class locks. the TiltSensor changes the ball speed, the engine changes the position using the ball speed Sep 29 18:47:23 I guess I could try removing the locks (that might ofc course cause some problems!) Sep 29 18:47:41 umm Sep 29 18:47:47 your ball class shouldn't lock Sep 29 18:47:55 your game loop should do the locking, and only it Sep 29 18:48:07 basically update state lock while render Sep 29 18:50:27 lasserix, but the tiltsensor is continously updatng ball speed and the engine is updating ball position with a fixed Hz Sep 29 18:50:30 lasserix, live dangerously and die young? :p Sep 29 18:50:38 (re: removing locks) Sep 29 18:50:46 troned: use the input pipeline Sep 29 18:50:56 you basically use your game loop to lock Sep 29 18:50:59 not the ball itself Sep 29 18:51:05 lock update unlock render Sep 29 18:51:17 lock processinput update unlock render Sep 29 18:51:17 er, I meant troned Sep 29 19:07:27 lasserix, where are there 2 queues? I see 1 queue and the mutex is locked at 2 places. Sep 29 19:07:42 This is what I do (I think), i dont block the whole game loop like he did. Sep 29 19:07:56 I have a slight problem that a fragment that's already in the background keeps calling onPause() Sep 29 19:08:04 is there a way I can prevent this? Sep 29 19:08:44 is there still no way to give managed eval / free copies of a paid app from Play ? Sep 29 19:09:05 without mailing apks around Sep 29 19:09:39 g00s: add them to "Gmail accounts with testing access"? Sep 29 19:10:02 surf2b1 but don't they still have to buy it ? Sep 29 19:10:36 most likely, but I think if you send them the APK they should be able to get updates. IDK. I would be interested in this too Sep 29 19:11:07 alternatively something like hockey would be better than mailing i guess Sep 29 19:11:14 hm, interesting - so side load first apk, let play update from ether :) Sep 29 19:11:27 but i'm skeptical that works Sep 29 19:11:32 Syzygy_ what is that ? Sep 29 19:11:47 Hi Sep 29 19:11:54 I am sure most of you noticed by now Sep 29 19:11:55 http://www.theinquirer.net/inquirer/news/2371238/google-policy-change-demands-developers-provide-postal-addresses Sep 29 19:12:05 How do you all feel about this? Sep 29 19:12:19 Seems like a huge and dangerous invasion of privacy for no reason Sep 29 19:12:41 Agamemnus not discussed much here, but in the forums i haven't seem more people upset than any other issue Sep 29 19:12:46 g00s, http://hockeyapp.net/features/ lets you give out different versions to groups, manages crashlogs and stuff like that Sep 29 19:12:51 we use it for our beta testers Sep 29 19:12:57 Syzygy_ ok thanks Sep 29 19:13:14 Agamemnus (and g00s), this has been discussed in here in quite great detail on at least two separate occasions ;) Sep 29 19:13:14 Is there an email address anyone has dredged up? What can I do about this? Sep 29 19:13:21 I'm glad for making app makers more accountable. Sep 29 19:13:24 Agamemnus: If they post the address on the play website I will be pissed off since crawlers will be able to access it. Sep 29 19:13:32 Agamemnus you can send google an email and they should get back to you in 3 days XD Sep 29 19:13:36 Google said it will be public. Sep 29 19:13:42 g00s, I somehow doubt that.. Sep 29 19:13:43 surf2b1, that's exactly what will happen Sep 29 19:13:46 Then get a P.O. Box Sep 29 19:13:57 google hasn't said PO boxes are valid Sep 29 19:13:58 Ironthighs, PO Boxes aren't allowed Sep 29 19:14:00 someone said a P.O. box won't work Sep 29 19:14:01 Whaaaaaat Sep 29 19:14:04 Oh wow Sep 29 19:14:10 Then yeah, I'd be a little upset. Sep 29 19:14:15 well, that's pretty shitty then. Sep 29 19:14:17 So yeah, Google now demands you give your place of residence to whole world publicly Sep 29 19:14:22 it has to be a physical address, in some countries a PO box is not considered physical Sep 29 19:14:27 (unless you can afford a whole office and a company) Sep 29 19:14:44 Hmm Sep 29 19:14:44 and you HAVE to answer to queries within 3 days (so no vacation without internet for you!) Sep 29 19:14:45 also, this is the THIRD time people in here are going over this :p Sep 29 19:14:49 If you go to https://play.google.com/about/developer-distribution-agreement.html Sep 29 19:14:56 with pretty much the same conclusions Sep 29 19:14:59 basically it's a huge "go fuck yourself" to everyone but rather large companies :) Sep 29 19:15:02 There is no mention about postal addresses Sep 29 19:15:19 so if you want to make money go learn Swift or ObjC :) Sep 29 19:15:25 i think devs should resist by not updating that info Sep 29 19:15:27 Mavrik, I wouldn't call my company "rather large" Sep 29 19:15:36 There isn't even a word "address" in there. Sep 29 19:15:45 Mavrik it didn't take this issue for me to come to that conclusion :D Sep 29 19:15:50 Agamemnus, the payment processor requires it Sep 29 19:16:09 Mavrik, Sep 29 19:16:12 "If you offer apps or in-app items for sale, you are required to provide a postal address under our developer terms and consumer protection laws" Sep 29 19:16:18 Syzygy_, it requires you to have someone available around the clock at all times and a secondary address Sep 29 19:16:22 They linked that page, but it mentions nothing about it. Sep 29 19:16:25 Agamemnus, of course there is no mention, the change will happen in october Sep 29 19:16:33 Syzygy_, usually that impliess at least a few employees Sep 29 19:16:39 http://www.reddit.com/r/androiddev/comments/2gt4va/does_anyone_know_if_well_be_able_to_use_po_boxes/ Sep 29 19:16:51 which can be rather... problematic for highschool students and you know, people who made apps that bring them like 100$ a month Sep 29 19:16:59 yeah, but I don't consider our 30 employees "rather large" Sep 29 19:17:07 hmm Sep 29 19:17:11 you're right though Sep 29 19:17:14 I fail to see your point :) Sep 29 19:17:15 1 employee here Sep 29 19:17:18 A real problem. Sep 29 19:17:34 Syzygy_, even though, at least for companies I work for, 30 is rather alot :P Sep 29 19:17:35 Trying to find the terms email.. Sep 29 19:18:12 ok, I wouldn't consider it rather large, but I guess for an an app developer it's large Sep 29 19:18:19 personally I will just keep staying away from the play store like I have been so far, I have no reason to change that; however if I wanted to make money off of my apps, I would just make them donate only with a simple link to paypal Sep 29 19:18:32 Hey guys, I’m having a ton of problems trying to remove a body from a box2d simulation. Sep 29 19:18:38 Mavrij, https://play.google.com/about/developer-distribution-agreement.html this is definitely the new agreement. Sep 29 19:18:38 ravilov i don't think you can do that either Sep 29 19:18:42 ravilov, doesn't pp require an address? Sep 29 19:18:43 Mavrik* Sep 29 19:18:54 EPG, just an email address Sep 29 19:18:56 Agamemnus: didnt you got the not in dev console? Sep 29 19:18:56 g00s, why not? Sep 29 19:18:57 I seem to get a random crash in contact filter after trying to remove a body. Does anyone have a failsafe way of doing this? Sep 29 19:19:16 I got a note, but that is not the same thing as asking me to sign a new development agreement Sep 29 19:19:16 Note: I am pretty much clearing the world, if that makes the case simpler. Sep 29 19:19:21 Which I did. But that was a week ago. Sep 29 19:19:31 And it didn't have any of that. Sep 29 19:19:48 EPG, pp requires an email address if you're a merchant and selling goods, none of that is required for donations which would be just person-to-person money transfers Sep 29 19:19:49 "If you have paid apps or apps with in-app purchases, it's mandatory to provide a physical address where you can be contacted. If you don't provide a physical address on your account, it may result in your apps being removed from the Play Store." Sep 29 19:19:50 the 3 business days thing is there, yes. and that is defo sheet Sep 29 19:19:51 ravilov, g00s: making them "paid for" using another payment processor is against ToS - making it possible to donate (but not lock features based on it) using Pay Pal is ok, afaik Sep 29 19:20:05 danijoo: but that's not in the agreement Sep 29 19:20:21 p_l, they are not "paid for", this is a donation, nothing will change on the user side (they wouldn't get an "unlocked" app or anything) Sep 29 19:20:24 looks like Google really messed up here on multiple fronts Sep 29 19:20:37 this is just because my app was so awesome it compelled them to send me money :) Sep 29 19:20:48 in other words, I wouldn't sell the functionality Sep 29 19:20:49 what is a good way to fill a background up to a certain percentage programatically? Sep 29 19:20:52 I dont think they have to put that in agreement if they notice you in another way Sep 29 19:21:22 Of course they do. Sep 29 19:21:24 ravilov, sounds fine to me Sep 29 19:21:26 I didn't sign it. Sep 29 19:21:31 EPG, exactly Sep 29 19:21:37 unlike other approaches via unlock codes which some devs do Sep 29 19:21:46 Agamemnus, you did, as soon as you joined play store as a dev Sep 29 19:21:51 ravilov: I just made it clear - I agreed that what you suggested would work :) Sep 29 19:22:00 I signed the agreement they have on file Sep 29 19:22:01 p_l, ah, okay then ;) Sep 29 19:22:10 They don't have the right to change it without me signing it again. Sep 29 19:22:19 And they didn't actually change the agreement either Sep 29 19:22:21 Agamemnus, you can quit Sep 29 19:22:26 exactly Sep 29 19:22:29 Agamemnus: and as such, they revoke the relationship on 30th Sep 29 19:22:31 i dont think so guys https://groups.google.com/forum/#!topic/android-developers/dZ2z6Hg9w_E Sep 29 19:22:41 it's their thing, they can do whatever they want and you are free to leave at any point, Agamemnus Sep 29 19:22:42 as for address, pretty sure you can do POBox Sep 29 19:22:53 p_l, in some countries you can't Sep 29 19:22:54 (it's quite common thing in EU, for example) Sep 29 19:22:56 No, it's governed by terms of service and contract laws Sep 29 19:22:57 you might be able to fly under the radar, but whatever floats your boats :) Sep 29 19:22:59 troned: one queue lives in your acceleratomer/ input even handler, the other queue lives in your game loop. on accelerater event, you make a new event -- actually you grab one from the queue, (recycling it/pooling), then pass it to the game loop / input event processor. Then that puts it in its queue, until its ready to be processed, once processed, it returns to the original pool. Sep 29 19:23:05 Agamemnus: good luck on discussing with them about it :) Sep 29 19:23:08 otherwise they could do whatever the hell they wanted and always get away with it. Sep 29 19:23:15 nope Sep 29 19:23:21 troned: you use two so you don't get blocking Sep 29 19:23:55 every change in terms means you are free to terminate the aforementioned contract at any point Sep 29 19:23:58 Agamemnus: They can do whatever they want. that is in the agreement. Sep 29 19:23:59 ravilov: you can, you just need to search a bit better than "PO Box" because the terms change a bit depending on locality (you have to register a business and then you can provide an address of the business, which could be hired post box) Sep 29 19:24:01 that is how it always works Sep 29 19:24:07 ravilov: but they DIDN't change the terms Sep 29 19:24:15 Agamemnus, not yet they didn't Sep 29 19:24:27 Under "they can remove/close your acount whenever they want without any reason" Sep 29 19:24:28 they announced it will happen in october, like I told you Sep 29 19:24:37 danijoo: they CAN'T do that. That's a violation of the Uniform Commercial Code Sep 29 19:24:49 how so? Sep 29 19:24:53 more importantly, how does it matter? Sep 29 19:25:09 How is it that they can't do whatever they want and that isn't a violation of the Uniform Commercial Code? Sep 29 19:25:14 is there a widely accepted approach for uniquely identifying an endpoint in Android? I know ANDROID_ID but is there an approach that is guaranteed unique and will persist? Sep 29 19:25:17 Agamemnus UCC is international contract law Sep 29 19:25:20 only the new tos with vat / 3 day email turnaround goes into effect oct. the physical address thing starts tomorrow Sep 29 19:25:23 nothing to do with this Sep 29 19:25:26 It is US contract law. Sep 29 19:25:29 Agamemnus: I would just drop it. Google isn't listening and doesn't care about you :P Sep 29 19:25:48 btw I'm wondering where do you guys live if you have a website and don't have to put your physical address there? Sep 29 19:26:06 Agamemnus actually no, it's international … but regardless yes it is "contract law" Sep 29 19:26:10 what is US contract law? That they are not allowed to remove you from their market? Sep 29 19:26:14 Agamemnus, this is their private service that they offer to you to use, so long as it works for both of you; if either of you don't like it anymore, either of you are free to terminate the "contract"; none of this has anything to do with international laws or anything Sep 29 19:26:15 you do not have a contract with google Sep 29 19:26:18 My simple point is this: the last change required us to sign within 30 days, and the terms were immediately updated on the site. Sep 29 19:26:19 Anyone know why box2d always crashes after removing a body? Sep 29 19:26:39 This new change is only a change in the developer console, and no notice of terms of service change. Sep 29 19:26:39 zambo, make sure you dont remove it twice Sep 29 19:26:58 So, it is a blunder, besides the change itself. That's all. Sep 29 19:27:03 Agamemnus, either way, they can do whatever they want in whatever way they want Sep 29 19:27:08 I basically put everything in a list, then remove the items in the list. I’m clearing everything from my world Sep 29 19:27:13 ravilov, stop saying that... they can't Sep 29 19:27:20 except they can :p Sep 29 19:27:23 Can they come to my address and murder me in my sleep? Sep 29 19:27:33 uhm Sep 29 19:27:35 well Sep 29 19:27:39 they can do whatever they want as far as their own service is concerned Sep 29 19:27:40 zambo you are probably making a shallow copy each time, so when you remove something it's still pointing to something else, not something new Sep 29 19:27:47 Agamemnus: probably yeah Sep 29 19:27:55 they can even shut down the entire play store if they want, who's to stop them? Sep 29 19:28:00 with dozens of billions of dollars im sure that can be arranged Sep 29 19:28:05 Lots of people can stop them. Sep 29 19:28:12 uhhuh, righ Sep 29 19:28:13 t Sep 29 19:28:22 dreamworld right there ;) Sep 29 19:28:27 :\ Sep 29 19:28:29 Ok whatever Sep 29 19:28:41 if it is a big enough problem google should have the decency to respect app developers enough to figure out something that works Sep 29 19:28:47 Time to go get murdered by google for not adding an address due to their new non-existent terms of service Sep 29 19:29:13 google should have at least (1) told us why this is happening (2) been more clear on po box Sep 29 19:29:18 lasserix, they did stupider things in the past with no intention of reconciliation whatsoever Sep 29 19:29:19 at minimum Sep 29 19:29:30 but android is open source ! Sep 29 19:29:32 er, I thought we knew about (1) Sep 29 19:29:37 isn't it because of some EU laws? Sep 29 19:29:39 g00s: There's no clarity in my opinion. It's mentioned NOWHERE in the ToS and the console doesn't use legal language. Sep 29 19:29:41 Agamemnus: seriously. Google owns the playstore and you say they are not allowed to close your account on it even its in their terms? Sep 29 19:29:55 They aren't. UCC. Sep 29 19:30:10 i hope ubuntu touch takes off or something, i want a better open mobile platform and owner Sep 29 19:30:17 Agamemnus, I don't see why you keep bringing that up, they are not bound by it in any way Sep 29 19:30:24 There is plenty of stuff in the UCC that prohibits them from doing it. Sep 29 19:30:29 Google is a US-based company Sep 29 19:30:30 Agamemnus i think you mistake UCC international contract law to any bearing on the "agreement" you have with google Sep 29 19:30:40 https://en.wikipedia.org/wiki/Uniform_Commercial_Code Sep 29 19:30:48 "The Uniform Commercial Code (UCC or the Code), first published in 1952, is one of a number of uniform acts that have been promulgated in conjunction with efforts to harmonize the law of sales and other commercial transactions in all 50 states within the United States of America." Sep 29 19:30:49 OK? Sep 29 19:30:59 no Sep 29 19:31:13 This is pointless. I think he just dont want to understand Sep 29 19:31:15 Agamemnus, unfortunately it looks like you're in for quite some disappointments in your future Sep 29 19:31:25 yeah, like I said - dreamworld Sep 29 19:31:32 UCC = Uniform Commercial Code... not "UCC international contract law" or whatever. Sep 29 19:31:36 sale? no Sep 29 19:31:43 commercial transaction? no Sep 29 19:31:50 It's a contract. Sep 29 19:31:52 ok Agamemnus, you're right and everybody else is wrong, happy now? ;) Sep 29 19:31:59 Agamemnus no it is not Sep 29 19:32:00 Yes, it's a commercial transaction. Sep 29 19:32:06 God, you people. Sep 29 19:32:08 so if i make a store to let you sell stuff agamenus, im not allowed to shut it or your account down after that? ^^ Sep 29 19:32:21 What a cacaphony Sep 29 19:32:28 Read the UCC Sep 29 19:32:29 contract has some requirements … the "agreement" you have doesn't Sep 29 19:32:33 * ravilov decides to stop feeding Agamemnus's delusions :p Sep 29 19:32:55 Read the UCC, take a contract course, read Google's TOS Sep 29 19:33:13 yeah Agamemnus. Better make yourself a backup account yet :> Sep 29 19:33:26 Agamemnus, ToS aren't contracts and are not legally binding. If you violate ToS google can't sue you, they can however terminate your account. Sep 29 19:33:30 Agamemnus: as rav said, if you are unhappy with the service the google play store provides, don't use it. Sep 29 19:33:44 Syzygy_: you're totally right. Sep 29 19:33:54 But Sep 29 19:33:56 You're not. Sep 29 19:33:56 Agamemnus easy way to know if you have a contact, 2 parties, 2 signatures, due consideration (meeting of minds) and full disclosure Sep 29 19:34:00 lasserix, that's a shitty argument and always has been Sep 29 19:34:01 this is the third time this has been discussed in here, but I gotta admit, it's the most heated one yet Sep 29 19:34:02 ToSes help form a contract. Sep 29 19:34:15 The full contract is the ToS + implicit guarantees + UCC. Sep 29 19:34:19 lasserix, that argument only works on market with large choice of interchangeable stuff Sep 29 19:34:26 not when you have a near market majority. Sep 29 19:34:34 so please stop saying that to people -_- Sep 29 19:34:40 Mavrik, that doesn't make it any less true or viable Sep 29 19:34:45 Google cannot change the ToS or terminate accounts in violation of the UCC. Sep 29 19:34:52 ravilov, there is nothing viable at it Sep 29 19:34:57 Agamemnus, not really, but in a contract (e.g. when you give them the 25 bucks for developer access) you agree to abide by the ToS Sep 29 19:35:04 and it's a random spew people throw out when they have nothing else to say Sep 29 19:35:06 like "sun is yellow" Sep 29 19:35:11 ha Sep 29 19:35:16 is there a good way to "fill" a background a certain percentage programatically? Sep 29 19:35:21 For example, (and this is an easy one you can all understand), let's say that you have $2000 stored in your merchant account Sep 29 19:35:26 so in the US you can run a website w/o any personal informatio/address? Sep 29 19:35:29 And Google decides to just take it for no reason. Sep 29 19:35:31 mattblang, what do you mean by that? Sep 29 19:35:34 That's a violation of the UCC. Sep 29 19:35:44 *information Sep 29 19:35:45 btw they dont even need to to agree another aggreement Sep 29 19:35:46 Agamemnus no, thats stealing Sep 29 19:35:54 But also a violation of the UCC Sep 29 19:35:56 Agreement will become effective upon your acceptance of the modified Agreement (except changes required by law which will be effective immediately) or 7 days after the posting of the notification if you continue to use the Market. Sep 29 19:36:05 stealing > any implied crap ;) Sep 29 19:36:23 danijoo: they sent one agreement a few days ago. Sep 29 19:36:31 But it had nothing about addresses. Sep 29 19:36:34 mattblang, maybe an xml drawable will do what you want Sep 29 19:36:35 And still doesn't. Sep 29 19:36:46 Real quick: Is anyone an actual lawyer here that deals with this stuff? Sep 29 19:36:49 ravilov, Syzygy_ what I really need to accomplish is to fill a View a certain percentage based on a number I am getting. So I need to do it programatically. Sep 29 19:37:00 I took a course in contract law Sep 29 19:37:01 If not, I think we should get a real lawyer in here. Sep 29 19:37:10 And have successfully threatened multiple companies >:) Sep 29 19:37:21 Agamemnus so then how do you turn an agreement into law ? Sep 29 19:37:26 I'm sorry, Agamemnus, but I'd rather get a lawyer in here Sep 29 19:37:37 I think you'd probably have to pay them Sep 29 19:37:38 mattblang, do a relativelayout or a framelayout with two inner linearlayouts on top of each other, fill the other one completely and just adjust the height/position Sep 29 19:37:55 How do you turn an agreement into law? I'm not sure what that means Sep 29 19:37:56 ravilov nice, using weightsum? Sep 29 19:38:10 um I guess? dunno, this is just an idea Sep 29 19:38:12 * surf2b1 slaps Agamemnus Sep 29 19:38:15 You mean, how to turn a ToS into a contract? Sep 29 19:38:16 * surf2b1 slaps Google Sep 29 19:38:16 Agamemnus well you know the diff between agreement and contract Sep 29 19:38:18 you work out the details, mattblang ;) Sep 29 19:38:22 now you should all be happy Sep 29 19:38:28 ravilov yeah, i think that will work. will let you know Sep 29 19:38:32 Agamemnus well yeah if you could do that then you can make it law Sep 29 19:38:37 not law Sep 29 19:38:42 just a contract Sep 29 19:38:47 contact == law Sep 29 19:38:52 i was just going to put down StingRay_ 's address in my app too, but then realized he may have some unhappy fans too Sep 29 19:38:55 Not in the U.S. Sep 29 19:38:56 surf2b1, should have slapped one with the other, that would be more amusing :p Sep 29 19:39:02 Agamemnus 100% in us Sep 29 19:39:04 An agreement is only part of a contract Sep 29 19:39:05 U.S. Sep 29 19:39:10 A law is different from a contract Sep 29 19:39:14 I like the idea of people getting together to purchase a "burner house" Sep 29 19:39:14 ._. Sep 29 19:39:16 agreement != agreed Sep 29 19:39:54 dont think agreed terms are an agreement, they are no more a contact than this conversation too ;) Sep 29 19:40:07 * ravilov is starting to wonder how many more times will this issue pop up over the next couple of months Sep 29 19:40:33 Agamemnus anyways if you are versed in legal/lawful then you should have no probs Sep 29 19:40:52 if you read what google say and the way and words… it should not scare you 1 bit Sep 29 19:41:17 StingRay_, of course it won't, he'll just use your address like g00s and everyone else :p Sep 29 19:41:26 I dont mind Sep 29 19:41:27 :) Sep 29 19:41:46 oh hang on, nope you wont be able to have shared addresses Sep 29 19:42:05 pretty sure you can append/prepend something to make it (appear) unique Sep 29 19:42:16 sounds like they want people to be more legit Sep 29 19:42:32 always 2 fields that are unique though right ? Sep 29 19:42:38 of course they do, that's the whole entire point, but look what's happening - people are rebelling Sep 29 19:42:45 for you guys state and 1st line Sep 29 19:42:46 Yeah Sep 29 19:43:18 baw, our local lawyer got disconnected by services Sep 29 19:43:20 Unfortunately, I too disagree with the decision to have a publicly viewable address Sep 29 19:43:28 lasserix, whenever I take or insert something into a Q I need to block anyway Sep 29 19:43:32 Google is trying to silence me by randomly disconnecting me from IRC! Sep 29 19:43:37 It has begun! Sep 29 19:43:47 you better take it personally Sep 29 19:43:48 troned: it's a concurrentlinkedqueue, handles that automatically Sep 29 19:43:49 *Begin Mortal Kombat theme.* Sep 29 19:43:51 Just say "There will be others" and get it over with Sep 29 19:43:52 settle it with them, directly! Sep 29 19:44:05 Threaten them like the other companies you said you threatened Sep 29 19:44:08 aside from that "is it legal" discussion, im wondering if its allowed to "obfuscate" the address somehow to make it less abusable by crawlers Sep 29 19:44:10 you can kill me, but you can't hunt down all of us!!! Sep 29 19:44:10 what are you afraid of with your address being public? Sep 29 19:44:12 I think my bar is at .05% Sep 29 19:44:21 lasserix, but it still must block somehow underneath even if i dont Sep 29 19:44:22 That ravilov will knife me in my sleep Sep 29 19:44:26 If not Google Sep 29 19:44:41 maybe I'm subcontracted by googlers Sep 29 19:44:52 like I could add a link to a photo of my adress that is capcha-protected Sep 29 19:44:55 Seriously, whackos like public addresses Sep 29 19:45:00 troned: you need to understand how the locking works. the lock works while you update. on everything. not each time you get an acceleratometer event Sep 29 19:45:41 either we'll see a big outflux of paid app devs on the store, or they'll all convert to "companies" :) Sep 29 19:45:54 StingRay_: So I'd say that the ToS is definitely not a contract because it often has unenforceable parts that don't align with either local laws or the UCC Sep 29 19:46:04 in germany you have to be a one man company anyways Sep 29 19:46:07 Wait, what does that mean? convert to "companies"? Sep 29 19:46:16 What did I miss there? Sep 29 19:46:48 Agamemnus so ok, it's not a contact, it's a TOS/Agreement… now lookup who has the power in such a thing Sep 29 19:46:48 register a company, get some sort of physical address that is not their house address, appear on store as such Sep 29 19:46:59 cause I't both free, but also 1 sided Sep 29 19:46:59 Ah Sep 29 19:47:03 it's Sep 29 19:47:22 StingRay_: no but if it's not a contract doesn't mean that it's one-sided nor that contract law no longer applies Sep 29 19:47:32 It is *part of* THE contract. Sep 29 19:47:36 Agamemnus no Sep 29 19:47:43 I really disagree there Sep 29 19:47:52 is anyone making apps that benefit substantially from the multiple cores on android ? Sep 29 19:47:59 That would be an implicit contract that is formed from the ToS and any other agreements and state, local, federal laws Sep 29 19:48:16 snielsen, probably apps that get CPU info for you :p Sep 29 19:48:24 haha Sep 29 19:48:37 Im fine with having one letter a day for enter_company_name @ my address that wanders to trashbin without opening Sep 29 19:48:39 When you agree to a ToS, you agree that it is part of the contract between yourself and Big Bad company Sep 29 19:48:48 nope Sep 29 19:48:52 snielsen i would imagine if you have multiple threads, they would get scheduled on multiple cores Sep 29 19:49:00 so pretty much everyone Sep 29 19:49:03 agree to disagree? Or maybe disaagree to disagree Sep 29 19:49:04 snielsen: yeah Sep 29 19:49:09 Agamemnus show me the word contract in the TOS Sep 29 19:49:25 Some of them have that word, but that's quite irrelevant. Sep 29 19:49:27 afaik you can't control cpu affinity from the java layer Sep 29 19:49:31 or better still show me how a 1 way agreement becomes a contract and I will yield Sep 29 19:49:37 Agamemnus: no one likes jumping through hoops, but that's life. Sep 29 19:49:43 Again I never said it was a contract. Sep 29 19:49:48 It's part of a contract. Sep 29 19:49:59 ok show me where the parent contact comes into force Sep 29 19:50:19 what are the commitments of google and where are they outlined Sep 29 19:50:23 If the ToS said that Google owns my soul, I'd say "yeah sure", but the actual contract wouldn't have those terms in force, because they are illegal. Sep 29 19:50:31 * ravilov wonders why are people still trying Sep 29 19:50:40 you guys - the best way to go about this is sign a peition (one exists) or submit feedback via Play Sep 29 19:50:40 it's not like anyone's opinion on this will change Sep 29 19:50:51 The UCC takes care of that. You need to also take into account over 400 years of US and British common law Sep 29 19:51:03 http://blogs.mydevstaging.com/blogs/dadabase/files/2014/04/jLZz4Na.gif Sep 29 19:51:06 common law has nothing to do with this Sep 29 19:51:07 and EU law Sep 29 19:51:10 g00s, what is the link? Sep 29 19:51:12 and any other law Sep 29 19:51:19 actually LAW has nothing to do with any of this Sep 29 19:51:23 danijoo, I see :p Sep 29 19:51:26 ^^ Sep 29 19:51:40 Also, what is the forum link? Sep 29 19:51:43 Agamemnus: are you an illegal citizen or something? ;p Sep 29 19:51:45 (what is the forum?) Sep 29 19:51:49 Wait, what Sep 29 19:52:07 yeah I fail to understand how is them asking for your physical address all of a sudden - illegal Sep 29 19:52:07 how about we all set the address to be google HQ? Sep 29 19:52:09 lasserix, if I get an accelerometer event, why wouldnt it block when it writes to the queue, something could grab something from the queue so it has to lock Sep 29 19:52:23 Agamemnus http://www.reddit.com/r/androiddev/comments/2gu1f4/petition_to_get_google_to_reverse_physical/ Sep 29 19:52:24 lasserix, something tells me they are not going to miss that details Sep 29 19:52:25 -s Sep 29 19:52:37 first of all, it's a gross invasion of privacy. They have absolutely no need for a physical address Sep 29 19:52:39 troned: you get a series of events, they get put into the queue, then when update comes in your loop you lock, process all the events, unlock and render Sep 29 19:52:46 damn, I really need to start a reddit account. Sep 29 19:53:08 troned: you only process when you update, hence lock on when you update, not every event Sep 29 19:53:11 Second of all, they are actually putting individual developers in physical danger -- that is grounds for a potential lawsuit Sep 29 19:53:11 Agamemnus, you do that, but don't complain if reddit starts asking you for your phyisical address at some point :p Sep 29 19:53:22 *you do not lock your entire game every time you get an acceleratometer event Sep 29 19:53:40 brb lunch! Sep 29 19:54:04 Agamemnus, like I said many times before, if any of this is unnaceptable for you, you are completely free to leave and not look back Sep 29 19:54:13 ravilov: i see Sep 29 19:54:16 for me the choice is clear, and I have yet to regret it Sep 29 19:54:43 ravilov: I think you would have liked the feudal system. Sep 29 19:54:48 Or maybe slavery Sep 29 19:54:51 Just be sure your app isnt bad or your customers will knock on yourdoor :D Sep 29 19:54:51 just because the service is there and is popular and widely available doesn't mean you are required to use it Sep 29 19:55:00 Agamemnus, this is the exact opposite of what you're talking about Sep 29 19:55:06 complete freedom to make your own choice Sep 29 19:55:11 Slavery. Sep 29 19:55:14 ravilov: didnt you want to stop trying? :D Sep 29 19:55:19 Slavery to corporations. Sep 29 19:55:21 danijoo, well none of you did! Sep 29 19:55:32 That's why we're making apps -- so we aren't slaves. Or at least I am. Sep 29 19:55:42 ravilov like Mavrik said, we're at the mercy of a captive market Sep 29 19:55:55 g00s, well I'm not Sep 29 19:55:56 I have a fragment containing another fragment with some log output (and code) in onPause(). Even when I replace or remove the parent fragment (and thus the child fragment with it), the child fragments onPause keeps getting called. how can I prevent this? Sep 29 19:56:15 Agamemnus, pretty sure your preaching in here is quite pointless, it's not changing anyone's mind or understanding Sep 29 19:56:16 do you sell your app on the streets of a big city? Sep 29 19:56:19 Agamemnus then stop using money, stop accepting implied value/worth, stop using google and their platform … then you can be something other than a slave Sep 29 19:56:30 ravilov you just haven't swallowed the red pill yet Sep 29 19:56:42 oh that slave thing makes it even funnier Sep 29 19:56:43 and I don't plan to! Sep 29 19:56:45 (but plans change) Sep 29 19:56:47 woah woah... come on now, no one is saying that money is slavery Sep 29 19:56:49 * danijoo provides popcorn Sep 29 19:56:54 *sigh* Sep 29 19:56:56 Agamemnus it 100% is Sep 29 19:57:01 but you use it Sep 29 19:57:02 I have no memory of this place Sep 29 19:57:05 People without understanding of history shouldn't read Ayn Rand. Sep 29 19:57:10 shipit: nice nick Sep 29 19:57:11 lasserix, OK but what if the update comes just when an event from the tiltSensor happens, the tiltSensor is inserting, then the updat tries to lock. I just dont get how you can lock one way Sep 29 19:57:11 you could stop though, and be free :) Sep 29 19:57:35 thanks Agamemnus -- how's god work on mt olympus? ;) Sep 29 19:57:36 there are hundreds of people out there living "off the grid" Sep 29 19:57:42 therefore it must be possible Sep 29 19:57:44 seriously, as customers, would you feel ok that someone you bought something from would be able to just hide himself from legal responsibility? Sep 29 19:57:57 ravilov yeah, i think htis is going to work http://pastebin.com/rE6T7HUc . so long as I can modify the weightsum dynamically Sep 29 19:57:57 EPG: +1 Sep 29 19:58:30 EPG the address is provided "on purchase" Sep 29 19:58:33 your physical address is in the receipt Sep 29 19:58:36 there is no hiding Sep 29 19:58:42 I see Sep 29 19:58:48 can we stop the political/legal kind of offtopic spamming and get back to code :( Sep 29 19:58:48 what this is about is your physical address going on the front page of the internet Sep 29 19:58:50 My name is a corruption of Agamemnon Sep 29 19:58:55 I'm kind of stuck Sep 29 19:59:01 true Sep 29 19:59:01 anyone likes memes? animated GIFs? I love 'em! -- I just thought of a meme keyboard for Android Sep 29 19:59:04 mattblang, cool! Sep 29 19:59:20 Sorry, I don't code in Java... I use Cordova Crosswalk Sep 29 19:59:23 g00s, at least in Germany this is already the case if you have a website Sep 29 19:59:28 shipit: I actually thought of that the other day Sep 29 19:59:29 shipit: and then i put memes into chromes searchbar while typing? ^^ Sep 29 19:59:40 basically, I want to comment or tweet or something -- I want to switch the keyboard, select meme/gif and/or customize - bam! Sep 29 19:59:41 Syzygy_, you definitely *are* stuck, but not where you think - you're stuck in this political/legal debate :p Sep 29 19:59:43 I was thinking they'd be reaction gifs Sep 29 19:59:51 ravilov, sadly, this is true. Sep 29 19:59:55 EPG sure, another issue is we should be able to opt out of regional policies by not selling in those regions Sep 29 20:00:20 that's indeed a great and reasonable idea Sep 29 20:00:21 EPG, wait, you need to list your adress on all german websites? Sep 29 20:00:30 danijoo: when I reply to tweets, I don't want to switch context, search/copy-paste etc Sep 29 20:00:38 StingRay_, I thought the whole point is the address is provided/visible regardless of purchase Sep 29 20:00:39 or e-mail replies ... Sep 29 20:00:43 Syzygy_ you want to stop the normal lifeCycle ? Sep 29 20:00:53 Syzygy_, if I host in Germany I have de facto no other choice Sep 29 20:01:08 StingRay_, I want to stop my fragment once it's switched out for another fragment Sep 29 20:01:13 there exist exceptions for purely personal websites but that won't affect me Sep 29 20:01:25 ravilov the problem is the privacy and "personal" responsibility/liability) of a "users" information Sep 29 20:01:33 EPG, weird, never heard about that. Sep 29 20:01:34 g00s, don't worry, the internet knows about your physical whereabouts already :p Sep 29 20:01:42 you the dev need to be accountable Sep 29 20:01:45 i doubt it though Sep 29 20:01:52 that I do agree with Sep 29 20:01:54 they can be, no need for a physical address Sep 29 20:02:18 or if there is, it should be private (only seen by Google) and ultra-secure Sep 29 20:02:19 Syzygy_, and it must be a summonable address, no PO box Sep 29 20:02:38 Syzygy_ then your question didn't make sense to me… sounded like you wanted to stop onPause from a child fragment when parent goes bye bye Sep 29 20:02:39 the physical address is totally required, how else am I going to murder you in your sleep because I bought an app from you and now you won't respond to my angry emails? :p Sep 29 20:02:41 glad I live in austria then :> Sep 29 20:03:28 StingRay_, I was under the impression that if I kill of the parents, the children also die Sep 29 20:03:44 Syzygy_ yes, onPause, onStop etc Sep 29 20:03:45 not necessarily, sometimes they become zombies (no joke) Sep 29 20:03:57 Syzygy_ you are wanting to prevent onPause though ? Sep 29 20:04:03 thats odd Sep 29 20:05:03 well, let me put it this way, the dev page for fragments states that stuff that should be saved accross sessions should be done in onPause() of the fragment. Sep 29 20:05:42 since save operations are usually somewhat resource heavy I kind of have issue with it happening even when the fragment has been switched out Sep 29 20:06:05 saving a session should not be so heavy Sep 29 20:06:07 what are you saving ? Sep 29 20:06:13 but if it is, you can always do it in a bg thread Sep 29 20:06:29 user data, for now only name and birthdate, but some other stuff will be added Sep 29 20:06:40 Syzygy_ thats not heavy :) Sep 29 20:06:44 that should be pretty much instant Sep 29 20:07:03 Syzygy_ saving a bitmap would be heavy Sep 29 20:07:06 unless you're saving it to some online address or something Sep 29 20:07:40 to the Almighty Cloud! Sep 29 20:07:57 it is, but other parts of my app are already not running that fluidly, so I don't want to save with every fragment transaction, but rather only once the fragment goes offscreen and then never again until it is on screen again Sep 29 20:08:17 I actually am saving it on our backend Sep 29 20:08:29 at least I should, for some reason it's only local right now Sep 29 20:08:33 maybe the solution is to optimize and improve other parts then? Sep 29 20:08:58 ravilov, there's only so much optimization that can be done under the current restraints Sep 29 20:09:35 time crunch? that's usually the reason/excuse :p Sep 29 20:09:50 is calling the GC manually in a game OK? this google guy suggests it: http://www.youtube.com/watch?v=U4Bk5rmIpic&noredirect=1 Sep 29 20:10:11 that and we already optimized a lot. it runs fairly smooth, but on old phones there are some issues Sep 29 20:11:24 we hit a spot where it's somewhat noticeable, but not too bad. now I just don't want this part of the app which doesn't really have anything to do with the others to spill over and suck up performance for no reason. Sep 29 20:11:32 troned, there should be no problems doing that, but it shouldn't ever be necessary and it won't accomplish much, it only asks the system to "please do the GC when it can" which it will do anyway Sep 29 20:11:49 OK so it is not instant? Sep 29 20:11:54 no Sep 29 20:12:11 it might bump the priority and the system might get on it sooner, but it is not instant Sep 29 20:12:31 ok then its not that usable Sep 29 20:12:45 troned, also see this http://stackoverflow.com/questions/2414105/why-is-it-bad-practice-to-call-system-gc#answer-2414120 Sep 29 20:13:25 like the guy says there, needing to call GC manually could very well be an indication of broken code Sep 29 20:14:01 can someone explain to me why if I have a TiltSensor that pushes to an ArrayBlockingQueue and another thread that processes from that Q, why dont the tiltSensor have to lock the Q when inserting? then what happens if the other thread locks when tiltSensor is inserting? Sep 29 20:14:10 troned, as stated before it shouldn't be necessary at all, but at the end of level loading or after a menu has opened it might have some positive effect Sep 29 20:14:26 troned ABQ is designed for concurrency :| Sep 29 20:14:38 notice what package it is in Sep 29 20:15:24 yes but then it is blocking itself underneath so what is the difference? Sep 29 20:15:38 so, the sample code in IabHelper(from Google) crashes with null pointer exception(because mService is null) if the service disconnects(which they handle, and set the mService to null) Sep 29 20:15:41 it only blocks if capacity is reached Sep 29 20:15:42 :/ Sep 29 20:15:46 that's kind of shit, imoi Sep 29 20:16:04 https://www.reddit.com/r/Android/comments/2ht0gz/dev_psa_google_play_has_added_the_physical/ Sep 29 20:16:05 so now we have to fix googles code in order to use their services Sep 29 20:16:17 ggVGc what did you expect :| Sep 29 20:16:27 my fragments seem to be immortal. Sep 29 20:17:06 every dev's dream, right? Sep 29 20:17:15 haha "By providing your email or postal address information, you confirm that you consent to Google publicly displaying or disclosing that information in connection with your apps." Sep 29 20:17:27 well, then not supplying is not consenting, right ? Sep 29 20:17:48 hi Sep 29 20:17:50 "by not providing said info, you confirm that you want your account terminated" :p Sep 29 20:18:33 i put in my ListView visibility gone, in my java i put mList.setVisibility(View.VISIBLE); but is not work. Sep 29 20:18:36 how i can solve? Sep 29 20:19:21 g00s, but how can it not have to block ? because it knows removing and writing is not in the same place? Sep 29 20:19:22 troned calling it manually wont help you here Sep 29 20:19:47 troned you need to read up on java concurrency Sep 29 20:19:48 lasserix, I see, I am trying to understand how the ABQ dont have to block itself Sep 29 20:19:50 yes Sep 29 20:20:12 lasserix, OK but what if the update comes just when an event from the tiltSensor happens, the tiltSensor is inserting, then the updat tries to lock. I just dont get how you can lock one way --> while the update occurs, any events are fed into the queue, so they don't block the update, that's why are there are two queues Sep 29 20:20:18 troned, it's probably blocking, but handled internally Sep 29 20:20:24 its a READ ONLY lock Sep 29 20:20:29 it blocks itself, but not writers Sep 29 20:20:35 since you have double buffered the input Sep 29 20:20:37 by having two queues Sep 29 20:21:05 so basically events->queue one. then update->queue one feed queue two, return events Sep 29 20:21:30 events incoming will not block the update, since update is only reading what is in its queue Sep 29 20:21:37 g00s: on one hand I appreciate they made IabHelper, because the API for in app billing is really complex and takes ages to get your head around completely. But on the other hand, maybe they shouldn't have supplied it since if you use it(which they say you can/should), you get crashes.. Sep 29 20:21:38 each update cycle, it flushes the other queue into its queue Sep 29 20:21:45 what do I need to do to kill a fragment? I am already remove()ing all fragments from their respective fragment managers -.- Sep 29 20:21:47 hence any events happening while update wait for the update to finish Sep 29 20:22:13 Syzygy_, and that is faster somehow? Sep 29 20:22:28 Syzygy_, don't fragments die on their own when the activity dies? Sep 29 20:22:39 troned: and if you noticed, that input pipeline reuses events of its own type, hence no gc errors Sep 29 20:22:42 troned, in that you can't mess it up Sep 29 20:23:15 ravilov, I'm not killing the activity. almost all my actions happen within fragments of my MainActivity. Sep 29 20:23:42 ah hm, then send it a message/runnable asking it to terminate? Sep 29 20:23:45 just an idea Sep 29 20:24:07 wouldn't removing the fragment from the fragment manager kind of kill it? Sep 29 20:24:31 dunno, never worked with fragments before Sep 29 20:24:46 you'd think it would but I wouldn't be surprised if it doesn't Sep 29 20:25:10 well, apperently it doesn't. let's see what manually calling onDestroy() does. Sep 29 20:25:10 Syzygy_: Are you having problems with Fragments not dying? Sep 29 20:25:39 do fragments have their own finish() ? Sep 29 20:26:00 Syzygy_, uh, *never* call on*() methods directly Sep 29 20:26:06 Ironthighs, yes Sep 29 20:26:52 Syzygy_: why do you want such explicit control over the Fragment lifecycle? Sep 29 20:27:34 according to quick googling, removing the fragment should terminate it, unless you're doing some black magic inside it Sep 29 20:27:35 because the ProfileFragments onPause is called everytime any fragment would pause, pushing data to the backend Sep 29 20:27:50 It's tied to the Activity Sep 29 20:28:15 someone knows if its possible to activate the overflow button in the actionbar (appcompat v7) somehow? Sep 29 20:28:35 Syzygy_, maybe you could check if the currently displayed fragment is in fact ProfileFragment and avoid saving if it's not? Sep 29 20:28:50 http://developer.android.com/guide/components/fragments.html#Managing Sep 29 20:29:08 before I continue with ABQ, should I get rid of the Looper/HandlerThread/Messages? I dont need them? Then I can get rid of some GC maybe Sep 29 20:29:32 technically I can just look up if the local data of the user has changed and only push then. but I shouldn't even have to do that. Sep 29 20:29:33 you seem to be really obsessed with this GC stuff Sep 29 20:29:57 Ironthighs, the problem is that my activity stays active Sep 29 20:30:09 Syzygy_, checking if the current fragment is the one you need seems more efficient, more elegant and simpler Sep 29 20:30:17 ravilov: his game is hiccuping Sep 29 20:30:29 ravilov, I haven't found a method of doing that. Sep 29 20:30:36 lasserix, I see, well I doubt any fiddling with GC will help with that Sep 29 20:30:42 ravilov: yeah it will Sep 29 20:30:52 gc pause is 20-200 ms Sep 29 20:30:52 ravilov wat Sep 29 20:31:00 that causes rough animation Sep 29 20:31:02 whoa ravilov Sep 29 20:31:24 ... Sep 29 20:31:30 ravilov gc can't fix what you didn't address in design Sep 29 20:31:33 ravilov, but more efficient, elegant and simpler would be finishing the fragment once I don't need it anymore. Sep 29 20:31:48 troned, are you creating and destroying a lot of objects? Sep 29 20:32:08 Syzygy_, which according to docs should happen when you remove/replace the fragment Sep 29 20:32:16 but doesn't Sep 29 20:32:33 yeah Sep 29 20:32:43 at least not within like 30 seconds which is about as long as i tested it afterwards Sep 29 20:33:10 Syzygy_: your design is flawed if your fragment is managing your model Sep 29 20:33:51 i just saw the other day a blog post that made the fragment the model Sep 29 20:33:59 really? Sep 29 20:34:04 seems like totally contrary Sep 29 20:34:08 Syzygy_, it seems so, GC is continously collecting around 1.5MB which I think are Messages. Sep 29 20:34:13 to what is supposed to be, reusable piece of UI Sep 29 20:34:20 whooaa Sep 29 20:34:25 1.5MB Sep 29 20:34:36 lasserix, possibly, well, the fragment only sets things in motion when it goes into background (e.g. save the data once I'm done) Sep 29 20:34:41 troned you can use eclipse memory analyzyer, dump an hprof Sep 29 20:34:55 I don't really see how that contradicts stuff like the MVP pattern Sep 29 20:35:07 Syzygy_: you are saying it's aproblem because it triggers that too often? Sep 29 20:35:30 so a) if dirty save b) but a delayed timer (ieif the fragment comes back cancel the write operation) Sep 29 20:35:44 im guessing that you are trying to deal with that resume-pause-resume-pause Sep 29 20:35:46 hey guys, what do you think about google now demanding your physical address? Sep 29 20:35:50 lasserix, yes. as I said, onPause() where stuff like this is supposed to be done according to the android thingy about fragments, gets called everytime any fragment's onPause is called Sep 29 20:36:10 Syzygy_:what's your actual problem tho? Sep 29 20:36:19 danijoo, do you have a death wish? :p Sep 29 20:36:21 hi. in sqlite, how do write an insert/update statement for a BLOB? I just need syntax. not more. Sep 29 20:36:23 :D Sep 29 20:36:23 even if that specific fragment isn't visible, or in fact attached to a fragment manager Sep 29 20:36:44 ahh Sep 29 20:36:53 can't you combine it with fragment.isDisplayed or whatever? Sep 29 20:37:09 lasserix, basically what I just said. I have a fragment that does stuff in onPause and onPause is called even when the fragment has been replaced/removed. Sep 29 20:37:25 lasserix, that's what I suggested only minutes ago ;) Sep 29 20:37:32 that's because onpause is called first when destroy happens Sep 29 20:37:45 just use a delayed runnable, and remove it if one of those gets called Sep 29 20:37:50 i'm not talking about once or twice. Sep 29 20:38:12 can't you just add an extra condition (ifVisible)? Sep 29 20:38:13 it keeps getting called even when I cause an onPause event seconds later in another fragment Sep 29 20:38:21 android.view.InflateException: Binary XML file line #62: Error inflating class fragment Sep 29 20:38:24 :( Sep 29 20:38:24 I have if(!isHidden) right now Sep 29 20:38:26 doesn't work Sep 29 20:38:31 troned: look in your code for new Sep 29 20:38:40 wherever you have new you are probably causing lots of GC Sep 29 20:38:47 troned: ALSO note that log causes GC Sep 29 20:38:55 so trying turning off your logs Sep 29 20:38:58 and see if you get the problem Sep 29 20:40:17 troned, if it's something within your app (like NPCs dying, bullets despawning or ground tiles getting offscreen), try reusing those things Sep 29 20:40:31 yeah you want to use pools for all your objects Sep 29 20:41:14 https://www.utdallas.edu/~dheroy/4331code/book/doc/java/util/concurrent/ArrayBlockingQueue.html is not the same as http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html? Sep 29 20:41:18 in fact replica island's fundemnetal/base class is an object pool Sep 29 20:41:20 the first talks about locks Sep 29 20:41:27 so instead of enemy = null; or enemy = new Enemy();, you do enemy.reset(); which sets all the values back to the starting values Sep 29 20:41:44 troned why are you so stuck on locks? Sep 29 20:41:52 learning Sep 29 20:41:56 as I explained before the locks on the queu are not the same as the locks on your game loop Sep 29 20:42:08 man, the amazon kindle apps struggles so much with jankiness (scrolling a gridview of my library) Sep 29 20:42:20 i would have thought they'd have that down Sep 29 20:42:22 the problem is you are using a lock on your accelerometer event on your game loop which is no wonder why it is slowing it down Sep 29 20:42:32 since the accelerometer events fire @ 120hz or osmething Sep 29 20:42:47 troned another topic to read about is lockless data structures :) Sep 29 20:43:11 thats essentially waht the input pipeline is Sep 29 20:43:34 it just uses blocking queues to handle throttling Sep 29 20:43:42 (err maybe not) Sep 29 20:43:46 ABQ is not lockless Sep 29 20:43:58 can someone solve the problem? Sep 29 20:43:58 yeah i know but it is not the lock on his game loop Sep 29 20:44:13 g00s and i was talking about the use of the ABQ not the abq itself Sep 29 20:44:42 it double buffers the ABQ as a pipeline for input events, Sep 29 20:47:09 would the size of the ABQ matter for speed? Sep 29 20:47:31 no Sep 29 20:47:42 just dont make it one hundred thousand Sep 29 20:48:22 troned and theoretically you could make your tiltsensor average every 4 events and then post that to your game loop Sep 29 20:48:32 since it is firing at 120 there's nor eason to update your game loop that much Sep 29 20:48:34 if you just average it Sep 29 20:49:17 or measure the time it takes between events, then use that as your baseline for how many to average Sep 29 20:49:26 god damn it, I have another fragment issue -.- Sep 29 20:53:25 So when I return to my fragment later on, I get this error: IllegalArgumentException: Binary XML file line #139: Duplicate id 0x7f060102, tag null, or parent id 0x0 with another fragment for my.package.MyParentFragment Sep 29 20:53:54 line 139 in the xml is the line where the childfragment is defined Sep 29 20:55:43 I really don't get what I'm doing wrong here. Sep 29 20:56:22 so get this crash I just need to open the fragment, replace it with another, and then replace it back Sep 29 21:01:31 "hg ci -A -m"Handling disconnection of IAB service, since google didn't..."" Sep 29 21:01:34 story of my life.. Sep 29 21:05:50 If I use registerListener(SensorEventListener listener, Sensor sensor, int rateUs) instead of registerListener(SensorEventListener listener, Sensor sensor, int rateUs, Handler handler), will events be delivered on the main thread and not the thread that created it? Sep 29 21:07:44 So it seems like all the problems I had all day are caused by fragments staying alive. And I still can't kill them. Sep 29 21:08:56 *cue Beegees* Sep 29 21:09:25 http://www.steveheimoff.com/wp-content/uploads/2014/08/BeeGees.jpg Sep 29 21:09:33 Syzygy_ plenty of gotchas in fragments, but that sounds like you're not doing it right :| Sep 29 21:10:28 possibly. Sep 29 21:12:47 Seems I need a Handler and those damn Messages unless it is ok to deliver sensor events on the main thread Sep 29 21:12:58 hello guys, always when i import a new project, cloning something from git It's comming broke, I have to import some jars, and put some deps, I wnat to know a easy way to work with that, in java we may use maven... Sep 29 21:13:02 how it is Sep 29 21:16:42 use gradle properly ? Sep 29 21:20:15 Do I need ADB to view log messages? i dont get log messages any more, dont know why Sep 29 21:20:26 yes Sep 29 21:21:39 no? Sep 29 21:21:50 yes Sep 29 21:23:02 reattach the device to you system Sep 29 21:23:12 bankai_cn where is cn ? Sep 29 21:23:29 china Sep 29 21:23:29 sometimes adb just disconnects Sep 29 21:24:47 g00s: it's in reference to our new internet monitoring laws -- made china sound freer than .au Sep 29 21:25:10 bankai_cn oh yeah i heard about that :( Sep 29 21:25:40 next move is dprk -- they don't even have internet, so no worries there :) Sep 29 21:27:13 of course they have internet, just in pyonyang when the electricity is on in a few govt buildings Sep 29 21:27:26 :) Sep 29 21:27:32 haha Sep 29 21:28:06 there are always satellites, they can't censor that can they? Sep 29 21:28:20 they can with missiles Sep 29 21:28:23 troned: um if you use the input pipeline link i sent you you don't need to use handler Sep 29 21:28:52 lasserix, I can deliver on main thread? is that really recommended? Sep 29 21:29:31 ravilov i'm sure kim jong-un can order a satellite down simply by speaking to it Sep 29 21:29:35 troned, your game loop is not on the main thread Sep 29 21:29:44 sure its just like touch event Sep 29 21:29:51 but it really doesn't matter Sep 29 21:29:58 if you use game loop you can use seperate thread Sep 29 21:30:08 for accelerometer than just push to your game loop thread Sep 29 21:30:09 i think troned needs to step back for a little while, read, understand Sep 29 21:30:45 meanwhile, where the fuck is my apple bash security update Sep 29 21:31:01 http://stackoverflow.com/questions/19256929/android-how-to-run-your-sensor-service-thread-activity Sep 29 21:31:12 Right with the iphone's ability to make calls Sep 29 21:31:14 I've a searchview that is firing onQueryTextChange when the fragment is restored. based on the stacktrace I think it's due to a previous onRestoreInstanceState Sep 29 21:31:18 any way to avoid this? Sep 29 21:31:19 expect part c) should read push to game loop and process Sep 29 21:31:33 if you use the input pipeline link i showed you, that can be part c Sep 29 21:32:06 it's causing me a lot of problems because I cannot tell if the user typed something or the activity was resumed.. Sep 29 21:32:12 g00s, your apple-endorsed system will get a bash *downgrade* if anything :p Sep 29 21:32:49 * ravilov has already updated all his systems long time ago Sep 29 21:33:35 for most people it's not that big of a deal, just be patient, young g00s :) Sep 29 21:33:50 apple have too much to worry about dealing with their crappy OS rollout Sep 29 21:34:01 and bent phones.... Sep 29 21:34:30 wonder if the non-bendy fix will also contain a patched bash Sep 29 21:35:04 you're holding it wrong, you're putting it in your pocket wrong, you're using it wrong Sep 29 21:35:04 lasserix, considering all this effort (which I'm not sure is even worth it), I hope you at least expect a free copy of his brand new game :p Sep 29 21:38:48 bankai_cn, if you're using it at all, it's wrong ;) Sep 29 21:38:49 heh its complicated stuff Sep 29 21:38:49 really forces you to understand all the gritty details Sep 29 21:38:51 i remember in my early days of trying to do multithreading in my game engine, i got everything working except my tank ( i was making a battlezone clone) would stutter every couple of seconds Sep 29 21:38:51 just so in the end you would realize you were doing it all wrong all along ;) Sep 29 21:38:51 took me 3 months to realize i wasn't make a deep copy of the world (i was using a double buffer for the state) Sep 29 21:38:51 hence it was blocking Sep 29 21:38:51 but anyways Sep 29 21:38:52 whoa, 3 months of active investigation?? Sep 29 21:38:53 or did you just drop it and pick it back up after 3 months? Sep 29 21:38:53 no i dropped it after a week or two Sep 29 21:38:54 since i couldn't figure it out and there's no way i could really make it work Sep 29 21:38:54 i did a few othe rthings --collision detection, world generation Sep 29 21:38:54 but then gave up Sep 29 21:38:54 then it dawned on me one day, deep copy! and it fixed it ;p Sep 29 21:38:55 but by then i was employed so... Sep 29 21:39:05 so THAT's what it took! employment! lol Sep 29 21:39:37 umm i can't rmember but yeah i think i had to implement a specialized hashfunction Sep 29 21:39:52 which made me realize difference between deep and shallow copy, or at least what is which and when Sep 29 21:40:01 employment doesn't help me make my game faster :( Sep 29 21:40:13 and i went back to the code and bam, (i thought it was doing deep copy, but it wasn't) Sep 29 21:40:16 hehe yeah Syzygy_it hurts sometimes ;p Sep 29 21:40:22 Syzygy_, in your case it could be the other way around - quit your job! :p Sep 29 21:40:33 not that I would make my game faster if i were unemployed Sep 29 21:40:41 I kind of like my job though Sep 29 21:41:05 I only work for 25 hours a week anyway. Sep 29 21:41:06 except for the slow game part Sep 29 21:41:23 which would be slow either way, if i'm perfectly honest Sep 29 21:41:46 I appreciate it lasserix. And I feel a bit bad, you are TOO helpful perhaps. I need to sit down with this now and figure it out myself. Sep 29 21:41:59 maybe y'all should just go back to making chess and tetris clones or something :p Sep 29 21:42:00 its no problem it is fairly confusing Sep 29 21:42:05 at times Sep 29 21:42:09 during my summer holidays which will end this week i only managed to implement (decently working) character and camera controlls Sep 29 21:42:12 just reealize you want to minimize locking Sep 29 21:42:19 not lock every accelerometer event Sep 29 21:42:23 because I spent so little time on it :( Sep 29 21:42:34 you have a sequence of incoming events, but only lock while you update, which is when you processing pending events, Sep 29 21:42:38 Syzygy_, too much time spent on booze and girls? Sep 29 21:42:49 if only Sep 29 21:42:56 Anyway, the game will be free for everyone, so yeah he will get a free copy :) Sep 29 21:43:14 troned, then he better be part of the credits :p Sep 29 21:43:20 to much time spent on procrastinating and pleasuring myself. Sep 29 21:43:30 ... that sounds nasty Sep 29 21:43:42 sometimes ;) Sep 29 21:43:42 ravilov, nah I have done everything myself. Sep 29 21:44:13 he pointed me to a good article on gam,eloops and explained a lot of concepts to me though Sep 29 21:48:17 apperently I'm such a good programmer that I don't even know how I fixed all my problems... I just did. Sep 29 21:49:16 oh that's bad :/ Sep 29 21:54:14 well, I know how I fixed one of them and that might have ended up fixing the other one as well Sep 29 21:54:21 you didnt fix it you suppressed the symptoms Sep 29 21:54:27 haha! Sep 29 21:54:41 PinkSpecs, no i fixed them. I would still see the symptoms otherwise Sep 29 21:55:06 suppressing the symptoms of one of them was what I was recommended here about 5 times Sep 29 21:56:05 Syzygy_: aaaah well good for you then Sep 29 21:56:54 indeed. now time to figure out why my rest task doesn't push its stuff to the server Sep 29 22:01:51 I should probably start thinking about leaving work for today... last subway is leaving soon Sep 29 23:08:56 I need the user to register, login with your credentials to access the next page. I'm doing this in UserDao using cursor using "username =?" and "password =" to check if the username is the same that is registered in the database, but my cursor just returns null. Sep 29 23:09:47 this is my userDAO: http://dpaste.com/3KG75Y0 Sep 29 23:10:36 and here is where I verify: http://dpaste.com/04558NQ Sep 29 23:23:26 Some people advocate using Fragments instead of secondary Activitys (e.g., having MainActivity and then having a Fragment for every other screen). What do you folks think about this? Sep 29 23:24:23 TacticalJoke if you don't foresee reusing the Fragment elsewhere, stay w an Activity Sep 30 00:19:00 how do i disable clicking on some parts of a ListView item? Or at least ignore the clicks? Sep 30 00:19:21 i have a Favorites Star on the right hand side that is a checkbox but also have an action when user clicks on the list item Sep 30 00:19:44 but if they click the star but not 100% they can accidently fire off the other action Sep 30 00:46:43 If my app is doing an IO operation in a background thread, and the user closes my app, could Android kill my thread and leave the operation half-done? Sep 30 01:05:24 yes Sep 30 01:06:52 Anyone know if you can do a voice action on android wear, something like "ok google {my action}". Looking at the docs https://developer.android.com/training/wearables/apps/voice.html it looks like I might have to do "ok google start myapp {my action}" Sep 30 01:07:17 g00s: taking one of the pups in for a "spa treatment" tomorrow :/ Sep 30 01:09:21 pfn: So what's the best way to handle this situation? Sep 30 01:14:34 TacticalJoke yes, it can kill the thread. if it's important that it keep running without an activity or dialog open, then put it into a Service Sep 30 01:14:48 IntentService was created pretty much specifically for your use case Sep 30 01:14:57 Okay. This makes me wonder why people ever use Threads. Hmm. Sep 30 01:15:00 Or AsyncTasks. Sep 30 01:15:03 Yes, use a life cycle container such as a service Sep 30 01:15:10 a service is not a threas Sep 30 01:15:12 thread Sep 30 01:15:15 it holds a "wake lock" until your method is complete, which prevents the device from going to sleep and halting processing Sep 30 01:15:19 it's a life cycle container Sep 30 01:15:49 using bare Threads in android is a sign of an android developer that either *really* knows what they're doing, or much much much more likely, has no idea what they're doing Sep 30 01:16:21 sarbs: Does the same apply to AsyncTasks? Sep 30 01:16:30 AsyncTasks are good for things like quick webservice lookups or database accesses, within the context of an activity Sep 30 01:16:49 generally the result of an AsyncTask doesn't matter beyond the life of the activity Sep 30 01:17:00 if a task does matter beyond the life of an activity, it should likely be in a service Sep 30 01:17:27 asynctask sucks Sep 30 01:17:54 I see. Sep 30 01:18:18 don't mind pfn, he just dislikes AsyncTask because it attempts to mask the fact that Threading Is Hard ;) Sep 30 01:18:29 But one problem seems to be that AsyncTasks can be killed by the system. So if I wanna do a database write in an AsyncTask, and then the user closes the app, that write might never complete. Sep 30 01:18:49 tj correct Sep 30 01:18:51 Yeah, threading is just horrible. Sep 30 01:18:58 don't use it for critical operations Sep 30 01:19:29 IntentService is a lot like AsyncTask, but it maintains its own lifecycle and will start/keepalive the process if it needs to. Sep 30 01:19:32 nah, asynctask tries and does it poorly Sep 30 01:20:03 use a proper life cycle container, threading is not horrible Sep 30 01:21:00 If I were to make something like a Reddit client, how should I handle the downloads? I was considering an AsyncTask or a Thread. Sep 30 01:21:07 And uploads, I guess. Sep 30 01:21:31 downloading a file, there's DownloadManager Sep 30 01:21:35 uploading a file, i'd write a service Sep 30 01:21:54 downloading a thread simply to display, i'd use asynctask - since if the activity to display the thread goes away, nobody cares about the result Sep 30 01:21:58 This'll be downlading/uploading via HTTP. Sep 30 01:22:06 True. Sep 30 01:22:25 read jcip, make proper use of services, problem solved Sep 30 01:25:03 BTW, the reason I said that threading is horrible is that, a few years ago, I worked on a C# project that did a lot of reading from and writing to sockets. It was a multi-threading nightmare. It almost put me off programming for life. Sep 30 01:25:13 But maybe Android is less of a nightmare in general. I'm slowly learning. Sep 30 01:26:19 it's about the samr Sep 30 01:26:29 c# derives from java Sep 30 01:26:47 except for the newer async/await stuff Sep 30 01:26:53 which is much nicer Sep 30 01:28:48 Yeah. Sep 30 01:29:13 I was just thinking... Sep 30 01:29:16 hmm, I think I'll pay for utorrent on android, the ads so annoying Sep 30 01:29:44 I have another app that writes to a file on Activity.onPause. This should be a fast write, but is it possible for this write to simply be halted if the user closes my app? Sep 30 01:29:50 With the result that the file is never fully written? Sep 30 01:30:06 possible, but pretty unlikely Sep 30 01:31:30 I wonder whether "finally" (of try..finally) would run in that case. I'm guessing not. Sep 30 01:31:39 Oh, you do it in onPause? Sep 30 01:31:43 it's safe Sep 30 01:32:07 it's not really eligible to be killed until pausing completed Sep 30 01:32:30 Yeah, in the UI thread in onPause. Sep 30 01:32:35 finally is only useful for exceptional cases Sep 30 01:32:57 onPause and onStop are always guaranteed to be called, as long as the lifecycle is ending normally Sep 30 01:33:11 your process can still be killed outright, but, you're boned in that situation either way Sep 30 01:33:36 I don't remember onStop being guaranteed Sep 30 01:33:45 that's more akin to "someone pulled the plug" than "this can happen normally" Sep 30 01:33:54 see activity life cycle docs Sep 30 01:33:56 * sarbs is 85% sure onStop is guaranteed Sep 30 01:34:18 but yes rtfm, don't necessarily just listen to me cuz i sound like i know what i'm talking about lol Sep 30 01:34:23 It seems possible for Android to kill a process and for the user to incur data loss. Hmm. Sep 30 01:34:26 android app.Activity javadoc should say otherwise Sep 30 01:34:37 I guess a database might be recoverable, but anything else doesn't sound good. Sep 30 01:35:15 it's really not hard to build around, you just work within the guarantees the framework gives you Sep 30 01:35:49 pretty much, adhere to the life cycle and data loss will not occur outside of some bugs Sep 30 01:35:58 there's an option that can help you test these situations in Developer Options; "kill backgrounded activities" or somethin Sep 30 01:36:57 Oh, that's interesting. Had never considered that option helping here. Sep 30 01:40:34 it doesn't necessarily end the process immediately but it does destroy activities immediately upon backgrounding them. when a process no longer has any live components, then it will (likely) soon be killed. Sep 30 01:44:56 onStop is not guaranteed, pfn is correct. "A paused activity is completely alive (it maintains all state and member information and remains attached to the window manager), but can be killed by the system in extreme low memory situations." Sep 30 01:46:00 https://developer.android.com/reference/android/app/Activity.html for more info on it. the activity and service lifecycles are very important to know Sep 30 01:46:16 i'm out for know, pounding head against framework and gonna reset Sep 30 01:46:51 Okay, thanks. :) Sep 30 01:54:57 Is it really bad if I do some (small) IO reads/writes on the UI thread? Sep 30 01:55:04 I've never noticed any lag, but I wonder if it could ever be a problem. Sep 30 01:55:20 what do you guys think about MVP in android? Is it right direction for me to dig? Sep 30 01:56:46 ravilov: my problem is solved. you were right. I saw an exemple that actually was really close to mine Sep 30 01:58:55 TacticalJoke, at some. point it may be come a problem, but given hardware advances, probably not Sep 30 01:59:27 Okay. Sep 30 02:00:21 bankai_cn spa treatment, wow ... Sep 30 02:02:43 pfn do you know, if somebody sideloads an apk, does play manage it from that point or is it an orphan ? Sep 30 02:02:53 that is manage new versions Sep 30 02:03:06 orphaned Sep 30 02:03:40 hm, k. i was hoping to give them free eval versions that would then be updated in the beta channel Sep 30 02:09:57 g00s: read between the lines :P Sep 30 02:10:23 bankai_cn hm? Sep 30 02:10:28 chop chop Sep 30 02:10:42 oh hair cuts :) Sep 30 02:10:48 lower Sep 30 02:10:48 nudge nudge, wink wink ;) Sep 30 02:10:54 bankai_cn oohhhh Sep 30 02:11:13 bankai_cn how old is he ? Sep 30 02:11:20 4 Sep 30 02:11:30 bit late in life, but he needs it done Sep 30 02:11:31 hm, might be too old to have any effect - not sure though Sep 30 02:12:11 seen any of the javaone stuff or not interested? Sep 30 02:12:28 haven't seen it ... readin ble and dsp Sep 30 02:15:58 watching something on streams and lambdas -- very cool. Pity most of my life is stuck between java 6 and 7 Sep 30 02:16:10 bankai_cn yeah, thats why i'm not really keeping up on it Sep 30 02:16:45 if i was in enterprise / EE environment i'd try to use clojure or scala anyhow Sep 30 02:17:19 I hate java for not being perfect from the start and making me forget/relearn all those evolutions Sep 30 02:17:55 java 1.0 with AWT anyone ? Sep 30 02:34:26 anyone active in here? Sep 30 02:36:19 cool http://www.gizmag.com/seek-thermal/33982/ Sep 30 02:37:42 g00s, you could be using clojure or scala anyway. Sep 30 02:38:16 what does this mean: cannot merge new index 66853 into a non-jumbo instruction! Sep 30 02:38:19 during dex Sep 30 02:38:39 that’s not 65k method limit error that i’m familiar with so im thinking its something else? Sep 30 02:44:50 Someone explain something to me. I'm new to java and android sdk. my app is named "local.myapp" with the main activity being "main" so i've been using "local.myapp.main" for the base naming structure. now i'm trying to get it to recognize play services but "compile 'local.myapp.main:play-services:5.+'" isn't working. can someone shed some light on the naming structure? Sep 30 02:47:12 sk8rjess: that’s a dependency that’s not part of your project Sep 30 02:47:28 you want this: compile 'com.google.android.gms:play-services:5.+’ Sep 30 02:48:08 it’s pulled from a local maven repo set up by your SDK manager Sep 30 02:48:22 assuming you have the google repository set up in there Sep 30 02:50:54 @jacobtabak so i wouldn't rename 'com.google.android.gms' to my app name? Sep 30 02:51:24 no Sep 30 02:51:40 no, when you’re adding dependencies you’d use whatever the group name is in the repository Sep 30 02:51:41 you use the package name of the dependency you're including Sep 30 02:51:52 the dependency format is group-name:artifact-name:version Sep 30 02:52:01 well doogan that’s not exactly true Sep 30 02:52:08 considering the group name can be different from the package name Sep 30 02:52:12 Oh dang. Sep 30 02:52:13 right, group name Sep 30 02:52:13 check that Sep 30 02:55:16 Thanks guys, took care of that issue! **** ENDING LOGGING AT Tue Sep 30 02:59:58 2014