IRC log for #android on 20081008

00:18.02*** join/#android cbeust (n=cbeust@69.36.227.135)
00:24.58*** join/#android Kruton_Nebulon (n=kruton@24-148-7-189.snb-bsr1.chi-snb.il.cable.rcn.com)
00:36.39*** join/#android schmylan (n=schmylan@ppp-70-251-98-151.dsl.rcsntx.swbell.net)
00:40.35*** join/#android rufus_ (n=rufus@c-98-228-181-211.hsd1.il.comcast.net)
00:53.13*** join/#android romainguy_ (n=gfx@216.239.45.19)
00:56.24*** join/#android romainguy__ (n=gfx@216.239.45.19)
00:58.06*** join/#android mithraic (n=mithraic@dyn-160-39-19-165.dyn.columbia.edu)
00:58.25*** join/#android romainguy____ (n=gfx@69.36.227.135)
01:02.09*** join/#android tethridge (n=tale@cpe-075-177-151-223.nc.res.rr.com)
01:03.53*** join/#android morrildl_ (n=chatzill@76-217-210-185.lightspeed.sntcca.sbcglobal.net)
01:09.00*** join/#android cbeust (n=cbeust@64-142-66-175.dsl.static.sonic.net)
01:21.36*** join/#android infobot (i=ibot@pdpc/supporter/active/TimRiker/bot/apt)
01:21.37*** topic/#android is BEHOLD - http://android-developers.blogspot.com/2008/09/announcing-android-10-sdk-release-1.html
01:21.58*** join/#android duey (n=duey@203-190-208-12.innovationwaikato.co.nz)
01:22.44*** join/#android woski (n=dleme@65.182.51.67)
01:36.20*** join/#android romainguy_ (n=gfx@69.36.227.135)
01:42.21*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
01:49.26*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
02:01.30*** part/#android Kruton_Nebulon (n=kruton@24-148-7-189.snb-bsr1.chi-snb.il.cable.rcn.com)
02:07.09*** join/#android winfield (n=winfield@124.90.199.157)
02:13.38*** join/#android huxu (n=huxu@12.54.128.69)
02:15.19*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
02:17.55*** join/#android living_sword (n=chatzill@117.98.56.170)
02:28.17*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
02:29.12*** join/#android bricode (n=bricode@200.122.185.24)
02:33.28jastalol nice...
02:33.37jastai was just listening to this song and a particular lyric stood out...
02:33.44jastahttp://www.lyricsmania.com/lyrics/rogue_wave_lyrics_8148/asleep_at_heavens_gate_lyrics_74182/like_i_needed_lyrics_732631.html
02:33.52jastastar wars reference hehe
02:34.14*** join/#android Razec (n=razec@189.56.183.198)
02:36.21*** join/#android wakingrufus (n=rufus@c-98-228-181-211.hsd1.il.comcast.net)
02:39.05*** join/#android living_sword_ (n=chatzill@117.98.56.170)
02:47.48*** join/#android cbeust_ (n=cbeust@64-142-66-175.dsl.static.sonic.net)
02:53.35f00f-wow, no activity here
02:54.11*** join/#android muthu (n=muthu@218.248.24.81)
02:58.31muthuerre
03:00.45living_swordevry1 is busy writing apps :)
03:01.33f00f-indeed
03:02.04wastreli'm trying to get my palm to sync with linux :[
03:02.33living_swordwhich distro ?
03:03.29wastreljust installed ubuntu intrepid
03:03.36wastrelworked in hardy but
03:03.56wastrelso far every ubuntu release since breezy has broken palm sync for me
03:04.09wastrelspend a couple weeks getting it working again and wait til next time
03:08.00muthuubuntu is a mess
03:08.06muthuevery update breaks something
03:08.55wastrelif i wanted stable i could use debian.  everything would be a year and a half out of date but stable
03:09.08muthufedora is nice
03:09.25muthugood balance.. stable and updates etc.,
03:09.44wastrelyum is much better than a couple years ago
03:09.56wastrelyeah it might be time to look at fedora again
03:10.06wastrelapt is still better :]
03:10.18wastreli'm installing it for someone at work tomorrow
03:10.35wastrelmaybe i'll set it up at work i need a new workstation
03:10.59*** join/#android BBHoss (n=bbhoss@c-68-62-170-33.hsd1.al.comcast.net)
03:12.19muthuwent back to fedora after trying ubuntu
03:12.58wastrelyeah well i've been debian/ubuntu for years
03:13.02muthuX is the problem in linux
03:13.04wastrelit's a big change
03:13.52*** join/#android dartdog (n=DadLapto@75.139.42.87)
03:13.54muthuoct 18 - bang goog dev day
03:14.45snadgejust use ubuntu
03:14.57snadgeits crap, full of bugs etc.. but if you have half a brain, you can work around them
03:15.22snadgeas opposed to having to deal with all the other crap that non debian/ubuntu distributions put you through anyway
03:15.33plusminus_crap, I can't get GPS to work at all in 1.0
03:15.43plusminus_not even with thru DDMS
03:15.55snadgedoes the web browser run for more than 5 minutes without crashing now?
03:16.08snadgei havnt actually tried it since the 0.9 beta .. and it was erm, interesting.. put it that way
03:16.27muthuthe browser is sloooooow
03:16.35plusminus_snadge: On G1 this person is not complaining: http://www.anddev.org/get_your_android_application_tested_on_a_g1_-t3063.html
03:17.02snadgewell bear in mind, nobody else has a 'decent' mobile browser yet anyway ;)
03:17.18snadgealthough some people like the iphone's one.. i havnt tried it either.. iphones are terrible
03:17.42plusminus_anyone got gps-receiving working?
03:17.54muthutrue, chrome might be faster
03:18.00romainguyplusminus_: "Performance of OpenGL Apps seems to double, related to running in the emulator"
03:18.11romainguythat is totally meaningless without knowing what the emulator's host is
03:18.15plusminus_romainguy i asked him for his desktop-setup
03:18.18romainguy:)
03:18.20plusminus_:P
03:18.38romainguybut yeah, it's software OpenGL vs hardware OpenGL
03:18.40romainguyso...
03:18.47romainguy(and ARM-based software OpenGL)
03:19.13muthupush the browser into the hardware
03:19.16wastrelthe iphone browser is the standard of comparison
03:19.52plusminus_romainguy do you know if there is a working sample of gps-receiving for sdk 1.0 ?
03:20.02romainguypanoramio
03:20.06romainguyworks great :)
03:20.12romainguycode.google.com/p/apps-for-android
03:20.18romainguyalso the Radar project
03:20.19romainguysame URL
03:22.55muthuWow! TMo launching the emulator is big news!!
03:23.12muthuthat's the only thing showing up these days
03:26.09muthuoh shit
03:26.37muthuIIT madras alumnus, kills family of five and self in LA
03:26.58muthuarghhhh
03:27.00muthuterrible
03:27.21muthushit, its the economy!
03:29.09*** part/#android dartdog (n=DadLapto@75.139.42.87)
03:29.25muthuhttp://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
03:30.00muthuhere's the short link:
03:30.01muthuhttp://www.nytimes.com/2008/10/08/us/08slay.html?_r=1&ref=business&oref=slogin
03:30.25*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
03:30.49plusminus_crazy, no one heard the shoots o_O
03:31.19gamblerpretty sad. what a jerk for killing his family though
03:31.26gambleri didnt think hindus believed in heaven
03:33.05muthuno
03:33.15muthubut they give up hope quickly
03:33.29muthuthis mass suicide mentality is pretty common in india
03:33.47f00f-fuq
03:33.49gamblerouch :(
03:33.49f00f-well
03:34.07f00f-it's not uncomon
03:34.10f00f-look at japan
03:34.23muthuyeah, they came out of it nicely
03:34.23f00f-some say it's density of population
03:34.30f00f-others say culture
03:34.33f00f-(regarding suicide)
03:34.47muthuits culture
03:34.50f00f-i know in finland, it's the weather and geographic isolation ;)
03:34.55muthuhaha
03:35.13gambleryeah its culture. japanese drive themselves so hard
03:35.19plusminus_checking for the 5th time what is the difference between my try to get GPS and the on of RadarView
03:35.51muthuplusminus_: are you setting your locationprovider?
03:37.09plusminus_this.mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,  ...
03:37.10plusminus_?
03:37.29plusminus_done in onResume
03:38.44muthuno the provider.. a mock provider
03:39.00muthuthe built in will give you null
03:39.05plusminus_?
03:39.24plusminus_mock providers cannot be set since 1.0
03:39.29muthuthere was this example posted in the android developer forum files section
03:39.30plusminus_that was 0.9
03:39.34muthuoh
03:39.39plusminus_that sample is from 0.9
03:39.44plusminus_it worked like a charm then
03:39.44muthuok.. haven't done anything maps lately
03:39.48plusminus_np
03:40.09dmoffettplusminus are you trying to get lat/long from Eclipse if so there is a link that worked for me.
03:40.32plusminus_thru the EmulatorControls ?
03:40.37dmoffettyes
03:40.41plusminus_doesn't get thru to the code :(
03:40.57plusminus_boolean b = this.mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); // <-- return true
03:41.54muthudon't you need to use some mock?
03:42.03muthusince the providers will not be available in emu?
03:42.09dmoffettI was able to get a lat/long by calling:
03:42.10dmoffettLocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
03:42.11dmoffettreturn lm.getLastKnownLocation(lm.getBestProvider(new Criteria(), true));
03:42.13plusminus_its meant to be done thru the Eclipse EMulatorControls
03:42.37dmoffettI did get back the lat/long I put in ddms
03:42.46plusminus_muthu: so we don't need to change any code when releasing our app
03:43.03muthuoh ok
03:43.45plusminus_I'm doing:
03:43.46plusminus_this.mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
03:44.08jastaf00f-: when i was in ireland they said something on the radio that suicide rates are high
03:44.17dmoffettanyway I had to follow these instructions:
03:44.17plusminus_this.mMyLocation = this.mLocationManager.getLastKnownLocation(PROVIDER_NAME);
03:44.20jastaweather and geographic isolation would be one explanation there as well
03:44.47plusminus_jasta: weather in england is pretty bad... ;)
03:45.02jastaalthough it said northern ireland had higher suicide rates, which kind of throws that theory away
03:45.05dmoffettHi all:
03:45.05dmoffettPlease try the following:
03:45.05dmoffett1. Download and extract LocationSample.zip from
03:45.06dmoffetthttp://groups.google.com/group/android-developers/files
03:45.06dmoffett2. From Eclipse main menu, select File > Import ... Existing Projects
03:45.06dmoffettinto Workspace, and import extracted LocationSample into workspace
03:45.08dmoffett3. From Package Explorer, right-click the LocationSample project, and
03:45.10dmoffettselect Run As -> Android Application
03:45.12dmoffett<PROTECTED>
03:45.14dmoffettLocationSample screen with message "Hello World, LocationSample"
03:45.16dmoffett4. In Eclipse, select Window > Open Perspective > DDMS
03:45.18dmoffett5. Select the "emulator-5554" entry in the "Devices" view
03:45.19jastauhh
03:45.20dmoffett6. In "Emulator Control" view, find the "Location Controls" section,
03:45.22dmoffettand select the "Manual" tab
03:45.22jastayeah thanks dmoffett
03:45.24dmoffett7. Provide values in the Longitude and Latitude fields (ie 17 17)
03:45.26dmoffett8. Press the Send button
03:45.28dmoffett<PROTECTED>
03:45.30dmoffettDEBUG/LocationSample(159): location changed :
03:45.32dmoffettLocation[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]]
03:45.36dmoffettEach time you repeat steps 7 and 8 you should see a new entry in the
03:45.38dmoffettLogcat view.
03:45.40dmoffettI hope that helps. Please reply back to this thread if the following
03:45.41jastareally?  ok.
03:45.42dmoffettsteps do not work for you.
03:45.44dmoffettRegards,
03:45.46dmoffettBrett.
03:45.48dmoffettOn Aug 28, 8:34 am, Antonio Villar <anvilla...@gmail.com> wrote:
03:45.50dmoffettsorry about that.
03:45.53muthuwow!
03:46.05muthulet me email antonio ;)
03:46.30muthudmoffett: thx for the steps
03:46.54dmoffettI should have sent the link but the instructions are way down the page.
03:47.07dmoffettIt sure looks bad.  Again sorry about that.
03:47.57plusminus_LocationAPISample.zip ?
03:48.07plusminus_... probably
03:49.04dmoffettbtw the geocode api works nicely.
03:49.21plusminus_(yeah geocode is really fine)
03:49.29plusminus_thats exactly what my code is based on
03:49.35plusminus_and it worked in 0.9
03:54.04plusminus_:(
03:54.16dmoffettno luck?
03:54.31plusminus_nope
03:55.30muthuwho won the debate?
03:56.04plusminus_me...
03:56.19plusminus_both repeating again
03:56.43plusminus_imo McCain with less concrete plans
03:56.46gamblerobama killed him last time and it was considered a tie
03:56.47gamblerand im def no obama supporter
03:57.28plusminus_http://www.youtube.com/watch?v=jjXyqcx-mYY
03:58.05muthuhaha
03:58.18muthuobama blames the economy
03:59.15f00f-i think obama came out ahead in this one too
03:59.19muthuObama won.. that's the vote so far
04:00.12muthuhttp://friendfeed.com/rooms/2008-debates
04:01.35muthuhttp://www.screaming-penguin.com/info/android_drawables/android_drawables.html
04:01.40dmoffettplusminus: try using the map application and then send the coordinates.
04:01.42muthuall android drawable listed
04:02.03dmoffettif that works then your app should be able to get the lat/long
04:03.07*** join/#android PoohbaLT (n=Poohba@c-98-235-52-97.hsd1.nj.comcast.net)
04:03.20*** join/#android erus` (n=Tom@92.12.20.205)
04:08.04jastasooo
04:08.28jastaanyone with a real device wanna try out my very recently functioning app? :)
04:10.06plusminus_dmoffett: It says like "Trying to determine your location..." and nothing happens
04:10.26plusminus_( I heavily clicked the button in the emulatorControls =
04:10.27plusminus_)
04:11.05plusminus_I think i should completely destory the emulator image...
04:11.18dmoffettIn ddms you selected the emulator and then in emulator control send the lat/long?
04:11.45plusminus_yes yes, i can see heap and threads too
04:11.53dmoffettdrag
04:12.34dmoffettHate to say it but seems to work fine for me.
04:12.42dmoffettbeen doing it like that for a few days.
04:14.42dmoffettThis 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:
04:14.55dmoffettemulator -shell -sdcard sdcard1.iso
04:14.59dmoffettreaching here.
04:17.00plusminus_http://picpaste.de/pics/mapview_nogps.1223439411.png
04:18.06*** join/#android BBHoss_ (n=bbhoss@c-68-62-170-33.hsd1.al.comcast.net)
04:19.28*** join/#android bricode_ (n=bricode@200.122.185.24)
04:23.19*** join/#android bricode__ (n=bricode@200.122.185.24)
04:27.22*** join/#android BBHoss (n=bbhoss@68-240-25-129.area5.spcsdns.net)
04:30.01gamblerI keep getting ANRs with my remote service. The error ActivityManager reports is Timeout executing service: Service Record
04:31.01*** join/#android BBHoss__ (n=bbhoss@c-68-62-170-33.hsd1.al.comcast.net)
04:31.07gamblerthe stack trace is in the accept() method of a 3rd party lib
04:31.28muthudo it async
04:31.46jastagambler: you can't block the main thread of a service
04:31.53jasta(accept blocks)
04:32.35gamblerah right well i implemented Runnable and called the run method, doesnt that mean it should be in a seperate thread?
04:33.05jastauhm, no.
04:33.12jastayou're thinking of a thread
04:33.56gamblerhmm ok. ...im not sure why i thought that.
04:36.44*** join/#android bricode___ (n=bricode@200.122.185.24)
04:40.42*** join/#android duey (n=duey@203.96.223.40)
05:01.28huxucan 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
05:04.08muthuintents are used to start activities, recievers, service
05:05.06huxuyea, so i have another java file that has Blah extends ListActivity and its Blah.java
05:05.18huxuso how do i start that activity from the other java file?
05:05.56muthudefine activities in manifest
05:06.03muthudefine intent filters for activities
05:06.09muthustartactivity with intent
05:06.36muthuD/ActivityManager(   56): Received spurious death notification for thread android.os.BinderProxy@434bd2e0
05:06.48muthuemu is regularly crashing on me
05:09.00*** join/#android plusminus_ (i=4421a620@gateway/web/ajax/mibbit.com/x-dd61b44e78cdac4d)
05:18.38*** join/#android winfield (n=winfield@124.90.199.157)
05:23.37*** join/#android bdjnk (n=bdjnk@71-212-56-11.tukw.qwest.net)
05:31.27muthuwhat's the view bound to android.R.layout.activity_list_item?
05:31.35muthutextview?
05:32.34romainguyuser HierarchyViewer, you'll see
05:35.03muthuok
05:35.17muthukeep forgetting hierarchyviewer
05:35.42muthuis it in eclipseplugin?
05:39.08muthuhv is nice
05:40.09muthuwoah!
05:40.12muthuno kidding..
05:40.22muthuwow, hierarchy rocks
05:40.38muthuunearthing some hidden views..
05:40.54muthuhv must be bundled with plugin
05:41.09romainguyit's in the SDK
05:41.21muthuyeah, but no one uses it ;)
05:41.24muthumake it part of ddms
05:41.27romainguystupid users :)
05:41.31muthuhehe
05:43.45muthuromain: is there a way to get the id of the views from hv?
05:43.56muthuso we can use the views effectively
05:44.14muthuactivity list items has an image and text view
05:44.19muthutextview id is text1
05:44.24muthuwhat about imageview?
05:44.35muthuimage1?
05:44.37romainguyhierarchyviewer shows you the ids
05:44.56romainguyin each rectangle
05:45.00romainguyand also in the list of properties
05:45.08romainguyif you click a view, it'll tell you the full id name
05:45.30muthuooooh.. sssweeeeet
05:45.34muthuwonderful
05:45.43romainguytry to double-click a view too
05:45.49muthuok thx
05:46.21muthuits called icon
05:46.55muthunow i can tie up one of the android icons here
05:46.57muthuwoot
05:50.21*** join/#android vadim (n=Vadim@212.248.18.162)
06:03.58*** join/#android cutmasta (n=cutmasta@62.225.134.181)
06:14.13*** join/#android Yeggstry (n=mind@cpc1-rdng14-0-0-cust946.winn.cable.ntl.com)
06:16.31*** join/#android rufus_ (n=rufus@c-98-228-181-211.hsd1.il.comcast.net)
06:24.30*** join/#android dueynz (n=duey@203.96.223.40)
06:34.56*** join/#android davidw (n=davidw@213.47.186.146)
06:41.34*** join/#android BBHoss (n=bbhoss@c-68-62-170-33.hsd1.al.comcast.net)
07:35.03*** join/#android p0g0_ (n=pogo@unaffiliated/p0g0)
07:44.46*** join/#android anno^da_ (n=anno^da@p5B07F3DB.dip.t-dialin.net)
08:03.06*** join/#android kaze (n=kaze@ABordeaux-152-1-56-91.w82-125.abo.wanadoo.fr)
08:11.35*** join/#android muthu (n=muthu@218.248.24.81)
08:11.51muthuautolink does not show the maps
08:12.07muthuanyone know the uri format for address?
08:19.08kazeis gone.. autoaway after 15 min ..[cyp(l/on.p/on)]
08:24.04*** join/#android systm (n=Robert@c-76-20-23-163.hsd1.ca.comcast.net)
08:28.02*** join/#android PoohbaLT (n=Poohba@c-98-235-52-97.hsd1.nj.comcast.net)
08:44.48*** part/#android chomchom (n=chomchom@78.32.95.81)
08:55.22*** join/#android nowi (n=nowi@g227022180.adsl.alicedsl.de)
08:57.23*** join/#android pjv (n=pjv@91.178.168.40)
09:15.10*** join/#android SanMehat (n=san@nat/google/x-5a5f3c82ee99ec20) [NETSPLIT VICTIM]
09:15.10*** join/#android minerale (i=35181@about/cooking/alfredo/Minerale) [NETSPLIT VICTIM]
09:15.10*** join/#android swetland (n=swetland@nat/google/x-6eae5cb1f4c43e79) [NETSPLIT VICTIM]
09:15.10*** join/#android Cedric2 (n=cbeust@nat/google/x-07066aebfaaf2069) [NETSPLIT VICTIM]
09:15.10*** join/#android gdsx (n=xsdg@SIPB-VM-99.MIT.EDU) [NETSPLIT VICTIM]
09:15.10*** join/#android summatusmentis (n=summatus@keymaster.tproa.net)
09:15.10*** join/#android rwhitby (n=rwhitby@nslu2-linux/rwhitby) [NETSPLIT VICTIM]
09:15.10*** join/#android merck (n=merck@122-116-117-188.HINET-IP.hinet.net) [NETSPLIT VICTIM]
09:15.10*** join/#android taaz-db (n=dlehn@digital-bazar.com) [NETSPLIT VICTIM]
09:15.10*** join/#android guerby (n=guerby@195.174.71-86.rev.gaoland.net)
09:15.10*** mode/#android [+o SanMehat] by irc.freenode.net
09:16.34*** join/#android erikwt (n=erikwt@ip82-139-116-154.lijbrandt.net)
09:27.05*** join/#android systm (n=Robert@c-76-20-23-163.hsd1.ca.comcast.net)
09:37.47*** join/#android elefther` (n=user@217.117.20.182)
09:40.16*** join/#android guerby (n=guerby@195.174.71-86.rev.gaoland.net)
10:29.56*** join/#android eton (n=eton@ppp-58-8-3-207.revip2.asianet.co.th)
10:57.13gamblerI wish aapt walked the class graph and removed .class files my app doesn't use.
10:57.39gamblerTesting takes forever because I reupload bouncy-castle each time.
10:58.29muthuhow long?
11:00.37gamblersince you asked. about 1min something
11:06.10tomgibaragambler: reflection makes that a dicey thing to do automatically
11:06.31gambleri guess the best workaround is just to develop my gui in another project
11:06.33gamblertomgibara, how so
11:07.07gamblermeh im sure your right, no need for an explanation
11:07.21tomgibaramaybe I misunderstood but... how does aapt know that you aren't using the classes?
11:07.50gambler:p
11:08.30tomgibara:)
11:10.53tricgambler: why do you include classes you do not use? remove those
11:13.31gamblertric, its a big library..walking the class graph manually would be :(
11:14.30gamblers/aapt/dx or some other compiler magic
11:30.19muthu1min.. that's a good keyboard break for ya ;)
11:40.09pjvanybody 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...
11:44.07*** join/#android zoniq (n=sk@87.246.65.243)
11:52.31*** join/#android plusminus_ (i=4421a620@gateway/web/ajax/mibbit.com/x-ab1d18d8ed1bc463)
11:59.35*** join/#android schmylan (n=schmylan@38.114.107.1)
11:59.36*** join/#android schmylan_ (n=schmylan@38.114.107.1)
12:01.52zhobbsanyone know how to define an attribute for layouts, similar to the built in "?android:attr/listPreferredItemHeight"?
12:05.49tomgibarapjv: adb uninstall uses the package name
12:08.46pjvoh right thanks
12:09.12tomgibarazhobbs: see samples/ApiDemos/res/values/attrs.xml
12:09.43plusminus_hey guys
12:09.49tomgibarahi
12:09.53pjvhey +-
12:10.04plusminus_the installer on the App-Installer on the G1 is somehow not workign properly:
12:10.05plusminus_http://www.4shared.com/file/66096434/f777bc63/AndOpenStreetMap.html
12:10.37plusminus_it says like I want to have freakin every permission that Android offers...
12:11.13zhobbstomgibara: yeah, I mean actual values, not custom attributes for custom views
12:11.13plusminus_whereas I only have:     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>     <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />      <uses-permission android:name="android.permission.INTERNET" />
12:11.40zhobbstomgibara: the one I referenced is used like android:layout_height="?android:attr/listPreferredItemHeight"
12:12.33pjvwow, seems to me it's a bug since it only gets there at reinstall
12:12.54pjvbut why did it block in the first place?
12:13.23pjvcan one disable unwanted permissions at any cost in the settings menu (that we don't have unfortunately)?
12:14.15plusminus_I have no idea, I got a anddev-member making that video
12:14.35zhobbsyou probably don't need "ACCESS_MOCK_LOCATION" anymore :)
12:14.41pjvsomething is pretty mixed up AFTER the block: it says "application install UNsuccesful" yet shows a green tick
12:15.10tomgibaraplusminus_: I somehow managed to build an apk that crashed the installer on one device - don't know if its repoducible
12:15.18zhobbsthat's funny though, looks like it literally lists every permissions possible
12:15.34pjvaha, I see why now: "blocked for every app not coming in through the Android Market"
12:15.43plusminus_maybe the current sdk is not compatible ./
12:16.10tomgibaraplusmins_: my suggestion is to remove the MOCk permission and see if that resolves it
12:16.11plusminus_Yeah, but the user can say "Never mind"...
12:16.28plusminus_yeah just deleted it, as I posted ^^
12:17.01plusminus_I already sent him a version of AndNav, which doesn't have that permission
12:17.23pjvmaybe try a very simple app first instead?
12:18.21tomgibaraam I being dense, posted where?
12:19.12zhobbstomgibara: probably anddev.org
12:21.15*** join/#android erus` (n=Tom@92.12.111.159)
12:21.29plusminus_http://www.anddev.org/get_your_android_application_tested_on_a_g1_-t3063.html
12:22.10tomgibaraplusminus: I just happened onto your anddev post about how to sign your app
12:22.32tomgibaraI noticed that you only specify a one year validity
12:23.28tomgibaraI'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
12:24.22zhobbsthat's my understanding as well
12:25.54plusminus_tomgibara: I somewhere read that the validity is only checked once itzs getting installed :/
12:26.04plusminus_so just make it Integer.MAX_VALUE  ?
12:26.17tomgibarawell, an update is an installation isn't it
12:26.17gamblerlinky?
12:26.27tomgibaragambler: to?
12:27.52gambleranddev sign app post
12:28.05tomgibaraplusminus_: I don't know the answer to that, fwiw, I used 10,000 days
12:28.14tomgibaragambler: http://www.anddev.org/viewtopic.php?p=11105
12:28.57tomgibaraAs far as I know, there hasn't been any public guidance on signing policies.
12:29.08gamblerI usually make my certificates valid for 250 years.
12:29.08gamblerIm going to try to beat that French woman who lived to 122
12:29.19tomgibara:)
12:29.47gambler8^)
12:30.00plusminus_2g2 bye guys
12:30.48Adamantgambler: in 100 years people will just be bruteforcing them
12:30.50schmylan_Ya, I got an email this morning about signing issues
12:31.25*** join/#android muthu (n=muthu@59.92.0.73)
12:31.27pjvthe disadvantage of making any key >5 years is that it probably will somewhat be possible to break it over 5 years
12:31.28tomgibaraschmylan_: Did it contain any useful information?
12:31.30gamblerAdamant, the heat death of the universe will happen first
12:31.39pjvAdamant: exactly
12:31.43Adamantgambler: not for public keys
12:31.58schmylan_Not really.  It was from someone at T-Mobile
12:32.04schmylan_they had a OLD copy
12:32.06gamblerok ill take the bait ...why
12:32.15schmylan_from my old PC
12:32.27schmylan_I've since switched computers (bad choice)
12:32.32Adamantgambler: we're within spitting distance of 1024-bit keys now and they are being depreciated
12:32.56Adamantin cryptographic terms
12:33.12tomgibaraAdamant: I actually used a 1024 bit RSA key for my cert. I was concerned about using anything too big for mobile devices
12:33.23Adamantback in the day they thought 512-bit systems would be enough forever pretty much
12:33.37pjvI'm still confused as to why exactly they use signing and why self-signing is sufficient
12:33.37Adamanttomgibara: as long as you don't have a long time horizon you're fine
12:34.06tomgibaraQuantum computing might blow a hole in all such cyphers
12:34.31gambleryah thats the only legitimate worry
12:34.34Adamanttomgibara: maybe, maybe not.
12:34.45Adamantgambler: look at the progress made on factoring
12:35.06Adamantwe've made a remarkable amount.
12:35.51Adamanttomgibara: the trick would be finding a public key cipher that is resistant to quantum techniques
12:35.58pjv"The certificate is used only to establish trust relationships between applications, not for wholesale control over whether an application can be installed"
12:36.01tomgibaraCrypto anhiliation could be a single mathematica insight away :)
12:36.10Adamantindeed
12:36.12gamblerI havent worked in that area in awhile but a quick wikipedia tells me GNFS is still the fastest alg out there
12:36.25Adamantgambler: yes, and it's fairly new
12:37.00gamblermeh im not worried...
12:37.01Adamantwe get better algos, more computing power, and more methods of using distributed power.
12:37.18Adamantgambler: you should only be worried if you were serious about 250 years
12:37.35tomgibaraI 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
12:38.24Adamanttomgibara: yeah. there have been a lot of ones proposed and smacked down.
12:39.32Adamanttomgibara: Ideally you could also prove the scheme is not in BQP
12:40.13tomgibara:) No problem - I'll whip out a proof this evening
12:42.22Adamanttomgibara: more schemes proposed the better
12:46.39pjvas I understand it certificates are only used to see if two apps are by the same creator?
12:47.30tomgibaracomes out of his reverie about C* algebras
12:48.08tomgibarapjv: They are also used to determine whether an upgrade to an app originates from the same creator.
12:49.01pjvSo you would definitely need a key that lasts longer than 5 years. This is a conflict in my opinion.
12:49.12tomgibarawhy?
12:50.00pjvWell, as said above, keys get broken and there is no PKI infrastructure
12:50.18gamblermoores law is going to run out soonish..
12:50.25gamblerpjv, they are using x509 certs
12:50.26Adamantpjv: 5 years should be ok for 1024-bit keys.
12:50.57Adamantpjv: use a bigger key if you need a longer life
12:51.32*** join/#android yakischloba (n=jake@209.160.56.254)
12:51.32pjvit's also annoying on open source projects: who should sign?
12:51.54tomgibarapjv: self-sign
12:52.03Adamantpjv: the guy wearing the caudillo hat and chomping a cigar
12:52.30*** join/#android davidw (n=davidw@213.47.186.146)
12:52.31Adamantbasically just have the head of the project sign.
12:52.45Adamantor someone appointed to do so by the head committee
12:53.47pjvheads of projects change so you would need to make the signing possible for several members
12:54.23pjvmaybe I don't understand the finesses of "self-sign" but wouldn't you need to share passphrases for this?
12:55.11Adamantpjv: you could do your own PKI for the key if necessary, for a open source project there's usually enough trust to share it.
12:55.35pjvok I see
12:56.57gamblerjust took me about 6mins to generate an 8192 bit key on a newish 32bit arch
12:57.54*** join/#android plusminus_ (i=81020c44@gateway/web/ajax/mibbit.com/x-6f0fafaef118bb29)
12:57.55pjvwouldn'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?
12:57.59gambleri really should get a 64 bit machine if I want to be uber paranoid...probably cut that down alot
12:59.28gamblerpjv, just update your key with every software update...voila new key lifetime.
12:59.55tomgibarapjv: For that you need an authority, which doesn't fit well with open source projects like Android
13:00.52pjvgambler: how does that work, I thought the whole point of the signing was to see that the update comes from the same creator?
13:01.51zhobbsyeah, I think if it's signed with a different key then you lose everything in /data/data/<package>/ on update
13:01.52gamblerpjv sign your new package, and then once your new package is in place, change the reference key.
13:03.03tomgibaragambler: Sorry, but I don't think that makes any sense
13:03.39gamblersure it does. you use your old key to bootstrap your new key. its a basic concept in cryptography.
13:04.06pjv... in "advanced" cryptography I'm sure ;-)
13:04.43tomgibaragambler: ...but the key isn't internal to his app is it - it's not his to reference or replace
13:08.32gamblerwell 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
13:08.33pjvgambler: maybe you meant like in PKI: signing certificates for keys with other keys?
13:09.30gamblerpjv, yah thats the current way. dont worry about not understanding pki too well. its a big scam anyway
13:09.31pjvgambler: yes, this is what I was complaining about, Android wouldn't follow certificates to a root certificate, and neither check on CRL's
13:11.08gamblerpjv, you might want to look again. creating CAs is a masasive PITA
13:11.30pjvI 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 :-)
13:11.52pjvok, the 'complaining' is not because my idea is better, by far
13:12.20*** join/#android eleftherios (n=user@pdpc/supporter/sustaining/eleftherios)
13:12.40pjvjust exploring what downsides this security has...
13:13.05pjvand working out the practical application...
13:13.42gamblerive got some scripts that handle all that...I just hate working with PKI though. its so divorced from reality
13:14.06gambleri think the concept of trust transitivity beyond a single arc is pretty ridiculous
13:15.33pjvI know some professionals in the crypto world that are getting pretty demotivated and paranoid at the same time :-)
13:20.11*** join/#android krau (n=cktakaha@200.184.118.132)
13:25.26*** join/#android tethridge (n=tale@207.235.54.1)
13:29.58*** join/#android dmoffett (n=dmoffett@71.33.240.149)
13:30.52*** join/#android ArteK (n=ArteK@artekw.cerbero.pl)
13:34.22*** join/#android ArteK (n=ArteK@artekw.cerbero.pl)
13:37.43*** join/#android cfreak200 (n=cfreak20@p54ADEEC1.dip.t-dialin.net)
13:50.25*** join/#android vbabiy (n=vbabiy@rrcs-24-97-148-190.nys.biz.rr.com)
13:51.20*** join/#android mithraic (n=mithraic@dyn-128-59-245-52.dyn.columbia.edu)
13:52.37dmoffettGot some new ideas for scary costumes for halloween this year.  AIG Insurance Exec or Bank Exec.  :-(
13:54.02*** join/#android mithraic (n=mithraic@dyn-128-59-245-52.dyn.columbia.edu)
14:05.27muthualan greenspan would work
14:07.02*** join/#android living_sword (n=chatzill@203.115.94.128)
14:07.53*** join/#android feig (n=ejf3@244.sub-75-193-18.myvzw.com)
14:07.55zhobbsI 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
14:07.58*** join/#android tobyjoe (n=tobyjoe@pool-71-255-7-159.atclnj.east.verizon.net)
14:08.18*** join/#android borism_ (n=boris@195-50-204-29-dsl.krw.estpak.ee)
14:08.50gamblerlolza
14:09.26gamblergreat find
14:09.30living_swordhehe
14:10.30cutmastalol
14:11.33muthuhaha
14:11.33*** join/#android Fus (n=rafal@host-81-190-8-105.gdynia.mm.pl)
14:11.34unix_lappylol @ misteaks
14:12.50*** join/#android mr_daniel (n=sysrq@e177153000.adsl.alicedsl.de)
14:18.18snadgelook on the plus side.. if things continue the way they are goingt
14:18.35snadgethere will be civil unrest, and a revolution
14:18.41*** join/#android pardom (n=pardom@75.144.91.181)
14:19.07*** join/#android mazzen (n=mortel@vpn-ce242017.extern.uni-duisburg-essen.de)
14:19.41pardomjava 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()
14:20.09pardomdoesn't have to be that notation... i just need the functionality
14:23.48*** join/#android kslater (n=kslater@206.193.242.16.nauticom.net)
14:24.34*** join/#android dartdog1 (n=Tom@75.139.42.87)
14:29.23*** join/#android thinair (n=thinair@c-24-91-227-81.hsd1.ma.comcast.net)
14:40.18plusminus_zhobbs: awesome picture ^^
14:41.27anno^da_http://vimeo.com/1891639#  <- kind of a G1 launch event in London :-)
14:42.53unix_lappyugh, 35 minutes.
14:43.57jastahehe:
14:44.00jastaWhatever you may be sure of, be sure of this, that you are dreadfully like other people. - James Russell Lowell
14:45.01*** join/#android Dralspire384 (n=dralspir@56-196.126-70.tampabay.res.rr.com)
14:46.18*** join/#android eton (n=eton@ppp-58-8-3-207.revip2.asianet.co.th)
14:49.20*** join/#android matt_c (n=mcroydon@gozur.sunflowerbroadband.com)
14:49.40*** join/#android cbeust (n=cbeust@69.36.227.135)
14:50.37*** join/#android cbeust_ (n=cbeust@72.14.228.1)
14:54.11anno^da_unix_lappy: start at minute 14
14:54.12anno^da_:D
14:56.50Disconnecthttp://www.engadget.com/2008/10/08/vodafones-blackberry-storm-art-department-all-soon-to-be-fired
15:01.22*** join/#android BBHoss (n=bbhoss@c-68-62-170-33.hsd1.al.comcast.net)
15:02.02*** join/#android Dralspire205 (n=dralspir@56-196.126-70.tampabay.res.rr.com)
15:02.25*** join/#android inZane-_ (i=nemo@dslb-084-058-055-232.pools.arcor-ip.net)
15:11.16*** join/#android decipherstatic (i=root@otto.dreamhost.com)
15:17.56*** join/#android Dralspire335 (n=dralspir@56-196.126-70.tampabay.res.rr.com)
15:24.12*** part/#android dartdog1 (n=Tom@75.139.42.87)
15:24.16*** join/#android dartdog1 (n=Tom@75.139.42.87)
15:31.19*** join/#android swuing (n=dingdong@p5B124F8A.dip.t-dialin.net)
15:33.53swuinghi
15:35.02swuingwell, i can download and use "android market" with eclipse and android-sk 1.0?
15:35.26jastano
15:35.31jastanot at the moment, anyway
15:36.35*** join/#android Terdhex (n=ENRIQUE@host-208-68-238-61.biznesshosting.net)
15:39.51Terdhexhi all
15:40.16Terdhexdoes anyone have a working sample of an email program?
15:41.35Terdhexthose based on mail1.4 and activation1.1 wont work on 0.9+
15:42.05*** join/#android mazzen (n=mortel@vpn-ce242140.extern.uni-duisburg-essen.de)
15:51.13*** join/#android harrdawg (i=cff25d0a@gateway/web/ajax/mibbit.com/x-265fa5860a2ea401)
15:53.38*** part/#android harrdawg (i=cff25d0a@gateway/web/ajax/mibbit.com/x-265fa5860a2ea401)
15:54.00*** join/#android harrdawg (i=cff25d0a@gateway/web/ajax/mibbit.com/x-d9db5d756e6ad21a)
15:55.01harrdawgHey 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.
15:55.36zhobbsharrdawg: yeah, tomgibara has an open source lib for that
15:56.06harrdawgIs it posted anywhere?
15:56.10zhobbsyeah
15:56.23zhobbshttp://www.tomgibara.com/android/veecheck/
15:56.48harrdawgThanks Hobbs.
15:57.01zhobbsthank tom :)
15:57.48muthuis veecheck integrated into market?
15:58.19zhobbsno
15:58.38zhobbswell, don't think so
16:00.19muthuok.. that's something every market needs
16:01.11muthuzhobbs: what's the best way to store a file?
16:01.24*** join/#android huxu (n=huxu@12.54.128.69)
16:01.42zhobbsmuthu: how big is it?
16:01.44*** join/#android cheng (n=cheng@141.76.49.20)
16:02.00muthunot that big
16:02.06muthupretty small
16:02.18muthujust text
16:02.40zhobbsthen save it in your /data/data/<package>/files dir
16:02.58zhobbssee Context.get*File*, something like that to get the actual path/File object
16:03.07zhobbsif it's large I'd go to the SDCARD
16:03.15muthuok
16:03.37muthuwhy android doesn't automanage this?
16:03.44zhobbsit does really
16:03.54muthuhow?
16:04.11muthudoes it go to sdcard, if local data runs out of space
16:04.34zhobbsmuthu: no, the user just uninstalls your app because they see it's taking up too much space
16:05.40muthuwhat?
16:05.51zhobbsyou own everything in your /data/data/<package> folder...that's private
16:05.59muthuwhy can't the user be given an option.. if sdcard is available?
16:06.13zhobbsyou could ask the user
16:06.24muthuhow do we know, if we run out space?
16:10.30zhobbsyou don't want to store large files in your data folder, so shouldn't be a problem
16:11.06living_swordi think 10-15 MB should be max
16:11.39muthuyeah like 16mb
16:11.41*** part/#android swuing (n=dingdong@p5B124F8A.dip.t-dialin.net)
16:11.55muthuandroid coulda taken care of this
16:12.38*** join/#android Adamant (n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net)
16:12.51zhobbsI wouldn't permanently store a file in my data folder if it was over a meg
16:13.30zhobbsI guess my database could get that large, but that's different
16:14.49jastaif you store album artwork it'd easily get there
16:15.19jastaunless you store that on the sdcard
16:15.34zhobbsjasta: I store album artwork on sdcard
16:15.56living_swordmayb u put an alert when it crosses 10 MB and start moving stuff to sdcard.
16:18.55muthuwhat's the broadcast for sdcard insert?
16:19.10living_swordbut storing user data on sdcard is useless if the user frequently changes cards.
16:19.57zhobbstrue
16:20.38muthudo the app get notified?
16:21.14jastai guess i actually hadn't thought about how to handle if the user changes sd cards on me
16:21.19jastai don't ever refetch the album art.  hmmm ;)
16:27.35*** join/#android slux (n=slux@85-18-14-18.fastres.net)
16:32.16harrdawgIs there a MIME type for Android apps?
16:33.35dmoffettSeems like there would be standard application space on the sdcard defined by Android.
16:35.18*** join/#android pandora-- (n=pandora-@66.238.50.126.ptr.us.xo.net)
16:36.46*** join/#android schmylan (n=schmylan@38.114.107.1)
16:38.01muthudmoffett: where's the sdcard api?
16:38.11muthuharrdawg: yeah, there is
16:38.29*** join/#android schmylan__ (n=schmylan@38.114.107.11)
16:39.44dmoffettmuthu: not sure there is an api for the sdcard.  sdcard is just a file system.
16:40.18muthuyeah, so do we hardcode the path?
16:40.48dmoffettI think I have ask the same question three times with not much of a response.  :-)
16:40.53muthuhmm
16:40.59muthuthere's an api for /data
16:41.03muthuwhy not for /sdcard?
16:41.18dmoffettSeems like to me that Android would have some standard method to access.
16:41.28dmoffettmaybe they are working on a solutions.
16:41.35muthumay b
16:41.36rayadoThey're just files on the file system
16:41.50rayadoThere are a bunch of intents that are broadcast when it's inserted, removed, etc.
16:41.58rayadoSee http://code.google.com/android/reference/android/content/Intent.html and ACTION_MEDIA_*
16:42.04muthuok
16:42.10muthuit coulda been seamless
16:43.24dmoffettSeems a little cowboy to me.  Apps can use the sdcard with out much regard to other apps.
16:43.35muthuyup
16:43.51muthubit wierd
16:45.56dmoffettMaybe a bug report is due.
16:46.58zhobbsthere is a constant for the SD card location
16:47.06*** join/#android eleftherios (n=user@pdpc/supporter/sustaining/eleftherios)
16:47.11muthuwhere?
16:47.15zhobbsno idea where it is though, but I remember someone in here found it :)
16:49.17dmoffettEnvironment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
16:49.17dmoffettFile audioDir = Environment.getExternalStorageDirectory();
16:49.32dmoffettsomething along those lines I guess.
16:51.27dmoffetthttp://code.google.com/android/reference/android/os/Environment.html
16:52.37muthucool, thx
16:52.56muthuandroid needs to add the sdcard filesystem to the api
16:53.07muthuso we just dump our mess in there
16:54.25harrdawgmuthu Do you know what the MIME type is?
16:54.51muthuapplication/vnd.android.something
16:55.00muthuarchive??
16:55.23harrdawgOkay, thanks...I'll keep looking into it.
16:55.25muthuits in dev forums
16:55.35muthulet me know if you don't find it
16:56.10muthuapplication/vnd.android.package-archive
16:56.41muthuharrdawg: guess, that's the one
16:56.55thinairhello, 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 ?
16:57.52*** join/#android rorist (n=rorist@116-62.1-85.cust.bluewin.ch)
16:58.12thinairmy 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...
16:58.41*** join/#android rorist (n=rorist@116-62.1-85.cust.bluewin.ch)
16:58.50zhobbsthinair: if you load up the hierarchyviewer you might get a good idea what they're doing in the camera app
16:59.37thinairI 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...
17:00.29zhobbsI think it's ok for views to change size
17:00.33muthuhierarchyviewer is great
17:00.37jastaviews 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
17:00.58zhobbsyou'll have to invalidate more than just your one view
17:00.59thinairzhobbs: thank you I am just reading... I believe it will help me a lot..
17:01.45thinairI believe I just want to resize the image on top of a background image
17:02.12*** join/#android unix_lappy (i=614133e2@gateway/web/ajax/mibbit.com/x-74ef581a94d8a22b)
17:03.17thinairthanks jasta, I will look at an other approach. I don't want to change the complete layout, I was pretty sure about that problem...
17:03.57thinairperhaps the surfaceview is better for my problem.. but first I will try the hierarchyviewer this will give me a start point..
17:04.35romainguy___you certainly don't need SurfaceView for this
17:05.10romainguy___if I remember correctly, the camera app simply uses a custom View and draws the crop area manually
17:06.41tethridgeis it possible to reuse the camera app's crop functionality?
17:06.58romainguy___yes, you can look at the Photostream sample code in code.google.com/p/apps-for-android
17:07.04romainguy___it invokes the camera's app crop
17:07.31romainguy___it's a bit awkward to use though, we didn't have time to make it cleaner
17:07.53romainguy___it's a lot better if you have a content provider to provider the images
17:08.35thinairmy 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...
17:13.45thinairromainguy : it use a CropImageView, do you remember if you have herited from an other view ? (imageview/surfaceview...)
17:14.15romainguy___I didn't write CropImageView
17:14.21romainguy___but I believe it's just a View
17:14.29romainguy___and stop thinking about SurfaceView :)
17:15.11thinairromainguy: thank you for the tip.. I will try a simple custom view..
17:16.20tethridgethinair, you don't want to reuse the functionality?
17:17.23thinairtethridge : it would help if I could read the code certainly. But first I would like to learn android
17:17.33*** join/#android Dougie187 (n=doug@wg-d232099.dsl.fsu.edu)
17:17.38zhobbscustom views are fun to make anyway
17:18.08jastasure, now.
17:18.12jastathe first one wasn't that fun for me :)
17:18.17zhobbshehe
17:18.20thinairtethridge: and to reuse cropimage, I just have to use the camera.crop intend... it's not my goal..
17:18.24harrdawgmuthu: thanks for that MIME type.
17:18.49jastacustom layouts are more fun, tho :)
17:19.30zhobbscustom layouts?
17:20.22romainguy___zhobbs: a class that extends ViewGroup
17:20.34zhobbsahh
17:21.27zhobbsmost of my custom views extend LinearLayout...so I'm a cheater
17:22.01zhobbsthat's really just gluing different views together
17:22.27muthuwhen you put all these views together you come up with a custom mess ;)
17:24.21*** join/#android Dralspire (n=dralspir@55-96.126-70.tampabay.res.rr.com)
17:24.37TerdhexDoes anyone have/know of a running email application for version 0.9+
17:25.01thinairzhobbs, if you extend a layout it is not more a custom layout than a view ? the custom view I am beginning will extend view..
17:25.32*** join/#android kaze (n=kaze@pac33-1-82-235-251-34.fbx.proxad.net)
17:26.19*** join/#android Dralspire (n=dralspir@55-96.126-70.tampabay.res.rr.com)
17:26.29zhobbsthinair: depends what you're doing, often when I do it it's really more like a "compound component"
17:26.43zhobbshttp://code.google.com/android/toolbox/custom-components.html#compound
17:28.08*** join/#android Dralspire (n=dralspir@55-96.126-70.tampabay.res.rr.com)
17:28.28muthua custom view in a custom layout = custom custom :)
17:30.21*** join/#android Yeggstry (n=mind@cpc1-rdng14-0-0-cust946.winn.cable.ntl.com)
17:33.58thinairzhobbs, ok thanks. I believe for my problem, I actually need just to extend a view...
17:34.50wastrelwhat happens if you receive a call while the screen is flipped up?
17:36.48Disconnectwastrel: it catches fire
17:37.00Disconnecthopefully that'll be fixed in the next release
17:37.22*** part/#android fgau (n=fgau@webbox1220.server-home.net)
17:39.04wastrelwhat i mean is, do you have to close it before you take the call?
17:39.56wastrelalso, will this work with the g1?  http://www.thinkgeek.com/gadgets/cellphone/8928/
17:42.25*** join/#android AttractiveApe (n=phil@office.gossamer-threads.com)
17:44.01*** join/#android cbeust (n=cbeust@72.14.228.1)
17:48.27*** part/#android dartdog1 (n=Tom@75.139.42.87)
17:53.27*** join/#android cybereagle (n=cybereag@unaffiliated/cybereagle)
18:04.04*** join/#android Terdhex1 (n=ENRIQUE@host-208-68-238-61.biznesshosting.net)
18:04.45*** join/#android romainguy_ (n=gfx@nat/google/x-3aedfb52ed742b4d)
18:09.08jasonchenenjoys the newest Palin nickname: Snowjob Squareglasses
18:13.56*** part/#android Terdhex1 (n=ENRIQUE@host-208-68-238-61.biznesshosting.net)
18:14.26*** join/#android nivardus (n=gontaMal@unaffiliated/nivardus)
18:19.33muthualert dialog multi choice is broken
18:19.45muthuonly a few items are showing as checked
18:22.21pjvmuthu: are you using a loop or something to check them?
18:22.36muthui pass a cursor
18:22.48muthuand the checkedcolumn
18:23.08muthupublic AlertDialog.Builder  setMultiChoiceItems(Cursor cursor, String isCheckedColumn, String labelColumn, DialogInterface.OnMultiChoiceClickListener listener)
18:23.39muthuit brings up all items, but only a few are checked
18:23.54pjvwell I have had problems with a loop before with multi choice, but it wasn't an AlertDialog and it wasn't a cursor
18:24.11muthuyeah, looks like refresh issues
18:24.27muthuits a bug
18:26.14muthuguess, i'll have to do the array manually
18:43.59feiganybody 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?
18:44.16*** join/#android woski (n=dleme@65.182.51.67)
18:44.19pjvfeig: I think it is bluez
18:44.31feigthat's good to hear
18:44.59pjva2dp "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
18:45.11feigoh
18:45.25feigwell, that could be gotten around with mplayer and xterm
18:45.26pjvcorrection: all of bluetooth
18:45.27feigright?
18:45.56pjvAndroid is only at the level of the Java language (i.e. within Dalvik) atm
18:46.45feigso, some sort of terminal emulator couldn't be written for android to get at the OS?
18:47.20pjvcode.google.com/android has many of the answers
18:47.51Lenoliumfeig: a terminal emulator may let you get at a shell, but the API's are still only exposed to Java AFAIK.
18:49.05feigso, you wouldn't have any more access to the hardware from a shell?
18:49.15pjvdoesn't understand why someone needs to get below the Java layer (except to create a richer Java layer)
18:50.45pjvfeig: adb access is a different matter
18:51.51feigadb?
18:52.32pjvcode.google.com/android has many of the answers
18:53.58feig<PROTECTED>
18:54.07feigis looking
18:58.22Disconnectpjv: 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)
18:58.40Disconnector not having to recode an ssh client (and maintain it) when openssh works just fine
18:59.16Disconnectneeds vpn tho, thats a more difficult problem - at least according to the security doc - because it requires root access to add/remove routes, etc..
19:00.14pjvDisconnect: you seem to be much more lenient then me :-D
19:00.28Disconnect?
19:01.09pjvwell, I'd rather not say the things that might just be possible
19:01.24pjvbut don't belong to the current Android policy
19:02.20Disconnectpjv: ..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)
19:02.25feigi 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
19:02.36feigand i'd like to replace my n800 with the G1
19:02.41pjvUsing openssh as a backend seems reasonable to not reinvent the wheel but surely just putting the interface of openssh on android wouldn't suffice
19:02.58Disconnectsees no reason to reinvent the wheel 100 times over when a ton of those apps already exist and just need android-aware java wrappers
19:03.21pjva bit more than wrappers
19:03.37pjvsome of these apps need to get an entirely new philosphy
19:04.03Disconnectopenvpn - 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)
19:04.21pjvone of compatibility, mobile restrictions awareness, open and usable interfaces, ...
19:04.38pjvyour approach is to technical
19:04.50Disconnectmplayer .. 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
19:05.25*** join/#android guerby (n=guerby@195.174.71-86.rev.gaoland.net)
19:05.30jastain the case of the Linux network stack I agree with you, in the case of mplayer I don't :)
19:05.40pjvyou 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
19:05.57jastai don't like the idea of introducing network sophistication at any layer above netfilter/route.  So VPN clients should be implemented there.
19:06.04Disconnectjasta: mplayer (on arm) supports a -ton- of APIs. how many of those are you going to port over to the android API?
19:06.08feigpjv there are tons of embedded linux devices out there that use many of these apps well
19:06.12feiglike the n800
19:06.12pjvas I said, you can build this layer on the lower stuff, like bluez, but that's not porting
19:06.22pjvfeig: and they are all wrong
19:07.14Disconnectpjv: thats awesome. lemme guess - you don't use any "wrong-thinking" commercial apps ever, right?
19:07.14*** join/#android bdjnk (n=bdjnk@71-212-56-11.tukw.qwest.net)
19:07.17feigwhat's wrong about them?
19:07.49pjvnothing's perfect, but we can always aspire... :-)
19:08.24Disconnectexplain 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..?
19:08.50pjvdon't throw them out but hide them in a lower layer
19:09.03pjvmaybe Android already uses them?
19:09.07*** join/#android rorist (n=rorist@58.101.3.213.cust.bluewin.ch)
19:09.45pjvDisconnect: if all these libraries/tools are so great, why are there so little decent Java wrappers for them anyway?
19:10.41feigbecause i don't think that there are too many stacks similar to android
19:10.41pjvDisconnect: 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
19:10.47pjvnothing incompatible there
19:11.15feigunless linux is not accessible
19:11.49pjvas long as you don't bypass the Android/Java layer ofcourse
19:12.04pjvfeig: think it will be when the source code is out
19:12.37feigwell, i can hope i guess, because if it's not there, then this might be a huge waste of money for me
19:22.02Disconnectsorry back now
19:22.16Disconnectanyway :)
19:23.16Disconnectthere 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/..)
19:23.28*** join/#android cbeust (n=cbeust@64-142-66-175.dsl.static.sonic.net)
19:24.02Disconnectand in both cases (mplayer, openvpn) they are designed to be spawned from a gui (including non-forking modes, gui-friendly outputs/inputs, etc)
19:25.07pjvwhat are your plans with openssh, openvpn, mplayer exactly?
19:26.33feigto use them =)
19:27.17feigno 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?
19:28.40pjvjust 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
19:29.01feigwhy is that a bad thing?
19:29.28feigwhat's so great about running everything in a JVM?
19:29.37Disconnectopenssh - connect to other boxes. (although there is a passable j2me ssh client, and i heard someone here talking about having implemented one for android) ..
19:29.43*** join/#android cbeust_ (n=cbeust@72.14.224.1)
19:30.23*** join/#android mazzen (n=mortel@u30-237.dsl.vianetworks.de)
19:30.39Disconnectopenvpn - 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)
19:30.47*** join/#android schmylan (n=schmylan@38.114.107.1)
19:31.11kslaterthere is an android ssh client already - ConnectBot
19:31.22kslaterproblem is - how do you input a Ctrl key?
19:31.39Disconnectmplayer (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
19:31.40kslateras in ctrl-l or ctrl-d or ctrl-z
19:32.09Disconnectkslater: generally thats handled on small kbs with 'fn' if available
19:32.24Disconnect(or symb, or - worst case - with a soft button onscreen that says "CTRL")
19:33.16kslaterI can test it in the emulator
19:34.49kslaterdoh
19:34.56kslaterno fn key
19:36.31pjvafk
19:39.39*** join/#android schmylan_ (n=schmylan@38.114.107.11)
19:39.48*** join/#android unix_lappy (i=614133e2@gateway/web/ajax/mibbit.com/x-259dd779f33a4329)
19:50.41zhobbstoo bad muthu is asleep, he'd probably freak out: http://imandroid.blogspot.com/2008/10/htc-g1-coming-to-india.html
19:53.36jastalol
19:53.41unix_lappyzhobbs: makes me suspicious.
19:54.20unix_lappy"before 2009" makes me think that the US will get a second device before the Dream hits other countries.
19:54.45zhobbsI'd be surprised if it's real
19:55.30unix_lappyIf someone from Google would say, "Dude, just buy the G1, we havent gotten around to supporting any other devices..."
19:55.34unix_lappyi'd be one happy camper.
19:56.07zhobbsall they need is an onscreen keyboard and internationalization
19:56.22tethridgethey aren't going to say that.  Sprint has an android phone launching before the end of the year.  :-)
19:57.04zhobbstethridge: really? you think there will be another in 2008?
19:57.08tethridge... that's what has been reported as the rumor
19:57.13zhobbsI hope so
19:57.47unix_lappytethridge: lol, putting down money on the table based on rumors have made many a prince a pauper.
19:58.29tethridgewell, it's sprint, so I wouldn't bet on it, but that's the rumor I heard on engadet
19:58.49tethridgesprint could use a top selling phone right now
19:59.08Disconnectthought spring was saying 1Q09 or later
20:00.19tethridgehttp://www.engadget.com/2008/09/17/t-mobile-g1-said-to-be-landing-october-17th-sprint-android-phon/
20:00.52tethridgesee the second half of the post
20:01.03feig<PROTECTED>
20:01.24unix_lappywell, i could care less about other carriers, i'm talking about devices.
20:01.41unix_lappyif sprint is going to launch an Android Phone it's likely going to be the Touch Diamond [Pro]
20:01.52tethridgewell, it says that it will have "other functionality", which I would assume means different device
20:02.01feigbut there was also speculation that suggested that we wouldn't see an android/wimax device until late 2009
20:02.56unix_lappywonders what happened to all the "Openness"
20:04.23romainguy___unix_lappy: how so?
20:05.27zhobbsunix_lappy: does samsung make a lot of sprint phones?
20:05.42tethridgeyeah
20:05.49tethridgethat's what I have
20:05.51unix_lappyromainguy___: was just being facetious, regardless of how "Open" things are [public] companies arent going to disclose future endeavors.
20:05.54tethridgesamsung from sprint
20:06.15romainguy___unix_lappy: nobody ever said that the manufacturers would publicly show their roadmaps :)
20:06.16romainguy___Android is open
20:06.27Disconnect..android -will be- open
20:06.32unix_lappyzhobbs: yes, for a similar device to the iPhone, check out the Samsung Instinct.
20:06.43zhobbsyeah, samsung is in OHA right
20:06.49Disconnectunix_lappy: istr the instinct was a disaster of crashieness
20:07.00unix_lappyromainguy___: was just being facetious ;-)
20:07.45*** join/#android pawalls (n=pawalls@fnord.rabidgeek.com)
20:08.19unix_lappythe real question is, whether the software developers have started coding for other devices that the device manufacturers havent publicly disclosed.
20:12.00Disconnectthat still doesn't entail not being open..
20:12.56Disconnectisn'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")
20:14.52feigto me, open doesn't include locking users out of the underlying tools, which can be extremely useful on their own
20:18.38Disconnectdidn't see it locked out anywhere...
20:19.11Disconnectbut 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..)
20:22.12feigi thought that the discussion above was related to not allowing us to use native linux apps without a java wrapper
20:22.37harrdawg<PROTECTED>
20:24.50feigDisconnect, did i make a bad assumption somewhere?
20:25.53Disconnectyep. 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)
20:26.17Disconnectbut i am pretty sure it doesn't allow root (sigh, so much for vpn clients and such)
20:29.53feigwell, i'll just have to be patient i guess, and suffer through the reduced functionality (lacking a2dp and tethering) until it gets figured out
20:30.07*** join/#android krau (n=cktakaha@200.184.118.132)
20:32.02Disconnector grab the sdk and emulator and try it.
20:33.07feigwill do
20:33.15*** join/#android unix_lappy (i=614133e2@gateway/web/ajax/mibbit.com/x-852de4a61eb394f7)
20:33.22chouman82anyone worked with phonestatelistener?
20:33.50plusminus_think so (btu got no code here) :P
20:36.00*** join/#android meoblast001 (n=meoblast@dynamic-acs-24-239-93-241.zoominternet.net)
20:37.35*** join/#android chab7 (n=kvirc@212.92.4.114)
20:38.55*** join/#android zmedico (n=zmedico@ip68-4-152-120.oc.oc.cox.net)
20:40.45pjvcan I have your views on an ideal logical architecture for a larger android app?
20:41.00pjvtalking about the layers here (ui, domain, techservices)
20:41.27pjvand more specifically how to deal with the MVC pattern
20:41.50pjv(or model-view separation if you want to call it that)
20:42.16*** join/#android Adamant (n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net)
20:43.10pjva problem is that Activities are rather dependent on ContentProviders (or their cursors)
20:43.47pjvthis is good (it's the Observer pattern) but it somewhat makes me want to put too much domain stuff in the Activities as well
20:44.31pjvContentProviders would be in the lowest (techservices) layer while Activities are in the topmost (ui) layer
20:46.08pjvor doesn't anyone do layer separation anymore these days?
20:47.05jastayou could do your own layer separation without asking android to get more fine than services activites and contentproviders
20:47.38jastatheir 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.
20:48.07pjvso you agree it is possible to separate cleanly?
20:48.31jastayes, independent of android's layering
20:48.39umdk1d3o.o
20:48.43umdk1d3romainguy___: you around?
20:48.46pjvhow do you cope with having multiple controlling points (the different activities) instead of one central controller?
20:50.01pjvsee, Android puts the "main method" (if I can take the liberty to call it that) in each of the Activities
20:50.47pjvso 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
20:51.20pjvrather than having one Controller (as to MVC) that steers which views/activities should be shown
20:52.22pjvthere is also the problem of Context only being available in the Activities
20:53.48pjvhow could we take control out of the activities?
20:54.12pjvok, this is all rather abstract I know, let me think of an example
20:54.27jastait'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.
20:55.56pjvjust 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)?
20:57.44*** join/#android BBHoss (n=bbhoss@webmail.durhamadvertising.com)
20:58.16jastai'm saying that the analogy of an activity in other UI toolkits is a window
20:58.37pjvyes
20:59.02pjvbut windows in other ui toolkits don't generally have the possibility to generate a list from a db
20:59.34pjvand other windows (widgets) aren't generally given the power to open the next window
20:59.54pjvthere's usually a controller that has this power
21:00.16pjvwhile activities are pretty much siblings passing on the focus
21:00.30pjvactivities have a bit more control I think
21:00.57pjvalso the "main method" can be in an activity, but normally not in other windows
21:02.05pjvheh 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
21:02.41*** join/#android raven_coda (n=raven_co@64.50.35.156)
21:03.46tomgibarapjv: My advice is not to try and attach your understanding of the Android framework to something else
21:03.57tomgibaraJust learn it as what it is.
21:04.30raven_codadoes anyone know if the g1 has a digital compass or does it just use accelormeters for street view compass mode?
21:04.41pjvgood advice, but still .. I want to create order where there is disorder
21:05.20tomgibarapjv: The engineers have given you the order! :)
21:05.22jastai think that you don't understand MVC at all, actually
21:05.35pjvfor larger apps, I really have no idea ( even in the Android way) of how I would keep insight in which Activity should do what
21:05.42jastait's an abstraction, it has no concrete manifestation in how processes manage their lifecycles
21:06.27tomgibarawarning contentious view coming up: the MVC is a useless crutch - forget about it and practice thinking about different problem domains
21:06.53jastai'm not going to fight that, but MVC isn't his problem at the moment anyway.
21:07.12pjvtomgibara: ok I might agree, I don't think it will be possible to take the control away from the Activities
21:07.22jastathinking abstractly about classes and how they interact is.
21:07.45pjvjasta: no problem, only feed for discussion (and hope we all learn something)
21:08.04jastapjv: so, if you have a window in an abstract sense on any other toolkit
21:08.24jastaand 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
21:08.30jastahow would you hook up those mechanics, in general?
21:08.30pjvcan anyone of you two enlighten your high-level (architecture-level) design
21:08.45jastausing whatever layered approach you want
21:09.15*** join/#android duey (n=duey@203.96.223.40)
21:09.34tomgibarapjv: I'm not sure U understand the question - I'll answer it if you can explain
21:09.36pjvjasta: agree, you choose the layers (or it shouldn't even be layers)
21:09.42tomgibaraU==I
21:10.24jastapjv: be more specific, what would you do to, for example, get the list of foobars?
21:10.48pjvI wasn't exploring this at a particular example or detailed level at all, but..
21:11.23jastawell, 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
21:11.46jastait's an abstraction that is way beyond the classes that implement the UI, the data storage, etc.
21:13.12pjvjasta: can you explain 'your' architecture of a UI? that could be a start to converge our ideas (and words)
21:16.39tomgibarapjv: 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.
21:19.13pjvtomgibara: I agree, but you don't really add a new idea/insight to the discussion, I'd like to discuss that "rest" part
21:19.42pjvthere's a big step between requirements and having a good design
21:20.48pjvmaybe I should try again:
21:21.23pjva 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
21:21.42pjvhow can I get nearly anything domain-related out of my Activities?
21:22.20tomgibaraseems like odd priorities to me:
21:22.42tomgibaraAn 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?
21:23.12pjvdivorcing may be one of the solutions yes
21:23.16pjvyes thats about it
21:23.22tomgibaraI'm not saying its a bad idea - but it depends fundamentally on the activity behaviour you are trying to encapsulate
21:23.54pjvI'm talking general her, so assume the behaviour warrants it
21:23.57tomgibaraHow one might do this for one 'type' of activity will surely be dependent on another
21:23.57pjv*here
21:24.17pjvyou mean like ListActivities will be harder?
21:24.57tomgibara*another -> specifics (don't know what happened to my brain then)
21:25.10tomgibaraThat isn't what I mean
21:26.13tomgibaraGive me any example of an actual concrete activity that you might envision abstracting in this way
21:26.16morrildlpjv: an Activity is a single thing that you can do in a UI
21:26.33morrildlpjv: ...or not even UI.  Activities don't have to ever display anything
21:26.42morrildlan Activity is a unit of work.  It's a class with a lifecycle
21:26.44pjvmaybe I'd rather hold out on examples for the moment
21:26.45morrildlthat's it
21:27.26tomgibaraThe problem is - and I think morrildl makes this point again - is that activities lend themselves to concreteness
21:27.47tomgibaraan Activity is a single thing that you can do in a UI <-- A great description
21:28.08pjvmorrildl: I see where you're going at, you could also say an Activity is a controller rather than a UI widget
21:28.15pjvis that it?
21:28.35tomgibaramutters bloody MVC
21:28.42morrildlpjv: no
21:28.54morrildlpjv: An Activity is a class with a lifecycle
21:28.57romainguy___MVC sucks :)
21:28.58morrildlit's a managed object, no more no less
21:29.05morrildldon't read into it more than that
21:29.09morrildlyou can do whatever you like with it
21:29.14romainguy___I find the Presentation Model pattern much easier to use and implement
21:29.16morrildlmost of the time you use it to cretae UIs
21:29.41pjvromainguy___: care to elaborate?
21:30.11romainguy___I found that in practice MVC, at least pure MVC, takes way too much effort to design and maintain properly
21:30.19pjvmorrildl: ok, so I shouldn't talk about the architecture I envision and an Activity in the same way/sentence
21:30.21romainguy___for, very often *in my experience*, little advantage
21:30.50romainguy___that's actually why you often see bastard MVC, like Swing's M-VC
21:32.48pjvI'm not familiar with the Presentation Model Pattern so I should read about it first probably...
21:33.00pjvhttp://www.componenthouse.com/article-5 right?
21:33.16pjvand http://weblogs.macromedia.com/paulw/archives/2007/10/presentation_pa_3.html
21:33.32tomgibaraActually 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
21:33.55morrildlpjv: if you want to use an Activity as a controller, there's no hypothetical reason not to
21:34.11morrildlpjv: depending on your design, maybe that makes sense (although I'd be somewhat skeptical)
21:34.22romainguy___tomgibara: there are terrific advantage in theory
21:34.35romainguy___tomgibara: that's why I said that in my experience, these advantages are not really advantages
21:35.25pjvmorrildl: 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
21:36.02tomgibararomainguy___: 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.
21:36.18romainguy___tomgibara: me too, and we agree then :)
21:36.36pjvbut I'm getting the feeling at least we are agreeing on the motives: separation of concerns, and coupling/cohesion
21:36.36morrildlpjv: 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
21:36.37romainguy___that's why I'm happier using MVP or Presentation Model
21:37.26pjvmorrildl: exactly why I would get stuck probably, doing a Singleton pattern on an Activity wouldn't work
21:37.34pjvbut now you understand where I'm coming from
21:38.15romainguy___that said
21:38.33romainguy___given the scope of cell phones applications, using fancy patterns like MVC/MVP/whatever can be easily overkill
21:38.46*** join/#android borism (n=boris@195-50-200-6-dsl.krw.estpak.ee)
21:39.29morrildlromainguy___: "can be easily" -> "is usually"
21:39.33morrildlthere I fixed that for you
21:39.46romainguy___:)
21:40.34pjvhow is the MVP pattern any different from what we are already doing?
21:40.48pjvseems like Activities would perform the roles of V and P
21:40.49tomgibararomainguy___: 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.
21:40.59pjvand many activities would dig into the M (domain)
21:41.10romainguy___tomgibara: :)
21:41.19pjvtomgibara: me too
21:41.32*** join/#android mr_daniel (n=sysrq@e177155150.adsl.alicedsl.de)
21:41.37pjvtomgibara: but there's no harm in thinking it through, right?
21:41.41romainguy___tomgibara: Sun's APIs are usually a good example of API design purity that just ends up being awful to use :)
21:41.54tomgibaraI still think Context is a monster
21:42.09tomgibara(not bad just bloated)
21:42.20pjveverything's a trade-off, and especially on mobiles I expect that trade-off to approach usability rather than theory
21:43.25romainguy___tomgibara: I would have said that View is a monster :)
21:43.38tomgibararomainguy___: Many of Sun's APIs do the worst thing: aim at purity, then compromise, then end up with neither purity or efficacy
21:43.48romainguy___:)
21:44.06romainguy___although I have to admit they often get one thing right: they make it possible *and* relatively easy to extend/override/customize
21:44.41vinseCalendar.getInstance().get(Calendar.DAY_OF_MONTH) says what are you talking about, Sun APIs are great!
21:45.02romainguy___that's an easy jab :)
21:46.54tomgibararomainguy___: I like the style that developed of clean interface based designs, with concrete state classes, backed by separate impl packages
21:46.56pjvtomgibara: the problem with Context for me is mostly that it belongs with the activities (and services etc.)
21:47.16romainguy___well an Activity is a Context :)
21:47.52pjvromainguy___: succinct as ever
21:48.00pjv;-)
21:49.59pjvromainguy___: 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
21:50.23tomgibaraOne last comment about Sun's Java APIs: You have to give them credit for getting better at designing the libraries
21:50.27romainguy___oh it would probably not help much :)
21:50.39romainguy___tomgibara: yeah, some of the APIs are actually awesome
21:50.43tomgibara(but I'll never forgive them for the logging API)
21:50.44romainguy___java.util.concurrent \o/
21:50.53romainguy___logging's logging
21:50.57romainguy___it's boring, who cares :)
21:51.37tomgibaraI wish I could have the same cheerie attitude to towards it :)
21:52.01romainguy___I never understood the craze around logging
21:53.52tomgibarabecause 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
21:54.04romainguy___don't get me wrong
21:54.08romainguy___I understand the importance of logging
21:54.25romainguy___what I don't understand is the endless debates around it
21:54.29romainguy___and all the different frameworks
21:54.31romainguy___and the flamewars
21:54.34romainguy___and all the articles
21:54.38tomgibararight, you mean the obsession about the mechanics of it :)
21:54.44romainguy___right :)
21:54.51morrildlI'll never forgive sun for JNDI
21:55.04romainguy___ahah :)
21:55.06morrildlor EJB
21:55.11pjv;-)
21:55.19tomgibaraEJB *shudder*
21:55.32pjvwhats wrong with EJB?
21:55.32romainguy___well EJB were not *that* bad when you didn't try to use them everywhere :)
21:56.06pjvit's a perfect example of good theory, but very complex practice
21:56.17pjvas are most good things ;-)
21:57.14romainguy___EJB is a monster child of MVC :p
21:57.17tomgibaraI taught myself some really valuable lessons from EJBs and my own misguided attempts at comparably abstract designs.
21:57.40pjvI was going to say: like MVC on Android...
21:58.10tomgibaraI distilled it into one very simple lesson: There are libraries and there are frameworks.
21:58.18tomgibaraLibraries empower you to do things. Frameworks stop you from doing things.
21:58.21pjvmany good architectures go terribly wrong if you try to use them everywhere: like agents
21:58.34tomgibaraYou need both, but don't mix them.
22:01.06pjv"In theory, there is no difference between theory and practice. But, in practice, there is."
22:07.27*** join/#android KenBW2 (n=kenbw2@80-192-186-72.cable.ubr07.pres.blueyonder.co.uk)
22:07.36KenBW2how do i run the SDK?
22:08.01Adman65easiest way is through eclipse
22:08.18KenBW2yea, that's what im trying to figure out
22:08.37Adman65did you download the sdk for your platform and the plugin for eclipse?
22:08.39tomgibarapjv: 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?
22:08.47*** join/#android Dralspire419 (n=dralspir@55-96.126-70.tampabay.res.rr.com)
22:08.51KenBW2Adman65: yup
22:09.04KenBW2and ive gone through all the procedure described at the Android site
22:09.17Adman65have you created the hello world ap?
22:09.19KenBW2it just doesn't mention how to actually run it
22:09.29KenBW2no, i just want to play with the demo
22:09.38Adman65run -> run configurations
22:09.45Adman65then select android app, select the right activity, then run it
22:10.08umdk1d3well crap :/  it appears that dmca might not cover my butt on this reverse engineering stuff
22:10.12pjvtomgibara: hmm, you'd be surprised, I expect we shall see quite a bit of spaghetticode in some years time
22:10.21umdk1d3considers moving to servers in germany
22:10.31KenBW2"Error: Path must only have one segment" :S
22:10.51Adman65did you set up the path to the sdk in the perferences
22:10.52pjvbut 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"
22:10.55tomgibarapjv: Actually, in truth, I probably wouldn't!
22:11.08KenBW2"The SDK"? The root folder?
22:11.38pjvsee Android has lots of freedom, but maybe it would be time to fixate into one way of doing things
22:11.39Adman65ya, whever you placed it on your system
22:11.42KenBW2Adman65: /home/kenneth/Transfers/Inbox/Deposit/android-sdk-linux_x86-1.0_r1 <-- that's what i have atm
22:11.55tomgibarapjv: This is the crux: you've produced several similar wheels, now identify how to abstract them
22:12.02Adman65did you add an entry to your .bashrc?
22:12.08KenBW2no?
22:12.11pjvtomgibara: like: where shall I place my preferences?
22:12.17tomgibaraThe point is that there's no blanket answer, because we're all turning out different wheels
22:12.18Adman65gotta do that too
22:12.30pjvI haven't decided yet, seems like arbitrary to me, thats why I'm asking some insights
22:12.33tomgibarapjv: classic example
22:12.36Adman65its on the android website as well
22:12.41*** join/#android Dralspire981 (n=dralspir@55-96.126-70.tampabay.res.rr.com)
22:12.48KenBW2Adman65: just chuck the path at the bottom of the file?
22:13.12tomgibaraI generally put them in a PreferencesActivity, but I've also written a game, in that case I designed a nice animated settings screen
22:13.19Adman65Ya, export PATH=${PATH}:/usr/share/android/tools
22:13.20tomgibaraIt depends on the task at hand
22:13.23Adman65that's what mine is
22:13.25pjvtomgibara: surely there are things to say, e.g. one is better than the other
22:13.31pjv(was only an example)
22:14.50Adman65i'm working on a practice app for myself, a simple internet radio player
22:15.01Adman65anyoen have a good example of usings tab in an xml file?
22:15.31tomgibarapjv: Things to say: producing the game settings was more work, but worth it to make a consistent UI
22:15.37pjvtomgibara: 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
22:16.00KenBW2Adman65: still happening
22:16.06pjvand then have multiple calls going into the domain
22:16.09Adman65hmmmm
22:16.23KenBW2Adman65: PATH=${PATH}:/home/kenneth/Transfers/Inbox/Deposit/android-sdk-linux_x86-1.0_r1/tools is what i have in .bashrc
22:16.36tomgibarapjv: rigid?
22:17.02Adman65hmm very odd
22:17.16KenBW2Adman65: what does the error mean
22:17.22Adman65you can try running it from the command line like described in the documents?  that may give you some greater insight into what's happening
22:17.39*** join/#android pedro_mg (n=pedromg@89.214.141.27)
22:17.44pjvtomgibara: I still need to work it out, but have a consistent way of Activities talking to eachother
22:17.47Adman65Sounds like something is wrong with the Path
22:18.01pjvpart of my disorder is that ACtivities are interconnected in many ways
22:18.05pjvsome use startActivity
22:18.11Adman65either Path in eclipse, or the path envrionment variable
22:18.11pjvothers startSubActivity
22:18.20pjvsome use results, others do not
22:18.39pjvsome of the results come as direct in the intent, others deeper in the intent
22:18.43KenBW2Adman65: im on Ubuntu installed with Wubi if that should mean anything
22:18.52pjvand then there are the dialogs, the alarms, the toats, ...
22:19.14pjvon a very high detail level it boils down to getting consistency in all of this
22:19.28Adman65KenBW2: no idea man.  Try the command line, it may yeild a better explanation
22:19.31pjvjust to preserve readable code
22:19.48KenBW2Adman65: im looking for the command, but can't see it
22:19.57pjvand code that preferably belongs to the ui as much as possible and doesn't need changing all that much
22:20.57Adman65http://code.google.com/android/intro/hello-android.html
22:20.59Adman65bottom of the page
22:21.24pjvthe ui part of Android really is too much freedom currently, I'm trying to limit some for myself
22:21.39pjvanother example are the many ways you can get into you app
22:21.55romainguy___what do you mean by "too much freedom"?
22:22.29pjvthe lifecycle alone is already quite complex, but you could also enter through any of the activities (if they have intent filters), through services ,...
22:22.45romainguy___and that's bad? :)
22:22.59pjvromainguy___: lot's of things you need to control to avoid bugs
22:23.13romainguy___only if you write an activity that can be called in different ways
22:23.17romainguy___it certainly doesn't have to
22:23.31romainguy___if you don't write the intent filers...
22:23.33pjvwel, assuming I would want to
22:23.43romainguy___well then that's your choice :)
22:23.57romainguy___you could write several activities instead, but that makes it easy to reuse activities
22:24.00pjvtrue, it is
22:24.15pjvassume several activities
22:24.22pjvstill need to plug all the holes
22:24.45pjvassume one would want to do such a complex thing...
22:25.13pjvI haven't still found a good approach for it to keep it manageable
22:25.20pjvtrade-off here is to avoid code duplication
22:25.46KenBW2Adman65: no error on command line. Why is this so much harder than on Windows?
22:26.11Adman65I don't know.  Works perfectly fine for me on gentoo
22:26.31f00f-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?
22:26.46f00f-centralizing the LocationListener sounds good, but not sure if i really need to do it
22:26.48KenBW2Adman65: does Eclipse really need to come into it? it doesnt on Windows
22:26.53pjvin 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
22:27.33Adman65no, it says you can use activitycreator.py to create the program
22:27.34pjvand keeping your code in a good state also takes some away
22:27.58KenBW2Adman65: hang on, Terminal's thrown something at me
22:28.38KenBW2Adman65: http://www.nomorepasting.com/getpaste.php?pasteid=20923
22:29.52Adman65I really don't know man. Sorry :(
22:30.46*** join/#android yakischloba (n=jake@c-24-22-171-214.hsd1.wa.comcast.net)
22:31.17f00f-but perhaps a service connection is too much baggage
22:31.24KenBW2Adman65: oh well, thanks anyway
22:31.42Adman65sorry man, it shouldn't be complicated.  the installation is pretty straightforward
22:32.09pjvKenBW2: don't you just want to run  "emulator"?
22:32.19KenBW2pjv: possibly?
22:32.25f00f-dude
22:32.29f00f-in windows double-click emulator.exe
22:32.34pjvKenBW2: do you just wanna see the red phone?
22:32.39f00f-in *nix, open up a shell and do: ./emulator
22:32.40KenBW2pjv: exactly
22:33.05pjvin android-whatever/tools run ./emulator
22:33.21*** join/#android Dougie187 (n=doug@68.35.245.156)
22:33.38KenBW2pjv, f00f-: thanks so much!
22:34.05KenBW2Adman65: see pjv's and f00f-'s solution. thanks for the help though :)
22:34.15Adman65ah
22:34.25Adman65i didn't know if you just wanted to run the emulator
22:34.41f00f-good luck bro
22:34.41KenBW2Adman65: sorry, wasn't being very clear
22:34.45f00f-enjoy android
22:34.46Adman65its all good
22:34.51Adman65least you got what you want
22:35.02KenBW2Adman65: indeed :)
22:36.19pjvromainguy___: do you have knowledge of any "About dialog" existing (dialog, component or app)?
22:36.26romainguy___no
22:36.32*** join/#android Adamant (n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net)
22:36.45f00f-haha
22:36.50pjvmany devs would benefit from it and it's being discussed in the androidstandards group to develop one amongst the devs
22:37.09pjvyou know, something like gnome's info window perhaps
22:37.25romainguy___sure, go ahead :)
22:38.19*** join/#android Adamant (n=Adamant@c-98-244-152-196.hsd1.ga.comcast.net)
22:39.03KenBW2is there a way to add a virtual SD card with music on for the emulator?
22:39.07pjvgtg, romainguy__, tomgibara, jasta, morrild: thanks for your input
22:41.19romainguy___KenBW2: yes, you can use the -sdcard flag to point to a disk image
22:41.28romainguy___(emulator -sdcard myimage.img)
22:41.51KenBW2romainguy: thanks
22:42.03jastaromainguy___: so, i think the RemoteView class is missing some functionality...
22:42.19jastait should be possible to bind buttons to intents, i think, so that you can implement buttons in your custom notification view
22:42.37romainguy___file requests
22:42.39jastafor instance, i want a "stop" button conveniently available in my music player's "now playing" ongoing notification
22:42.54jastaright, i was curious before i filed a request if this was even possible remotely?
22:43.05jastaIntents are parcelable, so this *should* work i think
22:43.05romainguy___there's no reason it would not be
22:45.00rayadoThat will work in theory, although there are two concerns:
22:45.32rayado1. 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
22:45.37rayadobecause that's the ui policy
22:46.23rayadoand 2. it needs to be done in the security context of the caller -- not the host of the RemoteView itself
22:46.27jastais that a policy that should be revised possibly?  i would find this a pretty compelling use case.
22:46.29rayadobut PendingIntent handles that, so it could work in theory
22:46.35rayadoit was a ui decision
22:46.47rayadothey didn't want the notifications crapped up with lots of ui
22:47.12jastai 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.
22:47.12rayadoon a touch device, I can see a pretty compelling argument for what you want, but I also understand their decision
22:47.30rayadoon a non-touch device, it would be awful
22:47.36romainguy___jasta: well the notification area doesn't belong to your app
22:47.38rayadobut that's no reason to change that for a touch device
22:47.43jastabecause 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
22:47.47romainguy___anyway
22:47.48romainguy___file a request
22:47.52jastai already did
22:47.56rayadoyeah... file a request
22:48.02jastaissue 948 :)
22:49.29rayadoone thing you can do is to use the notification entry as the pause button
22:49.41rayadoI'm not sure if that's really right in all cases
22:50.07jastayeah that doesn't make a lot of sense for the common case of wanting a quick entry into the playlist screen
22:50.13jastafor example if you want to pick the next track or wahtever.
22:50.20rayadoyou could also bring up a non-fullscreen activity
22:50.25rayadothat would make it a little less jarring
22:50.33jastai 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.
22:50.33rayadonot less clicks, but the user-load might be less
22:50.41jastabecause music playing on your phone can be something you want to shut off quickly
22:51.57gdsxjasta: I think the easy current way to do what you want is to just hold the volume-down button
22:52.09*** part/#android KenBW2 (n=kenbw2@80-192-186-72.cable.ubr07.pres.blueyonder.co.uk)
22:52.14jastasure, and thats what i imagine most users would realize
22:52.33jastabut still, i find this a compelling case to extend what the notification area will allow
22:52.36gdsx::nod::
22:57.06rayadoI'm not disagreeing by the way.  I'm only telling you what the UI designers wanted.
22:57.23jastamaybe i can open that dialog with them then
23:10.27taazwhich is the prefered terminology, settings or preferences?  the api is all about preferences but most of the apps seem to use 'settings' menu options
23:11.07romainguy___settings
23:14.46*** join/#android plusminus_ (i=4421a620@gateway/web/ajax/mibbit.com/x-ca81491dd0560b56)
23:15.27taazok.  why the difference terminology?  they both mean the same thing to me at first glance
23:32.40*** join/#android BBHoss (n=bbhoss@c-68-62-170-33.hsd1.al.comcast.net)
23:40.40*** join/#android AttractiveApe (n=phil@office.gossamer-threads.com)
23:41.33jastauhm, what the hell
23:42.35jastathis can't be, onItemClick has an off-by-one?
23:42.55jastaoh wait, header views affect list position?
23:43.12jastais so confused
23:43.58jastaso that must be what ListView#getItemIdAtPosition is all about?  correcting for this for me?
23:44.00*** join/#android AttractiveApe (n=phil@office.gossamer-threads.com)
23:48.01jastathis seems like a bug or something.  or at least inconsistent behaviour with other parts of the listview mechanics
23:48.03*** join/#android meoblast001 (n=meoblast@dynamic-acs-24-239-93-241.zoominternet.net)
23:49.35romainguy___just get the correct adapter using getAdapter()
23:49.45romainguy___when you use headers/footers, your adapter is wrapped by another adapter
23:49.55romainguy___it's transparent to ListView
23:51.59jastai see, but i have to account for this if i'm interpreting the position in the list?
23:52.17jastamy app was specifically looking at the clicked item pos as the position of the item in the adapter
23:52.48romainguy___call getAdapter(), cast to HeaderViewListAdapter
23:52.52romainguy___this offers the APIs you need
23:53.07Dougie187hows it going jasta?
23:53.10romainguy___like getHeadersCount()
23:53.21jastaahh, excellent
23:53.38romainguy___you can also use getItemId, getItem, etc.
23:53.46jastaso i can generalize this by just checking if getAdapter instanceof HeaderViewListAdapter then adjusting pos by getHeadersCount()?
23:53.48romainguy___they will offset correctly inside your adapter
23:53.53romainguy___yep
23:56.49Dougie187you got your program working for the most part?
23:58.19jastaYup, go it tested on real hardware too
23:58.21jastagot*
23:58.56jastait's working better than i expected, even.

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.