From 54de0d8060502849a204edc35c679dd201d66054 Mon Sep 17 00:00:00 2001 From: Ricky Barrette Date: Sat, 10 Mar 2012 09:44:27 -0500 Subject: [PATCH] Updated the compass to compensate for device rotation Change-Id: I67640254a4c454a42719c99b5720e56b77eaf137 Signed-off-by: Ricky Barrette --- LocationLib/bin/locationlib.jar | Bin 61430 -> 63205 bytes .../android/location/CompassSensor.java | 147 ++++++++---------- 2 files changed, 67 insertions(+), 80 deletions(-) diff --git a/LocationLib/bin/locationlib.jar b/LocationLib/bin/locationlib.jar index bc97567a53bd2bd3bb5c0235ff6a7c362a7c2ebc..0fa32410cc783abbf3f784e5228fb46f3e5894cf 100644 GIT binary patch delta 11513 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 z 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 R0>%Q?iw*_`xAjNK{|9&{)MWqw delta 9702 zcmZ8nWk6K@(nq>MIs`3#z+t>qfP=?_K}JS~A=9*p$B==0Bp_pF`kH`b`2Vcq1F*qr z2-2|s;z34RNZPPs2V2zY=B?vecnbqTDk41_|#^BVR~3pqWe z|9DFeGPc78jUHlx+KsEB2A{wBBO?I5e#2sBZ{q5jq;6n`D~2aD+3i?c$t~@0S5iNt zJ*fe5*CV<-F9 z8&BZx`+GQ1BnKo{^ds4r-&qor;DT(D@Tr}5xtf9yT>Miez{E-EDN=TE-p5kl#HA9F zROq0v$f|$m)_36K3Zd$@adsZR#ENp^=5I;1VXFe(&kgiyA6Ye0-skkNk7jcS+HATT zu2|5KSQ4YB2=dZ3(HVD05aWl6cVQC*YDdn3T#R{O@x<=p#kuC^^$lGm%B0lAQ6;AGT1`IB7o{`;kC79IpiB6T0iPrE;(TPBp^N(Bm5$1uJ$6IW zDT3iSDGRVRlMxZj)BB68%-q|Y^n#&M=Z>F2J&BnVp@d5Wg#6iz36S#D^pkU;)-@a8VO<{;-&0_aJy!eoOO;sJ915t(+*Rz7W)CdE1gQ_YBU?tWtCA& zn>g~@@a0nWkz80<<;9T_ABk(xe5V#W-4uEu5%3+7uG-wS+?C`vHe5`7O>L^tZMQ=A z+O~tAj$UylZJeJ^ZNn&wxF(HL!Orj;GzqB<#;bG^wT1ZXO0$GmGzFE&9$vG!iQ=H$ zR!l7Ywz!T&7U&@)MQkGBsN*>Dr@}7GN$EgM`cQgZ+$dffH&J&Uex6ZqLNlfC!v^73fu^t->o)poZz&B(>DpkFQ1cGbsK|WH4Qz& znnxw>6Bo#@e_eGQzvVSq`ew1;Ptmw0N1m=NHqgm1h`vn~B>eKpu%!3Z7sEx%L>mvvI$ zS(0C-f6x|D?ovpVws+h*tp?6_;e`0O7ix81U(Td-|3Z~&jeXC2zaHghvq$n-i;)c@(SSmE)<(g!!rKEGe3O52u3bO3v8% zt?<~+?Rb06{VicY)D1vda@BUpv6S@M9XPbWJcqHQ$yL7gLt29CsCk?COHuOSjL?Yt ztou-XmZBAdO>tB1bUTO=rSRBRAl=q>Cb=2VQa&q0?DAolBiCWXW^wj~!BI)F=M7-m zS!ij3>_cONLt|Q?Xx@AVwbcG7QS#ads{Y_rS>^)X$M*y9@Q8T*y9%!&aZzz(QGk-* zuiqldO!mr;07{$SYimX~a^1sF0Vg(9>Lc3%yh1a$ox>Xi5| zL%%iI*Q3SvP_OhhlG?*BA2QH>{}fUUYZ~D{2e`QcYe_eM#R-mbqjo0mVqYfU_022{ ze6F9XDUd!lBPYMfB2cq$y^S&kr|iK4hs8;xZ%`GCrJgKP!=)1hzG&-t~GKdkKeeRVa`jR`PalP%0{ zjQ$f^l2-1b$Fx+X(h?;t+Ksk!#K3i{o`#|x)sTe-{N_uunRM7swMqJy;nqmR-*5znA9&wkNPX*yK9w6^27H=rZQtzyvbvMLNmnCAUPH276f*i+$U z@vmDJ=lh$%=dyJkJ3uyF2d50+w2TUMAGgvw`^NGwlM{`2!KB*PKi~m%z9#A}KHI$4u_R- z^I~={E?Pjl4^ikvx6=C#&BRo*AKe%}-k=1ykJ;iel9J-LNNT9jLn)Nc%{0y(5iX{sL;e=hM3vw3Y4>UT z>YdTUZa+uT?&vWeX*0;kJ9@GnvT^`dUbj zZ+U4F5;{}Q_jot^v7IkDTL4u~Trwhlv}fJy4c>;0=n{LVv)rDptc{E~eICPa>hO^V z2w5ZYs+t!*DtyVI6Ulct3aQ&0PnXP+&jG0RNS_K88YI`9d_Lnf%x^8DOIQTf5;UGN zb}gx^!}~}F=D~_u=Lr-${4{!lE_pB*X+f;}x;4~Ne`-8P0exg#`%6~fT-65dF3AX@ z8~Pw^GwmI%<=h%u5@Zw>q)CLU9TBf{AAiLx|4{#a0SZGiF}nnieC57TaF%`E}~v)m%t8(AEzAIF3yS|{?USrHU0Uz z9{HMT>P0U4v^)VNHb8Pq@tu*O{b_?zTx^M|QR#iOd{(e)G41&4-xaZ#Zi91~u^!eW z+b%rlgDw4G3MzfGjWWsv4qBTQX^k=n1W_~P3q1yBjk=obK#5Mw#3g>9-<=)Ie6=i5 zHtZ|}rj(6b4QINPh-_u`d6A#tO`1?=uK&hyI$}-SOtC?)r;>mOp+e4~sVlqS5I+FI zE84`GeVV_8v~K>n*z~fHapA6L5@^9-R zfqJ-~v%%cWCHK>r%cQo2qq)-j-dt)0`86^2KHn9tRrXfM^Ek(WUR3@8Xs0!P7vq~} zl&?s`h~{%|t&kc4;++2BH8H#b-(vg}Th*M^-Qwte(pu+9+V%0PI-0_$xFEEz^79t& z?S%xu@VF@W(|$ihd-w4x6@;24X-Rg1Tzcb{ccD-5j&-rvEDQ4~{orQWn39bJNE#hacWVxMm7etM z-k*Y0hJg#=iuCz!!-8rmm=oJBteYBiH>D74>m=Lz3fSPOb&~*gM>QIewVmr!`%KP= zsZ_zD4Kzh*8z~>WglDb4_k%~aNJwKpUwizzPElqM_@X!J!eHok|0 zvkmS~O45J8YAX1cj*O%JZyJorM-Qq#rUeB$EkLV3V`o`3=%U=W9$LMDbOOY|MgBEU z6`W2$-;?wyeMSK(L$JW+K`j5N4*xv1P(Vbd7~rWGhyPTn>|l?Ckf&1cK9Tsz5J@sV zbn#CfjsmJa!v}k(2p~brIjk;r@Lo0vv|0rtmMA_!bpq%?kn@+odTkUhjcNRQC(8t$ zwANs3_HV1O`JJ!fr4islm1Nl@=it$$7s=CP&L9@cZrd>d?kUZ7OSbjNy5-FE^>niffNsy$I-s=A}kVM8jQKF-Z(nezt0wt;wu zM0FwjT5{HLt``ONYs}C*!aiV2hPzRYaT)wJw>fFZfa=(T#A6;kSIzkS^GZ?g75=Ux zd}MDTo7viep#(Xz9R|iNoZ@#u)3`i~ZWDOgsXHo)iWT1>U;$t{wrr~Mx?%pMjfR->;cLNT&nJMaaXM}kRaolCw=2_o^^ zFC4x(#Hd_LZ_*(tMj3WV5K^Twal1|*H=I?HY;lOPmC~EGGnjD6a_l4jV%hu+9>Jb( zJhr|IF%~s*{j4(nvT7NAKv^rc~P8zRV++g*T>Zzz@Xn>w5(+IS*3f z5YTJ1Cw^p)pcDZnRW<-RF0M+=PEl!#*7h|@X&+?STP9_7YqO3nTG|Ns_)iR+LoTjQ z7hgAm>U@Aq{Kh};l_Y|2m+IH&L{WY;rCuxKpe{m`^9y%(ACN}vv?-mf{XcQpEC9mZ zfcVZ3#zWIc00~(k49qG{OSUvY)+xBkBj633Y8Tx75p%{>IpMG=YBT)X-q7cth5z8>L|MN`r09r&ds4Cut;%S zDt*MfAo}_~H?3}iAqz1*e5<#md2-!^3j=rOXyGLaRO=X*DkayD;OVj8+;#*q?QJ7r%F^ENo~=dNCt)V@9b z`2AFvO&4~Ni^fbpS6GeRpss5=9^h)wcVN+7Y>~cUI`&0y)H(wt(LrvzH|l24<$>S| zg3}ee;)f}rR)mK^7~6>8ol3$&KDbMDV2=$XG$|e)PT51wmzSsbuDT(owTtXMp~+9< zJ;B9KQy|~v-c72C+2Yu#AN&Xx++=2234Inf$#1N58s4pz*Y0Z-K{Id}YcRDZ?3tXg*2Sl>us zf5CE50XhD&MJ07`ZLvARO<}BxNgRWoNYU(|B0xKNzr4@aRC4W_ugC&q#>y#Z&GdSscMXpF0>ft2@lqhtLAWpQw- zbKhZ%2rvhPd7&J;|2hOSEysXtSXq&P5d04$D(!jfFPX2aIUlG7VSk-lc%YU3G~*}l z!_7trmB(cbEYNXj*HpsUJmAmnR^QBW==C+X*gh(t3U^w!!B}}Uhgny$cf-{2Gt5`%zWrH6%LpWRi(W#_bM9B$1wmK+lrnM_0Uwf*zUSM53IHUFlLB(EUzw zIms4BdGIJa$L&#k@YC`ert7jXF7Sz0P`W*!S6;vT=L`HM43@ARjqLbZ}BSm8RCP zF(b)PY3Y?7e^(0)Gv;HX34Q%BxtHsrKqx+nGvL2x@}|ZeW?=78>Kn!%!5`W_Y))M% zS4;ue$QPH(m3Y<1!~K%Z@*Gu=Q*=fQZ3yMf4ql zrr=5hNj|yEw-h#F`Tn|)8N=(*JQs<(mPFUlBi*4$qBv7`<9G9 z??g(^-A#~Y=ll6{C6k3^Bv4Brwr5K6>!xBnayT0(msgxnCX(3j7NRdQ=qaWrsz_PE zZY#<;h!v4{$C|#`7tj>++tnOc`NbOkQkaWIO8y@G8^nfH=#0hR1DR$-7<15(hWCvM zVc(!RV9&k$J>avv(S1XNPJx5r*({1pK_2Tvh*@ddiWAUJ`&Q8+1E^D8B*?7iDz!Yc zBhijh-56EG-&wN$frod`yumw=I*Yr8u6`u`=kr#o(WyCk+rrm39cI+pFM8jems+O= zzSF2Ks?iJ$*e^HL(>k&hwhOKAJB?czkl)s-^*M*lU(Pc*r#W*{>u4T8ID&*ctC;Q{&H0P>~z*G8B2v z$+R>0uE@y_U?ifKUCix!_kNa9$x4ANsac82Eu;T(6)BH`u>`n)Qs*KtuEo$s(ss$$ zw(sgQU7j_R_`3d7H9N{%hYZ%a+XA9$C@SArn{#o7mQjHG`tp|oN z{=-alnb>ST+6O*lMN{n8UeQ_f7@lKC4e| zNyaOOe-xb@b{AN!i?zxek1ZZmbza_+eatgUCA^Fz@#%WmBqKcEfvs?uah`E9_ktlzTC zMJb%GSGIb28@95u8VUv274cP8{W3=6`N@9seZRN3S%4k*qm7WlsqB~J7gr@J8_zMC z+q;Y6Irp3`UZb3AL!-??f_7{AYc8$Bj?iimjSlL_g5Qnpr_c017phoQd*bS8mCXpv z%~U#jFA1-kXQa4RJH8C6y4p~kt1lN1W+)W->M^_8_QJ^v2WdbHab@*j!tchBnA@97 zWZiBCRFYf;?De~`AwC|vWh$+(rX z)L|1M;kmpYab=fgW4wtsl4F;nztds_k~3lUx20AFLz%Osp@|3L)(>Nm?EX|5>rtk# z$LjY+d$*ST51mx?tJx|W2zPaYRY0#efl8RD)DW44IY=w(xWYUKe%nm`1 zIfa|}8OAvomxc@My!)*#3E_AVl>>4f8;6W>Ft-ITzfO{hoGVO`(9IgN+t&1ocnu`x z0d9D{K0A@?&1>3 zyFx%oGSPi#a|~C?msxAAgA}cXR0EqW)|2p+7M4Wi0OhRtZvYKYkQmqds-z#(3zQ^y z#Spum+I$*bfbXbrb#B0dVu;M6*|E1A%#?}U_Yu{QK_CJ=U2p7lMd&)@Eb#s|09oF> zTTwB0@61c$_WC_n+<;E_w#obm>x83Lp2rAvy&fC-X5*`mLug{jiSRbW>Y#EoF=aZG zT4%+NjA&vriSRnz?DUZYz*c7$D}jNYsJ;nNCVF^2FuZIUuc1&%#MWRE>=;gCeg0Yd zpL)|a%x5eJ0|q9V{D13Bt_CUKh`OF8-h;u}srXM_I{CHwq960(I3KO|tVEfN;Yy#W z$x3vT=_k;7e{3Z*A~z!SwAlHw)a8)pGG*(1q$Dii2#djrDy=gt29U?`Ydj z_PM~$-SI$G74RqVH>CoARmM*#1&hOT$?;LTcFhK>z>F>HNP$~= zE!9 zN=-F?1CuP&>%6Z{5WeGJi-HV18Mmtyw85z>`_n7fV zARL_380tCt%q;sJ>8u3EUJ4U~XX2p?q2J3h3~8O-GWZQVOui_KtvXDeD2RG>Tk9Cp ztfCqoJUpp|gF5}al3+3ee9PbUmd@MRVPLzcHJ({Urm3lS=#r7Q1E@eOVMLLNWfi#F z)q|=F06SvC&n6vRwPJB)D$UYUJhjI_NAI1z}pYQQ_<5J z4>DZ$2W)rdPH(jm@vs;XS7zV9^jq+axe^eAy+e)nh-#{GLTA1W&xT|8c>5&ZQieWQh^uf!|(L5=2+CncKeiu9*i_BlrHoMEY?$f={$Z{Ve+bkBI zn%FFB`%#T2&!r~V*7P)THHE%0Dv~VsCvCEx+YYx$lLS!vI3dS3cuUwMV!8uIxEqHO z9@r;-;Z{@aG~h{ z5nUN4Z^oXOx28CYyfRJy>flS1F?m<@@ny#7Vlp;JCV$a@ci!N~e2<3W-Zy@{ zV*vUmn`c0t%xybw-HylK<&sqp`Ck8JO%X!ji;wJ0+Tj-$9*3_QnA2XC@rt*?jL3_u zcPG9nTjte#Eym?7>8|uj3ip7o7=ll}flz#kfe~;*pF#nFZ#N+Tu9j9@a5NZ(B`x>u zXeW4|P+>^`d?<#r^BVo{VqqhvGHC8#aS2>nNM#nLGH|klXgz?>GWa2Z&DzCnFfRs- z$LtF6qUm{LlilnvDVi zUJ`+g1{0n-WLypGp#3p4@SBm~r`}iN7!9-|240)w#D=!Hh&Cml)NoT5N?ZP+L|ae1 z`<6LWzPP0gr99hDeD<~pl!x7UqLw>GP`-ah2TEV>KGA?(Ehs;~s{y5N_H3avd(R0< zvGid7(Z7eD-2WPL z!oUoefj*eL0c9QGLV^FDdi^H`MR8L=nh);>2 z#^O;q^$i|9Zg~X%eP~vox2M8TAL36*VJVXygG2>lOQQS}6{z^x87Zt#GE}UX{PO?B z&W~cv6p&a7FDUH<9lDcC<|2ioM^7|yVPO7_{X7VACIR)>+d-3U_|emV$Eaxjw?ai^ zmlRNu$R#PPZ5LDoynGEc=WGm^Gk=U29|8=_-{$0cp}@y`mi=k`{#M}`EFR4Ne}*OM zAnjyX|9HkH5n*7Y|MCQ5;2%|Lkloc&czv!&VYx@3;^r$dOxDNK= 25) - isNormal = true; - - if (isNormal) - myAzimuth = myAzimuth + 90; - else - myAzimuth = myAzimuth - 90; - } - - mHandler.sendMessage(mHandler.obtainMessage(BEARING, myAzimuth)); - } - - - } + }; /** * Creates a new CompassSensor * @author ricky barrette */ - public CompassSensor(Context context) { - mContext = context; - setUiHandler(); - - //start getting information from the compass sensor - new Thread(new Runnable(){ + public CompassSensor(final Context context) { + mHandler = new Handler(){ @Override - public void run() { - mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE); + public void handleMessage(Message msg){ +// System.out.print((Float) msg.obj); + if(mListener != null) + if(msg.what == BEARING) + mListener.onCompassUpdate((Float) msg.obj); } - }).start(); - mCallBack = new SensorCallBack(); + }; + + mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); } /** @@ -113,26 +110,16 @@ public class CompassSensor{ public void enable(CompassListener listener){ if(mListener == null) { mListener = listener; - if(mSensorManager == null) - mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE); - mSensorManager.registerListener(mCallBack, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), Debug.COMPASS_UPDATE_INTERVAL); + if(mSensorManager != null) + new Thread(new Runnable(){ + @Override + public void run() { + // Register this class as a listener for the accelerometer sensor + mSensorManager.registerListener(mCallBack, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), Debug.COMPASS_UPDATE_INTERVAL); + // ...and the orientation sensor + mSensorManager.registerListener(mCallBack, mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), Debug.COMPASS_UPDATE_INTERVAL); + } + }).start(); } } - - /** - * Sets up the UI handler - * @author ricky barrette - */ - private void setUiHandler() { - mHandler = new Handler(){ - @Override - public void handleMessage(Message msg){ -// System.out.print((Float) msg.obj); - if(mListener != null) - if(msg.what == BEARING) - mListener.onCompassUpdate((Float) msg.obj); - } - }; - } - } \ No newline at end of file