package Ġcom . se v enc ray ons . compass Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . hardware . Sensor Ċ import Ġandroid . hardware . Sensor EventListener Ċ import Ġandroid . widget . TextView Ċ import Ġcom . se v enc ray ons . compass . Comp ass . Comp ass Listener Ċ import Ġandroid . hardware . Sensor Manager Ċ import Ġandroid . hardware . Sensor Event Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . ImageView Ċ import Ġcom . se v enc ray ons . compass . Comp ass Ċ Ċ class ĠComp ass ( context : ĠContext ) Ġ: ĠSensor EventListener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġarrow View : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġs ot w Label Ġ// ĠS OT W Ġis Ġfor Ġ" side Ġof Ġthe Ġworld " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġcurrent Az imuth Ġ= Ġ 0 f ĊĊĠĠĠ Ġinterface ĠComp ass Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon New Az imuth ( az imuth : ĠFloat ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠComp ass Listener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġsensor Manager : ĠSensor Manager ĊĠĠĠ Ġprivate Ġval Ġg sensor : ĠSensor ĊĠĠĠ Ġprivate Ġval Ġms ensor : ĠSensor ĊĠĠĠ Ġprivate Ġval Ġm Gravity Ġ= ĠFloat Array ( 3 ) ĊĠĠĠ Ġprivate Ġval Ġm Geom ag netic Ġ= ĠFloat Array ( 3 ) ĊĠĠĠ Ġprivate Ġval ĠR Ġ= ĠFloat Array ( 9 ) ĊĠĠĠ Ġprivate Ġval ĠI Ġ= ĠFloat Array ( 9 ) ĊĠĠĠ Ġprivate Ġvar Ġaz imuth Ġ= Ġ 0 f ĊĠĠĠ Ġprivate Ġvar Ġaz imuth Fix Ġ= Ġ 0 f ĊĠĠĠ Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsensor Manager . register Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġg sensor , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor Manager . SENSOR _ DELAY _ GAME ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsensor Manager . register Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġms ensor , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor Manager . SENSOR _ DELAY _ GAME ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsensor Manager . unregister Listener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Az imuth Fix ( fix : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaz imuth Fix Ġ= Ġfix ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset Az imuth Fix () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Az imuth Fix ( 0 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Listener ( l : ĠComp ass Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġlistener Ġ= Ġl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠĠĠ Ġ@ Override ĊĠĠĠ Ġ// ĠĠĠ Ġpublic Ġvoid Ġon Sensor Changed ( Sensor Event Ġevent ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġfinal Ġfloat Ġalpha Ġ= Ġ 0 . 9 7 f ; ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġsynchronized Ġ( this ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event . sensor . getType () Ġ== ĠSensor . TYPE _ AC CEL ERO METER ) Ġ{ ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gravity [ 0 ] Ġ= Ġalpha Ġ* Ġm Gravity [ 0 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġevent . values [ 0 ]; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gravity [ 1 ] Ġ= Ġalpha Ġ* Ġm Gravity [ 1 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġevent . values [ 1 ]; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gravity [ 2 ] Ġ= Ġalpha Ġ* Ġm Gravity [ 2 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġevent . values [ 2 ]; ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġm Gravity Ġ= Ġevent . values ; ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . e ( TAG , ĠFloat . toString ( m Gravity [ 0 ])); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event . sensor . getType () Ġ== ĠSensor . TYPE _ MAG NET IC _ FIELD ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġm Geom ag netic Ġ= Ġevent . values ; ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic [ 0 ] Ġ= Ġalpha Ġ* Ġm Geom ag netic [ 0 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġevent . values [ 0 ]; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic [ 1 ] Ġ= Ġalpha Ġ* Ġm Geom ag netic [ 1 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġevent . values [ 1 ]; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic [ 2 ] Ġ= Ġalpha Ġ* Ġm Geom ag netic [ 2 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġevent . values [ 2 ]; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . e ( TAG , ĠFloat . toString ( event . values [ 0 ])); ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġboolean Ġsuccess Ġ= ĠSensor Manager . get Rotation Matrix ( R , ĠI , Ġm Gravity , ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic ); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( success ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfloat Ġorientation [] Ġ= Ġnew Ġfloat [ 3 ]; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSensor Manager . get Orientation ( R , Ġorientation ); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . d ( TAG , Ġ" az imuth Ġ( rad ): Ġ" Ġ+ Ġaz imuth ); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaz imuth Ġ= Ġ( float ) ĠMath . to Degrees ( orientation [ 0 ]); Ġ// Ġorientation ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaz imuth Ġ= Ġ( az imuth Ġ+ Ġaz imuth Fix Ġ+ Ġ 3 6 0 ) Ġ% Ġ 3 6 0 ; ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . d ( TAG , Ġ" az imuth Ġ( deg ): Ġ" Ġ+ Ġaz imuth ); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on New Az imuth ( az imuth ); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĠĠĠ Ġ} ĊĠĠĠ Ġprotected Ġfun Ġbe aring ( ĊĠĠĠĠĠĠĠ Ġstart Lat : ĠDouble , ĊĠĠĠĠĠĠĠ Ġstart Lng : ĠDouble , ĊĠĠĠĠĠĠĠ Ġend Lat : ĠDouble , ĊĠĠĠĠĠĠĠ Ġend Lng : ĠDouble ĊĠĠĠ Ġ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlatitude 1 Ġ= ĠMath . to Radians ( start Lat ) ĊĠĠĠĠĠĠĠ Ġval Ġlatitude 2 Ġ= ĠMath . to Radians ( end Lat ) ĊĠĠĠĠĠĠĠ Ġval Ġlong Diff Ġ= ĠMath . to Radians ( end Lng Ġ- Ġstart Lng ) ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= ĠMath . sin ( long Diff ) Ġ* ĠMath . cos ( latitude 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMath . cos ( latitude 1 ) Ġ* ĠMath . sin ( latitude 2 ) Ġ- ĠMath . sin ( latitude 1 ) Ġ* ĠMath . cos ( latitude 2 ) Ġ* ĠMath . cos ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlong Diff ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ( Math . to Degrees ( Math . atan 2 ( y , Ġx )) Ġ+ Ġ 3 6 0 ) Ġ% Ġ 3 6 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sensor Changed ( event : ĠSensor Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġalpha Ġ= Ġ 0 . 9 7 f ĊĠĠĠĠĠĠĠ Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event . sensor . type Ġ== ĠSensor . TYPE _ AC CEL ERO METER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gravity [ 0 ] Ġ= Ġalpha Ġ* Ġm Gravity [ 0 ] Ġ+ Ġ( 1 Ġ- Ġalpha ) Ġ* Ġevent . values [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gravity [ 1 ] Ġ= Ġalpha Ġ* Ġm Gravity [ 1 ] Ġ+ Ġ( 1 Ġ- Ġalpha )* Ġevent . values [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Gravity [ 2 ] Ġ= Ġalpha Ġ* Ġm Gravity [ 2 ] Ġ+ Ġ( 1 Ġ- Ġalpha )* Ġevent . values [ 2 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġm Gravity Ġ= Ġevent . values ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . e ( TAG , ĠFloat . toString ( m Gravity [ 0 ])); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event . sensor . type Ġ== ĠSensor . TYPE _ MAG NET IC _ FIELD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġm Geom ag netic Ġ= Ġevent . values ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic [ 0 ] Ġ= Ġalpha Ġ* Ġm Geom ag netic [ 0 ] Ġ+ Ġ( 1 Ġ- Ġalpha )* Ġevent . values [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic [ 1 ] Ġ= Ġalpha Ġ* Ġm Geom ag netic [ 1 ] Ġ+ Ġ( 1 Ġ- Ġalpha )* Ġevent . values [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic [ 2 ] Ġ= Ġalpha Ġ* Ġm Geom ag netic [ 2 ] Ġ+ Ġ( 1 Ġ- Ġalpha )* Ġevent . values [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . e ( TAG , ĠFloat . toString ( event . values [ 0 ])); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠR Ġ= ĠFloat Array ( 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠI Ġ= ĠFloat Array ( 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= ĠSensor Manager . get Rotation Matrix ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR , ĠI , Ġm Gravity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Geom ag netic ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorientation Ġ= ĠFloat Array ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSensor Manager . get Orientation ( R , Ġorientation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . d ( TAG , Ġ" az imuth Ġ( rad ): Ġ" Ġ+ Ġaz imuth ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaz imuth Ġ= ĠMath . to Degrees ( orientation [ 0 ]. toDouble ()). toFloat () Ġ// Ġorientation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaz imuth Ġ= Ġ( az imuth Ġ+ Ġ 3 6 0 ) Ġ% Ġ 3 6 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// C asa Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 7 . 2 2 8 5 7 8 9 1 7 5 5 7 6 9 , Ġ- 3 . 6 5 7 4 6 5 0 6 7 1 9 6 0 6 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġyour latitude Ġ= Ġ 3 7 . 2 2 8 5 7 8 9 1 7 5 5 7 6 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġyour longitude Ġ= Ġ- 3 . 6 5 7 4 6 5 0 6 7 1 9 6 0 6 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// M erc ad ona Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 7 . 2 2 9 7 7 7 2 7 0 5 2 0 2 6 , Ġ- 3 . 6 5 4 0 5 7 9 6 2 9 1 0 1 8 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ay unt amiento Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 7 . 2 3 0 6 4 9 0 5 4 9 6 9 1 9 , Ġ- 3 . 6 5 7 1 9 4 0 1 9 7 1 1 1 8 9 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// P ase o Ġde ĠR on da Ġ 2 8 Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 7 . 2 2 4 3 1 1 7 2 8 9 8 5 3 7 , Ġ- 3 . 6 5 5 9 2 5 4 4 6 8 4 0 8 2 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// I li ber is Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 7 . 2 2 3 7 9 5 6 9 4 3 6 7 0 6 , Ġ- 3 . 6 8 1 1 2 6 5 8 8 8 5 8 3 0 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// E ts i it Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 7 . 1 9 6 9 9 8 1 9 1 5 1 0 3 2 , Ġ- 3 . 6 2 4 9 9 6 8 2 8 7 6 3 5 5 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlat Where To Point Ġ= Ġ 3 7 . 1 9 6 9 9 8 1 9 1 5 1 0 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlng Where To Point Ġ= Ġ- 3 . 6 2 4 9 9 6 8 2 8 7 6 3 5 5 4 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaz imuth Ġ-= Ġbe aring ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyour latitude , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyour longitude , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Where To Point , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlng Where To Point ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" az imuth Ġ( deg ): Ġ$ az imuth ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener !!. on New Az imuth ( az imuth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Accuracy Changed ( sensor : ĠSensor , Ġaccuracy : ĠInt ) Ġ{} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Comp ass " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġsensor Manager Ġ= Ġcontext . getSystem Service ( Context . SENSOR _ SERVICE ) Ġas ĠSensor Manager ĊĠĠĠĠĠĠĠ Ġg sensor Ġ= Ġsensor Manager . getDefault Sensor ( Sensor . TYPE _ AC CEL ERO METER ) ĊĠĠĠĠĠĠĠ Ġms ensor Ġ= Ġsensor Manager . getDefault Sensor ( Sensor . TYPE _ MAG NET IC _ FIELD ) ĊĠĠĠ Ġ} Ċ }