**** BEGIN LOGGING AT Wed Oct 08 02:59:57 2008 Oct 08 03:00:12 erre Oct 08 03:02:27 evry1 is busy writing apps :) Oct 08 03:03:15 indeed Oct 08 03:03:46 i'm trying to get my palm to sync with linux :[ Oct 08 03:04:15 which distro ? Oct 08 03:05:11 just installed ubuntu intrepid Oct 08 03:05:18 worked in hardy but Oct 08 03:05:38 so far every ubuntu release since breezy has broken palm sync for me Oct 08 03:05:51 spend a couple weeks getting it working again and wait til next time Oct 08 03:09:41 ubuntu is a mess Oct 08 03:09:48 every update breaks something Oct 08 03:10:37 if i wanted stable i could use debian. everything would be a year and a half out of date but stable Oct 08 03:10:50 fedora is nice Oct 08 03:11:06 good balance.. stable and updates etc., Oct 08 03:11:26 yum is much better than a couple years ago Oct 08 03:11:38 yeah it might be time to look at fedora again Oct 08 03:11:48 apt is still better :] Oct 08 03:12:00 i'm installing it for someone at work tomorrow Oct 08 03:12:17 maybe i'll set it up at work i need a new workstation Oct 08 03:14:00 * muthu went back to fedora after trying ubuntu Oct 08 03:14:40 yeah well i've been debian/ubuntu for years Oct 08 03:14:44 X is the problem in linux Oct 08 03:14:46 it's a big change Oct 08 03:15:36 oct 18 - bang goog dev day Oct 08 03:16:27 just use ubuntu Oct 08 03:16:39 its crap, full of bugs etc.. but if you have half a brain, you can work around them Oct 08 03:17:04 as opposed to having to deal with all the other crap that non debian/ubuntu distributions put you through anyway Oct 08 03:17:15 crap, I can't get GPS to work at all in 1.0 Oct 08 03:17:25 not even with thru DDMS Oct 08 03:17:37 does the web browser run for more than 5 minutes without crashing now? Oct 08 03:17:50 i havnt actually tried it since the 0.9 beta .. and it was erm, interesting.. put it that way Oct 08 03:18:09 the browser is sloooooow Oct 08 03:18:17 snadge: On G1 this person is not complaining: http://www.anddev.org/get_your_android_application_tested_on_a_g1_-t3063.html Oct 08 03:18:44 well bear in mind, nobody else has a 'decent' mobile browser yet anyway ;) Oct 08 03:19:00 although some people like the iphone's one.. i havnt tried it either.. iphones are terrible Oct 08 03:19:24 anyone got gps-receiving working? Oct 08 03:19:35 true, chrome might be faster Oct 08 03:19:42 plusminus_: "Performance of OpenGL Apps seems to double, related to running in the emulator" Oct 08 03:19:53 that is totally meaningless without knowing what the emulator's host is Oct 08 03:19:57 romainguy i asked him for his desktop-setup Oct 08 03:20:00 :) Oct 08 03:20:02 :P Oct 08 03:20:20 but yeah, it's software OpenGL vs hardware OpenGL Oct 08 03:20:22 so... Oct 08 03:20:29 (and ARM-based software OpenGL) Oct 08 03:20:55 push the browser into the hardware Oct 08 03:20:58 the iphone browser is the standard of comparison Oct 08 03:21:34 romainguy do you know if there is a working sample of gps-receiving for sdk 1.0 ? Oct 08 03:21:44 panoramio Oct 08 03:21:48 works great :) Oct 08 03:21:54 code.google.com/p/apps-for-android Oct 08 03:22:00 also the Radar project Oct 08 03:22:01 same URL Oct 08 03:24:37 Wow! TMo launching the emulator is big news!! Oct 08 03:24:54 that's the only thing showing up these days Oct 08 03:27:51 oh shit Oct 08 03:28:19 IIT madras alumnus, kills family of five and self in LA Oct 08 03:28:39 arghhhh Oct 08 03:28:41 terrible Oct 08 03:29:03 shit, its the economy! Oct 08 03:31:07 http://news.google.com/news/url?sa=t&ct=us/0-1-0&fp=48ecebe42ffbaad3&ei=CCnsSND7C4yQ6wP1hcCDCQ&url=http%3A//www.nytimes.com/2008/10/08/us/08slay.html%3Fref%3Dbusiness&cid=1255065591&sig2=BXqbhvoJooHJh9wBrn0zWQ&usg=AFQjCNGAJ9JScGrzQGPVc66USWJeh38zag Oct 08 03:31:41 here's the short link: Oct 08 03:31:43 http://www.nytimes.com/2008/10/08/us/08slay.html?_r=1&ref=business&oref=slogin Oct 08 03:32:32 crazy, no one heard the shoots o_O Oct 08 03:33:01 pretty sad. what a jerk for killing his family though Oct 08 03:33:08 i didnt think hindus believed in heaven Oct 08 03:34:47 no Oct 08 03:34:56 but they give up hope quickly Oct 08 03:35:11 this mass suicide mentality is pretty common in india Oct 08 03:35:29 fuq Oct 08 03:35:31 ouch :( Oct 08 03:35:31 well Oct 08 03:35:49 it's not uncomon Oct 08 03:35:52 look at japan Oct 08 03:36:05 yeah, they came out of it nicely Oct 08 03:36:05 some say it's density of population Oct 08 03:36:12 others say culture Oct 08 03:36:16 (regarding suicide) Oct 08 03:36:29 its culture Oct 08 03:36:32 i know in finland, it's the weather and geographic isolation ;) Oct 08 03:36:37 haha Oct 08 03:36:55 yeah its culture. japanese drive themselves so hard Oct 08 03:37:01 * plusminus_ checking for the 5th time what is the difference between my try to get GPS and the on of RadarView Oct 08 03:37:33 plusminus_: are you setting your locationprovider? Oct 08 03:38:51 this.mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, ... Oct 08 03:38:52 ? Oct 08 03:39:11 done in onResume Oct 08 03:40:26 no the provider.. a mock provider Oct 08 03:40:41 the built in will give you null Oct 08 03:40:47 ? Oct 08 03:41:06 mock providers cannot be set since 1.0 Oct 08 03:41:11 there was this example posted in the android developer forum files section Oct 08 03:41:12 that was 0.9 Oct 08 03:41:16 oh Oct 08 03:41:21 that sample is from 0.9 Oct 08 03:41:25 ok.. haven't done anything maps lately Oct 08 03:41:26 it worked like a charm then Oct 08 03:41:30 np Oct 08 03:41:51 plusminus are you trying to get lat/long from Eclipse if so there is a link that worked for me. Oct 08 03:42:15 thru the EmulatorControls ? Oct 08 03:42:18 yes Oct 08 03:42:23 doesn't get thru to the code :( Oct 08 03:42:39 boolean b = this.mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); // <-- return true Oct 08 03:43:36 don't you need to use some mock? Oct 08 03:43:45 since the providers will not be available in emu? Oct 08 03:43:51 I was able to get a lat/long by calling: Oct 08 03:43:52 LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); Oct 08 03:43:52 return lm.getLastKnownLocation(lm.getBestProvider(new Criteria(), true)); Oct 08 03:43:55 its meant to be done thru the Eclipse EMulatorControls Oct 08 03:44:19 I did get back the lat/long I put in ddms Oct 08 03:44:28 muthu: so we don't need to change any code when releasing our app Oct 08 03:44:45 oh ok Oct 08 03:45:27 I'm doing: Oct 08 03:45:28 this.mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Oct 08 03:45:51 f00f-: when i was in ireland they said something on the radio that suicide rates are high Oct 08 03:45:59 anyway I had to follow these instructions: Oct 08 03:45:59 this.mMyLocation = this.mLocationManager.getLastKnownLocation(PROVIDER_NAME); Oct 08 03:46:02 weather and geographic isolation would be one explanation there as well Oct 08 03:46:29 jasta: weather in england is pretty bad... ;) Oct 08 03:46:44 although it said northern ireland had higher suicide rates, which kind of throws that theory away Oct 08 03:46:47 Hi all: Oct 08 03:46:47 Please try the following: Oct 08 03:46:47 1. Download and extract LocationSample.zip from Oct 08 03:46:47 http://groups.google.com/group/android-developers/files Oct 08 03:46:48 2. From Eclipse main menu, select File > Import ... Existing Projects Oct 08 03:46:48 into Workspace, and import extracted LocationSample into workspace Oct 08 03:46:50 3. From Package Explorer, right-click the LocationSample project, and Oct 08 03:46:52 select Run As -> Android Application Oct 08 03:46:54 -> Android emulator should launch, and you should eventually see the Oct 08 03:46:56 LocationSample screen with message "Hello World, LocationSample" Oct 08 03:46:58 4. In Eclipse, select Window > Open Perspective > DDMS Oct 08 03:47:00 5. Select the "emulator-5554" entry in the "Devices" view Oct 08 03:47:02 uhh Oct 08 03:47:02 6. In "Emulator Control" view, find the "Location Controls" section, Oct 08 03:47:04 and select the "Manual" tab Oct 08 03:47:05 yeah thanks dmoffett Oct 08 03:47:06 7. Provide values in the Longitude and Latitude fields (ie 17 17) Oct 08 03:47:08 8. Press the Send button Oct 08 03:47:10 -> An entry should appear in the Logcat view like this: Oct 08 03:47:12 DEBUG/LocationSample(159): location changed : Oct 08 03:47:14 Location[mProvider=gps,mTime=1219971354000,mLatitude=17.0,mLongitude=17.0,m HasAltitude=true,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false ,mBearing=0.0,mHasAccuracy=false,mAccuracy=0.0,mExtras=Bundle[mParcelledDat a.dataSize=52]] Oct 08 03:47:18 Each time you repeat steps 7 and 8 you should see a new entry in the Oct 08 03:47:20 Logcat view. Oct 08 03:47:22 I hope that helps. Please reply back to this thread if the following Oct 08 03:47:23 really? ok. Oct 08 03:47:24 steps do not work for you. Oct 08 03:47:26 Regards, Oct 08 03:47:28 Brett. Oct 08 03:47:30 On Aug 28, 8:34 am, Antonio Villar wrote: Oct 08 03:47:32 sorry about that. Oct 08 03:47:35 wow! Oct 08 03:47:46 let me email antonio ;) Oct 08 03:48:12 dmoffett: thx for the steps Oct 08 03:48:36 I should have sent the link but the instructions are way down the page. Oct 08 03:48:48 It sure looks bad. Again sorry about that. Oct 08 03:49:39 LocationAPISample.zip ? Oct 08 03:49:50 ... probably Oct 08 03:50:46 btw the geocode api works nicely. Oct 08 03:51:03 (yeah geocode is really fine) Oct 08 03:51:11 thats exactly what my code is based on Oct 08 03:51:17 and it worked in 0.9 Oct 08 03:55:46 :( Oct 08 03:55:58 no luck? Oct 08 03:56:13 nope Oct 08 03:57:11 who won the debate? Oct 08 03:57:46 me... Oct 08 03:58:01 both repeating again Oct 08 03:58:26 imo McCain with less concrete plans Oct 08 03:58:28 obama killed him last time and it was considered a tie Oct 08 03:58:29 and im def no obama supporter Oct 08 03:59:11 http://www.youtube.com/watch?v=jjXyqcx-mYY Oct 08 03:59:47 haha Oct 08 03:59:59 obama blames the economy Oct 08 04:00:57 i think obama came out ahead in this one too Oct 08 04:01:00 Obama won.. that's the vote so far Oct 08 04:01:54 http://friendfeed.com/rooms/2008-debates Oct 08 04:03:17 http://www.screaming-penguin.com/info/android_drawables/android_drawables.html Oct 08 04:03:22 plusminus: try using the map application and then send the coordinates. Oct 08 04:03:24 all android drawable listed Oct 08 04:03:45 if that works then your app should be able to get the lat/long Oct 08 04:09:47 sooo Oct 08 04:10:10 anyone with a real device wanna try out my very recently functioning app? :) Oct 08 04:11:48 dmoffett: It says like "Trying to determine your location..." and nothing happens Oct 08 04:12:08 ( I heavily clicked the button in the emulatorControls = Oct 08 04:12:09 ) Oct 08 04:12:47 I think i should completely destory the emulator image... Oct 08 04:12:59 In ddms you selected the emulator and then in emulator control send the lat/long? Oct 08 04:13:27 yes yes, i can see heap and threads too Oct 08 04:13:35 drag Oct 08 04:14:16 Hate to say it but seems to work fine for me. Oct 08 04:14:24 been doing it like that for a few days. Oct 08 04:16:24 This is pretty stupid but for recording I needed to have an sdcard. It does not seem logical but maybe the an sdcard? Anyway I run my emulator like this: Oct 08 04:16:37 emulator -shell -sdcard sdcard1.iso Oct 08 04:16:41 reaching here. Oct 08 04:18:43 http://picpaste.de/pics/mapview_nogps.1223439411.png Oct 08 04:31:43 I keep getting ANRs with my remote service. The error ActivityManager reports is Timeout executing service: Service Record Oct 08 04:32:50 the stack trace is in the accept() method of a 3rd party lib Oct 08 04:33:10 do it async Oct 08 04:33:28 gambler: you can't block the main thread of a service Oct 08 04:33:35 (accept blocks) Oct 08 04:34:17 ah right well i implemented Runnable and called the run method, doesnt that mean it should be in a seperate thread? Oct 08 04:34:47 uhm, no. Oct 08 04:34:54 you're thinking of a thread Oct 08 04:35:38 hmm ok. ...im not sure why i thought that. Oct 08 05:03:10 can Intent be used to call another class activity? e.g. I have my main java file and then the intent will start the listactivity i have in another java file in the same package Oct 08 05:05:50 intents are used to start activities, recievers, service Oct 08 05:06:48 yea, so i have another java file that has Blah extends ListActivity and its Blah.java Oct 08 05:07:00 so how do i start that activity from the other java file? Oct 08 05:07:38 define activities in manifest Oct 08 05:07:45 define intent filters for activities Oct 08 05:07:51 startactivity with intent Oct 08 05:08:18 D/ActivityManager( 56): Received spurious death notification for thread android.os.BinderProxy@434bd2e0 Oct 08 05:08:30 emu is regularly crashing on me Oct 08 05:33:09 what's the view bound to android.R.layout.activity_list_item? Oct 08 05:33:17 textview? Oct 08 05:34:16 user HierarchyViewer, you'll see Oct 08 05:36:45 ok Oct 08 05:36:59 keep forgetting hierarchyviewer Oct 08 05:37:24 is it in eclipseplugin? Oct 08 05:40:50 hv is nice Oct 08 05:41:51 woah! Oct 08 05:41:54 no kidding.. Oct 08 05:42:04 wow, hierarchy rocks Oct 08 05:42:20 unearthing some hidden views.. Oct 08 05:42:36 hv must be bundled with plugin Oct 08 05:42:52 it's in the SDK Oct 08 05:43:03 yeah, but no one uses it ;) Oct 08 05:43:06 make it part of ddms Oct 08 05:43:09 stupid users :) Oct 08 05:43:13 hehe Oct 08 05:45:27 romain: is there a way to get the id of the views from hv? Oct 08 05:45:38 so we can use the views effectively Oct 08 05:45:56 activity list items has an image and text view Oct 08 05:46:01 textview id is text1 Oct 08 05:46:06 what about imageview? Oct 08 05:46:17 image1? Oct 08 05:46:20 hierarchyviewer shows you the ids Oct 08 05:46:39 in each rectangle Oct 08 05:46:42 and also in the list of properties Oct 08 05:46:50 if you click a view, it'll tell you the full id name Oct 08 05:47:12 ooooh.. sssweeeeet Oct 08 05:47:16 wonderful Oct 08 05:47:25 try to double-click a view too Oct 08 05:47:31 ok thx Oct 08 05:48:03 its called icon Oct 08 05:48:38 now i can tie up one of the android icons here Oct 08 05:48:39 woot Oct 08 08:13:34 autolink does not show the maps Oct 08 08:13:49 anyone know the uri format for address? Oct 08 08:20:51 * kaze is gone.. autoaway after 15 min ..[cyp(l/on.p/on)] Oct 08 10:58:57 I wish aapt walked the class graph and removed .class files my app doesn't use. Oct 08 10:59:23 Testing takes forever because I reupload bouncy-castle each time. Oct 08 11:00:12 how long? Oct 08 11:02:20 since you asked. about 1min something Oct 08 11:07:54 gambler: reflection makes that a dicey thing to do automatically Oct 08 11:08:14 i guess the best workaround is just to develop my gui in another project Oct 08 11:08:16 tomgibara, how so Oct 08 11:08:51 meh im sure your right, no need for an explanation Oct 08 11:09:05 maybe I misunderstood but... how does aapt know that you aren't using the classes? Oct 08 11:09:34 :p Oct 08 11:10:14 :) Oct 08 11:12:37 gambler: why do you include classes you do not use? remove those Oct 08 11:15:15 tric, its a big library..walking the class graph manually would be :( Oct 08 11:16:13 s/aapt/dx or some other compiler magic Oct 08 11:32:03 1min.. that's a good keyboard break for ya ;) Oct 08 11:41:53 anybody knows why I can't easily uninstall Eclipse-run apps? "adb uninstall my.apk" on the bin/my.apk always gives me "failure". I know I can use the shell but... Oct 08 12:03:36 anyone know how to define an attribute for layouts, similar to the built in "?android:attr/listPreferredItemHeight"? Oct 08 12:07:33 pjv: adb uninstall uses the package name Oct 08 12:10:30 oh right thanks Oct 08 12:10:56 zhobbs: see samples/ApiDemos/res/values/attrs.xml Oct 08 12:11:27 hey guys Oct 08 12:11:33 hi Oct 08 12:11:36 hey +- Oct 08 12:11:48 the installer on the App-Installer on the G1 is somehow not workign properly: Oct 08 12:11:49 http://www.4shared.com/file/66096434/f777bc63/AndOpenStreetMap.html Oct 08 12:12:21 it says like I want to have freakin every permission that Android offers... Oct 08 12:12:56 tomgibara: yeah, I mean actual values, not custom attributes for custom views Oct 08 12:12:57 whereas I only have: Oct 08 12:13:24 tomgibara: the one I referenced is used like android:layout_height="?android:attr/listPreferredItemHeight" Oct 08 12:14:16 wow, seems to me it's a bug since it only gets there at reinstall Oct 08 12:14:38 but why did it block in the first place? Oct 08 12:15:06 can one disable unwanted permissions at any cost in the settings menu (that we don't have unfortunately)? Oct 08 12:15:58 I have no idea, I got a anddev-member making that video Oct 08 12:16:18 you probably don't need "ACCESS_MOCK_LOCATION" anymore :) Oct 08 12:16:24 something is pretty mixed up AFTER the block: it says "application install UNsuccesful" yet shows a green tick Oct 08 12:16:54 plusminus_: I somehow managed to build an apk that crashed the installer on one device - don't know if its repoducible Oct 08 12:17:02 that's funny though, looks like it literally lists every permissions possible Oct 08 12:17:17 aha, I see why now: "blocked for every app not coming in through the Android Market" Oct 08 12:17:27 maybe the current sdk is not compatible ./ Oct 08 12:17:54 plusmins_: my suggestion is to remove the MOCk permission and see if that resolves it Oct 08 12:17:55 Yeah, but the user can say "Never mind"... Oct 08 12:18:11 yeah just deleted it, as I posted ^^ Oct 08 12:18:45 I already sent him a version of AndNav, which doesn't have that permission Oct 08 12:19:07 maybe try a very simple app first instead? Oct 08 12:20:05 am I being dense, posted where? Oct 08 12:20:55 tomgibara: probably anddev.org Oct 08 12:23:12 http://www.anddev.org/get_your_android_application_tested_on_a_g1_-t3063.html Oct 08 12:23:54 plusminus: I just happened onto your anddev post about how to sign your app Oct 08 12:24:15 I noticed that you only specify a one year validity Oct 08 12:25:12 I'm not confident about how app installs are going to work, but I'm pretty sure that if after one year the certificate has expired, users won't be able to update the app Oct 08 12:26:06 that's my understanding as well Oct 08 12:27:38 tomgibara: I somewhere read that the validity is only checked once itzs getting installed :/ Oct 08 12:27:48 so just make it Integer.MAX_VALUE ? Oct 08 12:28:01 well, an update is an installation isn't it Oct 08 12:28:01 linky? Oct 08 12:28:11 gambler: to? Oct 08 12:29:35 anddev sign app post Oct 08 12:29:49 plusminus_: I don't know the answer to that, fwiw, I used 10,000 days Oct 08 12:29:58 gambler: http://www.anddev.org/viewtopic.php?p=11105 Oct 08 12:30:41 As far as I know, there hasn't been any public guidance on signing policies. Oct 08 12:30:51 I usually make my certificates valid for 250 years. Oct 08 12:30:52 Im going to try to beat that French woman who lived to 122 Oct 08 12:31:02 :) Oct 08 12:31:31 8^) Oct 08 12:31:43 2g2 bye guys Oct 08 12:32:32 gambler: in 100 years people will just be bruteforcing them Oct 08 12:32:33 Ya, I got an email this morning about signing issues Oct 08 12:33:10 the disadvantage of making any key >5 years is that it probably will somewhat be possible to break it over 5 years Oct 08 12:33:12 schmylan_: Did it contain any useful information? Oct 08 12:33:14 Adamant, the heat death of the universe will happen first Oct 08 12:33:23 Adamant: exactly Oct 08 12:33:27 gambler: not for public keys Oct 08 12:33:42 Not really. It was from someone at T-Mobile Oct 08 12:33:48 they had a OLD copy Oct 08 12:33:50 ok ill take the bait ...why Oct 08 12:33:58 from my old PC Oct 08 12:34:10 I've since switched computers (bad choice) Oct 08 12:34:16 gambler: we're within spitting distance of 1024-bit keys now and they are being depreciated Oct 08 12:34:39 in cryptographic terms Oct 08 12:34:56 Adamant: I actually used a 1024 bit RSA key for my cert. I was concerned about using anything too big for mobile devices Oct 08 12:35:06 back in the day they thought 512-bit systems would be enough forever pretty much Oct 08 12:35:20 I'm still confused as to why exactly they use signing and why self-signing is sufficient Oct 08 12:35:21 tomgibara: as long as you don't have a long time horizon you're fine Oct 08 12:35:50 Quantum computing might blow a hole in all such cyphers Oct 08 12:36:15 yah thats the only legitimate worry Oct 08 12:36:18 tomgibara: maybe, maybe not. Oct 08 12:36:28 gambler: look at the progress made on factoring Oct 08 12:36:50 we've made a remarkable amount. Oct 08 12:37:35 tomgibara: the trick would be finding a public key cipher that is resistant to quantum techniques Oct 08 12:37:41 "The certificate is used only to establish trust relationships between applications, not for wholesale control over whether an application can be installed" Oct 08 12:37:45 Crypto anhiliation could be a single mathematica insight away :) Oct 08 12:37:54 indeed Oct 08 12:37:56 I havent worked in that area in awhile but a quick wikipedia tells me GNFS is still the fastest alg out there Oct 08 12:38:09 gambler: yes, and it's fairly new Oct 08 12:38:43 meh im not worried... Oct 08 12:38:45 we get better algos, more computing power, and more methods of using distributed power. Oct 08 12:39:02 gambler: you should only be worried if you were serious about 250 years Oct 08 12:39:19 I was thinking about a possible key technique last night as it happens - based on finding hamiltonians - looked into it this morning and found out that there seem to be lots of effective algorithms for detecting them Oct 08 12:40:08 tomgibara: yeah. there have been a lot of ones proposed and smacked down. Oct 08 12:41:15 tomgibara: Ideally you could also prove the scheme is not in BQP Oct 08 12:41:57 :) No problem - I'll whip out a proof this evening Oct 08 12:44:06 tomgibara: more schemes proposed the better Oct 08 12:48:23 as I understand it certificates are only used to see if two apps are by the same creator? Oct 08 12:49:14 * tomgibara comes out of his reverie about C* algebras Oct 08 12:49:52 pjv: They are also used to determine whether an upgrade to an app originates from the same creator. Oct 08 12:50:44 So you would definitely need a key that lasts longer than 5 years. This is a conflict in my opinion. Oct 08 12:50:56 why? Oct 08 12:51:43 Well, as said above, keys get broken and there is no PKI infrastructure Oct 08 12:52:02 moores law is going to run out soonish.. Oct 08 12:52:09 pjv, they are using x509 certs Oct 08 12:52:09 pjv: 5 years should be ok for 1024-bit keys. Oct 08 12:52:41 pjv: use a bigger key if you need a longer life Oct 08 12:53:16 it's also annoying on open source projects: who should sign? Oct 08 12:53:38 pjv: self-sign Oct 08 12:53:47 pjv: the guy wearing the caudillo hat and chomping a cigar Oct 08 12:54:15 basically just have the head of the project sign. Oct 08 12:54:29 or someone appointed to do so by the head committee Oct 08 12:55:30 heads of projects change so you would need to make the signing possible for several members Oct 08 12:56:06 maybe I don't understand the finesses of "self-sign" but wouldn't you need to share passphrases for this? Oct 08 12:56:55 pjv: you could do your own PKI for the key if necessary, for a open source project there's usually enough trust to share it. Oct 08 12:57:19 ok I see Oct 08 12:58:41 just took me about 6mins to generate an 8192 bit key on a newish 32bit arch Oct 08 12:59:39 wouldn't some kind of PKI in general for android have been better? then you could have changed keys in between updates (and thus avoiding the key gets broken), right? Oct 08 12:59:43 i really should get a 64 bit machine if I want to be uber paranoid...probably cut that down alot Oct 08 13:01:12 pjv, just update your key with every software update...voila new key lifetime. Oct 08 13:01:39 pjv: For that you need an authority, which doesn't fit well with open source projects like Android Oct 08 13:02:35 gambler: how does that work, I thought the whole point of the signing was to see that the update comes from the same creator? Oct 08 13:03:35 yeah, I think if it's signed with a different key then you lose everything in /data/data// on update Oct 08 13:03:36 pjv sign your new package, and then once your new package is in place, change the reference key. Oct 08 13:04:47 gambler: Sorry, but I don't think that makes any sense Oct 08 13:05:23 sure it does. you use your old key to bootstrap your new key. its a basic concept in cryptography. Oct 08 13:05:50 ... in "advanced" cryptography I'm sure ;-) Oct 08 13:06:27 gambler: ...but the key isn't internal to his app is it - it's not his to reference or replace Oct 08 13:10:16 well the 'pki' way to do it is to sign your app. then create a new app with its own key that has been signed by the upstream key. Then put the old key on the CRL Oct 08 13:10:17 gambler: maybe you meant like in PKI: signing certificates for keys with other keys? Oct 08 13:11:14 pjv, yah thats the current way. dont worry about not understanding pki too well. its a big scam anyway Oct 08 13:11:14 gambler: yes, this is what I was complaining about, Android wouldn't follow certificates to a root certificate, and neither check on CRL's Oct 08 13:12:52 pjv, you might want to look again. creating CAs is a masasive PITA Oct 08 13:13:13 I should understand most of it (the theory behind it is simple enough, but the practice makes it harder, and a little bit of security usually makes things very very complicated), but it's not my day job, and my knowledge ends somewhere :-) Oct 08 13:13:36 ok, the 'complaining' is not because my idea is better, by far Oct 08 13:14:24 just exploring what downsides this security has... Oct 08 13:14:49 and working out the practical application... Oct 08 13:15:26 ive got some scripts that handle all that...I just hate working with PKI though. its so divorced from reality Oct 08 13:15:50 i think the concept of trust transitivity beyond a single arc is pretty ridiculous Oct 08 13:17:16 I know some professionals in the crypto world that are getting pretty demotivated and paranoid at the same time :-) Oct 08 13:54:21 Got some new ideas for scary costumes for halloween this year. AIG Insurance Exec or Bank Exec. :-( Oct 08 14:07:11 alan greenspan would work Oct 08 14:09:39 I was wondering how they'd come up with $700B, here's how they do it: http://www.flickr.com/photos/30581266@N06/2902781625/sizes/o Oct 08 14:10:34 lolza Oct 08 14:11:10 great find Oct 08 14:11:14 hehe Oct 08 14:12:14 lol Oct 08 14:13:17 haha Oct 08 14:13:18 lol @ misteaks Oct 08 14:20:03 look on the plus side.. if things continue the way they are goingt Oct 08 14:20:19 there will be civil unrest, and a revolution Oct 08 14:21:25 java question: i need a library that will allow "jQuery-like" selection, for example, i could retrieve text of a span with class "foo" by doing this $("span.foo").text() Oct 08 14:21:53 doesn't have to be that notation... i just need the functionality Oct 08 14:42:02 zhobbs: awesome picture ^^ Oct 08 14:43:11 http://vimeo.com/1891639# <- kind of a G1 launch event in London :-) Oct 08 14:44:37 ugh, 35 minutes. Oct 08 14:45:41 hehe: Oct 08 14:45:45 Whatever you may be sure of, be sure of this, that you are dreadfully like other people. - James Russell Lowell Oct 08 14:55:55 unix_lappy: start at minute 14 Oct 08 14:55:56 :D Oct 08 14:58:35 http://www.engadget.com/2008/10/08/vodafones-blackberry-storm-art-department-all-soon-to-be-fired Oct 08 15:35:37 hi Oct 08 15:36:46 well, i can download and use "android market" with eclipse and android-sk 1.0? Oct 08 15:37:10 no Oct 08 15:37:16 not at the moment, anyway Oct 08 15:41:35 hi all Oct 08 15:42:00 does anyone have a working sample of an email program? Oct 08 15:43:19 those based on mail1.4 and activation1.1 wont work on 0.9+ Oct 08 15:56:45 Hey guys, I was wondering if anyone has done anything with version detection. i.e. having your app inform the user when a new version is available. Oct 08 15:57:20 harrdawg: yeah, tomgibara has an open source lib for that Oct 08 15:57:50 Is it posted anywhere? Oct 08 15:57:54 yeah Oct 08 15:58:07 http://www.tomgibara.com/android/veecheck/ Oct 08 15:58:32 Thanks Hobbs. Oct 08 15:58:46 thank tom :) Oct 08 15:59:33 is veecheck integrated into market? Oct 08 16:00:03 no Oct 08 16:00:23 well, don't think so Oct 08 16:02:03 ok.. that's something every market needs Oct 08 16:02:56 zhobbs: what's the best way to store a file? Oct 08 16:03:26 muthu: how big is it? Oct 08 16:03:45 not that big Oct 08 16:03:50 pretty small Oct 08 16:04:02 just text Oct 08 16:04:25 then save it in your /data/data//files dir Oct 08 16:04:43 see Context.get*File*, something like that to get the actual path/File object Oct 08 16:04:51 if it's large I'd go to the SDCARD Oct 08 16:04:59 ok Oct 08 16:05:21 why android doesn't automanage this? Oct 08 16:05:29 it does really Oct 08 16:05:38 how? Oct 08 16:05:55 does it go to sdcard, if local data runs out of space Oct 08 16:06:18 muthu: no, the user just uninstalls your app because they see it's taking up too much space Oct 08 16:07:25 what? Oct 08 16:07:36 you own everything in your /data/data/ folder...that's private Oct 08 16:07:43 why can't the user be given an option.. if sdcard is available? Oct 08 16:07:58 you could ask the user Oct 08 16:08:09 how do we know, if we run out space? Oct 08 16:12:15 you don't want to store large files in your data folder, so shouldn't be a problem Oct 08 16:12:51 i think 10-15 MB should be max Oct 08 16:13:23 yeah like 16mb Oct 08 16:13:39 android coulda taken care of this Oct 08 16:14:35 I wouldn't permanently store a file in my data folder if it was over a meg Oct 08 16:15:14 I guess my database could get that large, but that's different Oct 08 16:16:33 if you store album artwork it'd easily get there Oct 08 16:17:03 unless you store that on the sdcard Oct 08 16:17:18 jasta: I store album artwork on sdcard Oct 08 16:17:40 mayb u put an alert when it crosses 10 MB and start moving stuff to sdcard. Oct 08 16:20:39 what's the broadcast for sdcard insert? Oct 08 16:20:55 but storing user data on sdcard is useless if the user frequently changes cards. Oct 08 16:21:41 true Oct 08 16:22:22 do the app get notified? Oct 08 16:22:58 i guess i actually hadn't thought about how to handle if the user changes sd cards on me Oct 08 16:23:04 i don't ever refetch the album art. hmmm ;) Oct 08 16:34:01 Is there a MIME type for Android apps? Oct 08 16:35:19 Seems like there would be standard application space on the sdcard defined by Android. Oct 08 16:39:46 dmoffett: where's the sdcard api? Oct 08 16:39:56 harrdawg: yeah, there is Oct 08 16:41:28 muthu: not sure there is an api for the sdcard. sdcard is just a file system. Oct 08 16:42:02 yeah, so do we hardcode the path? Oct 08 16:42:32 I think I have ask the same question three times with not much of a response. :-) Oct 08 16:42:38 hmm Oct 08 16:42:43 there's an api for /data Oct 08 16:42:47 why not for /sdcard? Oct 08 16:43:02 Seems like to me that Android would have some standard method to access. Oct 08 16:43:12 maybe they are working on a solutions. Oct 08 16:43:19 may b Oct 08 16:43:21 They're just files on the file system Oct 08 16:43:34 There are a bunch of intents that are broadcast when it's inserted, removed, etc. Oct 08 16:43:42 See http://code.google.com/android/reference/android/content/Intent.html and ACTION_MEDIA_* Oct 08 16:43:48 ok Oct 08 16:43:55 it coulda been seamless Oct 08 16:45:08 Seems a little cowboy to me. Apps can use the sdcard with out much regard to other apps. Oct 08 16:45:20 yup Oct 08 16:45:35 bit wierd Oct 08 16:47:40 Maybe a bug report is due. Oct 08 16:48:43 there is a constant for the SD card location Oct 08 16:48:56 where? Oct 08 16:48:59 no idea where it is though, but I remember someone in here found it :) Oct 08 16:51:01 Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ Oct 08 16:51:01 File audioDir = Environment.getExternalStorageDirectory(); Oct 08 16:51:16 something along those lines I guess. Oct 08 16:53:11 http://code.google.com/android/reference/android/os/Environment.html Oct 08 16:54:21 cool, thx Oct 08 16:54:41 android needs to add the sdcard filesystem to the api Oct 08 16:54:51 so we just dump our mess in there Oct 08 16:56:09 muthu Do you know what the MIME type is? Oct 08 16:56:35 application/vnd.android.something Oct 08 16:56:45 archive?? Oct 08 16:57:08 Okay, thanks...I'll keep looking into it. Oct 08 16:57:10 its in dev forums Oct 08 16:57:19 let me know if you don't find it Oct 08 16:57:54 application/vnd.android.package-archive Oct 08 16:58:26 harrdawg: guess, that's the one Oct 08 16:58:39 hello, I have an image in an imageview that I want to resize / move using "touch"... is it right to load this image as an imageview ? Oct 08 16:59:57 my goal is to have a result similar to the com.android.camera.crop in the photostream application... you have a rectangle that you can resize on top of an image... Oct 08 17:00:34 thinair: if you load up the hierarchyviewer you might get a good idea what they're doing in the camera app Oct 08 17:01:22 I will try to load, thanks.. an other question (conceptual) is it right to try to resize a view with a touch ? or a view should never changed size... Oct 08 17:02:14 I think it's ok for views to change size Oct 08 17:02:18 hierarchyviewer is great Oct 08 17:02:22 views can change size, but are you sure that's what you want? a view changing size will adjust the layout of other widgets near it Oct 08 17:02:43 you'll have to invalidate more than just your one view Oct 08 17:02:44 zhobbs: thank you I am just reading... I believe it will help me a lot.. Oct 08 17:03:30 I believe I just want to resize the image on top of a background image Oct 08 17:05:01 thanks jasta, I will look at an other approach. I don't want to change the complete layout, I was pretty sure about that problem... Oct 08 17:05:41 perhaps the surfaceview is better for my problem.. but first I will try the hierarchyviewer this will give me a start point.. Oct 08 17:06:15 you certainly don't need SurfaceView for this Oct 08 17:06:55 if I remember correctly, the camera app simply uses a custom View and draws the crop area manually Oct 08 17:08:26 is it possible to reuse the camera app's crop functionality? Oct 08 17:08:43 yes, you can look at the Photostream sample code in code.google.com/p/apps-for-android Oct 08 17:08:49 it invokes the camera's app crop Oct 08 17:09:15 it's a bit awkward to use though, we didn't have time to make it cleaner Oct 08 17:09:37 it's a lot better if you have a content provider to provider the images Oct 08 17:10:20 my goal is the following : I have an image (like an horizon ligne, with names of peak (mountain)) and a background image of a panorama of mountain... the user should be able to fit the size/position of the horizon ligne on the backgroud image... Oct 08 17:15:30 romainguy : it use a CropImageView, do you remember if you have herited from an other view ? (imageview/surfaceview...) Oct 08 17:16:00 I didn't write CropImageView Oct 08 17:16:06 but I believe it's just a View Oct 08 17:16:14 and stop thinking about SurfaceView :) Oct 08 17:16:56 romainguy: thank you for the tip.. I will try a simple custom view.. Oct 08 17:18:05 thinair, you don't want to reuse the functionality? Oct 08 17:19:07 tethridge : it would help if I could read the code certainly. But first I would like to learn android Oct 08 17:19:22 custom views are fun to make anyway Oct 08 17:19:53 sure, now. Oct 08 17:19:57 the first one wasn't that fun for me :) Oct 08 17:20:02 hehe Oct 08 17:20:05 tethridge: and to reuse cropimage, I just have to use the camera.crop intend... it's not my goal.. Oct 08 17:20:09 muthu: thanks for that MIME type. Oct 08 17:20:33 custom layouts are more fun, tho :) Oct 08 17:21:15 custom layouts? Oct 08 17:22:06 zhobbs: a class that extends ViewGroup Oct 08 17:22:18 ahh Oct 08 17:23:12 most of my custom views extend LinearLayout...so I'm a cheater Oct 08 17:23:35 that's really just gluing different views together Oct 08 17:24:11 when you put all these views together you come up with a custom mess ;) Oct 08 17:26:22 Does anyone have/know of a running email application for version 0.9+ Oct 08 17:26:46 zhobbs, if you extend a layout it is not more a custom layout than a view ? the custom view I am beginning will extend view.. Oct 08 17:28:14 thinair: depends what you're doing, often when I do it it's really more like a "compound component" Oct 08 17:28:28 http://code.google.com/android/toolbox/custom-components.html#compound Oct 08 17:30:12 a custom view in a custom layout = custom custom :) Oct 08 17:35:43 zhobbs, ok thanks. I believe for my problem, I actually need just to extend a view... Oct 08 17:36:35 what happens if you receive a call while the screen is flipped up? Oct 08 17:38:33 wastrel: it catches fire Oct 08 17:38:45 hopefully that'll be fixed in the next release Oct 08 17:40:49 what i mean is, do you have to close it before you take the call? Oct 08 17:41:41 also, will this work with the g1? http://www.thinkgeek.com/gadgets/cellphone/8928/ Oct 08 18:10:53 * jasonchen enjoys the newest Palin nickname: Snowjob Squareglasses Oct 08 18:21:17 alert dialog multi choice is broken Oct 08 18:21:30 only a few items are showing as checked Oct 08 18:24:06 muthu: are you using a loop or something to check them? Oct 08 18:24:21 i pass a cursor Oct 08 18:24:32 and the checkedcolumn Oct 08 18:24:53 public AlertDialog.Builder setMultiChoiceItems(Cursor cursor, String isCheckedColumn, String labelColumn, DialogInterface.OnMultiChoiceClickListener listener) Oct 08 18:25:23 it brings up all items, but only a few are checked Oct 08 18:25:39 well I have had problems with a loop before with multi choice, but it wasn't an AlertDialog and it wasn't a cursor Oct 08 18:25:55 yeah, looks like refresh issues Oct 08 18:26:11 its a bug Oct 08 18:27:58 guess, i'll have to do the array manually Oct 08 18:45:43 anybody know if the bluetooth stack they are using is bluez? if so, if there is any reason why a2dp wouldn't work if it had a little help? Oct 08 18:46:03 feig: I think it is bluez Oct 08 18:46:16 that's good to hear Oct 08 18:46:44 a2dp "works" but they didn't have the API ready, so they don't "allow" devs to write to it atm, or at least thats how I understand it Oct 08 18:46:56 oh Oct 08 18:47:10 well, that could be gotten around with mplayer and xterm Oct 08 18:47:10 correction: all of bluetooth Oct 08 18:47:12 right? Oct 08 18:47:41 Android is only at the level of the Java language (i.e. within Dalvik) atm Oct 08 18:48:30 so, some sort of terminal emulator couldn't be written for android to get at the OS? Oct 08 18:49:05 code.google.com/android has many of the answers Oct 08 18:49:36 feig: a terminal emulator may let you get at a shell, but the API's are still only exposed to Java AFAIK. Oct 08 18:50:49 so, you wouldn't have any more access to the hardware from a shell? Oct 08 18:50:59 * pjv doesn't understand why someone needs to get below the Java layer (except to create a richer Java layer) Oct 08 18:52:30 feig: adb access is a different matter Oct 08 18:53:36 adb? Oct 08 18:54:16 code.google.com/android has many of the answers Oct 08 18:55:42 /me is looking Oct 08 18:55:52 * feig is looking Oct 08 19:00:07 pjv: as far as why/advantages.. you could use whatever-jni-android-eventually-supports to (eg) create a blank work area in java, then spawn mplayer overtop of it. (you'd have to be careful with signals and such but its doable) Oct 08 19:00:25 or not having to recode an ssh client (and maintain it) when openssh works just fine Oct 08 19:01:01 * Disconnect needs vpn tho, thats a more difficult problem - at least according to the security doc - because it requires root access to add/remove routes, etc.. Oct 08 19:01:59 Disconnect: you seem to be much more lenient then me :-D Oct 08 19:02:13 ? Oct 08 19:02:54 well, I'd rather not say the things that might just be possible Oct 08 19:03:09 but don't belong to the current Android policy Oct 08 19:04:05 pjv: ..so who do i send the bulk of existing, useful tools to for porting? :) i'll start with openvpn, ssh client and mplayer, since they don't have big security implications (sshd) Oct 08 19:04:09 i asked becuase on my n800, i spend most of my time in xterm, and much of it using mplayer, but i also use ssh, and many other cli apps Oct 08 19:04:21 and i'd like to replace my n800 with the G1 Oct 08 19:04:25 Using openssh as a backend seems reasonable to not reinvent the wheel but surely just putting the interface of openssh on android wouldn't suffice Oct 08 19:04:43 * Disconnect sees no reason to reinvent the wheel 100 times over when a ton of those apps already exist and just need android-aware java wrappers Oct 08 19:05:05 a bit more than wrappers Oct 08 19:05:22 some of these apps need to get an entirely new philosphy Oct 08 19:05:48 openvpn - if the bin is suid, all you need is a wrapper to do configs. (and an "import from file" button for people using old configs or configs provided by - eg - IT depts) Oct 08 19:06:06 one of compatibility, mobile restrictions awareness, open and usable interfaces, ... Oct 08 19:06:23 your approach is to technical Oct 08 19:06:35 mplayer .. its -perfect- for embedding. you can tell it "ok here is the framebuffer, your space is from 10,10 to 635,400" or you can just wrap up the libs and use it that way Oct 08 19:07:15 in the case of the Linux network stack I agree with you, in the case of mplayer I don't :) Oct 08 19:07:24 you can't just port apps from a desktop to a mobile, that was never Google's intention, that's why they created a new high-level layer above all this Oct 08 19:07:42 i don't like the idea of introducing network sophistication at any layer above netfilter/route. So VPN clients should be implemented there. Oct 08 19:07:49 jasta: mplayer (on arm) supports a -ton- of APIs. how many of those are you going to port over to the android API? Oct 08 19:07:52 pjv there are tons of embedded linux devices out there that use many of these apps well Oct 08 19:07:57 like the n800 Oct 08 19:07:57 as I said, you can build this layer on the lower stuff, like bluez, but that's not porting Oct 08 19:08:07 feig: and they are all wrong Oct 08 19:08:59 pjv: thats awesome. lemme guess - you don't use any "wrong-thinking" commercial apps ever, right? Oct 08 19:09:01 what's wrong about them? Oct 08 19:09:34 nothing's perfect, but we can always aspire... :-) Oct 08 19:10:09 explain to me the purpose behind throwing out a pile of small, fast, arm-friendly fp-free codecs (sorry, i said API earlier) and rewriting them..? Oct 08 19:10:34 don't throw them out but hide them in a lower layer Oct 08 19:10:48 maybe Android already uses them? Oct 08 19:11:29 Disconnect: if all these libraries/tools are so great, why are there so little decent Java wrappers for them anyway? Oct 08 19:12:25 because i don't think that there are too many stacks similar to android Oct 08 19:12:26 Disconnect: no hard feelings but it sounds to me you'd prefer closing the linux - Android/Java gap, while I'd prefer building on top of the Android/Java layer with the tools you provide Oct 08 19:12:31 nothing incompatible there Oct 08 19:13:00 unless linux is not accessible Oct 08 19:13:34 as long as you don't bypass the Android/Java layer ofcourse Oct 08 19:13:48 feig: think it will be when the source code is out Oct 08 19:14:22 well, i can hope i guess, because if it's not there, then this might be a huge waste of money for me Oct 08 19:23:47 sorry back now Oct 08 19:24:01 anyway :) Oct 08 19:25:01 there are very few java wrappers for (eg) mplayer because there are very few platforms that can't use a native wrapper (X/win32/cocoa/gtk/..) Oct 08 19:25:47 and in both cases (mplayer, openvpn) they are designed to be spawned from a gui (including non-forking modes, gui-friendly outputs/inputs, etc) Oct 08 19:26:52 what are your plans with openssh, openvpn, mplayer exactly? Oct 08 19:28:17 to use them =) Oct 08 19:29:02 no need for anything but xterm with openssh and mplayer, why would you want to add a bunch of extra stuff on top of apps that run well from the terminal? Oct 08 19:30:25 * pjv just realizes that releasing the source code will spawn a terrible stampede of people who will misuse, deform and reduce the platform to a mere linux distribution in any way they see possible :-D Oct 08 19:30:46 why is that a bad thing? Oct 08 19:31:13 what's so great about running everything in a JVM? Oct 08 19:31:22 openssh - connect to other boxes. (although there is a passable j2me ssh client, and i heard someone here talking about having implemented one for android) .. Oct 08 19:32:24 openvpn - access to work, home resources that are locked away safe. (same reason that most big mobile platforms have the usual big vpn clients - cisco, pptp/ms, etc.. and those are also pre-written and easy to wrap up with an android service) Oct 08 19:32:56 there is an android ssh client already - ConnectBot Oct 08 19:33:07 problem is - how do you input a Ctrl key? Oct 08 19:33:24 mplayer (either the full cmdline app or the playback libs and codecs) .. plain and simple: pre-made support for dozens (at least) of codecs. ready to go, already written, already fp-free, already tested on arm Oct 08 19:33:25 as in ctrl-l or ctrl-d or ctrl-z Oct 08 19:33:54 kslater: generally thats handled on small kbs with 'fn' if available Oct 08 19:34:09 (or symb, or - worst case - with a soft button onscreen that says "CTRL") Oct 08 19:35:01 I can test it in the emulator Oct 08 19:36:34 doh Oct 08 19:36:40 no fn key Oct 08 19:38:16 afk Oct 08 19:52:27 too bad muthu is asleep, he'd probably freak out: http://imandroid.blogspot.com/2008/10/htc-g1-coming-to-india.html Oct 08 19:55:21 lol Oct 08 19:55:26 zhobbs: makes me suspicious. Oct 08 19:56:05 "before 2009" makes me think that the US will get a second device before the Dream hits other countries. Oct 08 19:56:30 I'd be surprised if it's real Oct 08 19:57:15 If someone from Google would say, "Dude, just buy the G1, we havent gotten around to supporting any other devices..." Oct 08 19:57:19 i'd be one happy camper. Oct 08 19:57:53 all they need is an onscreen keyboard and internationalization Oct 08 19:58:07 they aren't going to say that. Sprint has an android phone launching before the end of the year. :-) Oct 08 19:58:50 tethridge: really? you think there will be another in 2008? Oct 08 19:58:53 ... that's what has been reported as the rumor Oct 08 19:58:58 I hope so Oct 08 19:59:32 tethridge: lol, putting down money on the table based on rumors have made many a prince a pauper. Oct 08 20:00:14 well, it's sprint, so I wouldn't bet on it, but that's the rumor I heard on engadet Oct 08 20:00:35 sprint could use a top selling phone right now Oct 08 20:00:53 thought spring was saying 1Q09 or later Oct 08 20:02:05 http://www.engadget.com/2008/09/17/t-mobile-g1-said-to-be-landing-october-17th-sprint-android-phon/ Oct 08 20:02:37 see the second half of the post Oct 08 20:02:48 i remember reading that Oct 08 20:03:09 well, i could care less about other carriers, i'm talking about devices. Oct 08 20:03:26 if sprint is going to launch an Android Phone it's likely going to be the Touch Diamond [Pro] Oct 08 20:03:38 well, it says that it will have "other functionality", which I would assume means different device Oct 08 20:03:46 but there was also speculation that suggested that we wouldn't see an android/wimax device until late 2009 Oct 08 20:04:41 * unix_lappy wonders what happened to all the "Openness" Oct 08 20:06:08 unix_lappy: how so? Oct 08 20:07:12 unix_lappy: does samsung make a lot of sprint phones? Oct 08 20:07:28 yeah Oct 08 20:07:35 that's what I have Oct 08 20:07:36 romainguy___: was just being facetious, regardless of how "Open" things are [public] companies arent going to disclose future endeavors. Oct 08 20:07:40 samsung from sprint Oct 08 20:07:59 unix_lappy: nobody ever said that the manufacturers would publicly show their roadmaps :) Oct 08 20:08:01 Android is open Oct 08 20:08:12 ..android -will be- open Oct 08 20:08:17 zhobbs: yes, for a similar device to the iPhone, check out the Samsung Instinct. Oct 08 20:08:29 yeah, samsung is in OHA right Oct 08 20:08:35 unix_lappy: istr the instinct was a disaster of crashieness Oct 08 20:08:45 romainguy___: was just being facetious ;-) Oct 08 20:10:04 the real question is, whether the software developers have started coding for other devices that the device manufacturers havent publicly disclosed. Oct 08 20:13:45 that still doesn't entail not being open.. Oct 08 20:14:41 * Disconnect isn't 100% with them, but the rule around here seems to be "its open if we release sometime around when the device arrives" (rather than - at least - "if we release when he device sells/announces/releases") Oct 08 20:16:37 to me, open doesn't include locking users out of the underlying tools, which can be extremely useful on their own Oct 08 20:20:23 * Disconnect didn't see it locked out anywhere... Oct 08 20:20:56 but evidently you have a device and have tried this? (also, android-device is not android, any more than all windows pc's are made by microsoft..) Oct 08 20:23:57 i thought that the discussion above was related to not allowing us to use native linux apps without a java wrapper Oct 08 20:24:23 Has anyone here used WebViews? Oct 08 20:26:34 Disconnect, did i make a bad assumption somewhere? Oct 08 20:27:38 yep. you assumed it was a closed platform. its not. currently JNI works (although its not supported, and word is it -will- break when the supported flavor comes out) Oct 08 20:28:02 but i am pretty sure it doesn't allow root (sigh, so much for vpn clients and such) Oct 08 20:31:38 well, i'll just have to be patient i guess, and suffer through the reduced functionality (lacking a2dp and tethering) until it gets figured out Oct 08 20:33:47 or grab the sdk and emulator and try it. Oct 08 20:34:52 will do Oct 08 20:35:08 anyone worked with phonestatelistener? Oct 08 20:35:36 think so (btu got no code here) :P Oct 08 20:42:30 can I have your views on an ideal logical architecture for a larger android app? Oct 08 20:42:45 talking about the layers here (ui, domain, techservices) Oct 08 20:43:12 and more specifically how to deal with the MVC pattern Oct 08 20:43:35 (or model-view separation if you want to call it that) Oct 08 20:44:55 a problem is that Activities are rather dependent on ContentProviders (or their cursors) Oct 08 20:45:32 this is good (it's the Observer pattern) but it somewhat makes me want to put too much domain stuff in the Activities as well Oct 08 20:46:16 ContentProviders would be in the lowest (techservices) layer while Activities are in the topmost (ui) layer Oct 08 20:47:53 or doesn't anyone do layer separation anymore these days? Oct 08 20:48:51 you could do your own layer separation without asking android to get more fine than services activites and contentproviders Oct 08 20:49:23 their abstractions are all about process lifecycles, your abstractions are about logic, data, and presentation isolation. they aren't that dependant on one another if you design your code properly. Oct 08 20:49:52 so you agree it is possible to separate cleanly? Oct 08 20:50:16 yes, independent of android's layering Oct 08 20:50:24 o.o Oct 08 20:50:28 romainguy___: you around? Oct 08 20:50:31 how do you cope with having multiple controlling points (the different activities) instead of one central controller? Oct 08 20:51:46 see, Android puts the "main method" (if I can take the liberty to call it that) in each of the Activities Oct 08 20:52:32 so every Activity generally takes control of it's own dependant domain, persistence, ... and then passes the control on to the next Activity if you switch Activities Oct 08 20:53:05 rather than having one Controller (as to MVC) that steers which views/activities should be shown Oct 08 20:54:07 there is also the problem of Context only being available in the Activities Oct 08 20:55:33 how could we take control out of the activities? Oct 08 20:55:57 ok, this is all rather abstract I know, let me think of an example Oct 08 20:56:13 it's just an interface inversion, but it's not a different model. each window in any UI is responsive for itself. a controller asserts itself only as far as the window is made aware of it. Oct 08 20:57:41 just a sec, you speak of windows instead of activities, are we talking at the same abstract level (I'm not talking about basic UI stuff)? Oct 08 21:00:01 i'm saying that the analogy of an activity in other UI toolkits is a window Oct 08 21:00:22 yes Oct 08 21:00:47 but windows in other ui toolkits don't generally have the possibility to generate a list from a db Oct 08 21:01:19 and other windows (widgets) aren't generally given the power to open the next window Oct 08 21:01:39 there's usually a controller that has this power Oct 08 21:02:01 while activities are pretty much siblings passing on the focus Oct 08 21:02:16 activities have a bit more control I think Oct 08 21:02:42 also the "main method" can be in an activity, but normally not in other windows Oct 08 21:03:50 heh for smaller apps you wouldn't even need anything else than activities, while in other toolkits you would still need a lot more structure that can show windows Oct 08 21:05:31 pjv: My advice is not to try and attach your understanding of the Android framework to something else Oct 08 21:05:42 Just learn it as what it is. Oct 08 21:06:15 does anyone know if the g1 has a digital compass or does it just use accelormeters for street view compass mode? Oct 08 21:06:26 good advice, but still .. I want to create order where there is disorder Oct 08 21:07:06 pjv: The engineers have given you the order! :) Oct 08 21:07:08 i think that you don't understand MVC at all, actually Oct 08 21:07:21 for larger apps, I really have no idea ( even in the Android way) of how I would keep insight in which Activity should do what Oct 08 21:07:27 it's an abstraction, it has no concrete manifestation in how processes manage their lifecycles Oct 08 21:08:13 warning contentious view coming up: the MVC is a useless crutch - forget about it and practice thinking about different problem domains Oct 08 21:08:38 i'm not going to fight that, but MVC isn't his problem at the moment anyway. Oct 08 21:08:57 tomgibara: ok I might agree, I don't think it will be possible to take the control away from the Activities Oct 08 21:09:08 thinking abstractly about classes and how they interact is. Oct 08 21:09:30 jasta: no problem, only feed for discussion (and hope we all learn something) Oct 08 21:09:50 pjv: so, if you have a window in an abstract sense on any other toolkit Oct 08 21:10:09 and you want that window to show a list of foobars, and when the user clicks a foobar, you want to show them information about that foobar's bazzle Oct 08 21:10:15 how would you hook up those mechanics, in general? Oct 08 21:10:16 can anyone of you two enlighten your high-level (architecture-level) design Oct 08 21:10:30 using whatever layered approach you want Oct 08 21:11:20 pjv: I'm not sure U understand the question - I'll answer it if you can explain Oct 08 21:11:21 jasta: agree, you choose the layers (or it shouldn't even be layers) Oct 08 21:11:28 U==I Oct 08 21:12:09 pjv: be more specific, what would you do to, for example, get the list of foobars? Oct 08 21:12:33 I wasn't exploring this at a particular example or detailed level at all, but.. Oct 08 21:13:09 well, you weren't even thinking about it at all. you're talking about a controller class having "power" over your application's lifecycle, and i'm telling you that it is this way only through the architecture of your UI Oct 08 21:13:31 it's an abstraction that is way beyond the classes that implement the UI, the data storage, etc. Oct 08 21:14:58 jasta: can you explain 'your' architecture of a UI? that could be a start to converge our ideas (and words) Oct 08 21:18:24 pjv: The Android architecture has been moulded by it's requirements. The architecture of your app will also be moulded by its requirements. One of which is the fact that it runs on Android and is implemented in Java, the rest of which will be what distinguishes your application from other Android applications. Oct 08 21:20:58 tomgibara: I agree, but you don't really add a new idea/insight to the discussion, I'd like to discuss that "rest" part Oct 08 21:21:27 there's a big step between requirements and having a good design Oct 08 21:22:34 maybe I should try again: Oct 08 21:23:08 a big requirement for me would be to have a separation between ui and domain, so I could put a new ui on top of the same domain easily Oct 08 21:23:27 how can I get nearly anything domain-related out of my Activities? Oct 08 21:23:45 seems like odd priorities to me: Oct 08 21:24:28 An Activity as its name implies allows someone to do something - you want to divorce your activity from the thing they are doing it with? Is that correct? Oct 08 21:24:57 divorcing may be one of the solutions yes Oct 08 21:25:01 yes thats about it Oct 08 21:25:07 I'm not saying its a bad idea - but it depends fundamentally on the activity behaviour you are trying to encapsulate Oct 08 21:25:39 I'm talking general her, so assume the behaviour warrants it Oct 08 21:25:42 How one might do this for one 'type' of activity will surely be dependent on another Oct 08 21:25:42 *here Oct 08 21:26:02 you mean like ListActivities will be harder? Oct 08 21:26:43 *another -> specifics (don't know what happened to my brain then) Oct 08 21:26:56 That isn't what I mean Oct 08 21:27:58 Give me any example of an actual concrete activity that you might envision abstracting in this way Oct 08 21:28:02 pjv: an Activity is a single thing that you can do in a UI Oct 08 21:28:18 pjv: ...or not even UI. Activities don't have to ever display anything Oct 08 21:28:28 an Activity is a unit of work. It's a class with a lifecycle Oct 08 21:28:30 maybe I'd rather hold out on examples for the moment Oct 08 21:28:30 that's it Oct 08 21:29:12 The problem is - and I think morrildl makes this point again - is that activities lend themselves to concreteness Oct 08 21:29:32 an Activity is a single thing that you can do in a UI <-- A great description Oct 08 21:29:54 morrildl: I see where you're going at, you could also say an Activity is a controller rather than a UI widget Oct 08 21:30:01 is that it? Oct 08 21:30:20 * tomgibara mutters bloody MVC Oct 08 21:30:28 pjv: no Oct 08 21:30:40 pjv: An Activity is a class with a lifecycle Oct 08 21:30:42 MVC sucks :) Oct 08 21:30:44 it's a managed object, no more no less Oct 08 21:30:51 don't read into it more than that Oct 08 21:30:55 you can do whatever you like with it Oct 08 21:30:59 I find the Presentation Model pattern much easier to use and implement Oct 08 21:31:01 most of the time you use it to cretae UIs Oct 08 21:31:26 romainguy___: care to elaborate? Oct 08 21:31:57 I found that in practice MVC, at least pure MVC, takes way too much effort to design and maintain properly Oct 08 21:32:04 morrildl: ok, so I shouldn't talk about the architecture I envision and an Activity in the same way/sentence Oct 08 21:32:07 for, very often *in my experience*, little advantage Oct 08 21:32:35 that's actually why you often see bastard MVC, like Swing's M-VC Oct 08 21:34:33 I'm not familiar with the Presentation Model Pattern so I should read about it first probably... Oct 08 21:34:45 http://www.componenthouse.com/article-5 right? Oct 08 21:35:02 and http://weblogs.macromedia.com/paulw/archives/2007/10/presentation_pa_3.html Oct 08 21:35:17 Actually there can be some terrific advantages - if you need them - but again it depends on the concrete problem you are trying to solve. MVC imho almost a non-pattern, some problem domains just lend themsleves to an 'isomorphic' decomposition along these lines Oct 08 21:35:40 pjv: if you want to use an Activity as a controller, there's no hypothetical reason not to Oct 08 21:35:57 pjv: depending on your design, maybe that makes sense (although I'd be somewhat skeptical) Oct 08 21:36:07 tomgibara: there are terrific advantage in theory Oct 08 21:36:20 tomgibara: that's why I said that in my experience, these advantages are not really advantages Oct 08 21:37:10 morrildl: I agree, just don't want to 1) have a central controller as well to get a grip on where all the signals are going, 2) rather not have the Activity be the controller and the UI at the same time I suppose, but that's just intuition atm Oct 08 21:37:48 romainguy___: I've actually built UI's with pure MVC - it really can be excellent, but requires lots of discipline that is rarely woth the reward. Oct 08 21:38:03 tomgibara: me too, and we agree then :) Oct 08 21:38:21 but I'm getting the feeling at least we are agreeing on the motives: separation of concerns, and coupling/cohesion Oct 08 21:38:22 that's why I'm happier using MVP or Presentation Model Oct 08 21:38:22 pjv: since Activity is a managed/lifecycle object, you don't want to use one except where you want the object to have its lifecycle managed by the system Oct 08 21:39:11 morrildl: exactly why I would get stuck probably, doing a Singleton pattern on an Activity wouldn't work Oct 08 21:39:19 but now you understand where I'm coming from Oct 08 21:40:00 that said Oct 08 21:40:18 given the scope of cell phones applications, using fancy patterns like MVC/MVP/whatever can be easily overkill Oct 08 21:41:14 romainguy___: "can be easily" -> "is usually" Oct 08 21:41:18 there I fixed that for you Oct 08 21:41:31 :) Oct 08 21:42:20 how is the MVP pattern any different from what we are already doing? Oct 08 21:42:33 seems like Activities would perform the roles of V and P Oct 08 21:42:34 romainguy___: The compromise needs to be made. When I downloaded the first public SDK and examined the classes, I initially felt a little disappointed at what I percieved as a lack of purity in the API design. After using it for just a couple of days, I completely changed my mind - the tradeoffs are worth it - the APIs are extremely well suited to the task at hand. Oct 08 21:42:45 and many activities would dig into the M (domain) Oct 08 21:42:55 tomgibara: :) Oct 08 21:43:04 tomgibara: me too Oct 08 21:43:22 tomgibara: but there's no harm in thinking it through, right? Oct 08 21:43:27 tomgibara: Sun's APIs are usually a good example of API design purity that just ends up being awful to use :) Oct 08 21:43:40 I still think Context is a monster Oct 08 21:43:54 (not bad just bloated) Oct 08 21:44:05 everything's a trade-off, and especially on mobiles I expect that trade-off to approach usability rather than theory Oct 08 21:45:10 tomgibara: I would have said that View is a monster :) Oct 08 21:45:23 romainguy___: Many of Sun's APIs do the worst thing: aim at purity, then compromise, then end up with neither purity or efficacy Oct 08 21:45:33 :) Oct 08 21:45:51 although I have to admit they often get one thing right: they make it possible *and* relatively easy to extend/override/customize Oct 08 21:46:27 Calendar.getInstance().get(Calendar.DAY_OF_MONTH) says what are you talking about, Sun APIs are great! Oct 08 21:46:48 that's an easy jab :) Oct 08 21:48:40 romainguy___: I like the style that developed of clean interface based designs, with concrete state classes, backed by separate impl packages Oct 08 21:48:41 tomgibara: the problem with Context for me is mostly that it belongs with the activities (and services etc.) Oct 08 21:49:02 well an Activity is a Context :) Oct 08 21:49:38 romainguy___: succinct as ever Oct 08 21:49:46 ;-) Oct 08 21:51:45 romainguy___: I still would like your view on how MVP (or any pattern that would do) could improve the spaghetticode I am (we all are?) writing atm Oct 08 21:52:08 One last comment about Sun's Java APIs: You have to give them credit for getting better at designing the libraries Oct 08 21:52:12 oh it would probably not help much :) Oct 08 21:52:24 tomgibara: yeah, some of the APIs are actually awesome Oct 08 21:52:29 (but I'll never forgive them for the logging API) Oct 08 21:52:29 java.util.concurrent \o/ Oct 08 21:52:39 logging's logging Oct 08 21:52:43 it's boring, who cares :) Oct 08 21:53:23 I wish I could have the same cheerie attitude to towards it :) Oct 08 21:53:46 I never understood the craze around logging Oct 08 21:55:37 because when some important user calls the MD directly and tells them that they can't log on to the web app, even though 20,000 other people already have that day - you need ammunition Oct 08 21:55:49 don't get me wrong Oct 08 21:55:53 I understand the importance of logging Oct 08 21:56:10 what I don't understand is the endless debates around it Oct 08 21:56:14 and all the different frameworks Oct 08 21:56:16 and the flamewars Oct 08 21:56:19 and all the articles Oct 08 21:56:24 right, you mean the obsession about the mechanics of it :) Oct 08 21:56:29 right :) Oct 08 21:56:37 I'll never forgive sun for JNDI Oct 08 21:56:49 ahah :) Oct 08 21:56:52 or EJB Oct 08 21:56:56 ;-) Oct 08 21:57:05 EJB *shudder* Oct 08 21:57:17 whats wrong with EJB? Oct 08 21:57:17 well EJB were not *that* bad when you didn't try to use them everywhere :) Oct 08 21:57:51 it's a perfect example of good theory, but very complex practice Oct 08 21:58:02 as are most good things ;-) Oct 08 21:59:00 EJB is a monster child of MVC :p Oct 08 21:59:02 I taught myself some really valuable lessons from EJBs and my own misguided attempts at comparably abstract designs. Oct 08 21:59:25 I was going to say: like MVC on Android... Oct 08 21:59:55 I distilled it into one very simple lesson: There are libraries and there are frameworks. Oct 08 22:00:03 Libraries empower you to do things. Frameworks stop you from doing things. Oct 08 22:00:06 many good architectures go terribly wrong if you try to use them everywhere: like agents Oct 08 22:00:20 You need both, but don't mix them. Oct 08 22:02:51 "In theory, there is no difference between theory and practice. But, in practice, there is." Oct 08 22:09:22 how do i run the SDK? Oct 08 22:09:46 easiest way is through eclipse Oct 08 22:10:03 yea, that's what im trying to figure out Oct 08 22:10:23 did you download the sdk for your platform and the plugin for eclipse? Oct 08 22:10:24 pjv: back to your design concerns: If you do as morrildl described, and write activities as "single things that the user can do" and furthermore, keep your activities simple enough to be usable on a mobile, how much spaghetti code do you think you could pack into a single activity? Oct 08 22:10:36 Adman65: yup Oct 08 22:10:50 and ive gone through all the procedure described at the Android site Oct 08 22:11:03 have you created the hello world ap? Oct 08 22:11:05 it just doesn't mention how to actually run it Oct 08 22:11:15 no, i just want to play with the demo Oct 08 22:11:23 run -> run configurations Oct 08 22:11:31 then select android app, select the right activity, then run it Oct 08 22:11:53 well crap :/ it appears that dmca might not cover my butt on this reverse engineering stuff Oct 08 22:11:58 tomgibara: hmm, you'd be surprised, I expect we shall see quite a bit of spaghetticode in some years time Oct 08 22:12:07 * umdk1d3 considers moving to servers in germany Oct 08 22:12:17 "Error: Path must only have one segment" :S Oct 08 22:12:36 did you set up the path to the sdk in the perferences Oct 08 22:12:38 but I think my approach was mostly one of "I have some Android experience now, but I keep reinventing the wheel, better decide once and for all" Oct 08 22:12:41 pjv: Actually, in truth, I probably wouldn't! Oct 08 22:12:54 "The SDK"? The root folder? Oct 08 22:13:23 see Android has lots of freedom, but maybe it would be time to fixate into one way of doing things Oct 08 22:13:24 ya, whever you placed it on your system Oct 08 22:13:28 Adman65: /home/kenneth/Transfers/Inbox/Deposit/android-sdk-linux_x86-1.0_r1 <-- that's what i have atm Oct 08 22:13:40 pjv: This is the crux: you've produced several similar wheels, now identify how to abstract them Oct 08 22:13:48 did you add an entry to your .bashrc? Oct 08 22:13:54 no? Oct 08 22:13:57 tomgibara: like: where shall I place my preferences? Oct 08 22:14:02 The point is that there's no blanket answer, because we're all turning out different wheels Oct 08 22:14:04 gotta do that too Oct 08 22:14:15 I haven't decided yet, seems like arbitrary to me, thats why I'm asking some insights Oct 08 22:14:19 pjv: classic example Oct 08 22:14:21 its on the android website as well Oct 08 22:14:33 Adman65: just chuck the path at the bottom of the file? Oct 08 22:14:58 I generally put them in a PreferencesActivity, but I've also written a game, in that case I designed a nice animated settings screen Oct 08 22:15:04 Ya, export PATH=${PATH}:/usr/share/android/tools Oct 08 22:15:05 It depends on the task at hand Oct 08 22:15:08 that's what mine is Oct 08 22:15:10 tomgibara: surely there are things to say, e.g. one is better than the other Oct 08 22:15:17 (was only an example) Oct 08 22:16:35 i'm working on a practice app for myself, a simple internet radio player Oct 08 22:16:47 anyoen have a good example of usings tab in an xml file? Oct 08 22:17:17 pjv: Things to say: producing the game settings was more work, but worth it to make a consistent UI Oct 08 22:17:22 tomgibara: I'm starting to think I should leave the Activities alone and just make sure I use a rigid way of making them call upon eachother Oct 08 22:17:45 Adman65: still happening Oct 08 22:17:51 and then have multiple calls going into the domain Oct 08 22:17:54 hmmmm Oct 08 22:18:08 Adman65: PATH=${PATH}:/home/kenneth/Transfers/Inbox/Deposit/android-sdk-linux_x86-1.0_r1/tools is what i have in .bashrc Oct 08 22:18:22 pjv: rigid? Oct 08 22:18:47 hmm very odd Oct 08 22:19:01 Adman65: what does the error mean Oct 08 22:19:08 you can try running it from the command line like described in the documents? that may give you some greater insight into what's happening Oct 08 22:19:29 tomgibara: I still need to work it out, but have a consistent way of Activities talking to eachother Oct 08 22:19:32 Sounds like something is wrong with the Path Oct 08 22:19:46 part of my disorder is that ACtivities are interconnected in many ways Oct 08 22:19:51 some use startActivity Oct 08 22:19:56 others startSubActivity Oct 08 22:19:56 either Path in eclipse, or the path envrionment variable Oct 08 22:20:05 some use results, others do not Oct 08 22:20:24 some of the results come as direct in the intent, others deeper in the intent Oct 08 22:20:28 Adman65: im on Ubuntu installed with Wubi if that should mean anything Oct 08 22:20:38 and then there are the dialogs, the alarms, the toats, ... Oct 08 22:21:00 on a very high detail level it boils down to getting consistency in all of this Oct 08 22:21:13 KenBW2: no idea man. Try the command line, it may yeild a better explanation Oct 08 22:21:16 just to preserve readable code Oct 08 22:21:34 Adman65: im looking for the command, but can't see it Oct 08 22:21:42 and code that preferably belongs to the ui as much as possible and doesn't need changing all that much Oct 08 22:22:42 http://code.google.com/android/intro/hello-android.html Oct 08 22:22:45 bottom of the page Oct 08 22:23:10 the ui part of Android really is too much freedom currently, I'm trying to limit some for myself Oct 08 22:23:24 another example are the many ways you can get into you app Oct 08 22:23:41 what do you mean by "too much freedom"? Oct 08 22:24:14 the lifecycle alone is already quite complex, but you could also enter through any of the activities (if they have intent filters), through services ,... Oct 08 22:24:30 and that's bad? :) Oct 08 22:24:44 romainguy___: lot's of things you need to control to avoid bugs Oct 08 22:24:58 only if you write an activity that can be called in different ways Oct 08 22:25:02 it certainly doesn't have to Oct 08 22:25:16 if you don't write the intent filers... Oct 08 22:25:18 wel, assuming I would want to Oct 08 22:25:28 well then that's your choice :) Oct 08 22:25:43 you could write several activities instead, but that makes it easy to reuse activities Oct 08 22:25:45 true, it is Oct 08 22:26:00 assume several activities Oct 08 22:26:07 still need to plug all the holes Oct 08 22:26:31 assume one would want to do such a complex thing... Oct 08 22:26:58 I haven't still found a good approach for it to keep it manageable Oct 08 22:27:05 trade-off here is to avoid code duplication Oct 08 22:27:31 Adman65: no error on command line. Why is this so much harder than on Windows? Oct 08 22:27:56 I don't know. Works perfectly fine for me on gentoo Oct 08 22:28:16 i got a LocationListener in my service, another one in a map, and another one in some activity. should i keep the LocationListener in the Service and bind each activity to my main service? Oct 08 22:28:31 centralizing the LocationListener sounds good, but not sure if i really need to do it Oct 08 22:28:34 Adman65: does Eclipse really need to come into it? it doesnt on Windows Oct 08 22:28:39 in any case, providing inital freedom is a very good thing (thanks for that!), but at a next stage you should also be willing to take some away (standards!) to get consistency Oct 08 22:29:19 no, it says you can use activitycreator.py to create the program Oct 08 22:29:19 and keeping your code in a good state also takes some away Oct 08 22:29:44 Adman65: hang on, Terminal's thrown something at me Oct 08 22:30:24 Adman65: http://www.nomorepasting.com/getpaste.php?pasteid=20923 Oct 08 22:31:38 I really don't know man. Sorry :( Oct 08 22:33:03 but perhaps a service connection is too much baggage Oct 08 22:33:09 Adman65: oh well, thanks anyway Oct 08 22:33:28 sorry man, it shouldn't be complicated. the installation is pretty straightforward Oct 08 22:33:54 KenBW2: don't you just want to run "emulator"? Oct 08 22:34:04 pjv: possibly? Oct 08 22:34:11 dude Oct 08 22:34:14 in windows double-click emulator.exe Oct 08 22:34:19 KenBW2: do you just wanna see the red phone? Oct 08 22:34:25 in *nix, open up a shell and do: ./emulator Oct 08 22:34:26 pjv: exactly Oct 08 22:34:50 in android-whatever/tools run ./emulator Oct 08 22:35:23 pjv, f00f-: thanks so much! Oct 08 22:35:50 Adman65: see pjv's and f00f-'s solution. thanks for the help though :) Oct 08 22:36:01 ah Oct 08 22:36:11 i didn't know if you just wanted to run the emulator Oct 08 22:36:26 good luck bro Oct 08 22:36:27 Adman65: sorry, wasn't being very clear Oct 08 22:36:30 enjoy android Oct 08 22:36:32 its all good Oct 08 22:36:37 least you got what you want Oct 08 22:36:47 Adman65: indeed :) Oct 08 22:38:04 romainguy___: do you have knowledge of any "About dialog" existing (dialog, component or app)? Oct 08 22:38:11 no Oct 08 22:38:31 haha Oct 08 22:38:36 many devs would benefit from it and it's being discussed in the androidstandards group to develop one amongst the devs Oct 08 22:38:54 you know, something like gnome's info window perhaps Oct 08 22:39:10 sure, go ahead :) Oct 08 22:40:49 is there a way to add a virtual SD card with music on for the emulator? Oct 08 22:40:52 gtg, romainguy__, tomgibara, jasta, morrild: thanks for your input Oct 08 22:43:05 KenBW2: yes, you can use the -sdcard flag to point to a disk image Oct 08 22:43:13 (emulator -sdcard myimage.img) Oct 08 22:43:36 romainguy: thanks Oct 08 22:43:48 romainguy___: so, i think the RemoteView class is missing some functionality... Oct 08 22:44:05 it should be possible to bind buttons to intents, i think, so that you can implement buttons in your custom notification view Oct 08 22:44:22 file requests Oct 08 22:44:24 for instance, i want a "stop" button conveniently available in my music player's "now playing" ongoing notification Oct 08 22:44:39 right, i was curious before i filed a request if this was even possible remotely? Oct 08 22:44:50 there's no reason it would not be Oct 08 22:44:50 Intents are parcelable, so this *should* work i think Oct 08 22:46:46 That will work in theory, although there are two concerns: Oct 08 22:47:18 1. in the notificaiton panel it won't work because that thing traps all the events specifically to enforce that each row is one clickable item Oct 08 22:47:23 because that's the ui policy Oct 08 22:48:09 and 2. it needs to be done in the security context of the caller -- not the host of the RemoteView itself Oct 08 22:48:13 is that a policy that should be revised possibly? i would find this a pretty compelling use case. Oct 08 22:48:15 but PendingIntent handles that, so it could work in theory Oct 08 22:48:21 it was a ui decision Oct 08 22:48:33 they didn't want the notifications crapped up with lots of ui Oct 08 22:48:58 i agree in general, but why not allow the developer to choose what's appropraite for their apps? again, i think this is a pretty compelling use case. Oct 08 22:48:58 on a touch device, I can see a pretty compelling argument for what you want, but I also understand their decision Oct 08 22:49:16 on a non-touch device, it would be awful Oct 08 22:49:21 jasta: well the notification area doesn't belong to your app Oct 08 22:49:24 but that's no reason to change that for a touch device Oct 08 22:49:29 because sliding it down, clicking to open the player, then pressing pause or stop, then back again to go back to what you were doing is too many button pushes Oct 08 22:49:32 anyway Oct 08 22:49:34 file a request Oct 08 22:49:38 i already did Oct 08 22:49:42 yeah... file a request Oct 08 22:49:48 issue 948 :) Oct 08 22:51:15 one thing you can do is to use the notification entry as the pause button Oct 08 22:51:27 I'm not sure if that's really right in all cases Oct 08 22:51:53 yeah that doesn't make a lot of sense for the common case of wanting a quick entry into the playlist screen Oct 08 22:51:59 for example if you want to pick the next track or wahtever. Oct 08 22:52:06 you could also bring up a non-fullscreen activity Oct 08 22:52:11 that would make it a little less jarring Oct 08 22:52:18 i wouldnt even offer that in the notification as a custom button. i would just have one special button for stop, a very common action that should be _easy_ to do. Oct 08 22:52:19 not less clicks, but the user-load might be less Oct 08 22:52:26 because music playing on your phone can be something you want to shut off quickly Oct 08 22:53:43 jasta: I think the easy current way to do what you want is to just hold the volume-down button Oct 08 22:54:00 sure, and thats what i imagine most users would realize Oct 08 22:54:18 but still, i find this a compelling case to extend what the notification area will allow Oct 08 22:54:22 ::nod:: Oct 08 22:58:52 I'm not disagreeing by the way. I'm only telling you what the UI designers wanted. Oct 08 22:59:09 maybe i can open that dialog with them then Oct 08 23:12:12 which is the prefered terminology, settings or preferences? the api is all about preferences but most of the apps seem to use 'settings' menu options Oct 08 23:12:53 settings Oct 08 23:17:13 ok. why the difference terminology? they both mean the same thing to me at first glance Oct 08 23:43:19 uhm, what the hell Oct 08 23:44:21 this can't be, onItemClick has an off-by-one? Oct 08 23:44:41 oh wait, header views affect list position? Oct 08 23:44:58 * jasta is so confused Oct 08 23:45:44 so that must be what ListView#getItemIdAtPosition is all about? correcting for this for me? Oct 08 23:49:47 this seems like a bug or something. or at least inconsistent behaviour with other parts of the listview mechanics Oct 08 23:51:20 just get the correct adapter using getAdapter() Oct 08 23:51:31 when you use headers/footers, your adapter is wrapped by another adapter Oct 08 23:51:41 it's transparent to ListView Oct 08 23:53:45 i see, but i have to account for this if i'm interpreting the position in the list? Oct 08 23:54:03 my app was specifically looking at the clicked item pos as the position of the item in the adapter Oct 08 23:54:34 call getAdapter(), cast to HeaderViewListAdapter Oct 08 23:54:38 this offers the APIs you need Oct 08 23:54:53 hows it going jasta? Oct 08 23:54:55 like getHeadersCount() Oct 08 23:55:07 ahh, excellent Oct 08 23:55:24 you can also use getItemId, getItem, etc. Oct 08 23:55:32 so i can generalize this by just checking if getAdapter instanceof HeaderViewListAdapter then adjusting pos by getHeadersCount()? Oct 08 23:55:33 they will offset correctly inside your adapter Oct 08 23:55:38 yep Oct 08 23:58:34 you got your program working for the most part? Oct 09 00:00:05 Yup, go it tested on real hardware too Oct 09 00:00:07 got* Oct 09 00:00:42 it's working better than i expected, even. Oct 09 00:03:00 the UI still basically sucks Oct 09 00:03:04 i'm redoing a lot of that Oct 09 00:03:56 well thats cool Oct 09 00:03:59 im excited to see how it is Oct 09 00:06:08 still lots of work left to do Oct 09 00:06:21 when are you looking for a release? Oct 09 00:06:27 right now i'm working on getting playlists sync'd and also upgrading the player screen to show more information (like buffering proress) Oct 09 00:06:36 then it's optimizations, and finally a revamped UI Oct 09 00:06:48 Dougie187: i dunno, i don't think like that ;P Oct 09 00:07:08 if i had to guess, i'd say around January or February for a proper release Oct 09 00:07:18 but a usable product on the 22nd, for sure. Oct 09 00:07:30 (it's open source, anyone is free to come build it and toss it on a phone *grin*) Oct 09 00:07:35 nice Oct 09 00:07:36 lol Oct 09 00:07:50 the current svn tree actually builds and runs clean Oct 09 00:07:56 server, sync client, and music player Oct 09 00:08:21 though the sync process needs major optimizations. it takes like seriously an hour almost to sync large music collections first time Oct 09 00:09:28 thats really cool that its working good though Oct 09 00:09:38 romainguy___: have you played with it yet? Oct 09 00:09:45 with what? Oct 09 00:09:51 five Oct 09 00:09:54 no Oct 09 00:10:23 the UI is crap right now, romain would hate it Oct 09 00:10:41 i spent the last month or so totally rewriting the damn thing to work around bugs and just generally work better Oct 09 00:10:50 well maybe he could give some advice for making it prettier Oct 09 00:10:55 and so i revived the old UI that hadn't been updated since April Oct 09 00:11:05 just as a way to interact with the newly rewritten service Oct 09 00:11:10 so now, it's time to replace the UI Oct 09 00:11:23 actually, i would love if romain gave me some ideas :) Oct 09 00:12:42 * gdsx watches as romainguy___'s tail slowly grows Oct 09 00:13:17 huh? Oct 09 00:14:24 bbl, heading home Oct 09 00:34:32 jasta: I like the five-ui as far as I've seen screens so far Oct 09 00:45:41 it's insufficient is it's problem Oct 09 00:45:48 it needs much more, and it needs to do more without much more clutter Oct 09 00:45:56 and i just don't know what to do about that :) Oct 09 00:48:28 ;) btw do you know how to set the screen always on (never turn off the backlight) Oct 09 00:48:41 yeah, i think so, hang on Oct 09 00:48:48 I can remember where I found that... thx Oct 09 00:48:59 it's called a WakeLock Oct 09 00:49:24 PowerManager.WakeLock Oct 09 00:49:47 thx :) Oct 09 01:00:06 ok i guess i'll have a phone state listener in my Service to track cell changes. and let any activity that needs exact location to fire up a LocationListener. sound good? Oct 09 01:00:34 i don't really need a LocationListener in my Service Oct 09 02:24:43 romainguy: if we want alayout which is merely positioning widgets, will extending ViewGroup take care of all the child measuring for us? Oct 09 02:25:10 i noticed that there are some protected methods like measureChildren which i'm guessing have pretty sensible implementations to just measure according to the parent spec and stuff? Oct 09 02:30:47 You need to override onMeasure and onLayout to implement the policy of the layout you're trying to do Oct 09 02:31:35 the easiest thing to do if possible is to find a layout manager that's close to what you want and inherit from that, and change those two methods to do what you want Oct 09 02:32:27 i guess that would be RelativeLayout. i want to just position children stacked up from the bottom Oct 09 02:32:42 Or LinearLayout Oct 09 02:32:47 so very much like a linearlayout with orientation=vertical, but in reverse. Oct 09 02:33:19 yeah, that's a good example of something to do with LinearLayout, hold on one sec Oct 09 02:35:04 just seems heavy to use LinearLayout as a base when i know that my layout can make loads of assumptions about positioning and measuring Oct 09 02:35:18 yaeh, it's a little heavy Oct 09 02:35:42 certainly, try poking around Oct 09 02:35:55 the key is that in onMeasure you need to call measure() on each of the children Oct 09 02:36:02 and in onLayout, you need call layout() on each of them Oct 09 02:36:11 well, i'm rewriting (simplifying) an existing layout i wrote for M5... Oct 09 02:36:17 so i know the basic concept pretty well Oct 09 02:36:32 it just seemed like glancing around at methods that ViewGroup might have some primitive default to measuring children Oct 09 02:36:51 In the status bar, I used a subclass of LinearLayout that just does the normal thing, and then if they don't all fit, starts hiding some until they fit Oct 09 02:37:41 it will handle most of the hard details. You "just" need to call onto it with the right measure() and layout() params. Oct 09 02:38:22 but I don't think there is any default policy in ViewGroup Oct 09 02:39:23 ok, will do, thanks **** ENDING LOGGING AT Thu Oct 09 02:59:57 2008