**** BEGIN LOGGING AT Tue Nov 11 02:59:57 2008 Nov 11 05:13:40 Can anyone confirm this a bug: Nov 11 05:13:49 when I execute: android.provider.Settings.System.putInt(this.getContentResolver(), android.provider.Settings.System.SOUND_EFFECTS_ENABLED, 1); Nov 11 05:14:00 the setting gets checked in the Android-Settings Nov 11 05:14:39 but it seems like its not recognized by the system itself (no touch-sound-effects are played) Nov 11 05:48:35 probably not a bug Nov 11 05:48:49 you must not be doing something that the settings do Nov 11 05:58:14 adb install -r bin/Conversation-debug.apk Nov 11 05:58:34 export PATH=$PATH:/usr/local/android/tools Nov 11 05:59:01 :( wrong window oops Nov 11 06:03:17 I have semi dumb question. What is wrong with this auto complete code? http://pastebin.com/d3e435013 Nov 11 06:03:26 Produces this: http://img444.imageshack.us/my.php?image=imageshacktempjr3.png Nov 11 06:04:11 (eg. I cant see the other selections) but I know they are there because if my mouse gives them focus, I can (barely) make out the words Nov 11 06:04:25 with SDK 1.0? Nov 11 06:04:30 yep Nov 11 06:04:37 ah yes, you didn't set the drop down item layout Nov 11 06:04:49 check out the API Demos Nov 11 06:05:29 thats where I got it from :) so simple_spinner_dropdown_item? Nov 11 06:05:39 yes Nov 11 06:07:55 howdy romainguy__ have you checked out glance yet? Nov 11 06:07:59 not yet Nov 11 06:08:09 let me try Nov 11 06:08:10 yay thx romain. ...strange that it works in the API Demos Nov 11 06:08:17 (the old code) Nov 11 06:10:53 michaelnovakjr__: why does it exit when I choose ".." on the first screen? Nov 11 06:11:22 its the activity history.... i fixed that in my update Nov 11 06:11:26 ok Nov 11 06:11:30 when it gets to the root it exits Nov 11 06:11:36 also why did you make the list items smaller? :) Nov 11 06:11:50 :) fat fingers Nov 11 06:12:06 no, consistency :) Nov 11 06:12:19 and your list adapter is doing bad things :p Nov 11 06:12:42 :) it needs work... Nov 11 06:13:02 and your menu icons are too big :p (and in colors!) Nov 11 06:13:10 yea, that's from m5 Nov 11 06:13:16 other than that it's simple and fast, so it's good Nov 11 06:13:38 oops I crashed it :) Nov 11 06:13:43 the first version was really i port Nov 11 06:13:48 a* Nov 11 06:13:51 from m5 Nov 11 06:14:12 michaelnovakjr: is glance your app? I've found a small bug in 1.1b Nov 11 06:14:19 yea Nov 11 06:14:42 michaelnovakjr__: also you should mirror your app icon, it's facing the wrong way in Home :p Nov 11 06:15:03 yea, that's on my list of stuff to fix this week :) Nov 11 06:15:04 I'm in sdcard/dcim/camera and the 3rd pic I open seems to crash the image viewer. no matter the order of the pics viewed Nov 11 06:15:35 hm, i'll look into that Nov 11 06:16:26 ya, not a big thing, I doesn't seem to crash Glance. I just get a force close instead of a view of the image Nov 11 06:16:46 i'll test that out Nov 11 06:17:25 awesome app tho, thanks! :) Nov 11 06:17:40 thanks Nov 11 06:17:43 reminds me I need to finish my app Nov 11 06:19:24 which one? Nov 11 06:19:37 http://progx.org/users/Gfx/shelves.mp4 Nov 11 06:21:22 nice Nov 11 06:21:56 thats some fast scrolling **** BEGIN LOGGING AT Tue Nov 11 11:48:39 2008 Nov 11 16:47:57 Hey guys, has anyone instaled five yet? Nov 11 22:04:29 is it a bug that git branch shows "* (no branch)" instead of "* default" all of the sudden? Nov 11 22:04:41 i saw this in the using repo/git docs: Nov 11 22:04:42 Note: Nov 11 22:04:43 A bug might be causing repo sync to reset the local topic branch. If git branch shows * (no branch) after you run repo sync, then run git checkout again. Nov 11 22:04:48 but git checkout does nothing Nov 11 22:07:18 should i just do repo start default? Nov 11 22:12:11 Bleh. One step forward, two steps back. Nov 11 22:12:24 I built the android public source, and ran the emulator through it Nov 11 22:12:47 I took "Hello segfault" and attached gdbserver to it Nov 11 22:12:58 I then ran gdbclient against it Nov 11 22:13:23 which kindly enough loads the shared libs, but now does not stop at breakpoints and does not provide a usable stacktrace Nov 11 22:14:05 actually, i don't think it even loads the program I'm trying to debug, and as such never reaches the stage where I could hit a breakpoint. Nov 11 22:35:16 Is this channel more about developing ON the android platform or modifying the platform itself? Nov 11 22:36:08 a bit of both Nov 11 22:36:10 try #android if you're a hacker :) Nov 11 22:36:19 there's more hacking going on over there Nov 11 22:36:43 Though I guess my question isn't even necessarilly android specific, though I want to make my application for android Nov 11 22:38:06 It's odd, in just a couple of days #android seems to have become #how-to-root-android Nov 11 22:38:31 I'm planning on making a game as well as a server to handle online play for the game. But I'm not sure how to verify that the data coming from the player is legitimate and isn't from a client that has been modified to cheat or just an application generating fake data Nov 11 22:38:41 tomgibara: yeah, it's not very interesting to me anymore :) Nov 11 22:38:49 nope :) Nov 11 22:42:11 Jouva: That's tricky, android gives you some basic tools (like SHA-1 etc.) Nov 11 22:42:46 level 0: don't do anything Nov 11 22:42:59 I guess the tricky part is verifying the signed data is STILL legit ;) Nov 11 22:43:09 level 1: sign the data that gets exchanged with a key. Nov 11 22:44:05 One issue is that on a constrained device, you just don't have the horsepower to do much crypto - might depend on the game though Nov 11 22:44:37 It's going to be low bandwidth Nov 11 22:44:47 level 2: insert some subtle data in the stream that the server will be able to recognize but that won't be obviously visible to someone reverse-engineering your code. Nov 11 22:44:49 Turn based stuff Nov 11 22:45:17 jbq: Are all apps on the store considered closed source? Nov 11 22:45:23 jouva ah, interesting topic Nov 11 22:45:28 alas I have to bolt Nov 11 22:45:31 has anyone successfully used File.setLastModified(long)? Nov 11 22:46:11 Jouva: they can definitely be closed source, and the system is supposed to be designed to prevent other eyes from seeing your application. Nov 11 22:46:33 The key here is "supposed to", and recent history has shown that this shouldn't be strongly relied upon. Nov 11 22:46:38 This will be an interesting project in general considering I haven't done much Java at all... but then again a lot of what I tried to do in the past and never got around to involved trying to make applets, and the courses and books I took didn't tell me jack about making applets; just general Java Nov 11 22:47:43 Now, the good news for you is that this has nothing to do with Android or its programming language, so there are probably lots of other sources that specialize in those problems that might be useful. Nov 11 22:47:47 jbq: I do understand that. I know this won't be 100% fool-proof. I just want to do what I can with this. Nov 11 22:48:02 Right. Nov 11 22:48:46 I didn't know where specifically to go for this question, since it sorta IS generic to the language and platform. But I figured I'd ask here incase there was a solution that was part of Java or android that helped out with this issue at hand Nov 11 22:49:58 There might be some crypto packages available in android that could help you sign your packets. Nov 11 22:50:16 I don't know the details, though. Nov 11 22:50:44 I may just go with "level 0" and do nothing though, since if my application can sign it, what's to stop somebody from making their own application that signs it in the same way? Nov 11 22:51:16 Jouva: yeah, that's pretty much the problem with level 1: the key is essentially a single point of failure. Nov 11 22:51:20 right Nov 11 22:52:26 Other than that, uhh, question related to the way of delivering packets themselves Nov 11 22:53:03 The EASY way would be making an HTTP-based solution. Sending an HTTP-request or other data when the player does something. And receiving data when necessary Nov 11 22:54:01 But to do that would require a persistent connection or polling. What's a more efficient way of doing this if I go the HTTP route, and if it's a persistent connection, how exactly does that work? Nov 11 22:54:37 HTTP(s) has the advantage that it's more likely to go through than plain sockets, even in restricted environments. Nov 11 22:54:45 right Nov 11 22:54:57 I'd see two options: Nov 11 22:55:22 open a socket from your client to your server, have the client block on a read() Nov 11 22:56:15 open an http(s) connection from your client to your server, have the client block on waiting the response of a GET. Nov 11 22:56:32 I kinda wonder how things like gmail work where new mail shows up Nov 11 22:56:44 it's the first approach. Nov 11 22:57:07 So it's not polled? Nov 11 22:57:19 Not at the application level. Nov 11 22:57:37 Interesting Nov 11 22:57:41 There's the tiny TCP chatter keeping the socket alive, but that's it. Nov 11 22:58:00 right Nov 11 22:58:49 Big question there is if there's lots of people that get this application, which is less intensive on the server and on the clients Nov 11 22:59:02 Cause afterall, this is a data device that might not have a decent signal Nov 11 23:00:06 That's hard to answer. Nov 11 23:00:45 persistent connections are likely to use less bandwidth and less CPU on the server (but possible more RAM). Nov 11 23:01:06 but it really really depends hard on how the server is written. Nov 11 23:01:10 right Nov 11 23:01:31 As a general rule, though, carriers will be a lot happier if you don't abuse their bandwidth. Nov 11 23:01:40 though persistent connections also means more sockets open all at once and more processes open all at once etc Nov 11 23:01:53 Well it's going to be fairly small bandwidth ;) Nov 11 23:02:52 well, once you factor in the cost of negotiating TCP connections (and possibly SSL handshaking on top of that) you can end up passing many packets around just to send 1 byte. Nov 11 23:03:26 Also on a different note, considering Android is more built for phones, considering I haven't looked much at the API, is there a way to get the IMEI? Nov 11 23:03:38 With persistent connections, you definitely need a server architecture that's based around massive select() pools so that a single process/thread can be listening to hundreds of clients at the same time. Nov 11 23:04:34 Jouva: you can use getDeviceId for a unique id, http://code.google.com/android/reference/android/telephony/TelephonyManager.html#getDeviceId() Nov 11 23:04:48 dunno if there's an API, but reading the IMEI = trusting the client = see above. Plus if Android gets ported to a non-phone, the IMEI is quite meaningless. Nov 11 23:04:50 That works Nov 11 23:05:08 Actually Nov 11 23:05:22 Apparently the API hints that it may be the IMEI if it's a phone :P Nov 11 23:05:38 But yeah Nov 11 23:05:44 That's what I'd like Nov 11 23:05:51 ;) Nov 11 23:06:18 The IMEI isn't a bad source of differences if you're generating a unique device ID, but I wouldn't rely solely on it. Nov 11 23:07:09 right Nov 11 23:07:18 Either way, it has a unique ID function, I'll go with that Nov 12 00:21:22 Is there a way to launch an application from the shell? Debugging on the phone is getting tiresome, having to build and install packages, then reach over and click on the desktop. It would be much faster if I could just dump files in place and script the startup. Nov 12 01:00:18 andyross: look at adb shell am start -n ... Nov 12 01:00:58 "am" is a launcher tool? Nov 12 01:01:22 it's a command line tool letting you do some thing with the activity manager Nov 12 01:01:41 start -n / lets you launch an activity directly Nov 12 01:01:59 you can also pass it intent data that will be resolved and will launch something Nov 12 01:02:30 Cool, I'll try that. Nov 12 01:02:38 this is how the Eclipse plugin launches application the device/emulator (am start -n ...) Nov 12 01:03:10 if you use am start -D -n ... it'll launch the application and force it to wait for a debugger. Nov 12 01:04:17 Excellent, this sounds perfect. Had trouble running it because it's a shell script without a #! line, but figured that out. Gotta figure out the intent syntax now :) Nov 12 01:07:11 andyross, this is what I have for one of my ant targets: shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n ${application-package}/${application-package}.${ant.project.name} Nov 12 01:10:01 KNY: if you specify -n you don't really need to specify -c (since you're already explicitly asking for a particular component, in this case an activity) Nov 12 01:10:20 nice Nov 12 01:10:21 thanks Nov 12 01:11:57 (same thing for the -a btw) Nov 12 01:16:12 well that simplifies things **** ENDING LOGGING AT Wed Nov 12 02:59:58 2008