**** BEGIN LOGGING AT Mon Mar 19 02:59:58 2012 Mar 19 03:29:52 holy fuck Mar 19 03:29:55 my isp is throttling me Mar 19 03:32:35 mgmuscari - use intellij Mar 19 03:32:39 its like 100x better Mar 19 03:32:50 canadiancow|work i am going to have to let you know when I get back to the office Mar 19 03:33:04 sure Mar 19 03:33:10 thanks Mar 19 03:34:17 ron_frown: thanks Mar 19 03:34:20 i'll look into it Mar 19 03:55:36 Hey - does anyone understand ROTATION_VECTORs? Mar 19 03:55:40 I can't seem to figure out what the components are. Mar 19 03:56:22 The SensorEvent docs seem to indicate that x is always east, z is always north and y is always skyward. Mar 19 03:58:16 Or rather, z is the component of the vector normal to the front of the phone that points north. Mar 19 03:58:31 And x is the component of the "x" vector pointing east. Mar 19 03:58:40 And y is the component of the "y" vector pointing skyward. Mar 19 03:58:47 man i can not get fragments to play nice Mar 19 04:06:59 Does the AsyncTask.THREAD_POOL_EXECUTOR use all the cores avaiable or it leaves one just for the UI? (I've already ask that before, but that guy wasn't sure, so I'm just confirming) Mar 19 04:17:03 posted this late last night, but guessing everyone was away; anyone have problems with google play store forcing close when trying to open? Mar 19 04:20:40 heh ? Mar 19 04:20:51 i don't get the question ? Mar 19 04:21:41 i've had that happen a few times on my old phone Mar 19 04:25:29 every since google play store auto updated n replaced android market it forces close everytime, "the application google play store (process com.android.vending) has stopped unexpectedly. Please try again" , I tried uninstalling/reinstalling.. uninstlaling, installing android market 3.47. I also tried using rom manager and "FIX PERMISSIONS" and still does not work (htc evo shift running Mar 19 04:25:30 cyanogen 7.1 speedy)..any ideas? Mar 19 04:26:00 ask in #android-root Mar 19 04:26:08 we support dev topics here Mar 19 04:31:01 i have found a funny bug in my android 1.5 phone. it looks like if I put something like a space separated list of numbers into a TextView, sumetimes their order is reversed. Mar 19 04:31:53 * cr5315 shivers Mar 19 04:31:54 1.5 Mar 19 04:34:57 and it affects even the built-in Contacts app. (so far I taught that it was a misguided feature of the Contacts app) Mar 19 04:35:45 pandrew: to be honest, you're not likely to get much response when it comes to 1.5 - it's pretty obsolete Mar 19 04:36:59 Quagmire3 - hook up logcat Mar 19 04:37:08 try and see if error provides useful information Mar 19 04:37:49 Leeds: i don't really expect any specific response. I'm just thinking about what could have caused such a bug. Right now i'm thinking that maybe it's some kind of Right-To-Left text feature Mar 19 04:39:18 Hello Mar 19 04:39:23 Anyone active? Mar 19 04:40:37 I'm a Cylon and I have just been activated. Mar 19 04:41:18 Can anyone help with my app I'm making Mar 19 04:41:26 I'm the ultimate in Android Dev noobs Mar 19 04:41:27 dude, just ask. please. Mar 19 04:41:30 "Ask your question, don't ask to ask" Mar 19 04:42:49 Anyway I'm trying to make an app with 2 screens, and a password which will dictate whether it will go to the first or second screen (based on if the password is correct) Mar 19 04:42:51 http://pastebin.com/sT19FXRK Mar 19 04:43:18 now, what is the prob? Mar 19 04:43:24 for my fragment's onCreateView, the container is always null Mar 19 04:43:37 the fragment is in xml inside a framelayout Mar 19 04:43:56 Well, it will always do the "else" condition, even if the password is correct (it matches String pass) Mar 19 04:44:04 wouldn't that always be it's container? Mar 19 04:44:14 jeppy- I have no idea what that means Mar 19 04:44:18 Marcus_Incendius: first, you need to change line 24 to: if (nick.getText().toString().equals(pass)) Mar 19 04:44:59 Okay Mar 19 04:45:09 notes: 1 - you cannot do == on strings in Java, you need the .equals() method. 2 - EditText is a form and you need to read the string from it via getText() then convert it to string via .toString() Mar 19 04:45:32 QubeZ- I think I know what you're talking about Mar 19 04:45:38 Marcus_Incendius: and why are you doing setContentView failed layout? You should use a Toast message or an Alert dialog to show the user an error Mar 19 04:46:39 QubeZ- when I learn how to do those I will. I'm very early in my learning of Android Dev and this is a proof-of-concept to learn how to have 2 different outcomes based on a user text input Mar 19 04:46:58 oh way, I see you are already storing the string as nick... my bad Mar 19 04:47:08 ok so you just need to remove the == and use a .equals Mar 19 04:47:42 Marcus_Incendius: k, thats fine. So your problem is now solved yes? Mar 19 04:47:56 Good because I was getting an error saying "getText() is undefinedfor type "string"" Mar 19 04:48:03 jus change if (nick == pass){ to if (nick.equals(pass)){ Mar 19 04:48:03 Well I'm about to run the new app and se Mar 19 04:49:00 I'm originally a JavaScript and C++ coder, thus my assumption that "==" is what I needed\ Mar 19 04:49:16 http://pastebin.com/HhZ8MJzJ Mar 19 04:49:26 has anyone ever experienced something like me? if a TextView contains just numbers separated by spaces, then sometimes the numbers get reordered. If i put a single alpha character in there, then the effect doesn't happen anymore. Mar 19 04:50:06 Well QubeZ we'll see if your solution worked in about 17 years when this emulator loads up Mar 19 04:50:33 Marcus_Incendius: hah Mar 19 04:50:49 you can make your Intent call cleaner too by just combining lines: http://pastebin.com/uLDgSD5L Mar 19 04:51:21 Thanks Mar 19 04:51:32 I'm more worried about it working than being clean right now Mar 19 04:52:24 Well on a Gingerbread emulator I typed in the Password "Blaze", pressed the button, and it Force Closed Mar 19 04:52:57 Marcus_Incendius: do you have the Image activity declared in your manifest? Mar 19 04:53:12 that force close could be a result of Image activity trying to start but it was not declared in manifest Mar 19 04:53:17 I'm pretty sure I do. Let me check Mar 19 04:54:04 Mar 19 04:54:16 Is this sufficient, or is it wrong or not enought? Mar 19 04:54:27 ok so the error, what does logcat error state? Mar 19 04:54:30 post the error Mar 19 04:54:41 I don't know what a logcat is Mar 19 04:54:45 But let me try somethiong Mar 19 04:55:47 Marcus_Incendius: take the time to find out what logcat is Mar 19 04:55:57 Okay Mar 19 05:00:50 anyone good with fragments? Mar 19 05:10:29 where can I get the full android 1.5 source code? Mar 19 05:10:46 source.android.com Mar 19 05:10:49 I believe Mar 19 05:11:10 i took a look at https://android.googlesource.com/platform/manifest Mar 19 05:11:14 but there is no android branch Mar 19 05:11:19 sorry Mar 19 05:11:23 android 1.5 branch Mar 19 05:12:24 the oldest one is android-1.6_r1 Mar 19 05:12:35 oh Mar 19 05:20:03 anyone on a honeycomb device that is willing to test a new build for me? Mar 19 05:22:17 Hey guys, working on testing geolocation feature using android emulator. When I invoke locationManager.getBestprovider(criteria, false) Mar 19 05:22:20 I get a null provider Mar 19 05:22:39 I added android permissions of use coarse location and fine lcoation in my manifest xml file Mar 19 05:22:48 any help/ Mar 19 05:22:51 any help? Mar 19 05:23:07 how are you instantiating your locationManager? Mar 19 05:23:23 QubeZ: LocationManager manager = (LocationManager) getSystemService(LOCATION_SERVICE); Mar 19 05:23:45 ok so shouldn't it be manager.getBestprovider... ? Mar 19 05:23:58 hehe actually in my code it is manager.... Mar 19 05:24:10 to make it clear i wrote locationmanager.... Mar 19 05:24:14 ok Mar 19 05:24:24 are you sure network / inet is avail on the emu? Mar 19 05:24:39 yes INTERNET permission has been added too Mar 19 05:24:53 Mar 19 05:25:19 but is your emu able to access the internet? Mar 19 05:25:35 hmm not sure what you mean Mar 19 05:25:37 meaning, not in code... but does your emu have networks enabled Mar 19 05:25:53 how do i verify that Mar 19 05:26:04 settings -> wireless networks Mar 19 05:26:20 i can't image why you're get null there Mar 19 05:27:26 QubeZ: settings where Mar 19 05:27:35 QubeZ: my emulator doesnt have a settings menu Mar 19 05:27:39 in the emulator Mar 19 05:27:40 no? Mar 19 05:27:47 its just like a phone, access the settings Mar 19 05:28:17 roark: let me see your code please Mar 19 05:28:27 which part Mar 19 05:28:50 LocationManager manager = (LocationManager) getSystemService(LOCATION_SERVICE); Criteria criteria = new Criteria(); String provider = manager.getBestProvider(criteria, false); Mar 19 05:29:10 1 sec let me paste it one line at a time.... new lines are not rendered properly in irc Mar 19 05:29:15 no Mar 19 05:29:19 dont do that Mar 19 05:29:20 pastebin.org Mar 19 05:29:37 ok Mar 19 05:30:04 the only way you'd get null is that you are not getting any network updates... which means you do not have mobile network enabled in your emu Mar 19 05:30:09 i.e. your emu cannot get out to the internet Mar 19 05:30:19 try launching a browser in your emu and surf the net Mar 19 05:30:41 http://pastebin.com/GiGZCbA1 Mar 19 05:32:43 QubeZ: I can browse using emul Mar 19 05:36:05 QubeZ: http://pastebin.com/GiGZCbA1 Mar 19 05:37:38 http://groups.google.com/group/android-developers/browse_thread/thread/ec6dd9a8d6832daa Mar 19 05:37:45 I think in emu you need MOCK_LOCATION also Mar 19 05:37:50 read that post Mar 19 05:38:18 ok will try mock location permission too Mar 19 05:38:19 thanks Mar 19 05:38:30 ill be here, let me know Mar 19 05:44:23 QubeZ: still no luck :( Mar 19 05:44:58 can you post the exact error? Mar 19 05:45:01 from logcat into a pastebin Mar 19 05:47:46 QubeZ: sure Mar 19 05:52:04 QubeZ: http://pastebin.com/nBfs7a4p Mar 19 05:53:34 QubeZ: I also tried getting all providers Mar 19 05:53:39 that is not saying your manager is null... that is a problem in your emu Mar 19 05:53:43 and i got "passive" and "gps" Mar 19 05:53:43 i have the same problem with my emu Mar 19 05:53:49 that is why I never use it, I'm using my phone Mar 19 05:53:56 no it says provider is null Mar 19 05:53:58 your manager object is not null Mar 19 05:54:06 roark: I know what it says, but that is not what you think Mar 19 05:54:08 exactly Mar 19 05:54:17 no i think manager is fine Mar 19 05:54:20 provider is null Mar 19 05:54:28 provider using bestprovider is null Mar 19 05:54:32 http://stackoverflow.com/questions/4702450/java-lang-nullpointerexception Mar 19 05:54:37 after injecting gps about 10 times in the emulator it breaks Mar 19 05:54:56 ya, have you tried updating your system image... i.e doing an update of your sdk? Mar 19 05:55:08 QubeZ, worst question title ever Mar 19 05:55:13 i hate the emulator, gives me all kinds of errors since my app deals with location Mar 19 05:55:17 Zharf: ya hehe Mar 19 05:55:32 hmm werid, i dont have a android phone Mar 19 05:55:57 strange locationmanager cant get a best provider, but it can get gps as "one" of the providers Mar 19 05:55:58 roark: dont know what to tell you, i've never fixed my provider=network error either. So I just started using my phone as my dev device Mar 19 05:56:08 ok Mar 19 05:56:11 thanks anyway Mar 19 05:56:24 sorry, didn't mean to run you into circles. I thought you said initially uyour manager was null Mar 19 06:07:40 Ah very good, the latest AndEngine gets rid of artifacts for SVG...as far as I can see, any how Mar 19 06:09:13 yawn Mar 19 06:18:05 for a service, is it still a good idea to load needed native libraries in static block? Mar 19 06:29:29 hello all Mar 19 06:29:44 I am searching a good java mail client api. Can someone recommend me one? Mar 19 06:31:34 javamail Mar 19 06:32:07 Zharf: have you ever tried it? The api is aweful Mar 19 06:32:15 O Mar 19 06:32:27 I've used it, it's nice imo Mar 19 06:32:34 are there any abstraction? Mar 19 06:32:45 have you had the need to read the messages? Mar 19 06:33:04 I have a cascade of if/else that is really a pain Mar 19 06:33:45 actually I only used it for sending, so no... sorry Mar 19 06:33:57 never really looked at the reading stuff Mar 19 06:34:21 sending is apache commons a good point Mar 19 06:34:27 but reading/receiving Mar 19 06:46:29 How do I need to mark a contact in order to get it removed when deleting my syncadapter? Mar 19 07:14:01 where is ron_frown Mar 19 08:11:29 hey guys.. Mar 19 08:11:56 im trying to invent a kille app for the android :D Mar 19 08:12:00 any good ideas? Mar 19 08:12:29 or should i just copy a best selling app and improve it.. ? what do you guys say? Mar 19 08:13:01 ... Mar 19 08:13:05 ideas are dime a dozen Mar 19 08:13:18 but we won't think of one for you Mar 19 08:13:38 make an app that generates killer ideas for apps Mar 19 08:13:59 hahaha Mar 19 08:14:58 wow! Mar 19 08:15:09 that's simple Mar 19 08:15:14 thats allready invented.. irc :D Mar 19 08:15:17 just load a shit load of popular board games into it Mar 19 08:15:39 alowaniak maybe.. but will people pay 4 that.. Mar 19 08:15:57 i seems like photo editig is popular.. Mar 19 08:16:32 like that app that makes your photo a sketch,, Mar 19 08:18:41 so, anyone had some success selling apps?? Mar 19 08:18:58 Anyone know where i could get a list of countries + country codes, with the country being in their native language? Mar 19 08:19:44 Bear10: freebase? Mar 19 08:20:00 hmm never heard of that will check it out thanks Mar 19 08:21:17 wikipedia Mar 19 08:21:30 JakeWharton, yes but the names of the countries aren't in their native tongue Mar 19 08:21:40 for instance Spain still shows up as Spain and nto España Mar 19 08:22:48 Bear10: switch to language of that country Mar 19 08:23:22 p_l, for all the countries? Mar 19 08:23:27 doesn't seem practical Mar 19 08:25:26 Bear10: automate it Mar 19 08:26:04 common guys.. are you not thinking of selling your apps :D-- just develop and send them away..? Mar 19 08:26:16 *give them away.. Mar 19 08:26:59 dannyD_: no, it's more that your questions are infantile sounding Mar 19 08:28:00 selling meth is more profitable Mar 19 08:29:00 p_l ok, i guess your right, but im not trying to sound like a businessman, with fancy words etc.. im more hands on. Like nike, just do it.. Mar 19 08:29:13 dannyD_: more like "just talk about it" Mar 19 08:29:28 just doing it is doing it. you're just talking about doing it, potentially, some day. Mar 19 08:29:30 readme maybe your are in that state, not me.. Mar 19 08:30:02 dannyD_: an idea by itself doesn't become "killer app" Mar 19 08:30:04 readme trust me, im ready to rumble :D Mar 19 08:30:05 dannyD_: ok -- then go sell an app. Mar 19 08:30:20 lol Mar 19 08:30:23 no but the idea is the start Mar 19 08:30:23 dannyD_: if you were ready, you'd be deep in execution Mar 19 08:30:37 want ideas? don't sleep Mar 19 08:30:44 p_l well the first stage is the most imortant Mar 19 08:30:53 dannyD_: no. The execution is Mar 19 08:30:57 no Mar 19 08:30:58 dannyD_: you're an experienced mobile and Java developer, who has spent time getting deeply familiar with the Android SDK? Mar 19 08:31:03 sorry, your wrong Mar 19 08:31:06 dannyD_: 1. copy existing app or game 2. find ways to improve and monetize better 3. sell. if you think you can come up with something that isn't already done, statistics are very, very, against you. Mar 19 08:31:08 * p_l been in two failed startups so far. Both had great ideas Mar 19 08:31:36 readme yes your kind of right on that. Mar 19 08:31:57 Leeds yes kind of, and what i dont know, i learn, np. Mar 19 08:32:07 "kind of" meaning "no"... Mar 19 08:32:23 Leeds thats your thoughts. Mar 19 08:32:30 * Leeds predicts dannyD_'s first real question will be "hey guys, the emulator is pretty slow, how do I speed it up?" Mar 19 08:32:50 noopp.. Mar 19 08:32:51 just built something you enjoy building' Mar 19 08:33:03 alowaniak thats not the right way Mar 19 08:33:08 ... Mar 19 08:33:17 experience will teach you, grasshopper Mar 19 08:33:19 anything can be enjoyable if you concentrate Mar 19 08:33:38 not this conversation Mar 19 08:33:45 yes even this Mar 19 08:35:12 dannyD_: do you have a development environment set up? Mar 19 08:35:28 readme ive done 1 app for a company. Mar 19 08:35:42 you want ideas? Out of my head just now, an integrated personal assistant that would *privately* and *securely* sync between different devices of various levels of complexity, while using NLP and other AI techniques to work together with the user Mar 19 08:35:46 but i want to do something on my own.. and sell it. Mar 19 08:35:50 have a "killer app" Mar 19 08:36:19 more than killer, something that grabs Siri and tells it to suck its cock Mar 19 08:36:57 p_l nice, but i dont want to kill myself doing it, there should be a balance between the amount of work and the results your getting back. Mar 19 08:37:00 dannyD_: how about a game where you throw some sort of animal at another sort of animal? Mar 19 08:37:06 Leeds: lol Mar 19 08:37:08 someone should make a sarcastic version of siri Mar 19 08:37:11 dannyD_: you wanted killer app Mar 19 08:37:15 ok, how to restrict the orientation modes of our app to just portrait? Mar 19 08:37:23 do you have good reason to? Mar 19 08:37:27 because that's annoying as hell Mar 19 08:37:29 tapas: in the manifest, android:screenOrientation Mar 19 08:37:33 JakeWharton: client requirement.. Mar 19 08:37:34 hehe Mar 19 08:37:44 readme: yeah, i have that in there.. but there's two portrait modes Mar 19 08:37:52 and with that manifest change it allows only one of them Mar 19 08:38:11 android:configChanges="orientation" and android:screenOrientation="portrait" Mar 19 08:38:28 ok guys.. ill go brainstorming somewhere else ;-) ill b back when the emulator is to slow :D Mar 19 08:38:42 lol Mar 19 08:39:40 and here I gave him a pretty damn great project idea ;) Mar 19 08:40:21 hi Mar 19 08:40:35 how to change this into a string : R.string.foo ? Mar 19 08:40:45 getString(R.string.foo); Mar 19 08:40:54 Leeds: thanks :-) Mar 19 08:41:02 was that meant to be a trick question? Mar 19 08:41:03 p_l: that project idea is too hard. how about an alf soundboard instead Mar 19 08:41:09 hii every body i just have a small question R.Class is not generated even if i open Existed sample it remove the R.Class Mar 19 08:41:23 readme: hahaha Mar 19 08:41:30 maxagaz: would it have been hard to find http://developer.android.com/guide/topics/resources/string-resource.html Mar 19 08:42:30 oh, now i understand the attribute better. if we want to suport both portrait and the 180 degrees rotate portrait mode, we'll have to implement onConfigurationChanged and do it ourself Mar 19 08:42:31 Sifrazooy: that's almost always a problem with your xml, either a typo in your xml or you use something that is currently not supported for the API you use Mar 19 08:43:07 tapas: correct :) Mar 19 08:43:32 Mikellip: you will be surprised i think if knew that this problem happens also when i start to make a new hello world project without even writting a single line of code Mar 19 08:44:43 Hi guys! I have a RelativeLayout which contain a few TextViews, RadioGroups and so. Is it possible to space it automatically vertical on the screen? Mar 19 08:48:35 Sifrazooy: go to project properties and inspect then... java build path, check libraries etc Mar 19 08:51:26 Mikellip: Android 4.0.3 and com.android.ide.eclipse.adt.LIBRARIES Mar 19 08:51:47 Mikellip: and how i would re-generate the R.class ? :S Mar 19 08:53:16 Sifrazooy: clean your project Mar 19 08:53:28 Leeds: i did that do Mar 19 08:53:53 do it again, just for luck :) that's how you force R to regenerate Mar 19 08:55:05 Leeds: i made project>> clean and i did source >> clean up and i made android tools >> fix project properties too Mar 19 08:58:02 i there a way so i can remove android tools plug in and install it again if that will fix the problem Mar 19 09:02:51 Sifrazooy: and how does your order and export look? Mar 19 09:03:52 Mikellip: i have deleted eclipse and re extracting it again and installing its plug ins again trying to solve the problem Mar 19 09:04:10 In resources is it possible to create an array of Strings with different values than the String? something like Thirty four? Mar 19 09:04:28 i can't seem to find anything on this Mar 19 09:04:47 Bear10: why would you want to do that in xml? Mar 19 09:05:03 not in resources, no Mar 19 09:05:25 you can create two parallel arrays if you need to - foo-value and foo-name, say Mar 19 09:05:30 yeah Mar 19 09:05:34 hmph Mar 19 09:05:44 Leeds, what would you recommend? Mar 19 09:05:52 Bear10: use Java :-) Mar 19 09:05:59 Mikellip, a hashmap? Mar 19 09:05:59 depends on what you're trying to achieve, really Mar 19 09:06:20 Bear10: Usually I like making a model class and then I make a list of that class Mar 19 09:06:24 Leeds, its just to populate a dropdown, and POST the # not the string Mar 19 09:06:56 Mikellip, that is an option Mar 19 09:07:57 still depends a bit on how dynamic the data is - obviously, a resource is static without updating the app Mar 19 09:08:29 Leeds, its static and only used in a registration form Mar 19 09:11:22 Bear10: http://docs.oracle.com/javase/6/docs/api/java/util/AbstractMap.SimpleEntry.html Mar 19 09:11:31 Could be an option Mar 19 09:12:11 thanks Mikellip Mar 19 09:12:25 ill check out the options and see which ends up being most convenient / easiest to use Mar 19 09:13:31 also android has it's own: http://developer.android.com/reference/org/apache/http/message/BasicNameValuePair.html Mar 19 09:14:13 could work as well Mar 19 09:15:02 Mikellip: notice that is part of the Apache http commons package - it's really meant for things like http posting Mar 19 09:16:00 If you don't need to specify the id yourself you could just use the array index too Mar 19 09:16:09 but I guess you thought of that ;) Mar 19 09:16:37 i do Mar 19 09:16:43 looks like theres tons of options hehe Mar 19 09:17:10 hi all Mar 19 09:17:11 i could even use the data stored in an sqlite db lol Mar 19 09:17:27 is there some book that teach how to design good UI ? Mar 19 09:17:29 Sounds like overkill :P Mar 19 09:17:53 I mean : not technical ... but from the point of view of the user Mar 19 09:18:47 any tips for sending touch events from one view to another? Mar 19 09:19:01 Mikellip, the model / array you make do you keep it in a separate file and have a static reference to it? or how do you go about it Mar 19 09:19:27 aLeSD: lots of books... have you seen http://developer.android.com/design/index.html Mar 19 09:19:48 I will no Mar 19 09:19:50 thanks Mar 19 09:20:05 ah one meore Mar 19 09:20:20 Leeds, I am creating an app that will have a free version and a py version Mar 19 09:20:31 which is the best way to do it ? Mar 19 09:20:35 a python version? cool :) Mar 19 09:20:42 lol Mar 19 09:20:44 pay Mar 19 09:20:51 lol Mar 19 09:21:04 $$ Mar 19 09:21:39 re all Mar 19 09:22:16 ppl, I ask the famous question: how to detect if the soft keyboard is visible on screen? Mar 19 09:22:32 I need a callback to make some changes on my layout Mar 19 09:25:03 Bear10: just make a class in your Activity with two values, and make an ArrayList of that class... that's how I usually go about such things, and if it's a very huge data structure I put it in a separate class ... but I'm new to java myself Mar 19 09:25:35 yeah okay figured something of the sort Mar 19 09:25:37 perfect thanks Mar 19 09:25:52 A map would do it too :) Mar 19 09:25:55 haha Mar 19 09:28:48 I have all the functions of my app working and now .. I am scared about the UI Mar 19 09:28:50 uff Mar 19 09:30:59 ppl, what is about detecting of visibility of sft keyboard? Mar 19 09:39:17 <_20Syl_> Hi people Mar 19 09:39:22 <_20Syl_> is there a chan for google TV ? Mar 19 09:39:28 hmm, i wonder: in a gridview, how do i get an element view to fill the cell vertically Mar 19 09:40:09 haha _20Syl_ Mar 19 09:40:14 i already have layout_height="fill_parent" Mar 19 09:41:48 tapas: i think you should take a look at span Mar 19 09:41:51 <_20Syl_> Ivru: do i know you ? Mar 19 09:42:09 Ivru: will do Mar 19 09:42:55 Ivru: span seems to be about filling adjacent columns/rows with a single view Mar 19 09:43:18 i just want my linear layout which is a child in the gridview to fill the cell vertically Mar 19 09:44:11 oh you mean inside the cell Mar 19 09:44:41 don't remember but you can Mar 19 09:45:44 Ivru: :D Mar 19 09:45:55 fill_parent on the layout_height doesn't do the trick in the cell Mar 19 09:48:46 there's also gravity="fill_vertical".. hmm Mar 19 09:48:54 tried it on the gridview and the child.. no dice Mar 19 10:03:15 hai! I need to backup Android phone. How do I backup Sony Xperia Arc ??? Mar 19 10:03:44 Martiini: wrong channel, ask in #android Mar 19 10:03:53 oki Mar 19 10:04:42 They wouldn't buy us an Android TV so we could pretend to write apps for it :( Mar 19 10:05:13 has setContentView(R.layout.main); to be in the onCreate ? Always ? For example I want to show the gui only when the binding to a service is done Mar 19 10:07:40 anyone know how to record video from an android app? like to make a demo/promotional video of your app in action? Mar 19 10:09:08 hello guys, im new to android developing and ran into some trouble when trying to add a ViewPager with this tutorial: http://blog.stylingandroid.com/archives/537 ... I successfully set up the project to be able to build the library, but when i try to add following lines into res/layout/main.xml, i get some errors.. pastebin: http://pastebin.com/jY1u2dvh Mar 19 10:10:10 hey, do you have to be registered to nickserv to talk here? Mar 19 10:10:36 juv: do a project clean Mar 19 10:13:11 storkme: thanks, but now it says "error: Error parsing XML: not well-formed (invalid token)" and "R cannot be resolved to a variable" Mar 19 10:18:44 anyone? :/ Mar 19 10:18:54 i'm not sure what to say - i just tried your paste and it worked fine for me Mar 19 10:19:47 Hello, I have a problem using SharedPreferences. I want to use them as application configuration and I'm using the PreferenceActivities for editing them. The problem is, that I want to have more than one instances of a specific preference in a list, adding them as needed. For every item, I add a PreferenceScreen into a PreferenceCategory, but each time my onCreate-Method is called, which loads the basic preference structure from XML via ... Mar 19 10:19:54 ... addPreferencesFromResource(), the added items are no longer in the group. Mar 19 10:21:16 I'm storing strings in my application class (strings used in the app are received from a server when the app starts), and if I pause the app, and resume x hours later, the strings are gone.. Is there a way to make the application object and its data stay in the memory until the app is really dead? Mar 19 10:22:55 there is no 'the app is really dead' Mar 19 10:23:17 you need to guard against losing your data when your activities being destroyed Mar 19 10:23:46 You can save them in the onSaveInstanceState()-method, XeruX, in case your activity gets destroyed. Mar 19 10:25:16 storkme: hm, are you using any special preferences or something? anything that i could have not set up? Mar 19 10:26:24 in general, though, you shouldn't need to do this as most activities should be able to be recreated just from the extras Mar 19 10:26:27 (imo) Mar 19 10:26:35 seems unlikely jub Mar 19 10:26:56 mmm listView can countai only textviews ? Mar 19 10:27:18 95% of the time when I use onSaveInstanceState() it's because I want to keep the text that was entered into textviews, etc Mar 19 10:35:52 listviews can contain anything you like Mar 19 10:41:06 storkme, mmm Mar 19 10:41:37 I am getting cannot cast to android.widget.TextView Mar 19 10:41:50 mSensorViewArrayAdapter = new ArrayAdapter(this, R.layout.list_item); Mar 19 10:42:15 list_item is a ... Mar 19 10:44:03 aLeSD i would suggest you extend BaseAdapter so you have full control Mar 19 11:00:15 xorgate, you mean to implments ListAdapter for my type of views Mar 19 11:00:16 ? Mar 19 11:01:00 or one of its subclasses Mar 19 11:01:07 i generally use BaseAdapter Mar 19 11:01:24 it gives you control over what view you inflate per item Mar 19 11:01:32 and how you fill it Mar 19 11:01:43 xorgate, I have a doubt Mar 19 11:02:28 I created an interface that is implmented by all my custom View that extends from Android views Mar 19 11:03:10 ex. class myView extends SurfaceView implments SensroView Mar 19 11:03:35 I want to create a adapter that map an ArrayList Mar 19 11:03:53 may I use it with ListView to draw all ?? Mar 19 11:05:05 sure you can do that Mar 19 11:05:24 I mean : inside the Adapter I will need to do something like (View)mArrayOfSensorView.get(0); Mar 19 11:05:35 ok Mar 19 11:05:56 in the end listview asks your adapter for a view for item x Mar 19 11:06:14 and you return a view, either one you create on the fly, or the one in your list Mar 19 11:06:15 ah Mar 19 11:06:31 but that kind of cast are good in java ? Mar 19 11:06:48 I came from C++ ... and I am not sure with is the good way Mar 19 11:06:52 http://www.youtube.com/watch?v=wDBM6wVEO70&feature=player_embedded watch this glorious vid Mar 19 11:07:09 aLeSD i would avoid using a list to store views Mar 19 11:07:16 use a list to store the data Mar 19 11:07:51 mmm ... I am using the SensorView list to use it in a game loop Mar 19 11:08:35 I have a draw() method inside where I am checking if I the view changed Mar 19 11:26:57 air display bitches' Mar 19 11:27:14 3 displayyss Mar 19 11:34:35 but the strings are stored in my application class (the class that extends Application) for global state Mar 19 11:34:56 and once, when I resumed an activity, the data in the application class was not there anymore, as if it was a new instance of the application class Mar 19 11:53:27 Anyone devng on windows? I dont have an extras\ folder under the sdk Mar 19 11:53:37 (windows 7) Mar 19 11:53:51 i have downloaded the google usb drivers but they cant be found Mar 19 11:58:12 MaybeJust did you check all packages to download Mar 19 11:58:33 in ADT Mar 19 12:18:32 For ListView's it is possible to specify a row padding correct? I could of sworn this worked but for some reason when I try it now, the padding just gets ignored. Mar 19 12:20:51 nevermind.... seems as though when you specify a custom background in the Adapter for each row, the padding is removed. Mar 19 12:28:14 xorgate: yes i checked usb drivers, not all of them Mar 19 12:35:10 not all of the other extras packages i mean Mar 19 12:46:19 anyone using cbes sourceforge for mercurial fo r eclipse? Mar 19 12:46:30 should i be worried about unsigned content? Mar 19 12:48:24 Hi guys, I've got an annoying illegalArgumentException with the LocationManager which seems to related to ICS (maybe earlier, haven't checked), but works fine on 2.3.6. Bug has been reported at http://code.google.com/p/android/issues/detail?id=19857, but I was wondering if anyone knows any workarounds for this ? Thanks! Mar 19 12:51:24 awesome Mar 19 12:52:21 http://stackoverflow.com/questions/2799097/how-can-i-detect-when-an-android-application-is-running-in-the-emulator Mar 19 12:53:02 disable your network location request when you detect that you're on the emu and you're at api level XYZ or above Mar 19 13:02:36 xorgate, I was studing a bit what adapter is and I see that I have not to store a locally list of my views Mar 19 13:03:13 that mean that I have to create view each time the ListView ask to my Adapter . Is it ? Mar 19 13:03:33 aLeSD almost, you get a convertview, this is a View that you created before, only it is recycled Mar 19 13:03:51 so you just need to fill it with the right values for every TextView and whatever Mar 19 13:04:03 inflate once, and reuse Mar 19 13:04:08 ok ... but I have some doubt Mar 19 13:04:16 lemme give you something Mar 19 13:04:26 for example I have some classes that store the data : Each class is a view Mar 19 13:04:42 i'd say thats a bad way to store data Mar 19 13:04:49 not the number of class of data changes at runtime Mar 19 13:04:59 lol Mar 19 13:05:24 some ArrayList of data ? Mar 19 13:05:40 thta are updates at runtime from the sensors Mar 19 13:05:47 is having a element in my background drawable supposed to strip any original attributes such as padding? Mar 19 13:05:49 and I want to show them Mar 19 13:06:17 aLeSD this is my template for adapters in IDEA: https://gist.github.com/ba0e37bd519ac48df1f4 Mar 19 13:06:49 I created a coreloop that update the data and a drawloop that set the data in the view Mar 19 13:06:52 views Mar 19 13:07:11 drawloop in mainthread ... core loop in another Mar 19 13:08:15 so how to use the drawloop if I can't store a local array of views ? Mar 19 13:08:18 are you using a listview in a game? Mar 19 13:08:39 no ... I am showing the events of the sensors Mar 19 13:08:46 graph, text, etc etc Mar 19 13:09:32 so what actually gets used from a library proejcts manifest? Mar 19 13:10:17 each entry of ListView will be connected to an array of data. it could be to have many views for the same array of data Mar 19 13:11:04 up to now I created an inteface that will set the new data in the view : myView extends View implements SensorView Mar 19 13:11:38 than the drawloop look if there are new data , set the new data and invalidate () Mar 19 13:11:59 but now ListView breaks all the design Mar 19 13:12:54 xorgate, do you see it ? Mar 19 13:13:22 yes i think i understand Mar 19 13:13:32 so you update views even if they are invisible? Mar 19 13:14:12 up to now I didn't know that ListView exists. SO I planned a fixed size Activity Mar 19 13:14:21 now the stuff is more interesting Mar 19 13:14:43 so ... I have to store the visible view ... and I think the only place is in the adapter Mar 19 13:14:44 is it ? Mar 19 13:16:32 now the quation is Mar 19 13:16:57 how could I know within the Adapter which views are visible ? Mar 19 13:20:52 aLeSD i think it could work Mar 19 13:21:10 you can ask the listview what the indices are of the visible rows Mar 19 13:22:20 xorgate, notifyDataSetChanged() do you know what's that function ? Mar 19 13:23:15 it makes the listview repopulate itself Mar 19 13:23:35 but i dont think you need that, you can update a row when it needs to be updated Mar 19 13:24:16 ah .. No I need to update what is already in Mar 19 13:24:44 is there any way to access the NFC Secure Element on NFC-capable androids? Mar 19 13:27:22 is it normal to put various links to read information on websites when developing an app? Mar 19 13:28:24 what? Mar 19 13:28:34 sorry, really bad composition of a sentence Mar 19 13:28:51 a tad Mar 19 13:28:52 ok, so the app I've developed... my boss wants to put 2 help links Mar 19 13:29:08 oh like that Mar 19 13:29:14 where do you usually do that? I thought under a menu preference -> help Mar 19 13:29:41 but they don't like it because you can't do that in an iPhone... they want it to be standard for both iPHone and Android apps Mar 19 13:30:34 i downloaded droid4 virtual device from android sdk - it does not list cpu as arm7 Mar 19 13:31:04 oh, and is it true that it's standard to aim to not have to scroll on an activity? Mar 19 13:37:36 xorgate, last thing where is the methiod to ask which row is visible ? Mar 19 13:39:28 http://www.reddit.com/r/Android/comments/r3dhg/reddit_is_fun_banned_for_sexually_explicit/ Mar 19 13:39:29 this is bullshit Mar 19 13:40:18 oO Mar 19 13:42:03 I wonder i theres more to this Mar 19 13:42:50 hmm Mar 19 13:43:07 i got a dialog inside a fragment Mar 19 13:43:16 when there's clicked on that dialog Mar 19 13:43:28 i want to start the activity which contains the fragment Mar 19 13:43:40 but it doesn't seem to restart it Mar 19 13:45:00 hi i want to upload really big files over an secured connection. which is the best way to achieve this (uploads should be resumable) Mar 19 13:47:00 aLeSD lemme check Mar 19 13:48:24 thebastl: are you asking as a developer or as a user? Mar 19 13:48:31 if you're asking as a user, go to #android or something Mar 19 13:48:46 as a developer Mar 19 13:48:48 if you're asking as a developer, set up a foreground service, use ssl, and write your own upload manager Mar 19 13:49:00 Hi there! Mar 19 13:49:02 "secured" is kind of an odd term, I'm guessing SSL is sufficient? Mar 19 13:49:09 but http and resumable upload is not the best soloution Mar 19 13:49:13 yes it is Mar 19 13:49:22 in terms of progress tracking too Mar 19 13:49:32 .... ok, that's fine. Mar 19 13:49:39 if you're the one handling the socket you know how much data you're pushing. Mar 19 13:49:43 aLeSD getFirstVisiblePosition () Mar 19 13:49:49 and last Mar 19 13:49:50 Quick question.. according to developer.android.com, asynchronous broadcasts ignores the priority parameters.. is SMS_RECEIVED an asynchronous broadcast? Mar 19 13:49:53 I'm not really sure what your question is. Mar 19 13:50:01 Untouchab1e: I believe so Mar 19 13:50:07 well Mar 19 13:50:13 actually, I think it may be an ordered broadcast Mar 19 13:50:19 not sure! :D Mar 19 13:50:20 omg my app is making a surprising amount of ad revenue.. i really had no idea Mar 19 13:50:22 lov: ah I see.. so there is no way to make sure my app receives the broadcast first? Mar 19 13:50:34 i wanted to get a hint for libary xy that supports sftp or ftpes f.e. Mar 19 13:50:35 Untouchab1e: look at the source, see what kind of broadcast it is, I guess :D Mar 19 13:50:45 thebastl: lmgtfy.com Mar 19 13:50:50 i got nine 5 star ratings over the weekend Mar 19 13:50:52 because on stock Android devices, I can abort it so that the texting application doesnt get it Mar 19 13:50:58 and 5000 downloads :) Mar 19 13:51:14 had to block the stupid wildfire phones >_> Mar 19 13:51:22 lov: but on HTC devices (with Sense), the HTC SMS app receives the broadcasts no matter what priority I use Mar 19 13:51:36 09:50:40 < lov> Untouchab1e: look at the source, see what kind of broadcast it is, I guess :D Mar 19 13:51:40 VJTachyon whats your app/ Mar 19 13:51:43 lov: if i hadnt informed myself on google i wouldnt have asked in irc Mar 19 13:51:55 Untouchab1e: hey let me get someone on that can answer this Mar 19 13:51:56 + sometimes i get better hints on irc than on google Mar 19 13:52:03 VJTachyon: oh yea? Mar 19 13:52:05 Untouchab1e: he is the ShadySMS guy Mar 19 13:52:23 what's cookin peeps Mar 19 13:52:30 xorgate, thanks Mar 19 13:52:37 MrChyizPyiz: Untouchab1e has a question about sms broadcasts Mar 19 13:52:42 hit me Mar 19 13:52:51 MrChyizPyiz: right, hi mate Mar 19 13:52:57 xorgate: Virtual DJ Turntable Mar 19 13:52:59 according to developer.android.com, asynchronous broadcasts ignores the priority parameters.. is SMS_RECEIVED an asynchronous broadcast? Mar 19 13:53:12 I dont think it is Mar 19 13:53:17 it's synchronous Mar 19 13:53:24 you can set a high priority and abort as desired Mar 19 13:53:25 MrChyizPyiz: good, now for my actual question Mar 19 13:53:49 xorgate: https://play.google.com/store/apps/details?id=com.djtachyon.android.VirtualTurntableFree Mar 19 13:53:52 I have set a very high priority, yet HTC's messaging application which has priority set to 20, according to the manifest, always gets it Mar 19 13:54:07 Just set your priority to HIGH Mar 19 13:54:19 the stock android texting application does not though, so I am a bit puzzled Mar 19 13:54:21 20 is relatively low Mar 19 13:54:22 MrChyizPyiz: 999? Mar 19 13:54:33 999 sounds reasonable. Mar 19 13:54:37 I know, 20 is low, thats why I am puzzled as to why it doesnt work when my priority is higher Mar 19 13:54:43 Go SMS actually sets max int Mar 19 13:54:47 screws a lot of stuff up Mar 19 13:55:07 well, if your aborting lower priority receivers wont see it Mar 19 13:55:24 I guess my question is, is there any other mechanisms for overriding the whole thing? I cant understand why the broadcast isnt aborted for the Sense SMS app Mar 19 13:55:35 hm not compatible with my phone >.< Mar 19 13:55:42 I reversed the Mms.apk and found that the priority was 20.. so I am clueless Mar 19 13:55:43 xorgate: which phone? Mar 19 13:55:49 xorgate: you need gingerbread Mar 19 13:55:51 It's more intercepting, overriding has to be intentional with an abort call Mar 19 13:55:51 htc desire aka nexus Mar 19 13:56:04 HTC Desire != Nexus Mar 19 13:56:06 running 2.2 Mar 19 13:56:13 yeh nexus one or whatever Mar 19 13:56:19 Untouchab1e: very close Mar 19 13:56:27 it's simply about priorties, if you have a 999 priority receiver it will see the boradcast before a 20 priority receiver Mar 19 13:56:28 Leeds: true, but still ^^ Mar 19 13:56:35 xorgate: flash it with gingerbread Mar 19 13:56:40 MrChyizPyiz: hmm, then I guess I am clueless Mar 19 13:56:43 if you abort the broadcast the 20 priority receiver won't see it, if you dont abort the 20 priority receiver will see it Mar 19 13:56:49 Untouchab1e: closer than, say, the US carriers' SII variants Mar 19 13:57:11 MrChyizPyiz: I understand that, and it usually works just fine, just not in this case Mar 19 13:57:14 its 2.3/gingerbread+ for two reasons, the first is that 2.3 is the first version with OpenSL/Native Audio Player. The second, it filters out a lot of shitty devices. Mar 19 13:57:20 Leeds: also true Mar 19 13:57:37 it's synchronous, is the broadcast receiver completing execution :-/ Mar 19 13:57:40 Leeds: My statement is still correct :) Mar 19 13:57:41 anyone with a good but easy to implement app idea? Mar 19 13:57:45 VJTachyon how are the ad revenues? Mar 19 13:57:59 xorgate: so far its looking to pull in $100/20k downloads Mar 19 13:58:01 im looking 4 a good idea..for an app... Mar 19 13:58:11 MrChyizPyiz: yeah, as far as I can tell.. again on stock Android, there is no problem Mar 19 13:58:16 dannyD_: Welcome to the club :) Mar 19 13:58:19 xorgate: per day Mar 19 13:58:23 err Mar 19 13:58:26 is it true that when developing apps, you want to avoid scrolling? Mar 19 13:58:27 no Mar 19 13:58:29 if you have a good but hard to implement app idea, I would like those as well :) Mar 19 13:58:30 My apps are all tweaked for 4.0, and I started on 2.1 Mar 19 13:58:48 Same here Mar 19 13:58:53 sms broadcasts have not changed a tiny bit Mar 19 13:59:07 lucky for my apps, or I would have had a heart attack by now Mar 19 13:59:13 Untouchab1e ok, we make a deal, you give me a easy one and ill give you a hard one.. Mar 19 13:59:17 xorgate: looks like about $12.50/day/20k downloads Mar 19 13:59:20 but i has to be good!.. Mar 19 13:59:31 dannyD_: haha Mar 19 13:59:37 VJTachyon do you live on making apps?.. Mar 19 13:59:43 dannyD_: nope Mar 19 13:59:53 anyone here does? Mar 19 13:59:54 dannyD_: well depends.. Mar 19 14:00:05 dannyD_: I work for a company who pays me to make apps Mar 19 14:00:06 :P Mar 19 14:00:18 as do most of us Mar 19 14:00:19 i started freelance a while back Mar 19 14:00:27 from what i can see, if you make a top selling app..your set for life! or so..pretty much..true? Mar 19 14:00:42 yes if you made draw-something then you'd make 100k a day :0 Mar 19 14:00:46 dannyD_: eh if you can do it on your own, but most of the top selling apps have a team of people Mar 19 14:01:09 i wonder how big the draw something team is Mar 19 14:01:17 VJTachyon: also, most of the top selling apps didn't come from someone who was begging for app ideas in a developer IRC channel Mar 19 14:01:28 xorgate is that from adds? or is it from payed apps? Mar 19 14:01:30 http://www.develop-online.net/news/40228/Draw-Something-craze-banks-dev-100k-per-day Mar 19 14:01:31 Leeds: lol indeed Mar 19 14:01:38 By Friday, as many as 3,000 finger-drawn images were being sent each second, Mar 19 14:01:59 i must say i tried the android version but it's buggy as hell Mar 19 14:02:06 Leeds well, everything must happen one time or the other :D Mar 19 14:02:10 still great fun Mar 19 14:02:46 yup Mar 19 14:02:48 "Porter is paraphrased as saying the company now generates as much cash per day as it used to make per month." Mar 19 14:02:49 so, who want to team up! and make a good selling app, then will be set 4 life!!...hehe Mar 19 14:02:49 i bought it Mar 19 14:03:06 Not that bad to begin with, 100k a month Mar 19 14:03:08 dannyD_: can you code in the NDK? Mar 19 14:03:09 lol dannyD_ if only it were that easy Mar 19 14:03:39 i really need native android coders Mar 19 14:03:56 say, linking to 'play' still uses market:// uri ? Mar 19 14:04:19 VJTachyon, is that actually hard to find? Mar 19 14:04:46 michaelnovakjr: surprisingly. Especially ones any good at audio manipulation and pthreads Mar 19 14:05:03 michaelnovakjr: JNI also makes me went to tear my eyes out Mar 19 14:05:04 interesting Mar 19 14:05:13 yea, JNI isn't the greatest Mar 19 14:05:17 VJTachyon: Im familiar with the NDK Mar 19 14:05:20 VJTachyon sorry, i havent..but i can learn..np.. do you have a great idea? Mar 19 14:05:21 Just got a nice book too Mar 19 14:05:37 is cyanogenmod.com slow as hell for anybody else? Mar 19 14:05:38 Isn't the real problem the fact that the more abstract languages still can't perform acceptably for those tasks? Mar 19 14:05:52 HDroid: the NDK is in native C/C++ Mar 19 14:05:59 HDroid: no VM or BS Mar 19 14:06:36 VJTachyon: yeah I know... but is it so difficult to get a VM to perform similarly in this day and age? Mar 19 14:06:40 VJTachyon what do you cant to do in C++ that cant be done good enough in java :D Mar 19 14:06:42 Apparently it is, duh :) Mar 19 14:06:55 But still, it's strange. Mar 19 14:06:56 dannyD_: huh? Mar 19 14:06:59 dannyD_, huh? Mar 19 14:07:02 lol Mar 19 14:07:05 In the end it's all just shifting bits around. Mar 19 14:07:19 Performance matters Mar 19 14:07:41 yeah well runtime compiled code and virtual machines and abstraction slow shit down Mar 19 14:07:44 There is a reason while C is still around, and its not because because people love pointers Mar 19 14:07:56 there is also a reason the iOS apps are coded in obj c Mar 19 14:08:03 lol +1 Mar 19 14:08:26 heh im reading here that the sales of styluses has quintupled lately due to drawsomething :0 Mar 19 14:08:31 hah Mar 19 14:08:40 xorgate: yeah my friend stole mine this weekend Mar 19 14:08:48 http://tweakers.net/nieuws/80760/draw-something-doet-verkoop-smartphones-pennetjes-exploderen.html <-- in dutch Mar 19 14:09:14 why* not while.. *facepalm* Mar 19 14:12:04 what is everybody's feeling on java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss Mar 19 14:12:41 i dont care .. i just want to switch Mar 19 14:12:51 i want to allow state loss Mar 19 14:13:31 mm every idea i come up with is done.. wtf :D Mar 19 14:13:39 the problem of today.. Mar 19 14:13:42 dannyD_ never let that stop you Mar 19 14:13:46 we are 2 alike Mar 19 14:13:56 dannyD_: firstly, that's not true, secondly, a lot of them are implemented poorly. Mar 19 14:14:01 dannyD_, it takes a lot more than just the idea Mar 19 14:14:22 oki but it kind of kills the fun Mar 19 14:14:27 ? Mar 19 14:14:28 Android market is funny in that you can find lots of excellent ideas for free, because they're often poorly executed. Mar 19 14:14:48 well..thats true. Mar 19 14:15:21 what about making free apps with lots of commercial/google adds.. is that paying of.. Mar 19 14:15:36 It can work, depending on the volume. Mar 19 14:15:55 dannyD_, all depends on how many users. Mar 19 14:16:14 yes.. im thinking..is it ok to make an app for lets say facebook or another popular site..hotmail..etc.. Mar 19 14:16:25 dannyD_, you should spend time going to local meetups/user groups in your area and chat about this Mar 19 14:16:28 ive had those kind of apps.. Mar 19 14:16:34 I'm making $100/month (have been for over a year) with some silly soundboards. Mar 19 14:16:55 HDroid huh..nice..whats soundboards? Mar 19 14:17:20 michaelnovakjr there is no more meeting up in IRL these days..its all here baby.. Mar 19 14:17:28 dannyD_, that isn't true. Mar 19 14:17:37 dannyD_: basically 20 buttons that play a sound each. Mar 19 14:17:39 there's tons of user groups all over the world dedicated to Android Mar 19 14:18:11 michaelnovakjr ive tryed to start up a android group IRL, 1 person came! so.. i gave up.. everyone works to much, even me :P Mar 19 14:18:26 dannyD_: where was that? Mar 19 14:18:30 HDroid cool..! Mar 19 14:18:31 dannyD_, you gave up after one? Mar 19 14:18:39 I run an android group.... people show up Mar 19 14:18:51 hey, why doesn't Eclipse Indigo show a graphical layout when opening up xml documents?....I'm using Ubuntu ...any ideas anyone? Mar 19 14:19:04 john_doe_jr, is it collapsed? Mar 19 14:19:14 .. well, i emailed a lot of people, and they said they were comming etc.. but.. Mar 19 14:19:19 michaelnovakjr: how could I tell? Mar 19 14:20:06 john_doe_jr, check under views? I don't use eclipse so I'm not sure of the exact layout Mar 19 14:20:10 HDroid had you had any more success stories? more then the soundboard? Mar 19 14:20:10 thats cause michaelnovakjr is just so cool Mar 19 14:20:34 mikedg, that isn't true Mar 19 14:20:40 I'm far from cool Mar 19 14:20:50 dannyD_: well, apart from that, I work for companies that pay me to make apps. No real app success stories, but it worked out well for me personally :P Mar 19 14:21:23 its hard to start up a new group, I wouldnt just give up because your first meetup failed Mar 19 14:21:31 +1 Mar 19 14:21:33 dannyD_: I had a fairly successful phone directory app as well, but I never tried to monetize it (mainly because it was just a wrapper for someone else's mobile site). Mar 19 14:21:39 chnge your agenda and work more closely Mar 19 14:21:40 dannyD_: again - where are you? Mar 19 14:21:42 Many pay silly money for easy stuff, some even so easy, all the java you need to write is setContentView :-P Mar 19 14:21:46 with the people who do attend Mar 19 14:22:07 editing 4 source files at once :/ Mar 19 14:22:40 thank god that I am able to use my ipad as a third monitor Mar 19 14:22:57 how do you guys feel about wrapping dismiss() or commit() for fragments in try/catch IllegalStateException Mar 19 14:23:05 mikedg, you just love that iPad don't you Mar 19 14:23:18 VJTachyon, sounds sketchy Mar 19 14:23:20 it may be unfair, but I picture dannyD_'s "I emailed a lot of people" as meaning "I found a list of Android developers and spammed them" Mar 19 14:23:38 where do my projects end up when using eclipse, i ned to give path to .apk Mar 19 14:23:42 michaelnovakjr: it's my long lost brother Mar 19 14:23:47 Morning. I don't know if anyone else has run into this, but I'm looking to use the android support libraries (v4) and NavUtils doesn't seem to be included in the jar. http://developer.android.com/reference/android/support/v4/app/NavUtils.html - support library - http://developer.android.com/sdk/compatibility-library.html Mar 19 14:23:51 MaybeJust: where you put your workspace Mar 19 14:23:59 michaelnovakjr: hey, any ideas why I keep getting the following error message: "Explicit_Intents] /Explicit_Intents/gen already exists but is not a source folder. Convert to a source folder or rename it." Mar 19 14:24:18 john_doe_jr, I haven't seen that error in a long time. I hate eclipse Mar 19 14:24:21 michaelnovakjr: I had to quit that meetup group because it just turned into recruiters spamming people Mar 19 14:24:26 michaelnovakjr: well i mean, its just a matter of always trying to keep track of the fragment states, even though they are all populated from bound services. I dont care what their state is because they are always populated externally Mar 19 14:24:33 michaelnovakjr: no problem Mar 19 14:24:52 john_doe_jr: right click > build path > use as source folder Mar 19 14:24:53 "hey android devs in a group devoted to socialization and drinking, here is a GREAT JOB OPPORTUNITY" fuck you buddy I hope you get colon cancer. Mar 19 14:25:05 lov, yea... I'm working on that. Trouble is there's a small group of people that are very experienced with android and tons that aren't Mar 19 14:25:22 lov, is that the informal one you are talking about? Mar 19 14:25:32 probably, I forget. It was months ago. Mar 19 14:25:46 it was where someone posted an AMAZING ANDROID CODING CONTEST Mar 19 14:25:50 lov: theres so much money to be made in recruiting Mar 19 14:25:52 where the grand prize was a chance to get interviewed by the company Mar 19 14:25:56 lol ooohhhh Mar 19 14:25:57 and the actual cash prize was just the signing bonus Mar 19 14:26:01 lov, you mean the mailing list? Mar 19 14:26:02 so it was a fucking lollercaust Mar 19 14:26:02 lov: hahaha yeah i remember that Mar 19 14:26:03 yeah Mar 19 14:26:08 HDroid: I don't understand....I don't see a 'use as source folder' Mar 19 14:26:10 you had to take the job to get any prize Mar 19 14:26:16 lol I'm not even on that.... I should probably cut those people off Mar 19 14:26:43 john_doe_jr: should be there. Right-click on gen folder, I meant. Mar 19 14:26:51 anyway once that happened I decided that the S/N ratio wasn't worth it so I just unsubscribed from all that stuff Mar 19 14:27:03 975 KB/s (15585 bytes in 0.015s) Mar 19 14:27:03 pkg: /data/local/tmp/CrowdControl.apk Mar 19 14:27:03 Failure [INSTALL_FAILED_OLDER_SDK] Mar 19 14:27:09 VJTachyon, what are you actually doing in savedInstanceState with the fragment if the state doesn't matter? Mar 19 14:27:13 it is an old phone Mar 19 14:27:20 i have the newest sdk i think Mar 19 14:27:33 lov, yea, that would annoy me too Mar 19 14:27:49 hi! do you have any tip about native arm debugging? after a while i get a segmentation fault without a backtrace, everything seems to be corrupted (by an overflow?) i don't know how to move on.. Mar 19 14:27:58 workless: gdb :> Mar 19 14:28:03 and WORK MORE Mar 19 14:28:15 lov, i'm working on doing some cooler stuff with the group. some sort of split on experience level so folks get more out of it Mar 19 14:28:48 yeah, that was another thing. The show and tells were boring to the point of "why bother" Mar 19 14:28:50 lov: i'm using gdb :p Mar 19 14:28:57 michaelnovakjr: hangouts Mar 19 14:29:13 lov, exactly Mar 19 14:29:25 michaelnovakjr: have novice and advanced groups. To join the advanced group, you have to write an app that explains why you want to join. Mar 19 14:29:41 MaybeJust, show on your phone the version nummber and than create in the same version a codeing project on you PC. Mar 19 14:29:43 michaelnovakjr: im doing dismiss() or commit() at various points. But something is causing the fragments to close at other times and i end up trying to dismiss a dialog or commit a fragment transaction after the savedinstance state Mar 19 14:30:07 lov, yea it is going to end up like that Mar 19 14:30:21 the version of Android system on your phone! MaybeJust. Mar 19 14:30:26 lov, if I didn't run it I wouldn't bother going. I figured that's probably not a good sign :) Mar 19 14:30:35 lol Mar 19 14:30:44 michaelnovakjr: i mean i could try putting in if (isHidden() == false), (isRemoving() == false), etc.. Mar 19 14:30:53 michaelnovakjr: or just punt and try/catch it Mar 19 14:31:37 hm VJTachyon are these all dialogs? Mar 19 14:32:09 michaelnovakjr: nope, the transaction commits are fragment tabs Mar 19 14:32:22 Bitmap image = BitmapFactory.decodeFile(R.drawable.mn); Mar 19 14:32:37 droidbuster: impressive Mar 19 14:32:43 throws errors tried all the suggested fixes Mar 19 14:32:54 decodefile? Mar 19 14:33:03 thats a resource Mar 19 14:33:04 only error for image button :/ Mar 19 14:33:10 I have Android version 2.2 on my phone and android 4.0.3 on eclipse, i have to use 2.2 on my phone as well? Mar 19 14:33:36 droidbuster: .decodeResource Mar 19 14:33:44 How could I map a Vector? Mar 19 14:33:47 droidbuster: http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeResource(android.content.res.Resources, int) Mar 19 14:33:49 with ksoap2 Mar 19 14:33:59 ok i will try it and report back Mar 19 14:34:25 BitmapFactory.decodeResource(getResources(), R.drawable.mn); Mar 19 14:34:47 MaybeJust: you should always use the newest SDK - but set your app manifest appropriately for whatever versions of Android you are targeting and/or supporting Mar 19 14:35:52 can anyone help me to get out of cwm, i'm stuck! Mar 19 14:36:06 FlintDagger: #android-root Mar 19 14:36:48 Leeds how will one know it will work for that older version then..? android makes sure it does automatic ? Mar 19 14:37:22 dannyD_: compatibility library Mar 19 14:37:45 I know, just lots of people there, but no one is talking Mar 19 14:38:07 VJTachyon thank you it did the trick Mar 19 14:38:31 droidbuster: ;) Mar 19 14:38:59 dannyD_: http://developer.android.com/resources/articles/backward-compatibility.html Mar 19 14:39:22 dannyD_: the api you use to build is just classes that you link against. Android is very good with backwards compat, but the onus is on you the developer to not actually use apis which don't exist yet for your minimum targets. Mar 19 14:39:26 (or to safely use them) Mar 19 14:40:36 FlintDagger u need to goto xda and for your phone they will have return to stock Mar 19 14:41:26 I would tried that but I am stuck in cwm, ADB is not recognized while in cwm... Mar 19 14:41:37 FlintDagger: this is the wrong channel. You need to go to #android-root, not here. Mar 19 14:41:41 if your stuck in cwm sceen learn what keys do what Mar 19 14:41:59 Please go to #android-root or #cyanogenmod or whatever Mar 19 14:42:09 ok thank you Mar 19 14:42:11 and lastly u can always put ur phone into download mode... ok i am sorry Mar 19 14:42:18 :> Mar 19 14:42:19 im done supporting Mar 19 14:42:31 I don't mind you supporting, I just want him to ask his questions elsewhere Mar 19 14:42:36 I don't want -dev to turn into -root Mar 19 14:42:41 true Mar 19 14:42:43 : Mar 19 14:42:43 ) Mar 19 14:42:59 I got it guy..just relaxed, I respect that...and thank you Mar 19 14:44:51 HDroid im looking at AdMob, but one must have some kind of company form right? Mar 19 14:45:30 bah i just need a couple other 5 star ratings on my paid app to get the 4.5star graphic Mar 19 14:45:45 hehe Mar 19 14:45:54 nice VJTachyon what kindaa app ? Mar 19 14:45:59 droidbuster: dj app Mar 19 14:46:03 cool Mar 19 14:46:14 who wants to buy it? :) Mar 19 14:46:21 ill bring it down to 99 cents :P Mar 19 14:46:28 lol Mar 19 14:46:33 dannyD_ i know nothing of admob atm but to register a business is under 100 dollors Mar 19 14:46:49 i use admob for my free version Mar 19 14:46:55 right.. well its for free in my country.. Mar 19 14:47:00 you can just use your social security number in the US Mar 19 14:47:07 i just came to the android platform weeks ago from php Mar 19 14:47:33 I use admob in this: https://play.google.com/store/apps/details?id=com.djtachyon.android.VirtualTurntableFree Mar 19 14:47:43 idk VJTachyon i have a valid business number :) and that is great its free dannyD_ Mar 19 14:47:47 VJTachyon but how much can one decide where the add will end up? so it wont bother to much Mar 19 14:47:53 where? Mar 19 14:47:56 you can do whatever you want Mar 19 14:48:02 add it programmatically, in xml, whatever Mar 19 14:48:08 oki Mar 19 14:48:11 i put mine in a popup dialog fragment with a 5 second timeout Mar 19 14:48:19 and used the big tablet ad Mar 19 14:48:24 like word with friends ? Mar 19 14:48:30 lol Mar 19 14:48:31 similar Mar 19 14:48:43 but it doesnt change the whole screen, more like a popup Mar 19 14:48:56 oki, is that enough? Mar 19 14:48:58 and if it doesnt load after 5 second, i just show my own paid app ad Mar 19 14:49:05 dont you want any clicks? Mar 19 14:49:16 huh? i get a huge number of clicks Mar 19 14:49:26 dannyD_: I've never had to enter any kind of business registration. Mar 19 14:49:26 im getting almost 400 a day Mar 19 14:49:47 If I dev on sdk-15 and have 2.2 on my phone, what should I do in my AndroidManifest.xml file? Mar 19 14:50:09 MaybeJust of course Mar 19 14:50:11 MaybeJust, set the minSdkVersion=8 Mar 19 14:50:12 VJTachyon but can the user click away the pop-up without clicking the add? Mar 19 14:50:20 why 8? Mar 19 14:50:25 8 is 2.2 Mar 19 14:50:25 u can also put a min and max version Mar 19 14:50:27 dannyD_: after 5 seconds Mar 19 14:50:37 you can go lower if you'd like Mar 19 14:50:37 can i comment inthe xml file? Mar 19 14:50:50 oki.. Mar 19 14:50:54 MaybeJust: yes, min sdk 8, target sdk 15 Mar 19 14:51:07 keep in mind targetting 15 will hide the menu "..." button Mar 19 14:51:09 will see..i have to make the app first! and get a good idea.. :D Mar 19 14:51:10 VJTachyon: hm is that legal? :D Mar 19 14:51:15 HDroid: why not? Mar 19 14:51:26 HDroid: as long as you dont force people to click the ad Mar 19 14:51:30 VJTachyon: not sure, just figured it'd be borderline click force. Mar 19 14:51:34 nope Mar 19 14:51:36 that's legal Mar 19 14:51:40 But I guess if the terms allow it... Mar 19 14:51:48 NPR does this for even longer with their ads Mar 19 14:51:52 MaybeJust obviously if your testing on 2.2 and target is 15 then u want to make sure all the classes and functions are in both Mar 19 14:51:56 HDroid: tons of apps force you to sit and stare at ads for a time period Mar 19 14:52:03 aha,, Mar 19 14:52:43 android version 2.2 on my phone, i use sdk 15 Mar 19 14:53:07 u can download almost sdk version Mar 19 14:53:27 2.3 i think is the biggest market share atm Mar 19 14:53:37 every sdk version* Mar 19 14:53:41 but do i have to download sdk 8? Mar 19 14:53:54 no Mar 19 14:54:04 MaybeJust if your tageting sdk 8 then why wouldnt you Mar 19 14:54:05 not unless you target or run an emu with api level 8 Mar 19 14:54:15 I dunno I feel it's rather unsafe to develop for an sdk version that is much higher than your minSdk, what is there to gain compared to what you lose (i.e. not noticing you're using newer functionality)? Mar 19 14:54:33 HDroid, it isn't unsafe Mar 19 14:54:37 i downloaded every sdk and used a flash drive to copy to 5 computers Mar 19 14:54:47 you just need to make sure you handle new APIs correctly Mar 19 14:55:26 michaelnovakjr: that's less safe than forcing yourself not to use them, by using an sdk closer to your minSdk, though, isn't it? Mar 19 14:56:03 "Making sure" -> programmer error in my experience :P Mar 19 14:56:08 so sdk 15 can run on a phone with android 2.2? i changed: from 15 to 8 but it still doesnt work Mar 19 14:56:08 HDroid, that doesn't give you the ability to support newer versions of Android Mar 19 14:56:19 never thought of it as safety more the being fully supported and nothing nixed Mar 19 14:56:43 MaybeJust, what is the error? Mar 19 14:56:49 michaelnovakjr: I guess things are different since compat lib. Mar 19 14:56:54 maybe you should pastebin or copy your lines with errors in it Mar 19 14:56:54 HDroid, not really Mar 19 14:57:05 HDroid, I have a min of 2.1 and target of 4.0 Mar 19 14:57:17 I support tablets all the way down to small screens. Mar 19 14:57:19 Failure [INSTALL_FAILED_OLDER_SDK] Mar 19 14:57:21 i have a problem with DB ... can i post 2 lines of code in here? or do i have to use pastebin even for 2 lines? Mar 19 14:57:30 targeting 2.1 I wouldn't have been able to do half of what I have Mar 19 14:57:45 michaelnovakjr: yes but do you have a lot of if(SDK_VERSION < someNUmber))? Mar 19 14:57:53 HDroid, no I don't Mar 19 14:58:12 michaelnovakjr: how come? Mar 19 14:58:18 i dont think 2 lines is spamming either Mar 19 14:58:21 because it isn't necessary Mar 19 14:58:38 michaelnovakjr: so all new functionality degrades gracefully? Mar 19 14:58:45 HDroid, I didn't say that Mar 19 14:59:06 HDroid, there are ways to abstract new functionality Mar 19 14:59:22 michaelnovakjr: dynamic classloading? Mar 19 14:59:35 HDroid, no definitely not that Mar 19 14:59:52 http://pastebin.com/nm1Ur2mV Mar 19 15:00:14 HDroid, initialization on demand is one specific pattern that can be used Mar 19 15:00:28 ^^ paste of my error Mar 19 15:01:39 MaybeJust but there is no logcat errors ? just telling us it failed to install Mar 19 15:01:59 http://pastebin.com/bYgwCCfr Mar 19 15:02:03 with my xml file Mar 19 15:02:08 droidbuster: logcat? Mar 19 15:02:10 it could be a simple error like u failed to enable usb debugging or allow applications from unknown sources Mar 19 15:02:14 i used the command line Mar 19 15:02:36 couldnt get how to run on phone from eclipse Mar 19 15:03:34 when u plug in your phone eclipse should pick it up it does my 2 :/ Mar 19 15:04:08 i cant chose it as target Mar 19 15:04:17 i will let the more exp ppl answer your question as im newer to android platform Mar 19 15:04:31 MaybeJust: presumably you have USB debugging enabled? Mar 19 15:04:41 and if you're on Windows, the appropriate drivers installed? Mar 19 15:04:54 http://pastebin.com/Fa4y2CJ4 here is my SQL-DB problem .... last line ... i can update ALL (with the "null" in it) and it works but not if i try to update just one row :( why is that? Mar 19 15:05:17 Leeds: yes Mar 19 15:05:27 and i downloaded the drivers and they installed correctly Mar 19 15:05:32 does adb see it? Mar 19 15:05:54 yes Mar 19 15:06:07 strange if eclipse doesn't... Mar 19 15:06:10 adb only sees real phones right? Mar 19 15:06:17 adb sees all Mar 19 15:06:50 before i installed it adb didnt see anything now it sees one Mar 19 15:06:56 it says 404... device Mar 19 15:07:08 is it the phone then or an emulator? how can i chekc what it is Mar 19 15:07:14 it says connected in eclipse ? Mar 19 15:07:27 do you have the emulator running, and the phone plugged in? Mar 19 15:08:36 eclipse says minSdkversion is lower than the project target Mar 19 15:08:50 leeds: emulator is working but not running Mar 19 15:09:12 erm... Mar 19 15:09:30 adb won't see it if it's not running Mar 19 15:09:59 so it must be the real phone Mar 19 15:10:06 indeed :) Mar 19 15:10:39 yes i started the emulator then it shows up too Mar 19 15:10:50 so adb sees it eclipse doesnt hmm Mar 19 15:11:15 no one here to help me with SQL ? Mar 19 15:11:40 when i run it should do run configurations then be able to select the real phone? Mar 19 15:11:51 what's the problem Surfer2010? Mar 19 15:13:18 http://pastebin.com/Fa4y2CJ4 here is my SQL-DB problem .... last line ... i can update ALL (with the "null" in it) and it works but not if i try to update just one row :( why is that? Mar 19 15:13:52 deployment target manual or automatic? Mar 19 15:15:32 alowaniak any idea? Mar 19 15:16:06 hmm not really Mar 19 15:16:11 you sure the rowId is an existing one? Mar 19 15:16:36 try spaces between the =? Mar 19 15:16:39 not sure if that's needed tbh Mar 19 15:16:45 but i always got spaces there so... Mar 19 15:17:14 yes i'm sure Mar 19 15:17:27 ok? i try Mar 19 15:18:32 it just doesn't update right? (not giving an error)? Mar 19 15:18:58 since what API level is Camera.setDisplayOrientation available? Or where can i look this up? Mar 19 15:19:51 kevwilde: if you look in the API reference, it tells you when every API call was introduced Mar 19 15:20:12 ah, overlooked it, thanks Mar 19 15:20:30 it's not in big bright letters :) Mar 19 15:20:45 alowaniak correct ... no error just putting in a 1 every time Mar 19 15:20:49 instead of adding up Mar 19 15:21:18 and if i put "null" instead of KEY... it is updating ALL rows and adding the value like it is supposed Mar 19 15:22:44 hmmm Mar 19 15:23:05 well wouldn't it be a better idea to only query the one row you want? Mar 19 15:23:19 and then cursor.moveToFirst instead of cursor.moveToPosition? Mar 19 15:23:27 not sure if that's the problem though Mar 19 15:23:54 you mean just the one column? Mar 19 15:24:16 no i mean you're finding the rowId Mar 19 15:24:23 and then query the database for the whole table Mar 19 15:24:35 why not restrict the query to only the row with the rowId Mar 19 15:25:47 in --- findStatRow ---- i actually do that ... can i return a cursor? would that be better? Mar 19 15:26:28 xorgate, I did it ! Mar 19 15:27:49 anyone know of a good cache implementation for something like Bitmaps Mar 19 15:27:55 well it would definitly be better to only query the row you need the info of Mar 19 15:28:04 if it will fix your problem; i don't know Mar 19 15:28:07 but querying the table Mar 19 15:28:12 and then doing setPosition(rowId) Mar 19 15:28:21 doesn't necessarily give you the row with that rowId Mar 19 15:28:57 although since it's a primary key with autoincrement chances are it probably will, but if you've removed rows out of it; then it won't Mar 19 15:29:53 true i tripped over that problem allready Mar 19 15:31:59 you could just add a select on the query for KEY_ROWIDS + " = " + rowId or w/e Mar 19 15:32:14 aLeSD cool Mar 19 15:32:20 I wish admob would allow me to prevent ads that are worth almost nothing if someone clicks Mar 19 15:32:23 I wouldn't even show them Mar 19 15:34:52 xorgate, I am actually see 30 TExt views showing SensorEvents Mar 19 15:35:02 cpu 37% Mar 19 15:35:32 is there a fix for the home button delay on galaxy s2 on ICS? Mar 19 15:35:47 Venin: oh wow, that's back again? Mar 19 15:36:03 Earlier 2.3 firmware had that. Mar 19 15:36:09 snooplsm how come some adds are worth almost nothing? cant one configure anything? Mar 19 15:36:13 hmm, my brother said he had it Mar 19 15:36:18 Try turning off voice recognition if there's an option for that. Mar 19 15:36:21 aLeSD are you updating them all even if invisible? Mar 19 15:36:21 I havent put ICS on mine yet Mar 19 15:36:37 HDroid: that had no effect earlier I think Mar 19 15:36:47 It waits for a second press I think.. because that launches voice control. Mar 19 15:36:54 yeah Mar 19 15:37:00 xorgate, up to now yes ... but the next step is update only the visible ones Mar 19 15:37:04 but I just read that disabling it had no effect Mar 19 15:37:05 the design is done Mar 19 15:37:21 :/ Mar 19 15:37:21 alesd then remember to also update the view when it becomes visible due to scrolling Mar 19 15:37:49 ill just put in ICS and see :p Mar 19 15:38:00 any ideas how I can do it if I have cm7 on it now? Mar 19 15:38:59 I got it working now thanks LEEDS and droidbuster Mar 19 15:39:02 xorgate, I had to register a reference to the view .. but I am releasing it when is outside of visibility Mar 19 15:39:08 MaybeJust: yay :) Mar 19 15:39:12 Venin: go to #android-root. Those questions are not appropriate for #android-dev Mar 19 15:39:17 thanks Mar 19 15:39:23 np Mar 19 15:39:24 is there no way to export MMS and have it imported afterwards? Mar 19 15:39:25 xorgate, I did it in the mainthread in the drawloop Mar 19 15:39:33 again, #android or #android-root Mar 19 15:39:38 I didn't find a better way Mar 19 15:39:39 #android-dev is for questions about developing apps Mar 19 15:39:52 not about end user activities (unless you're developing those activities) Mar 19 15:39:59 oh right Mar 19 15:40:21 "Is there a way to programatically export/reimport MMS messages? What content provider should I use?" <- Appropriate Mar 19 15:40:30 "Hey guys how do I export my mms messages?" <- Not appropriate. Mar 19 15:40:39 of course Mar 19 15:43:56 sup guys Mar 19 15:44:13 alowaniak THANK YOU it works :) i don't know why but now i query only one row and it's fine! Mar 19 15:44:45 ye i'm guessing the rowId didn't correspond with the position in the Cursor then ;) Mar 19 15:45:00 say ive got an activity called ActivityA and a fragment sub activity called FragmentA, in FragmentA, is it safe to have a public variable called ActivityA and set it to (ActivityA)getParent() ? Mar 19 15:45:36 isn't there a getActivity() method in Fragment? Mar 19 15:45:44 thus; why would you need to keep the variable? Mar 19 15:46:20 say ive got an activity called ActivityA and a fragment sub activity called FragmentA, in FragmentA, is it safe to have a public variable called ActivityA and set it to (ActivityA)getParent() ? Mar 19 15:46:25 (got disconnected) Mar 19 15:46:36 there's getActivity() Mar 19 15:46:41 yeah Mar 19 15:46:45 to call methods on the parent activity Mar 19 15:46:50 but is it safe to store that in a public variable Mar 19 15:46:58 no, it isn't Mar 19 15:47:02 or should i reference it as i need it using getActivity Mar 19 15:47:07 yeah Mar 19 15:47:11 ok coolio Mar 19 15:47:12 thanks Mar 19 15:47:15 and you generally shouldn't use that too much Mar 19 15:47:32 because you're essentially coupling your fragment to one parent activity that way Mar 19 15:47:37 yeah Mar 19 15:47:46 which kind of defeats the point of using fragments Mar 19 15:47:57 (there are exceptions, but generally) Mar 19 15:48:23 xorgate, however I think what I am doing is an hack ... Mar 19 15:48:29 I don't like ti very much Mar 19 15:48:30 reasone why is because ive got fragments as tabs and the main tab manager has a variable for the page details which affects all the sub fragments, rather than reload the data in each fragment, i store it in the parent activity and just call it Mar 19 15:49:51 xorgate, are you sure nothing is called when and item of the adapter goes out of visibility ? Mar 19 15:50:26 aLeSD i am not Mar 19 15:51:30 Hey guys, there is no way to use the android IMAP stack in an application released on the Android Market? Obligation to use the Javamail? Mar 19 15:51:34 ok broadcasting Mar 19 15:52:10 moystard: no, I know of no api to use the existing imap stuff. Look at what k9 does, I don't know what library they use for imap, but they're open source. Mar 19 15:52:31 someone here know if there is some way to know which view (or ids) created by a ListView with an Adapter go out of visibility ? Mar 19 15:53:09 dragorn: they use Javamail I presume. That is sad not being able to use the system one. Thanks. Mar 19 15:55:48 aLeSD: ListView has getFirstVisiblePosition() and getLastVisiblePosition() Mar 19 15:55:49 so... anybody know if there is a suitable android emulator/simulator that can be used for customer training? Mar 19 15:56:05 evancharlton: ok thanks Mar 19 15:57:40 i observe some interesting behaviour in our app.. we start an intent to let the user send an email.. Mar 19 15:57:58 hrnt: define "suitable" Mar 19 15:57:59 but once he returns from that intent our app goes all the way back to the main screen Mar 19 15:58:13 hrnt: bear in mind that all api levels have emulators (no simulators) Mar 19 15:58:20 and some OEMs have their own emulators Mar 19 15:59:02 lov: well, compared to the emulator that comes with the SDK: faster, easier to install (no need to install the SDK) Mar 19 15:59:11 emulators area subset of all simulators Mar 19 15:59:16 no. Mar 19 15:59:16 s/area/are/ Mar 19 15:59:20 yes Mar 19 15:59:23 You'll have to install the sdk or some subset of it Mar 19 15:59:27 bear in mind that "install" is a misnomer Mar 19 15:59:33 you just zip it up and put it somewhere Mar 19 15:59:43 h you weren't answering my comment :D Mar 19 15:59:45 there's no registry changes, etc. Mar 19 16:00:00 lov: hmm, interesting Mar 19 16:00:15 does the emulator actually depend on any significant subset of the SDK, at runtime? could you bundle it with an AVD and distribute? Mar 19 16:00:16 lov: so I could basically "preconfigure" it, and zip it and use that as the baseline? Mar 19 16:00:21 yes, absolutely. Mar 19 16:00:25 i wonder if there are licensing issues with that Mar 19 16:00:38 it's all open source Mar 19 16:00:38 Leeds: I don't know, but I suspect it uses almost none of it Mar 19 16:00:45 hrnt: it's apache 2. Mar 19 16:01:34 great. i'll look into that as an option. it won't solve the speed issue, of course, so I need to check first if that is a showstopper Mar 19 16:02:11 bear in mind, the emulator is doing full armv7 emulation Mar 19 16:02:23 i know :( Mar 19 16:02:23 that and the drawing not actually using the graphics hardware are the causes of slowdown Mar 19 16:02:46 what happen if I invalidate an invisible view ? Mar 19 16:02:49 try using hvga or qvga emulators on GB or ICS Mar 19 16:02:54 (for the love of god skip HC) Mar 19 16:03:16 note: the samsung galaxy pad does not charge over USB Mar 19 16:03:26 so i have to stop developing now for it to recharge :( Mar 19 16:03:51 also the emulators are too damn slow :D how about offering an intel based one. then one could use virtualization Mar 19 16:04:01 lov: yeah, i've been using the GB emulators. the speed of graphics does not matter for my application Mar 19 16:04:03 or maybe i can setup android/intel in a virtualbox and use that.. Mar 19 16:04:07 it the raw CPU power that is insufficient Mar 19 16:04:22 (it is) Mar 19 16:04:25 what's "GB" emulators? Mar 19 16:04:29 gingerbread Mar 19 16:04:31 gingerbread Mar 19 16:04:48 run run run as fast as you can Mar 19 16:04:55 oh ok Mar 19 16:05:25 doesn't that run on x86 yet? Mar 19 16:06:38 xorgate, I am happy : 200 text view showing the last event of ACCELETOMETER at 25 Hz 32 % CPU on galaxy Nexus .. I think 11 are visible Mar 19 16:08:32 cool Mar 19 16:10:06 now I have to learn how to reuse the same View inside the Adapter Mar 19 16:10:39 check that gist link i sent earlier Mar 19 16:10:42 reboot time Mar 19 16:10:51 im dieing for a tmo iphone :/ Mar 19 16:12:45 hi folks. Mar 19 16:15:26 so i have a foreground service (ie with a notification), which is tightly bound to _my_ application. now, if i'd like to return to the "current" activity of my application, how should the pending intent of the notification look like? is this possible at all? Mar 19 16:16:28 what i mean by current activity: let's say, i press the home button, but later "re-launch" my app from the launcher. it will return to the activity which was active before i clicked home ... Mar 19 16:22:24 antianno, I think you have to check for the situation that you are already running and resume. Mar 19 16:22:51 You can store that info in your application (but that means if you die, get GC'ed, then you lose it. might be appropriate if it's got a network connection open). Mar 19 16:22:58 You can also store that info in the Intent itself. Mar 19 16:23:37 usually you can put it as extra data. I've serialized java objects via the serialization stuff before... Mar 19 16:25:18 mcr: well, unfortunately i still don't get how exactly the pending intent should look like - in other cases, where the service notification should re-open a _specific_ activity, i would create a pending intent with the according activity class name. but here i don't know which specific activity the notification should open. Mar 19 16:26:00 I'm saying the intent should target some "starting" activity, and that activity should consider if it is being resumed. Mar 19 16:26:48 mcr: and this starting activity then should keep track of the currently running, actual activity? Mar 19 16:27:07 that's my notion. It's not the only notion there is. Mar 19 16:27:28 there was a good blog post about resuming games. Mar 19 16:27:37 it suggests that games should always resume paused. Mar 19 16:29:42 weird. i send an email with an attachment with this app. i send to a different email address from the same app and it delivers all emails previously delivered via this app to the new address. Mar 19 16:29:43 mhh. basically, i hoped that it's possible to find out which activity an application is currently executing/was executing before it stopped. after all, the launcher doesn't resume with the home activity but with this last one ... how? Mar 19 16:45:28 <`z> night guys Mar 19 16:47:16 Hello all Mar 19 16:50:05 anyone know of a Java to UML tool so I can reverse engineer my java code into a uml diagram Mar 19 16:52:06 drpenguin: http://lmgtfy.com/?q=java+to+uml Mar 19 16:52:40 evancharlton: smart ass, whatevers in those posts dont work in eclipse Mar 19 16:53:29 and your original question stated "for eclipse" where? Mar 19 16:53:57 screw u then Mar 19 16:54:02 :D Mar 19 16:55:58 kanelbulle: you're so mean! ;) Mar 19 16:56:13 mwuhaha Mar 19 16:56:38 protip: dont let your usb cables hang in a candle's fire Mar 19 16:56:56 xorgate: I thought that was how they made firewire.. Mar 19 16:57:07 * TheMaverick` dies laughing Mar 19 16:57:08 nah he served that one up himself. :P first hit for evans google was even a good SO thread about "Recommended Eclipse plugins to generate UML from Java" Mar 19 16:59:15 anyone tried using openstreetmap as opposed to MapActivity ? any thoughts? Mar 19 17:02:07 what is an efficient way to generate unsecure long integer values? Mar 19 17:02:47 I wsa using time.toMillis, but if it's run on the phone the value doesn't change. Mar 19 17:03:21 Ankhwatcher: what do you mean? are you just looking for monotonically-increasing integer values? Mar 19 17:03:25 'unsecure' ? Mar 19 17:03:44 Im creating an app where approcimately 5 activitsy needs fresh data from the internet regularly. I want to use the Asynctask to check if there is new data. can anyone recommend a pattern to handle the use of asynctask? Mar 19 17:04:02 xorgate: I just meant I'm not using it for encryption so I don't need to worry about replicating it Mar 19 17:04:23 do you mean random values? Mar 19 17:04:27 evancharlton: I'm trying to make random colors, so I need a changing seed Mar 19 17:04:42 new Random(System.currentTimeMillis()) Mar 19 17:04:47 Random and setSeed( System.currentMillies() ) Mar 19 17:05:01 prolly what he said :0 Mar 19 17:05:54 This is what I have: http://pastebin.com/ZDNf8GXK Mar 19 17:08:00 Ankhwatcher: and what doesn't work with that? Mar 19 17:08:35 evancharlton: if you run it a bunch of times in a loop it generates the same colour over and over Mar 19 17:08:42 well, yes Mar 19 17:08:52 are you expecting each iteration of the loop to take longer than 1ms? Mar 19 17:09:00 I'm trying to think of a better way to do it Mar 19 17:09:13 set the seed only once Mar 19 17:09:17 == xorgate Mar 19 17:10:56 make the random generator a member of the class, initialize it with the system.currentTimeMillis() in some onCreate and use it inside your getRandomColor() method with nextInt() Mar 19 17:14:07 xorgate: that sounds good, this is what I thought up: http://pastebin.com/TsWJEpTj Mar 19 17:14:33 that wasy when it's in a loop I just feed it the loop iterator Mar 19 17:14:41 otherwise I give it zero Mar 19 17:15:08 i guess that would work but its very nonelegant Mar 19 17:15:55 I cant choose target platform in eclipse like most people, why? Mar 19 17:16:24 you didnt download any api versions from adt? Mar 19 17:17:51 this question might be slightly out of scope but does anyone know if/how it's possible to do an http POST with streaming data? that is, sending some data without knowing the Content-length Mar 19 17:18:03 I'm in eclipse...why would I have an 'import android.app.Activity;' but have the android part unlined? ...I'm completely new to android development.. Mar 19 17:18:54 john_doe_jr you didnt make an android project? Mar 19 17:19:04 assuming you downloaded the sdk at all :0 Mar 19 17:19:14 Ankhwatcher: new Random(seedTime.toMillis(true)+ run *25); <-- I don't think you understand how random works... Mar 19 17:19:33 xorgate: I downloaded the sdk Mar 19 17:19:43 Ankhwatcher: you can just do new Random(run) and it'll work just as well Mar 19 17:20:13 yeh but then he would get the same values everytime i think Mar 19 17:20:37 yeah Mar 19 17:21:07 honestly, the right solution is to store it in a final member or static variable and just use nextInt() like you said Mar 19 17:21:33 but if he wants to make things more expensive for worse readability, then, well, I guess he's the one maintaining it... Mar 19 17:21:53 Im creating an app where approcimately 5 activitys that needs fresh data from the Internet regularly. I want to use the Asynctask to check if there is new data. can anyone recommend a pattern to handle the use of asynctask? Mar 19 17:22:50 you could have the task broadcast a message that your activities catch Mar 19 17:25:37 mmm xorgate but if I want to use convertView I have to add an id to my CustomViews ? Mar 19 17:26:06 alesd you could store it in the tag with setTag() Mar 19 17:26:10 for example the user could decide to insert a graph , a text, a pie etc etc Mar 19 17:26:21 i strongly suggest you watch the vid i linked Mar 19 17:26:31 if you deal with listview -> watch that Mar 19 17:26:36 xorgate, you mean in the common interface of my cuystomViews ? Mar 19 17:26:51 alesd in the tag of the view you created Mar 19 17:27:14 I see ... it there a way to set a unique TAG by the framework ? Mar 19 17:27:53 xorgate: do you have 5 different AsyncTask subclasses to contact the Internet? Mar 19 17:28:15 bif_1964 that's for you to decide... Mar 19 17:28:22 i dont know what you are downloading Mar 19 17:31:35 xorgate: its some xml, scrapping from the local football team. from different places Mar 19 17:31:58 http://www.humblebundle.com/ Mar 19 17:35:17 after adding andengine as a lib can i find under the project as a link? Mar 19 17:37:24 xorgate, convertView is not very much useful in an heterogeneous list Mar 19 17:37:49 it is if your view slides out of the screen Mar 19 17:38:20 xorgate, and the new one is of the same type Mar 19 17:38:37 and that's very rare in my app Mar 19 17:38:38 the thing is that a view costs memory Mar 19 17:38:50 you could have 200 views or 10, if you do it smarter Mar 19 17:38:52 ooh, another humblebundle? Mar 19 17:38:59 yes I understood all. Just thinking about the framework Mar 19 17:39:22 I will code the stuff Mar 19 17:39:28 cause I am pro Mar 19 17:39:49 * pfn purchases Mar 19 17:39:55 as you wish :0 Mar 19 17:40:50 :) Mar 19 17:42:30 how can i see if i actually did import andengine into my project? Mar 19 17:42:40 because still i have errors so i suppose i didnt Mar 19 17:45:25 I hope the humble bundle games are good Mar 19 17:46:48 any of you using the full aosp sources ? Mar 19 17:48:43 * pfn always has full aosp sources checked out Mar 19 17:49:01 how do you determine when a fragment has "resumed" Mar 19 17:49:20 or rather, if i pop my top fragment, how do i tell the newly top fragment that it is now active Mar 19 17:50:34 no idea Mar 19 17:50:38 some hackery, I suppose Mar 19 17:50:41 maybe backstatechanged Mar 19 17:51:00 i can't get the make step complete somehow.... Mar 19 17:51:30 fix compile errors Mar 19 17:51:32 try again Mar 19 17:51:36 that's how you make the make step complete Mar 19 17:52:12 the prebuilts gcc script is using a 32 bit gcc ? Mar 19 17:52:30 someone see some problem in use this.setTag(getClass().getName();)? Mar 19 17:53:23 with this View Mar 19 17:54:31 aLeSD: i see no problem with that, except that it's entirely useless Mar 19 17:54:46 why ? Mar 19 17:54:48 yeah, what are you trying to do? Mar 19 17:54:54 why would you need the tag to have the classname? Mar 19 17:54:55 lol Mar 19 17:54:58 that's completely pointless Mar 19 17:55:01 is it not already in the class? Mar 19 17:55:02 :) Mar 19 17:55:06 also, it doesn't compile :P Mar 19 17:55:11 why not? Mar 19 17:55:18 oh, semicolon Mar 19 17:55:18 rofl Mar 19 17:55:18 check his semicolon Mar 19 17:55:20 I know ... but I won't to set tags by hand Mar 19 17:55:37 aLeSD: you don't understand the point of a View's tag, do you? Mar 19 17:55:47 mmm maybe not Mar 19 17:55:49 :) Mar 19 17:55:51 do you think it's a tag for logging or something? Mar 19 17:55:54 because it's not :) Mar 19 17:56:15 [13:50:42] maybe backstatechanged Mar 19 17:56:21 that only works if the thing was in the backstack Mar 19 17:56:23 evancharlton, I am going to use it to reuse the view in an CustomAdapter for ListView Mar 19 17:57:13 I have to check the tag and if is the same of the the view I am going to create ... I reuse it Mar 19 17:57:22 canadiancow|work, well, my only guess offhand would be using the backstackchanged and checking whether the fragment is visible when it receives said event Mar 19 17:57:34 mmm it's useless Mar 19 17:57:40 casuse it has to be statis Mar 19 17:57:46 but again, you can have fragment transacitons that dont modify the back stack Mar 19 17:57:51 so there would be no event Mar 19 17:58:11 http://www.youtube.com/watch?v=wDBM6wVEO70 Mar 19 17:58:14 but your use-case was adding and popping the stack Mar 19 17:58:16 please watch Mar 19 17:58:18 which do result in stack changes Mar 19 17:58:25 not necessarily Mar 19 17:58:35 you can add a fragment to the screen without changing the back stack Mar 19 17:58:41 s/add/add or remove/ Mar 19 17:58:54 anyway, you're smart, you can figure it out :p Mar 19 17:59:11 ok I leave tag stuff Mar 19 17:59:43 aLeSD: get rid of your recycler nonsense, too Mar 19 17:59:48 let ListView and Adapter do that Mar 19 17:59:48 can you use andengine for 2.2 version phones? Mar 19 18:00:22 evancharlton, I have a customAdapter Mar 19 18:00:38 because I need it Mar 19 18:01:01 MaybeJust: http://code.google.com/p/andengine/ "Features: android 1.6 compatibility" Mar 19 18:01:21 yes, that means it's good for 1.6 and up. Mar 19 18:01:26 nice Mar 19 18:05:31 I'm having an issue unit testing an AsyncTask where onPostExecute isn't being called. There is some code here: http://stackoverflow.com/questions/9774792/asynctask-onpostexecute-not-called-in-unit-test-case Mar 19 18:05:36 Can anyone help? Mar 19 18:06:00 LowDev, probably because doInBackground never returns Mar 19 18:06:08 aLeSD: yes, but why are you trying to reimplement recycling? Mar 19 18:06:37 aLeSD: please go look at getItemViewType(int) and getViewTypeCount() Mar 19 18:06:43 I'm sure it returns. Mar 19 18:06:48 ok Mar 19 18:07:16 LowDev, look at the stack for your threads and see where it's at Mar 19 18:07:23 the asynctask #n threads in ddms Mar 19 18:07:35 pfn, k Mar 19 18:11:29 ah Mar 19 18:12:19 evancharlton, I was extending BaseAdapter and I think it's not the best solution for my purpose, isn't it ? Mar 19 18:12:21 pfn, Mar 19 18:12:30 Only have 1 AsyncTask Mar 19 18:12:44 Multiple markers at this line Mar 19 18:12:44 - The method onLoadEngine() of type AE1Activity must override a superclass Mar 19 18:12:44 method Mar 19 18:12:44 - implements org.anddev.andengine.ui.IGameInterface.onLoadEngine Mar 19 18:12:57 i did as it says Mar 19 18:13:05 but get that error Mar 19 18:13:11 or maybe it's the best solution ... cause I have the control Mar 19 18:14:10 pfn, it isn't showing my method in it. But I did see my onBackground() method log to logcat right before the return statement. Mar 19 18:19:48 whatup android-dev? Mar 19 18:26:44 how to open https with webview ? Mar 19 18:28:45 how do I clean the "problems"? im not sure if it old errors or not Mar 19 18:30:32 MaybeJust: ?? Mar 19 18:32:39 Hi. How come this http://pastie.org/3629622 gives a NullPointerException in line 30? Mar 19 18:33:25 I'm gonna guess tvs[0] is null Mar 19 18:34:08 But why? Line 18: tvs[0] = (TextView) findViewById(R.id.x1); Mar 19 18:34:09 You should probably setcontentview before trying to find views that is added by that Mar 19 18:34:11 sebastianskejoe: put your setContentView before setting the arrays Mar 19 18:34:24 And yes, findViewById can return null if no view with that id is found Mar 19 18:34:24 Ah okay. Thanks a bunch. Mar 19 18:34:48 Hey all, I'm implementing a button-thing using an ImageView which changes the image and does some stuff on an ACTION_DOWN MotionEvent, then performs another action on ACTION_UP. Unfortunately, I still recieve MotionEvents if I click down and then move my finger outside the view. How can I best stop this happening? Mar 19 18:35:20 I don't receive ACTION_CANCEL or ACTION_OUTSIDE events, for some reason Mar 19 18:35:39 where does android set the host arch ? Mar 19 18:36:01 my system is x86_64 but i see only x86 set for aosp source.... Mar 19 18:36:28 homie: building android from soource? Mar 19 18:36:44 erm yes Mar 19 18:36:54 i got the toolchains in place now Mar 19 18:36:54 . build/envsetup.sh Mar 19 18:36:56 lunch Mar 19 18:37:03 http://mobile.slashdot.org/story/12/03/19/1750233/free-apps-eat-your-smartphone-battery Mar 19 18:37:04 you set it by choosing your target Mar 19 18:37:08 well with luch i choose full-eng Mar 19 18:37:19 but somehow the host arch is always set to x86 only Mar 19 18:37:29 is this from AOSP? Mar 19 18:37:33 yes Mar 19 18:37:38 with repo sync Mar 19 18:37:41 just a sec Mar 19 18:37:42 master/head Mar 19 18:38:32 what's your host arch? Mar 19 18:38:44 x86_64 Mar 19 18:39:22 os x? Mar 19 18:39:24 does a live wallpaper count towards your heap limit? Mar 19 18:39:36 when i do make, it fails at one step, looking for -lgcc failing with the provided gcc.a or gcc.la in /usr/lib64 obviously meaning it uses or tries to use a 32bit gcc.... Mar 19 18:40:25 and i think all that happens cause host arch is not set correctly.... Mar 19 18:42:16 homie: what OS? Mar 19 18:42:23 slackware Mar 19 18:42:25 13.37 Mar 19 18:42:46 homie: did you download all the required tools? Mar 19 18:42:56 i hope so, i'm not sure Mar 19 18:43:00 i just repo synced.... Mar 19 18:43:11 as specified in http://source.android.com/source/initializing.html Mar 19 18:45:57 i think i have all the required tools... Mar 19 18:47:52 how can I make eclipse just show errors from the project i want it to? Mar 19 18:48:21 MaybeJust, in the logcat? Mar 19 18:48:27 filter by name Mar 19 18:49:26 https://bitbucket.org/GBouerat/colored-logcat-pid/ Mar 19 18:50:59 is it possible to monitor any stats re: opengl on android? (i.e. texture memory used / avail) Mar 19 18:51:37 when i use a 32bit gcc, it compiles away until some point.... Mar 19 18:54:33 and i have to get the kernel sources somewhere..... Mar 19 19:05:01 how can i tell eclipse to run proguard on release build? Mar 19 19:05:52 i would use ant for a release build ;) Mar 19 19:06:14 hm i dont know jack about ant Mar 19 19:06:32 read up about the command line build system in the docs Mar 19 19:08:17 * hackkitten waves at g00s o/ Mar 19 19:08:23 hey hackkitten Mar 19 19:08:27 :) Mar 19 19:10:49 ant debug, ant release, and debug clean, ant release clean.... Mar 19 19:11:16 ant all clean! Mar 19 19:11:43 last time i used it i forgot the clean parts..... Mar 19 19:12:20 and my builds were succeeding but the actual .apk did not have anything changed.... Mar 19 19:12:42 Anyone using tapit? Mar 19 19:12:46 Or perhaps even airpush? Mar 19 19:12:46 is it possible for the ADT to pick up multiple res directories ? is this what aapt -S does ? Mar 19 19:12:50 like a string which was "hello world" before and "Hello world, this is me" Mar 19 19:12:54 oh god, airpush Mar 19 19:13:17 Wouldn't really think about using airpush. Just want to hear from people that do. Mar 19 19:13:26 does a live wallpaper count towards your heap limit? Mar 19 19:13:40 canadiancow|work: yes, but dead ones don't XD Mar 19 19:13:45 just kidding, no idea Mar 19 19:13:51 T_T Mar 19 19:22:34 any apps that use TYPE_AMBIENT_TEMPERATURE in 4.0? Mar 19 19:26:40 just how expensive are virtual method calls? If I made 100-200 virtual method calls per frame in a game, would it be slow? Mar 19 19:26:56 all other things equal Mar 19 19:27:05 versus say, making the methods static Mar 19 19:29:32 I have a few looping audiotracks running in a service. They seem to keep playing whenever the app crashes. I don't know how to make my device shut up without restarting. Mar 19 19:31:04 zpmorgan: use the application menu in preferences, kill the application from there Mar 19 19:31:28 or write some adb shell kill '$(pidof com.your.package)' Mar 19 19:33:33 alankila, thanks. Mar 19 19:34:35 where should I put 2 links for information about the app I have developed? Mar 19 19:34:55 can someone please tell me what TYPE_AMBIENT_TEMPERATURE does? Mar 19 19:35:26 I don't see many apps that have URL links on them, but it seems people here have voted to add them to the app... I thought in a settings page at the bottom, but then they said that they don't like scrolling Mar 19 19:35:50 Tjh: A constant describing an ambient temperature sensor type Mar 19 19:36:11 evancharlton the description says it gives ambient temp in C..how is that possible? Mar 19 19:36:21 "TYPE_AMBIENT_TEMPERATURE: A temperature sensor that provides the ambient (room) temperature in degrees Celsius." Mar 19 19:36:27 ^how is that possible? Mar 19 19:36:33 Tjh: with a thermometer Mar 19 19:36:43 what thermometer? Mar 19 19:36:53 there's no guarantee that your device will have such a sensor Mar 19 19:37:05 see also: gyroscope, barometer, etc. Mar 19 19:37:27 Device implementations MAY but SHOULD NOT include a thermometer (i.e. temperature sensor.) If a device implementation does include a thermometer, it MUST measure the temperature of the device CPU. It MUST NOT measure any other temperature. (Note that this sensor type is deprecated in the Android 2.3 APIs.) Mar 19 19:37:44 ListView question. I store a bunch of images on the SDcard which I'd like to display as thumbnails in a listview. The images go through image scaling to fit more properly in the listview. Mar 19 19:38:11 evancharlton are they planning for any that do, cuz as far as ive seen the documentation says that devices must not measure room temp. Mar 19 19:38:17 This, however, is horrible for performance. Has anyone a tip on how this could be more efficiently done? Mar 19 19:38:27 drlaban: save the thumbnails on the sdcard too Mar 19 19:38:32 then read them instead of always scaling Mar 19 19:39:10 readme: Alright, so when I download the originals, do some scaling of them and store them as thumbnails? Mar 19 19:39:16 Tjh: "must not"? Mar 19 19:39:18 Tjh: Great foresight that they were able to deprecate a sensor type added in API14 way back in API10 Mar 19 19:39:22 drlaban: yeah, that sounds reasonable. Just convert a thumb each time you dl. Mar 19 19:39:38 better yet, have the server do it, if possible Mar 19 19:40:01 (Hint: There's a deprecated TYPE_TEMPERATURE) Mar 19 19:40:10 yea i saw that Mar 19 19:40:25 with 4.0 they introduced a bunch of sensor types that make no sense Mar 19 19:40:26 Hello, does anyone on Linux encounter this problem? Mar 19 19:40:27 http://tynipic.com/images/bfi1332185964b.png Mar 19 19:40:32 tjh: I think they redefined the original thermometer sensor to be for the battery temp. iirc, I think they added back the option for an ambient temp sensor in 3.x or 4.x Mar 19 19:40:32 readme: I'm making a new httpclient connection for each file I download, would it impact download times much to get the server thumbnails? Mar 19 19:40:34 like AMBIENT_TEMP and HUMIDITY Mar 19 19:40:48 drlaban: *significantly* impact, I mean... :p Mar 19 19:40:56 ive looked and looked and no one even knows about rumours of phones that plan on having these Mar 19 19:41:25 killring: i get that...but what devices have temp sensors (ambient type) Mar 19 19:41:31 ? Mar 19 19:41:32 drlaban: better off using URLConnection to download static files, since it supports caching Mar 19 19:41:39 if u know..im curious Mar 19 19:41:55 HttpClient for rest, urlconnection for everything else. Mar 19 19:41:59 i mean they wudnt have put it there, unless google thought people were going that way Mar 19 19:42:08 I'm not aware of any right now. the problem (esp. on phones) is that the act of holding the device or having it in your pocket would alter the ambient temp reading Mar 19 19:42:20 readme: Nice tip! I'll definitely look into it. Mar 19 19:42:29 so it's a lot less useful than it would seem most of the time Mar 19 19:43:20 that's just my guess as to why it was originally deprecated Mar 19 19:43:56 killring: exactly..even with my watch, its pretty useless, as it rarely ever shows correct temp due to me holding it, or it being close to me Mar 19 19:44:17 oh yeah, forgot to mention the battery charging/discharging would also alter the readings :-( Mar 19 19:44:26 it wud? Mar 19 19:44:29 and the cpu/gpu... etc. etc. etc. Mar 19 19:44:34 well depeing on where it is right..yea Mar 19 19:44:37 *depending Mar 19 19:44:45 so why in gods name is that code in there? Mar 19 19:44:56 on a phone, it's pretty much everywhere the sensor could possibly be Mar 19 19:45:24 hmm how about a tablet then? Mar 19 19:45:45 maybe they plan on putting temp sensors on their flagship tablet when they make it Mar 19 19:45:59 I'd think that would be a more realistic form factor Mar 19 19:46:28 not if the price points being reported are correct... it'll be lucky to have even a camera Mar 19 19:46:32 ok, so...thats it then..start the rumour mills, the upcoming nexus tablet has a temp sensor Mar 19 19:46:51 lol Mar 19 19:47:07 next question...in ICS+tablet mode...is it possible to hide the notification/navbar thingi? Mar 19 19:47:13 i know in vanilla its not Mar 19 19:47:19 no Mar 19 19:47:20 Tjh: or perhaps they wanted to leave the possibility in there in case an OEM wanted to use it Mar 19 19:47:57 "he SYSTEM_UI_FLAG_HIDE_NAVIGATION is a new flag that requests the navigation bar hide completely. Be aware that this works only for the navigation bar used by some handsets (it does not hide the system bar on tablets" Mar 19 19:47:58 about all you can do is put the nav bar into night mode or whatever they called it Mar 19 19:48:07 evancharlton yea true Mar 19 19:48:31 killring: "lights out" is the term, I believe Mar 19 19:48:37 killring: yea but wud it be possible to patch the code that lets SYSTEM_UI_FLAG_HIDE be used in tablet mode? Mar 19 19:48:42 yea.. Mar 19 19:48:56 "he SYSTEM_UI_FLAG_LOW_PROFILE flag replaces the STATUS_BAR_HIDDEN flag. When set, this flag enables “low profile" mode" Mar 19 19:48:57 evancharlton: thanks... my mind was going blank on the name :-) Mar 19 19:49:04 Tjh: if you're controlling the build then yes, of course. You can change it to do whatever you want. Mar 19 19:49:13 kool Mar 19 19:49:16 Don't expect to pass CTS, though. Mar 19 19:49:23 CTS? Mar 19 19:49:56 http://source.android.com/compatibility/index.html Mar 19 19:50:22 also note the last line on the describtion of that flag... sounds like touching the screen will bring the nav bar back Mar 19 19:50:58 aah gotcha Mar 19 19:51:17 killring: yea that wud make sense,...i wanted to watch videos in full 720 Mar 19 19:51:28 right now im sitting at 1232x720 Mar 19 19:51:39 that sounds like what it's for... i.e. not for games Mar 19 19:51:56 yea.. Mar 19 19:52:14 although a lot of the games implaying fail at low profile in tablet mode Mar 19 19:52:16 makes sense since allowing the nav bar to be permanently hidden is pretty risky if *anything* goes wrong in the app that hid it Mar 19 19:52:54 killring: in AOKP for isntance you can have a toggle in the power menu, which i use to play games. However this fails to work in tablet mode obv, Mar 19 19:53:17 *sigh* Mar 19 19:53:31 i know its just like 40 pixels but on a 4 inch screen it makes a difference Mar 19 19:53:39 yep Mar 19 19:53:45 not such a big deal on a tablet Mar 19 19:53:51 exactly Mar 19 19:53:56 well depends Mar 19 19:54:23 i think it was pretty silly for them to make the screen 1280x720 and put the buttons ON TOP of that Mar 19 19:54:41 rather than make it 1310x720 and 1310-1280=buttons Mar 19 19:54:42 that was the mfrs call Mar 19 19:55:02 yea no..i get that..just silly, unless there was some specific reason Mar 19 19:55:59 the tablet I use is 1280x800 which makes more sense (though I wish mfrs would stop with the 16:9-16:10 tablet form factors) Mar 19 19:56:30 why? Mar 19 19:56:32 that works great for video, not so much for everything else Mar 19 19:56:39 aah true Mar 19 19:56:59 well see, again, the entire thing has a normal resolution so u go sub-normal with the button Mar 19 19:57:02 *buttons Mar 19 19:57:18 so ure not REALLY seeing the bottom of that 16:9 video Mar 19 19:57:50 on my tablet I do :-) Mar 19 19:57:57 how? Mar 19 19:58:04 what happens to the navbar? Mar 19 19:58:04 it's 16:10 Mar 19 19:58:08 it is? Mar 19 19:58:13 yep Mar 19 19:58:15 o wait 800..yea Mar 19 19:58:16 yea Mar 19 19:58:19 o damn Mar 19 19:58:21 good choice Mar 19 19:58:21 most of the 10" tablets are Mar 19 19:58:27 i wish they did that with my phone Mar 19 19:58:40 not the ipad Mar 19 19:58:46 LOL Mar 19 19:58:53 hah ipads suck :P Mar 19 19:58:54 iPad isn't a 10" tablet Mar 19 19:58:56 trolololo Mar 19 19:59:17 hey it aint trollin if its the truth Mar 19 20:00:03 mikedg: I was referring to android tablets... though I wouldn't be a bit unhappy if a few of them started adopting the 4:3 of the ipad :-) Mar 19 20:00:13 blegh, 4:3 Mar 19 20:00:46 now that we're alive in here, has anyone used mDNS service advertising/discovery in android? Mar 19 20:00:57 that only sounds bad until you try to use a 16:10 tablet in portrait mode Mar 19 20:01:09 yea then theyd have to go 4:4 for the extra space..and then the whole thing is just square which look ridiculous Mar 19 20:01:17 canadiancow|work: i have Mar 19 20:01:23 mikedg, what did you use? Mar 19 20:01:25 when i was looking into a notification syndication service Mar 19 20:01:29 jmdns or something Mar 19 20:01:38 i dont have my code for that with me Mar 19 20:01:42 but i think jmdns Mar 19 20:01:48 yea i tried jmdns but i cant quite get it working Mar 19 20:01:51 i can FIND the service Mar 19 20:01:53 but i cnat resolve it Mar 19 20:01:58 so i never get the ip address or port for it Mar 19 20:02:06 * killring shakes his fist at android's opengl Mar 19 20:03:08 oh hmm Mar 19 20:03:16 i dont remember having any issues with that Mar 19 20:03:35 user error! Mar 19 20:03:46 probably Mar 19 20:04:00 but it doesnt change the fact that it's not working Mar 19 20:04:04 i call getServiceInfo and it returns null Mar 19 20:04:07 onResolved() is never called Mar 19 20:07:15 does anyone know what hiding the systembar in tablets would require? Mar 19 20:07:54 How do I (both eclipse and command line) configure my project to treat some sort of lib dep as ONLY needed for compiling? It should NOT be shoved into dexes and such (it's an annotation processor). Mar 19 20:08:07 is checking for an ip address change a reliable way to detect if device connectivity has changed? Im using this code: http://www.droidnova.com/get-the-ip-address-of-your-device,304.html Mar 19 20:08:18 TJH try fullscreen code Mar 19 20:08:24 Tjh: this https://play.google.com/store/apps/details?id=com.hanhuy.android.hsbm&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5oYW5odXkuYW5kcm9pZC5oc2JtIl0. Mar 19 20:08:47 tjh: many times when they make code there is window mode & then fullscreen mode, look for fullscreen mode & also try that guys article Mar 19 20:09:58 surial: have proguard strip it out? Mar 19 20:10:27 evancharlton: Decent idea, but, we're the ones supplying the annotation processor. Also, it contains .so files, so the APK builder barfs. Mar 19 20:11:01 Looks like I need to badger Tor and co to fix this in android SDK itself. Looks like the AndroidAnnotation project is also struggling with this: https://github.com/excilys/androidannotations/wiki/Building-Project-Ant Mar 19 20:22:03 anyone know re connection change? reposting my questions....: Mar 19 20:22:05 is checking for an ip address change a reliable way to detect if device connectivity has changed? Im using this code: http://www.droidnova.com/get-the-ip-address-of-your-device,304.html Mar 19 20:23:31 why don't you use the connectivity manager? Mar 19 20:24:06 http://developer.android.com/reference/android/net/ConnectivityManager.html Mar 19 20:25:00 surial: patches welcome :> Mar 19 20:25:00 i am using that atm, but im wondering if ip addr check is also a reliable solution Mar 19 20:25:12 mikey|: I don't actually understand what your problem is. Mar 19 20:25:19 Is the connectivity manager not giving you the appropriate information? Mar 19 20:25:51 your IP may or may not actually change depending on what network you are on, too Mar 19 20:26:04 ok, that's all i needed to know Mar 19 20:26:15 .... Mar 19 20:26:26 ok, awesome, so you don't actually want to know how this works, you just want yes/no ? Mar 19 20:26:30 connectivity manager is giving the info i need, but i was curious about the ip addr check method Mar 19 20:26:51 Checking IP is stupid Mar 19 20:26:51 the "ip addr check method" only gives you the IP insofar as the device understands it Mar 19 20:27:06 DCHP lease runs out, get a new lease, get a new IP Mar 19 20:27:12 still on the same network, but YOUR IP CHANGED??????? Mar 19 20:28:55 lov, evancharlton, right now, I use Connectivity Manager to detect a connection change and reconnect to the server and am trying to find the most reliable way to check if a reconnect needs to happen Mar 19 20:29:26 http://developer.android.com/reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION Mar 19 20:29:30 gonna go with this one. Mar 19 20:30:00 bear in mind, a lot of the networking code is meant to handle network transitions seamlessly Mar 19 20:30:11 i.e. you go from wifi to cell network, and you'll continue downloading as if nothing happened Mar 19 20:30:29 so honestly, unless you're running into issues, you should probably wait until you get an exception or something Mar 19 21:03:56 how do I check if gps is even available on the phone? Mar 19 21:04:09 i would think kindle fire would be able to pick up a wifi location? Mar 19 21:04:21 hasFeature(something) Mar 19 21:07:22 canadiancow|work: not sure you are chatting to me Mar 19 21:07:34 yes Mar 19 21:07:40 snooplsm: http://developer.android.com/reference/android/location/LocationManager.html#isProviderEnabled(java.lang.String) Mar 19 21:08:04 also, http://developer.android.com/reference/android/location/LocationManager.html#getProviders(boolean) Mar 19 21:08:13 if GPS isn't in that list, it's probably not present on the device Mar 19 21:08:21 (or the user doesn't want you to think that it is, hint hint) Mar 19 21:08:49 packageManager.hasSystemFeature(PackageManager.FEATURE_NFC) for example Mar 19 21:10:55 isn't GPS required by the CDD? Mar 19 21:11:08 CDD? Mar 19 21:11:25 * evancharlton | Device implementations SHOULD include a GPS receiver. Mar 19 21:11:27 guess not Mar 19 21:11:34 kindle fire, nook Mar 19 21:11:49 snooplsm: those aren't compliant android devices Mar 19 21:12:09 Is it possible to get Linux kernel 2.6.32 sources for Android? I need it to build kernel module for adding FTDI USB serial converter support to Explay MID-725 tablet. But in Android kernel git repo I found only 2.6.39, 3.0 and 3.3 branches. Mar 19 21:12:11 evancharlton: haha, I still need to support them though Mar 19 21:13:48 i'll go through providers, see what is there Mar 19 21:16:07 Hello, I'm trying to create a content provider but when I try to access ScorekeeperProvider.CONTENT_URI I get a NoClassDefFound error during runtime Mar 19 21:18:17 using an api that doesn't exist Mar 19 21:18:58 snooplsm: Is that in reference to my question? Mar 19 21:22:04 Voziv: yea Mar 19 21:22:10 you using android libs? Mar 19 21:22:38 ScorekeeperProvider is my own class with a static variable called CONTENT_URI Mar 19 21:22:50 ok Mar 19 21:22:54 and it fails on that line? Mar 19 21:23:02 yeah Mar 19 21:23:14 are you doing any thing like this: Mar 19 21:23:16 the content provider is in a separate project Mar 19 21:23:19 static { code } Mar 19 21:23:34 yes I am Mar 19 21:23:41 debug that Mar 19 21:23:44 may be failing Mar 19 21:28:30 Hello, I'm currently trying to register as an Android Dev but when I reach the checkout screen, there is 2 buttons (Accept, Cancel), When I press accept, it simply doesnt work. The request get posted but I'm landing back to the same page. I have tried with Chrome and IE9. Any help would be greatly appreciated Mar 19 21:31:08 BenCour: please email developer support: http://support.google.com/googleplay/android-developer/bin/request.py?contact_type=dev_registration Mar 19 21:31:35 snooplsm: I removed the entire static { } section and it still fails. (CONTENT_URI is defined before it and initialized there) Here are exerpts of code if it helps any: http://pastebin.com/XG1s8JBM Mar 19 21:32:04 I also just tested just logging the URI to make sure it's the actual uri retrieval that is failing Mar 19 21:32:29 Voziv: ScorekeeperProvider is failing to get built into the resulting dex Mar 19 21:32:41 or it's getting stripped by proguard or something Mar 19 21:33:02 dex? Mar 19 21:37:41 What's the best way to do obfuscation to my app in development? Mar 19 21:39:35 evancharlton: Anything I can do to figure if that is happening? Mar 19 21:51:30 Voziv: turn on verbose Android build logging, see if there's anything in there Mar 19 21:51:41 also, make sure your classpath stuff is all set up correctly Mar 19 21:52:06 xa0z: why are you obfuscating your app during development? Mar 19 21:52:53 i obfuscate every dev build so my tests run against the same code as production Mar 19 21:55:35 oh, then just use whatever system you're using for production builds ...? Mar 19 21:56:13 precisely Mar 19 21:57:22 evancharlton: If I use a string in my client code it resolves properly :/ Mar 19 22:01:40 Voziv: a static final String? those get compiled out Mar 19 22:01:58 and by that I mean inlined Mar 19 22:05:09 public static final Uri MATCHES_PLAYERS_URI = Uri.parse("content://" + AUTHORITY + "/" + MATCHES_BASE_PATH); Mar 19 22:05:23 How adding or translate Android OS to new language for interface? Mar 19 22:08:12 evancharlton: Why does it get compiled out? Mar 19 22:08:27 Voziv: to avoid doing a lookup every time Mar 19 22:08:37 Diyar: what? Mar 19 22:09:41 evancharlton: I can access a public static final string just fine, but the URI doesn't seem to work. So I'm rather confused as to why this is happening Mar 19 22:09:50 Does anyone know how to disable all proguard optimizatons/obfuscations except class renaming? Mar 19 22:10:19 Voziv: like I said, the strings get inlined during compilation Mar 19 22:10:42 so that is why they work and a uri does not? Mar 19 22:11:06 most likely Mar 19 22:11:43 Ok, so my next question is... what's the best way to do remote POST to a web server, without someone being able to find the info being POSTed to the server? I want to try and prevent cloning my app to the best of my ability. Mar 19 22:13:27 SSL, but people can always MITM it Mar 19 22:14:20 Hmm. Mar 19 22:14:23 if you lock down allowed certificates on both ends you can get around most MITM attacks Mar 19 22:14:38 What about encoding the string being POSTed ? Mar 19 22:14:41 but that requires extra logic to check for which certificates are being used Mar 19 22:14:59 xa0z: <@hacker> what about decoding the POSTed string? Mar 19 22:15:02 :) Mar 19 22:15:16 xa0z: similar - you get the classic key distribution issues, but workable Mar 19 22:15:18 xa0z, unless take anti-debugging/patching measures, all the ssl you want isnt going to do much for you Mar 19 22:15:21 p_l: and they can always just rip out that check. Makes it harder, yes, but it's not unhackable Mar 19 22:15:29 make sure you get a fast enough crypto lib Mar 19 22:16:00 evancharlton: true, though it might be harder to remove from obfuscated app than the rather laughable LVL signature Mar 19 22:16:13 of course Mar 19 22:16:13 Well, I'm worried about someone decompiling the .apk and getting the method used to encrypt the string. Mar 19 22:16:27 xa0z, then find a way to break the decompiler Mar 19 22:16:27 xa0z: good luck with that, on any platform. Mar 19 22:16:37 xa0z: method is irrevelant, *key* is importnat Mar 19 22:16:40 *important Mar 19 22:16:42 use a one-time pad against your DNA, require that your users authenticate with a drop of your blood Mar 19 22:16:45 IDA is the only one ive having issues with atm Mar 19 22:17:17 or a hair, but blood will not be taken as lightly. Mar 19 22:17:19 also, you can make part of your code encrypted and loaded with key dowloaded from website, and every week change the key Mar 19 22:17:37 or you can realize most of the time, its not worth the effort to go that far Mar 19 22:17:48 yeah Mar 19 22:18:02 realize that your app isn't actually that important :P Mar 19 22:18:06 just don't be low hanging fruit, and you are going to be fine Mar 19 22:18:09 right now im playing with non ascii chars Mar 19 22:18:12 in the classnames Mar 19 22:18:16 its pretty fun Mar 19 22:18:19 So no matter what I do to the app, there won't be a way to protect the encoding/encryption, or the method of how it's being done? Even if I used a private key, it's still in the app and most likely visable after decompiling. Mar 19 22:18:20 most things chocke on it Mar 19 22:18:23 jcase: yeah, unicode class names are fun Mar 19 22:18:36 O_O Mar 19 22:18:44 xa0z: necessary security is a function of how much there is to protect Mar 19 22:18:52 I can only assume that there's a carriage return in your classname somehow Mar 19 22:19:00 evancharlton, yeah butg someone submitted an issue to JF on it Mar 19 22:19:05 and its rather easy fix Mar 19 22:19:14 :) Mar 19 22:19:31 lov: that would still be ascii :) Mar 19 22:19:32 I need to protect the info being POSTed so that someone else can't make their own app to use the POST against my server. Mar 19 22:19:48 xa0z, the reality is, good luck Mar 19 22:19:50 if they reall want to do it Mar 19 22:19:58 evancharlton: damn Mar 19 22:19:59 i went through extremes on my most recent app Mar 19 22:20:01 xa0z: then just require a separate way to obtain access Mar 19 22:20:08 they ended up patching the dalvik cache Mar 19 22:20:09 Too difficult. Mar 19 22:20:43 xa0z: make the app free, but depend on in-app purchase of user-specific certificate Mar 19 22:21:03 xa0z, focus on the quality of the app? change the url with each update, force user updates Mar 19 22:21:21 It will be 100% free, but I don't want someone to abuse the services provided to the app, by making their own app to communicate with the server. Mar 19 22:21:50 xa0z, you are not going to be able to stop someone from making a second client for your services Mar 19 22:21:55 bset you can do is make ti time consuming Mar 19 22:22:07 to the point its not worth it for them Mar 19 22:22:11 but that consumes your time as well Mar 19 22:22:28 xa0z: generally, people use a shared key of some sort, which is how facebook and other apis work Mar 19 22:22:37 trust me, i jsut went through the exact scenario with my last project Mar 19 22:22:38 I've already got my app working, just hate that I can decompile it and see the POST string being sent to the server. Mar 19 22:23:00 you can see the POST string with wireshark. you don't need to decompile. Mar 19 22:23:04 xa0z: obfuscate it by combining it and keeping portions in separate classes Mar 19 22:23:37 what readme said Mar 19 22:23:41 I can encode the string, and even packet capturing won't show the plain text, but if decompiled, they can see what method was used to encode. Mar 19 22:23:43 rotate the string, https, check certs, that'll do Mar 19 22:23:44 :( Mar 19 22:23:58 xa0z: use triple rot13 encryption Mar 19 22:24:02 do the security checking on the server-side Mar 19 22:24:03 haha Mar 19 22:24:04 never in the client Mar 19 22:24:12 rot26 is best Mar 19 22:24:16 What security checking? Mar 19 22:24:17 xa0z: *method* doesn't have to be secret Mar 19 22:24:17 Atarii: wat Mar 19 22:24:17 lol Mar 19 22:24:24 xa0z: *keys* used have to be Mar 19 22:24:30 jcase: i heard double rot13 is equally viable Mar 19 22:24:36 it's useless doing anything in the client Mar 19 22:24:43 as I said,make the user obtain the key through in-app payment :) Mar 19 22:24:51 p_l, right, so when setting the private string key, how do you keep someone from finding it? Mar 19 22:24:59 p_l: and then I can just sniff the private key Mar 19 22:25:17 jsut have each app installation have a unique ID Mar 19 22:25:24 then monitor the ID's usage on the server Mar 19 22:25:32 listen to Atarii, he seems to be full of good ideas. Mar 19 22:26:13 The unique ID method doesn't matter either, because that would only able me to disable their ID. Mar 19 22:26:24 I could make it from the ESN, IMEI, or MDN. Mar 19 22:26:27 MDN/MIN. Mar 19 22:26:33 ABC/DEF Mar 19 22:26:39 you could use spaghettios as your key Mar 19 22:26:42 lol Mar 19 22:26:43 anything would do, also long as you can see the usage on your server Mar 19 22:26:53 evancharlton: each client gets its own certificate, rotated regularly Mar 19 22:26:58 I'm not worried about that though. Mar 19 22:27:18 I just want to figure out a way to protect the POST string. And with Java it appears to be impossible. Mar 19 22:27:24 you can't Mar 19 22:27:25 also, #android-dev - where makers of cheap apps will try to get more security than required by secret service Mar 19 22:27:37 it's HTTP, you can't protect POST Mar 19 22:27:44 I can encode though. Mar 19 22:27:54 doesn't matter, you can still sniff it Mar 19 22:27:56 I don't care if they see that it's a POST or where it's being POSTed to. Mar 19 22:28:12 whatever you send over the network, someone else can duplicate Mar 19 22:28:15 haha dude Mar 19 22:28:33 you're looking at locking down the client but not even using SSL? Mar 19 22:28:38 is there a technical reason you can't use ssl? Mar 19 22:28:48 I can, but that doesn't help. Mar 19 22:28:54 yeah it kind of does Mar 19 22:28:58 No it doesn't. Mar 19 22:29:06 sniffing is totally non-intrusive and doesn't require decompiling or anything Mar 19 22:29:15 I don't care about sniffing. Mar 19 22:29:15 not to mention that the security of your non-pirate customers dramatically suffers Mar 19 22:29:30 whoops just MITM'd you there lawl Mar 19 22:29:30 I don't care if the packets are logged/sniffed, etc. Mar 19 22:29:41 spoofed Mar 19 22:29:52 well there's sniffing and then there's spoofing Mar 19 22:29:56 xa0z snffing packets == copying your packets == duplicating into another app Mar 19 22:29:58 and not using SSL leaves you woefully open to both Mar 19 22:30:23 not that HTTPS helps Mar 19 22:30:23 Atarii, but if the post string is encrypted (which is always different) then it wouldn't benefit them. Mar 19 22:30:33 * ctate . o O ( write it cut it paste it save it load it check it quick rewrite it ) Mar 19 22:30:43 * technologic * Mar 19 22:30:46 * technologic * Mar 19 22:30:46 lol Mar 19 22:30:49 evancharlton: Any idea why "ContactsContract.Contacts.CONTENT_URI.toString()" works? I'm rather confused by all this Mar 19 22:30:51 The POST string is always different. It will never be the same unless the app user enters the same information twice. Mar 19 22:31:02 xa0z the key is in the app, therefore reversable Mar 19 22:31:16 Right, and that's where I'm having a problem. Mar 19 22:31:21 I like that xa0z has decided that he alone is smarter than the whole of the world's security community Mar 19 22:31:26 nb also that the .apk files on device are world-readable Mar 19 22:31:27 also from what you jus said then, easily detectable Mar 19 22:31:36 lov, you're going on about SSL when SSL isn't the issue. Mar 19 22:31:37 i.e. no salt Mar 19 22:31:54 well the fact that you're foreswearing it kind of throws red flags Mar 19 22:33:30 Okay listen... The app sends a POST to my server, the POST string includes 3 variables, the user sending the info knows what 3 variables they're sending. Mar 19 22:33:38 (also dangit now i am forced to spin up some Daft Punk) Mar 19 22:33:40 That's not the secret. Mar 19 22:33:46 remember kids: native cross plattform development is not a game ... Mar 19 22:34:06 Jygga: actually, native cross-platform development pretty much guarantees that you *are* doing a game.... Mar 19 22:34:11 reading the backlog and facepalming really hard Mar 19 22:34:11 I want to combine all three variables into a single variable. Mar 19 22:34:17 ctate exactly Mar 19 22:34:26 xa0z what's to stop me sending that same thing from my app? Mar 19 22:34:45 The one single variable would be the encoded string. Mar 19 22:34:59 Atarii: are you saying that you can sniff https packets and copy/paste them? Mar 19 22:35:19 that too Mar 19 22:35:24 ..... Mar 19 22:35:34 Even if I used HTTPS (SSL) ... if the script was decompiled, they would see the POST string in plain text. Mar 19 22:35:41 So SSL/HTTPS doesn't matter. Mar 19 22:35:43 no they wouldn't Mar 19 22:35:51 Oh yes they would. Mar 19 22:36:02 I just ran my app through a decompiler and I can see the entire string. Mar 19 22:36:08 xa0z, even if you used SSL and encrypted the string Mar 19 22:36:09 not if you rotate it or somesuch Mar 19 22:36:13 xa0z but i could send the same data across the network (no matter how the variable was changed) Mar 19 22:36:17 never mind Mar 19 22:36:18 lol wabz Mar 19 22:36:19 have fun Mar 19 22:36:34 okay, two things Mar 19 22:36:46 put checks in the server, it's the only way if you really want to do this Mar 19 22:37:02 Checks for what? Mar 19 22:37:07 xa0z: magic Mar 19 22:37:13 Anything being sent to the server can be duplicated. Mar 19 22:37:14 first: asymmetric encryptions are for exactly the kind of situation you have: where you want to guarantee that the recipient [your server side] can read the message even if it's intercepted in flight or your app is decompiled. Mar 19 22:37:29 second: you still haven't talked about why it is not a problem for some other app to spoof your traffic. Mar 19 22:37:53 sorry: guarantee that ONLY the intended recipient can read the message. Mar 19 22:38:22 ctate, because our website is one of a kind and we just got around to developing the app, and someone else has already developed their own app to use our server, which I've modified to prevent their app from using it. Mar 19 22:38:36 i.e. a 3-way handshake Mar 19 22:39:05 xa0z: so you're confirming that it *is* a problem if some other app talks to your server? Mar 19 22:39:13 (otherwise why did you have to modify the server?) Mar 19 22:39:13 Yes. Mar 19 22:39:39 okay. so when someone snffs your traffic off of wifi and sends the same exact packets to the server, that would be a problem? Mar 19 22:40:29 preventing *that* is why people are telling you to just use SSL as a first line of defense. Mar 19 22:40:41 If they sniffed unencoded traffic, yes... that's where SSL would be handy... but then they can just decompile the app and find the entire POST string and see the info being sent to the server and duplicate it that way. Mar 19 22:41:23 it's not going to be impossible, but these are pretty basic steps you can take to make it *hard* Mar 19 22:41:46 and going beyond that means server-side validation Mar 19 22:41:47 you could append some signature to the url (possibly based of post parameters) Mar 19 22:41:57 wabz no Mar 19 22:41:57 make the url string hard to find Mar 19 22:42:14 you need PKI to properly secure it Mar 19 22:42:42 Someone told me to use Proguard to protect the POST string in the source, but that didn't work. Mar 19 22:43:04 Calling it now; someone is spoofing their high score and you're getting upset. Mar 19 22:43:16 right, you can use some PKI and get certs from the market servers Mar 19 22:43:28 or play or whatever it's called Mar 19 22:43:37 there was a whole section on this at the last ADL I was at Mar 19 22:43:45 making me really wonder if piracy is that large a problem Mar 19 22:43:47 lov: nah, he works for instagram and his managers don't like not having the only client app anymore (conspiracykeanu.jpg) Mar 19 22:43:51 (it must be?) Mar 19 22:43:55 xa0z: proguard isn't a magic wand. You'll still want to obfuscate your source code. For example, instead of having ONE string with all of your content, create several strings and split your string into them. Mar 19 22:43:58 lol Mar 19 22:44:08 xa0z it doesn't matter if it was written in binary in the source, if it's going over the network, it's in the open Mar 19 22:44:18 Alternately, transform the string's values (rot13!) so that they're not blatantly obvious Mar 19 22:44:27 and then dump a bunch of other dummy strings around the app so that it's not obvious what does what Mar 19 22:44:35 hmm Mar 19 22:44:37 but yeah Mar 19 22:44:38 as if ROT13 is even being mentioned in here Mar 19 22:44:45 put some POST strings to there that are slightly wrong ;) Mar 19 22:44:48 Atarii: rot13 is a joke suggestion. Mar 19 22:44:51 in case it wasn't clear Mar 19 22:44:57 but yeah Mar 19 22:45:13 if you're not using SSL, the guy is just going to sniff the string, and then send it via wget or curl or something :P Mar 19 22:45:22 way, WAY less effort. Mar 19 22:45:24 lov, exactly. Mar 19 22:45:43 SSL is just the first step in protecting the POST string. Mar 19 22:45:44 alternatively: have you tried just making a better application than the competition so you don't have to worry about losing users to this other app? Mar 19 22:45:51 haha Mar 19 22:46:09 xa0z alternatively, develop the app, tell me the name in the Play Store, and i'll show you the places it's gone wrong Mar 19 22:46:49 That's not the problem... the problem is that it's OUR server/service/site and we found out today that someone else developed an app to POST to our server for results before our app could go live. Mar 19 22:47:04 so wait Mar 19 22:47:10 someone put out your app before you did Mar 19 22:47:15 so turn off the server until your app is live? Mar 19 22:47:18 is that other someone a time traveler? Mar 19 22:47:26 are you trying to defeat the terminator? Mar 19 22:47:29 No, someone put out an app that uses our services. Mar 19 22:47:52 so block access for that app Mar 19 22:47:57 ^^ Mar 19 22:48:01 you can't.. Mar 19 22:48:02 honeypot that shit and block the IPs Mar 19 22:48:04 I did, but all they have to do is edit their app to start working again. Mar 19 22:48:06 either use some sort of authentication, or a request header, or whatever Mar 19 22:48:09 they can't tell from the server which app is talking to it Mar 19 22:48:27 ctate, user agent strings, ssl certs, etc. are all possible ways Mar 19 22:48:36 user agents strings are not Mar 19 22:48:37 of course, a motivated person could extract that sort of info Mar 19 22:48:43 ah yes :) Mar 19 22:49:06 and of course, license + tos + lawsuit/c&d to unauthorized users is the final line Mar 19 22:50:17 lol Mar 19 22:50:24 This is all too much of a joke. Mar 19 22:50:43 also, block IPs? so then your user can't even use the official app? Sounds brilliant! Mar 19 22:51:38 simple approach is to add a that your client generates into the request Mar 19 22:51:48 server decodes it and allows access Mar 19 22:51:59 you could make it a simple challenge/response thing with a basic nonce Mar 19 22:52:12 again, a determined hacker can get around it, but you start to get to the point where it's easier to sue Mar 19 22:52:23 ... Mar 19 22:52:42 i'm going to suggest one-time pad against dna again Mar 19 22:52:43 xa0z tell us what your app is and/or what your service is Mar 19 22:53:03 I think it's pretty clear that there are several people here who will do pro-bono work telling you exactly what flaws are present Mar 19 22:53:15 xa0z http://developer.android.com/guide/topics/security/security.html Mar 19 22:53:21 We verify serial numbers for cellular companies. Mar 19 22:54:00 wut Mar 19 22:55:02 Say you buy a cell phone and you don't know if it's usable or not, we validate the serial number with the provider to see if it's usable. Mar 19 22:55:23 automated, automatically, etc. Mar 19 22:55:25 usable meaning not globally blacklisted? Mar 19 22:55:38 The US doesn't have such a thing, yet, so yes something similar to that. Mar 19 22:55:41 I'm not even sure what kind of app you'd be providing here because that sounds like something that should run at the basestation Mar 19 22:56:04 like, I literally don't understand what you're doing here or why you'd use an app for this Mar 19 22:56:18 this is something that the actual telecom should be doing in their own servers Mar 19 22:56:19 Because we receive emails every day asking for an app. Mar 19 22:56:27 Yea, good luck on getting them to do it. Mar 19 22:56:45 We process over 15,000 validations per day. Mar 19 22:56:50 who are your customers here? Mar 19 22:57:15 We serve major cellular recycling centers, e-cyclers, ebay customers, pawn shops, etc. Mar 19 22:57:39 ok, so you have paying customers who I would assume have some sorts of credentials? Mar 19 22:57:45 are you not, you know, authenticating? Mar 19 22:57:58 We offer a free service, and a paid service. Mar 19 22:58:02 on our website that is. Mar 19 22:58:31 ok, doesn't really answer my question. I assume you're rate limiting the free service somehow. Mar 19 22:58:34 so have them log into the app and authenticate each POST request (what lov is hinting at) Mar 19 22:58:45 Yes, we rate to 30 validations per day per IP on the website. Mar 19 22:58:57 "per IP"... Mar 19 22:59:04 so that's broken Mar 19 22:59:36 don't they have (free/paid) accounts on your site? Mar 19 22:59:38 No, for the free, it's best to do it by IP because our records show that less than 5% change their IP to get more free services. Mar 19 22:59:46 lol Mar 19 23:00:01 yeah, I'm gonna let the IP thing slide, but why are you not then doing the same thing on your webservices? Mar 19 23:00:01 No, Free is free, no registering, just goto the site, process the validation, move on. Mar 19 23:00:11 I would assume/hope that your website is calling the same services that the webservices are Mar 19 23:00:27 lov, what do you mean exactly? Mar 19 23:00:48 rate limiting the free service, performing credentials authorization on the webservice Mar 19 23:01:02 based on your target customers, I don't think they would mind creating a free account Mar 19 23:01:08 Atarii, and if we didn't do it by IP or by "free registration" ... anyone could do as many as they pleased all day by clearing browser history, switching to a different browser, etc. Mar 19 23:01:22 gahahahaha Mar 19 23:01:33 xa0z the same they can do with IP Mar 19 23:01:38 ok, at least you're not doing COOKIE BASED AUTHENTICATION Mar 19 23:01:49 but just the same Mar 19 23:02:07 Authentication of users is a problem that has been largely Solved (capital S) for most use cases Mar 19 23:02:15 But we deal with more businesses who have static IPs or have no idea that they can release their DHCP lease and get a new IP. Mar 19 23:02:31 what about this idea - > " based on your target customers, I don't think they would mind creating a free account" Mar 19 23:02:37 ok, so. Mar 19 23:02:37 i.e. other businesses Mar 19 23:02:37 We don't want to require auth for free services, so because of that, we use the IP method on the website. Mar 19 23:03:01 your webservices should either be in free mode (no more than X requests per day per IP) or require authentication. Mar 19 23:03:04 that way you have customer retention too (email address for email sign-up etc) Mar 19 23:03:27 Not too worried about that, Atarii. Mar 19 23:03:27 Have the user send their credentials (OH GOD PLEASE USE SSL FOR THIS), send back an auth token, use that auth token for the next 24 hours, etc. Mar 19 23:03:49 lov, I can do that for an app with paid customers. Mar 19 23:03:54 ..... right. Mar 19 23:03:59 EXACTLY. Mar 19 23:04:08 But that's not why I'm here. Mar 19 23:04:19 free mode hits the webservices in "free" mode, the webservice sends back a "sorry, try again tomorrow" response when they hit the cap. Mar 19 23:04:34 signed in mode sends credentials and does authentication Mar 19 23:04:38 I don't see what the problem is here Mar 19 23:04:56 Yea, I've got that already done. Free mode allows 30 "services" per day per IP. Mar 19 23:05:06 But, I am only trying to stop someone from duplicating it. Mar 19 23:05:11 >_< Mar 19 23:05:16 ok, explain "duplicating" it. Mar 19 23:05:46 xa0z i think we've explained you can't easily Mar 19 23:05:47 Since it's just an HTTP POST, all they have to do is "duplicate" the POST but change the variable for the serial number. Mar 19 23:05:52 ... Mar 19 23:06:00 I don't think you "get" what I mean by have the webservice rate limit their IP Mar 19 23:06:09 it's against TOS for an app to use a web service without authorization Mar 19 23:06:14 you don't trust the client for security here Mar 19 23:06:21 We already rate limit the IP on the server. Mar 19 23:06:33 problem solved? Mar 19 23:06:48 lov the problem is the duplication Mar 19 23:06:52 of network traffic Mar 19 23:06:57 and someone creating their own app Mar 19 23:07:04 No, because the IP doesn't prevent someone from copying the POST string, typing it in CURL or in their own app. Mar 19 23:07:14 ok well lawyers are for the person creating their own app Mar 19 23:07:15 and yeah Mar 19 23:07:31 [as an aside, relying on client-side integrity instead of server-side validation & billing is, as you're discovering, a very difficult approach to take] Mar 19 23:07:44 Right. Mar 19 23:07:47 what ctate said. Mar 19 23:07:52 ctate, at least you're following me. Mar 19 23:07:53 which is why I'm suggesting that you completely not do that at all Mar 19 23:08:03 lov, then that means the lack of an app. Mar 19 23:08:05 lol!! Mar 19 23:08:09 no Mar 19 23:08:15 xa0z we are all following you Mar 19 23:08:15 xa0z: but everything you have said implies that your project wants to rely on the integrity of the client app Mar 19 23:08:29 instead of only caring WHO is talking to the server, as opposed to HOW. Mar 19 23:08:29 ^^ Mar 19 23:08:45 qemu is failing here on aosp Mar 19 23:08:46 But how doesn't matter if the app can be decompiled. Mar 19 23:08:46 why should you care what app they're using to talk to the server? Mar 19 23:08:49 That is where the issue is. Mar 19 23:08:53 yes! Mar 19 23:08:55 >_< Mar 19 23:08:58 ok, so. Mar 19 23:08:58 the build stuck at limits.h Mar 19 23:09:01 xa0z: Mar 19 23:09:05 oh man Mar 19 23:09:06 if I send 20 requests to the server Mar 19 23:09:12 and then you respond with "ok no more for today" Mar 19 23:09:18 it doesn't really matter what app I use to do it Mar 19 23:09:25 lov, correct. Mar 19 23:09:25 in fact, you can't on the server side really KNOW who sent that info Mar 19 23:09:44 as a side note, if it's a mobile (Android) client, IPs will change often anyway Mar 19 23:09:47 there's no way to protect that; you're really edging into DRM territory here Mar 19 23:09:59 that's why I suggested a simple challenge/response Mar 19 23:10:02 if you want to Not Trust The Client you need hardware protection Mar 19 23:10:04 Atarii, right, that's why we're using the MDN. Mar 19 23:10:11 yeah except that this can be spoofed Mar 19 23:10:15 19:10:13 < lov> if you want to Not Trust The Client you need hardware protection Mar 19 23:10:15 Exactly. Mar 19 23:10:24 it's as simple as this Mar 19 23:10:28 don't need hardware.. Mar 19 23:10:42 http://en.wikipedia.org/wiki/Public_key_infrastructure Mar 19 23:10:55 I'm not really sure what you're suggesting. Mar 19 23:11:07 The answer has been given, and I already understand. Use SSL for traffic, but hide as much as I can in the code to prevent it from being found easily. Mar 19 23:11:14 The attacker can always decompile the app with some level of effort, figure out what the key is, and duplicate the scenario. Mar 19 23:11:23 exactly Mar 19 23:11:27 right. Mar 19 23:11:29 no Mar 19 23:11:30 lol Mar 19 23:11:32 fuck this. Mar 19 23:11:34 xa0z: it *sounds* like you're basically saying you have a problem equivalent to breaking of copy-protection. if that's what you think, then you're doomed: any app can be cracked. Mar 19 23:11:36 So, all in all, fails... so I should just do a web-app. Mar 19 23:11:48 well you're just as vulnerable there Mar 19 23:11:53 barring secure hardware Mar 19 23:11:55 someone can just use wireshark and figure out what the scheme is Mar 19 23:12:05 and then replicate it via a curl script or three Mar 19 23:12:14 why do you care what app people use to access your service, anyway? Mar 19 23:12:32 are you trying to charge money for the app instead of for the service, or something? Mar 19 23:12:35 I care because I really don't want multiple apps out there for my site. Mar 19 23:12:38 your only real solution is to aggressively limit how many free calls can be done and to involve lawyers to get people to knock stuff off. Mar 19 23:12:47 a challenge/response mechanism is pretty strong barring reverse-engineering your actual client-code Mar 19 23:12:49 how many of you developers are actually in the San Fran area anyway? Mar 19 23:12:56 ctate, no ours is free. Mar 19 23:13:01 "i don't want them" doesn't explain *why* you care. Mar 19 23:13:20 I care because someone else can make money off their app, using my free service. Mar 19 23:13:25 meh, you can make it pretty difficult on third party clients Mar 19 23:13:33 that's against your TOS and arguably fraud, lawyer up. Mar 19 23:13:35 I wouldn't though Mar 19 23:13:43 simply provide a better app Mar 19 23:13:43 there's only so much you can do as a technical solution. Mar 19 23:13:44 why would people buy an app to access your service when they can just use YOUR app for free? Mar 19 23:13:56 lol, doing it right in software is a million times cheaper than "laywering up" Mar 19 23:14:03 not necessarily. Mar 19 23:14:06 again, you can't Mar 19 23:14:10 not foolproof Mar 19 23:14:13 $2000 for a C&D vs 10-20 hours of dev time that will still fail Mar 19 23:14:21 also ==lov, at some point if you really are about the money then you need to start taking legal steps Mar 19 23:14:26 Well, the other app that we found today is charging $6 and while I know my free app would defeat their paid app, it's just the thought of someone else doing it. Mar 19 23:14:48 they're charging money for your service. Demand all of it or you'll sue them into the ground and collect damages. Mar 19 23:14:53 at the very least ask that they stop. Mar 19 23:14:55 seriously. Mar 19 23:15:01 lov are you from the US? Mar 19 23:15:06 at a minimum you can get google/amazon/etc to pull the app Mar 19 23:15:10 so take the simple steps that people here have advocated -- using SSL, making your strings less obviously decipherable in the apk -- and then maybe it won't be as worth it for these people who are currently trying to scam your customers. Mar 19 23:15:13 lov seems to have delusions of the effectiveness of the law. Mar 19 23:15:20 * lov shrugs Mar 19 23:15:26 lov, how? how do I prove they are using my site/service for their app? Mar 19 23:15:28 it depends on a few things and on scale Mar 19 23:15:33 raising the bar even a little bit can go a long way towards knocking off the casual cloners Mar 19 23:15:41 meh, you can at least let them jump through some hoops to connect to your service Mar 19 23:15:44 easily Mar 19 23:15:44 xa0z: is the sole purpose of their app to interact with your site, or does it have other uses? Mar 19 23:16:04 (how much is your TIME worth trying to fight this sort of battle, anyway?) Mar 19 23:16:07 Only interaction, and displaying their ad. Mar 19 23:16:10 pragma_: just saying, a nastygram can sometimes be a cheap and effective solution. Mar 19 23:16:17 ctate, Dunno, depends? Mar 19 23:16:40 cant you download ADT 17 from eclipse? Mar 19 23:16:47 better if the nastygram is accompanied by a burly thug with a baseball bat to the knees Mar 19 23:16:55 arrow* Mar 19 23:16:58 ;p Mar 19 23:16:59 ha ha Mar 19 23:17:01 pragma_: heh Mar 19 23:17:23 We contacted a development team who wanted to charge us $2200 to develop the ad and do as much obfuscation as they could to "protect" the code, but I just don't know if (1) that's even true, and (2) if it's worth that. Mar 19 23:17:24 and if people are charging 6 euro for an app talking to your free service Mar 19 23:17:29 just cut their client off Mar 19 23:17:35 MDijkstra, impossible. Mar 19 23:17:46 xa0z: unpossible! Mar 19 23:17:54 MDijkstra, just have to make changes on the server side, such as change the script, add javascript, etc. Mar 19 23:17:59 impossibiru! Mar 19 23:18:07 MDijkstra: you're late; they're simulating the original app's wire traffic, so they can't tell which app is originating it Mar 19 23:18:15 haha Mar 19 23:18:20 just keep the service inside a bikeshed, and lock it Mar 19 23:18:24 lol Mar 19 23:18:25 ctate: it's better than a spy movie Mar 19 23:18:38 what color is this bikeshed? Mar 19 23:18:42 I'm probably just going to have to give up. Mar 19 23:18:44 well, okay Mar 19 23:18:45 SETEC ASTRONOMY Mar 19 23:18:53 any will do Mar 19 23:18:54 readme: ghahaha Mar 19 23:18:56 ctate: now we are only missing USB-connected quantum key generators Mar 19 23:19:01 you could probably find some way to discriminate between the two, though Mar 19 23:19:18 not worth the effort though Mar 19 23:19:21 not if they change their app to clone the devs Mar 19 23:20:13 you can at least make it really difficult for them, so by the time they've reverse engineered your stuff they'll have low approval on the market Mar 19 23:20:14 use ssl Mar 19 23:20:19 hard-encrypt your strings in the apk Mar 19 23:20:29 have the server send the decryption key back inside the SSL connection Mar 19 23:20:35 i mean whatever; be creative Mar 19 23:20:40 and use some custom challenge-response scheme :) Mar 19 23:20:53 but i just think you don't really get the scope of the problem. Mar 19 23:20:58 ctate: I proposed using in-app purchasing to provide per-user SSL certificates Mar 19 23:21:05 p_l: free app Mar 19 23:21:11 simulating the wire traffic? Mar 19 23:21:12 eh? Mar 19 23:21:12 but yeah, sure, that could work Mar 19 23:21:19 is that really true? Mar 19 23:21:22 This is xa0z you're talking to. His name starts with an 'x', contains a zero, and ends with a 'z' -- do you really think it has these skills? Mar 19 23:21:23 yes Mar 19 23:21:26 http is awfully easy to "simulate" Mar 19 23:21:28 pfn: right now the wire traffic is unencrypted, and people have reverse engineered it Mar 19 23:21:34 they've simply reverse engineered the protocol Mar 19 23:21:36 haha pragma_! Mar 19 23:21:48 ctate, right, a simple challenge/response mechanism is probably sufficient to protect this Mar 19 23:21:54 you can probably find some response where you can distinguish between the real and fake client though Mar 19 23:21:58 and then send something to crash it Mar 19 23:22:17 replace Ad with a basilisk Mar 19 23:22:19 ctate, unless they unscrupulous users also reverse-engineer/decompile the original code Mar 19 23:22:23 (like that won't come back to bite you ;) Mar 19 23:22:26 s/users/developers Mar 19 23:22:29 I'd bet dollars to donuts that xa0z's app is nothing but blog copy/pasta. Mar 19 23:22:34 pfn: we're assuming that the clone developers are decompiling the apk, yes Mar 19 23:23:05 So what he means is, "I can't fix this until some blog author writes about javascript solutions to this problem" Mar 19 23:23:16 at which point you have to start relying on info not in the apk if you want to pretend to be authenticating the client app Mar 19 23:23:28 p_l: *snrk* Mar 19 23:23:44 p_l: o/ for being the first person to mention langford basilisks in a long time Mar 19 23:25:22 anyone using andengine? Mar 19 23:26:03 MaybeJust: There's a good chance that MaybeJust is using it Mar 19 23:26:46 trying Mar 19 23:28:14 that was a fun conversation Mar 19 23:28:19 can we have a new question please Mar 19 23:31:02 MaybeJust: just zynga... Mar 19 23:46:51 hey Mar 19 23:47:12 i just wanted my service to work even though the activity that started it destroyed Mar 19 23:47:35 but when the activity screen is destroyed the service automatically stops Mar 19 23:47:40 call startService Mar 19 23:47:42 pow! Mar 19 23:47:53 also, read the docs! Mar 19 23:47:54 Pow! Mar 19 23:47:57 desturrr1: if you've started your service properly and the activity finishes, your service will continue to run Mar 19 23:48:18 i have read and it says like bankai mentioned Mar 19 23:48:28 but it didnt work like that in my case Mar 19 23:48:33 desturrr1: you'll have to do some tracing - DDMS Mar 19 23:48:52 okey i will dig into that Mar 19 23:48:59 thanks man Mar 19 23:49:26 sounds like the activity might have *bound* to your service, not started it. Mar 19 23:49:33 (wild guess) Mar 19 23:49:50 so when the activity instance goes away and the binding is dropped, the service is shut down because nobody is currently bound to it Mar 19 23:50:32 i didnt use binding Mar 19 23:50:42 i just started the service and registered to it Mar 19 23:51:02 normally if i dont want the service work , i just do unregisterReceiver(broadcastReceiver); Mar 19 23:51:03 stopService(intentService); Mar 19 23:51:03 desturrr1: chuck in some logging and read logcat Mar 19 23:51:22 i assumed if i dont unregister it stops working Mar 19 23:51:32 broadcast receivers are services are basically unrelated Mar 19 23:51:53 http://mobile.theverge.com/2012/3/19/2884902/android-apps-battery-efficiency-study Mar 19 23:51:59 unrelated ? Mar 19 23:52:00 is your service registering a broadcast receiver? Mar 19 23:52:18 also remember that an IntentService "is started as needed, handles each Intent in turn using a worker thread, and stops itself when it runs out of work." Mar 19 23:52:58 which sounds like what you're seeing :) Mar 19 23:53:19 i think that may be the case Mar 19 23:53:57 let me check some documentation more detailly, ;) Mar 19 23:54:02 http://developer.android.com/reference/android/app/IntentService.html Mar 19 23:59:05 samosa: interesting article Mar 20 00:07:08 Cant you get the ADT 17 from eclipse directly? Mar 20 00:18:04 hi to all! Mar 20 00:21:06 freenode is full of quiet channels.. Mar 20 00:21:43 ssshh! Mar 20 00:23:09 aZuZu[Doma]: it's not true... the channel might be just quiet at the momet Mar 20 00:23:14 *moment Mar 20 00:23:37 right Mar 20 00:26:10 anyone with some low end snapdragon or msm7227 cell phone here? Mar 20 00:26:58 if yes what kernel you have? ( X10 mini / pro / X8 and X10 no need for reply ) Mar 20 00:28:20 hm, how do i tell via adb shell? Mar 20 00:28:47 ctate, uname -a probably. Mar 20 00:28:58 cat /proc/cpuinfo Mar 20 00:29:23 though due to data there it can be less than helpful Mar 20 00:29:28 'uname' doesn't exist on Android phones Mar 20 00:29:40 it exist Mar 20 00:29:41 and /proc/cpuinfo doesn't describe the kernel Mar 20 00:29:50 aZuZu[Doma]: no it doesn't, not on stock Mar 20 00:29:58 ctate: ah, for the cpu check I meant :D Mar 20 00:30:15 maybe about phone? Mar 20 00:30:36 cat /proc/sys/kernel/osrelease Mar 20 00:31:28 also cat /proc/sys/kernel/version Mar 20 00:31:46 # cat /proc/sys/kernel/osrelease Mar 20 00:31:47 2.6.35.7-59465-g42bad32 Mar 20 00:31:51 et voila Mar 20 00:31:56 that's a Nexus One Mar 20 00:32:24 running GRK39F Mar 20 00:32:32 (Android 2.3.6) Mar 20 00:32:54 damn then we ( X10 mini / pro / X8 and X10 ) users have the oldest one :D Mar 20 00:33:01 2.6.29 Mar 20 00:33:02 I think I got some 2.6.29.x on my phone, but it's not qualcomm chip Mar 20 00:33:11 hi ctate Mar 20 00:33:17 aZuZu[Doma]: you want cpuinfo too? Mar 20 00:33:27 nah Mar 20 00:33:29 2.6.29? ye gods Mar 20 00:33:36 did GB even ship with that? Mar 20 00:33:46 ship nope Mar 20 00:34:04 yeah i didn't think so. y'all are living in the stone age there. :) Mar 20 00:34:09 we did get it like 2 years after htc released gb Mar 20 00:34:31 and they didn't snap up the kernel version? ughghghghhg Mar 20 00:34:40 my x10 mini shiped with 1.6 Mar 20 00:34:43 Does anyone know how Google Play filtering works. Lets say that I setup opengl texture compression for one GPU and then I want to have a fallback APK that uses ETC compression. Do you know will Google push the more specific texture compression before the generic compression? Mar 20 00:34:44 2.6.29 Mar 20 00:35:04 we got update to 2.1 with kernel 2.6.29 Mar 20 00:35:08 ctate: my phone shipped with 1.5 or 1.6, last official upgrade was 2.1 :> Mar 20 00:35:21 oh, 2.1 sure Mar 20 00:35:29 siiiiiigh still being on 2.1 Mar 20 00:35:35 so two years ago Mar 20 00:35:38 it still got better multitouch support than N1 ;3 Mar 20 00:36:08 N1? oh that armv6 cell :P Mar 20 00:37:02 anyone familliar with flex development for android? Mar 20 00:37:18 aZuZu[Doma]: nexus one had armv7-a Mar 20 00:37:50 p_l: because that's all about hardware Mar 20 00:37:57 :P << is usually sarcasm Mar 20 00:38:43 ctate: I know. It was funny though, because official rom didn't have multitouch, despite hw supporting distinct two-finger Mar 20 00:39:39 there is always repo / kernel src so u can fix :D Mar 20 00:40:23 "have multitouch" meaning exposing additional finger information to the public API Mar 20 00:40:23 it's not like hte panel wasn't reporting it Mar 20 00:40:23 even on the G1 it did Mar 20 00:41:23 ctate: I mean being capable to properly differentiate two fingers, not just playing around with sampling to figure out "ok, got more than one, let's assume pinch&zoom" Mar 20 00:42:20 sure, but that's the hardware; not the rom Mar 20 00:42:46 oi oi oi Mar 20 00:43:03 ctate: the thing is, the hw was delivered capable of that, but on update to 2.1 no one in samsung cared to add multitouch (which was later found to be rather simple) Mar 20 00:43:45 but isn't multi touch like having sex with cell? Mar 20 00:43:51 ... Mar 20 00:43:52 >_> Mar 20 00:43:55 <_< Mar 20 00:43:57 ? Mar 20 00:44:03 touching it with bunch of fingers and all that... Mar 20 00:44:18 p_l: the failure to distinguish square-opposite points is a hardware problem with the panel design Mar 20 00:44:32 on the G1 sapphire and nexus one Mar 20 00:44:35 as i understand it Mar 20 00:45:08 nexus one does multitouch fien Mar 20 00:45:13 no it doesn't :) Mar 20 00:45:29 it still gets confused when the two fingers are at the diagonally opposite corners of a square Mar 20 00:45:34 it's a lot better than the G1 / sapphire, it's true Mar 20 00:45:36 oh that may be Mar 20 00:45:47 I know it did work... jsut not to what extent Mar 20 00:46:01 I ditched my nexus just as soon as the galaxy s came out Mar 20 00:46:39 i still use my N1 for GPS Mar 20 00:46:59 yeah its beating around in a cupboard somewhere around here Mar 20 00:47:09 at some opint here i'm going to get real and just switch everything to my GNex Mar 20 00:47:10 thats the one thing my galaxy s never did well =) Mar 20 01:15:13 For hex colors specified in xml, is the alpha mask the last 2 or first 2 chars/digits? Mar 20 01:15:22 is hex universally always the last two? Mar 20 01:15:44 try it? Mar 20 01:16:16 first two Mar 20 01:16:49 only if its 8chars Mar 20 01:17:11 gotcha Mar 20 01:17:13 thanks guys Mar 20 01:18:04 so how does it work exactly? you can specify any chars/digits? Mar 20 01:18:18 huh? Mar 20 01:18:30 haha im just retarded today Mar 20 01:18:31 it's argb, 32bits Mar 20 01:18:38 i dont even know what im asking Mar 20 01:19:14 right so how does argb work, if i want to make it like half transparent, let say? Mar 20 01:19:37 half of ff is what, you plug that in Mar 20 01:19:42 00 is one extreme ff is anothe Mar 20 01:19:50 ah ok Mar 20 01:19:50 ply with values in between Mar 20 01:19:52 thanks guys Mar 20 01:20:29 * pfn forgets which way is transparent all the time, ff or 00 Mar 20 01:21:13 i think 00 is transparent ;) Mar 20 01:21:18 but yeah i forget also Mar 20 01:22:05 ff full color, 00 no color Mar 20 01:22:51 some reason i cant see any text on my custom Toast…hmm Mar 20 01:29:34 if i call setText directly on my custom toast, i get a runtimeexception: Mar 20 01:29:35 6646 AndroidRuntime E at android.app.ActivityThread Mar 20 01:29:38 whoops Mar 20 01:29:51 "Toast was not created through makeText()" Mar 20 01:30:08 seems pretty obvious :P Mar 20 01:30:10 but if i try setting the text directly on the view that the Toast is using, it doesnt show Mar 20 01:30:50 i just hit my power button instead of cd eject Mar 20 01:31:34 canadiancow, do i need to override makeText for it to use my custom view...? Mar 20 01:31:37 im just confused... Mar 20 01:31:51 you need to call Toast.makeText().show(); Mar 20 01:32:37 and how will that use my custom view... Mar 20 01:32:47 because ive called setView to my view in my custom class? Mar 20 01:34:10 if i call makeText on my toast, it just calls the Toast's (super) makeText... Mar 20 01:34:32 canadiancow, use the 'eject' command instead Mar 20 01:34:33 doesnt make sense to me that i HAVE to use the static method which should just be a convenience method... Mar 20 01:34:40 lol Mar 20 01:34:52 luxurymode, look at what the static method does, do the same but replace with your view Mar 20 01:35:02 yeah thats what i figured Mar 20 01:35:06 i'll give it a shot Mar 20 01:35:07 thanks... Mar 20 01:35:25 seems pretty silly to me that you should have to look at the source to use a custom view like this, but cool Mar 20 01:35:27 i sometimes wish we'd never implemented toasts Mar 20 01:35:38 they're such bad UI Mar 20 01:35:49 they're terrible UI, I hate them almost every single time I see them Mar 20 01:36:00 there's only very few circumstances which they seem to be ok Mar 20 01:36:22 i.e. immediate user feedback to a user-action that is transient in nature Mar 20 01:36:25 why the hate ? Mar 20 01:36:44 I like toast when I set option to sharedpreferences Mar 20 01:36:51 like 'saved' Mar 20 01:36:54 because many of the times they're used, they get in the way of whatever I'm doing Mar 20 01:37:15 e.g. alogcat's toast that pops up saying that it's loading logcat and that it will "take some time" Mar 20 01:37:21 I see it loading, no shit, don't tell me Mar 20 01:37:39 lol Mar 20 01:37:47 bad usage Mar 20 01:38:04 toasts blow and the default toast is definitely ugly as hell Mar 20 01:38:08 then there's openfeint Mar 20 01:38:12 in some games that use openfeint Mar 20 01:38:17 it sends a toast saying that you're logged in Mar 20 01:38:19 from the background Mar 20 01:38:28 :) Mar 20 01:38:36 ctate, if that's the case, why not deprecate them? Mar 20 01:38:46 int mDuration and View mNextView are package protected in Toast… so how can i override the static makeText exactly... Mar 20 01:38:48 ? Mar 20 01:38:50 canadiancow, imo, there's still a need for transient notifications Mar 20 01:39:03 i agree Mar 20 01:39:04 luxurymode, basically re-implement toast yourself Mar 20 01:39:11 oh lord Mar 20 01:39:12 "The upload failed, but we're trying again..." Mar 20 01:39:15 this is lame!! Mar 20 01:39:16 haha Mar 20 01:39:24 canadiancow, i.e. a middle ground between a status bar notification and something showing up in the actual application UI Mar 20 01:39:28 I'm pretty sure the default browser will send a toast when you might not be in the browser and it makes no sense at all Mar 20 01:39:32 toasts do make up that middle ground, but are overused Mar 20 01:39:42 I want to display an image full screen(allowing for pinch and zoom), is there some simple module or class already available for this in android? Mar 20 01:39:43 I can't remember what it was for though Mar 20 01:39:51 * pfn go home time Mar 20 01:40:55 bye bye Mar 20 01:40:58 :) Mar 20 01:42:13 * pfn switches to his phone's irc client Mar 20 01:45:49 is there a way to use android's native gallery to view a bunch of bitmaps i give it? Mar 20 01:48:16 I imagine you could fire intents at it that contain useful data such as the bitmaps or the folder location Mar 20 01:48:25 good thing the source is available Mar 20 01:48:38 google's documentation is somewhat meh Mar 20 01:48:47 can you point me in the right direction? Mar 20 01:48:57 -------> Mar 20 01:49:03 i hate you Mar 20 01:49:18 <------ is the left direction Mar 20 01:49:30 use the source Mar 20 01:49:44 luke sourcewalker Mar 20 01:50:17 #android-dev: if you want help from people who wont help you Mar 20 01:52:09 yay for android state changes such as orientation and phone calls Mar 20 01:52:14 we are not your personal research assistants Mar 20 01:52:33 take a working app -- add a progressdialog -- change orientation -- ??? -- crashes in 5 different spots! Mar 20 02:11:55 pragma_: win! Mar 20 02:12:38 pragma_: may I post it on bash ? :) Mar 20 02:46:23 im setting the transformationMethod on my editText to new PasswordTransformationMethod, but it doesnt seem to change anything... Mar 20 02:50:46 well apparently i needed PasswordTransformationMethod.getInstance() Mar 20 02:54:53 is drawing to a canvas in a view's ondraw method immediate or is it deferred/batched in some way? Mar 20 02:55:06 it is batched Mar 20 02:55:10 there is no immediate drawing. Mar 20 02:55:25 you're drawing to a surface that is then (eventually) composited with all other visible surfaces Mar 20 02:55:37 immediate drawing is so 1990 Mar 20 02:56:40 ugh. so here's my problem: I have a large (2kx2k) bitmap that I want to reuse across multiple subviews which each need to clear it and draw their own content... is there any way to make that work? Mar 20 02:57:10 (I'm using the term subview loosely, they're not actually view subclasses, just objects with their own draw method) Mar 20 02:59:27 there some method that will reload the current activity you are on? Mar 20 02:59:32 pretty much call oncreate again? Mar 20 02:59:41 or can i even just do a this.onCreate()? Mar 20 02:59:53 why do you want to reload the entire activity? **** ENDING LOGGING AT Tue Mar 20 02:59:58 2012