package Ġcom . mapbox . navigation . navigator Ċ Ċ import Ġandroid . hardware . Sensor Ċ import Ġandroid . hardware . Sensor Event Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Log Ċ import Ġcom . mapbox . navigator . Navigator Sensor Data Ċ import Ġcom . mapbox . navigator . Sensor Type Ċ import Ġjava . util . Date Ċ Ċ internal Ġobject ĠSensor Mapper Ġ{ ĊĊĠĠĠ Ġfun Ġget Supported Sensor Types (): ĠSet < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsupported Sensors Ġ= Ġmutable Set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ AC CEL ERO METER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ MAG NET IC _ FIELD , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ GYRO SCOPE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ GR AV ITY , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ PRESS URE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsupported Sensors . add ( Sensor . TYPE _ MAG NET IC _ FIELD _ UN CAL IB R ATED ) ĊĠĠĠĠĠĠĠ Ġsupported Sensors . add ( Sensor . TYPE _ GYRO SCOPE _ UN CAL IB R ATED ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupported Sensors . add ( Sensor . TYPE _ AC CEL ERO METER _ UN CAL IB R ATED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsupported Sensors ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Navigator Sensor Data ( sensor Event : ĠSensor Event ): ĠNavigator Sensor Data ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsensor Type Ġ= Ġto Sensor Type ( sensor Event . sensor ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠNavigator Sensor Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsensor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsensor Event . timestamp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsensor Event . values . toList () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Sensor Type ( sensor : ĠSensor ): ĠSensor Type ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( sensor . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ AC CEL ERO METER Ġ-> ĠSensor Type . AC CEL ERO METER ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ AC CEL ERO METER _ UN CAL IB R ATED Ġ-> ĠSensor Type . AC CEL ERO METER ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ MAG NET IC _ FIELD Ġ-> ĠSensor Type . MAG NET O METER ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ MAG NET IC _ FIELD _ UN CAL IB R ATED Ġ-> ĠSensor Type . MAG NET O METER ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ GYRO SCOPE Ġ-> ĠSensor Type . GYRO SCOPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ GYRO SCOPE _ UN CAL IB R ATED Ġ-> ĠSensor Type . GYRO SCOPE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ GR AV ITY Ġ-> ĠSensor Type . GR AV ITY ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSensor . TYPE _ PRESS URE Ġ-> ĠSensor Type . PRESS URE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Unsupported Sensor Event ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" This Ġtype Ġof Ġsensor Ġevent Ġis Ġnot Ġsupported : Ġ${ sensor . name }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ