4343import mad .location .manager .lib .SensorAux .SensorCalibrator ;
4444import mad .location .manager .lib .Services .KalmanLocationService ;
4545import mad .location .manager .lib .Services .ServicesHelper ;
46+ import mad .location .manager .lib .Services .Settings ;
47+
4648import com .example .lezh1k .sensordatacollector .Interfaces .MapInterface ;
4749import com .example .lezh1k .sensordatacollector .Presenters .MapPresenter ;
4850import com .mapbox .mapboxsdk .Mapbox ;
@@ -179,6 +181,8 @@ private void set_isLogging(boolean isLogging) {
179181 Button btnStartStop = (Button ) findViewById (R .id .btnStartStop );
180182 TextView tvStatus = (TextView ) findViewById (R .id .tvStatus );
181183 Button btnCalibrate = (Button ) findViewById (R .id .btnCalibrate );
184+ Button gpsProvider = (Button ) findViewById (R .id .button_gps );
185+ Button fusedProvider = (Button ) findViewById (R .id .button_fused );
182186 String btnStartStopText ;
183187 String btnTvStatusText ;
184188
@@ -188,27 +192,38 @@ private void set_isLogging(boolean isLogging) {
188192 m_presenter .start ();
189193 m_geoHashRTFilter .stop ();
190194 m_geoHashRTFilter .reset (this );
195+ Settings .LocationProvider provider = Settings .LocationProvider .GPS ;
196+ if (gpsProvider .isSelected ())
197+ {
198+ provider = Settings .LocationProvider .GPS ;
199+ }
200+ else if (fusedProvider .isSelected ())
201+ {
202+ provider = Settings .LocationProvider .FUSED ;
203+ }
204+ Settings .LocationProvider finalProvider = provider ;
191205 ServicesHelper .getLocationService (this , value -> {
192206 if (value .IsRunning ()) {
193207 return ;
194208 }
195209 value .stop ();
196210 initXlogPrintersFileName ();
197- KalmanLocationService . Settings settings =
198- new KalmanLocationService . Settings (
211+ Settings settings =
212+ new Settings (
199213 Utils .ACCELEROMETER_DEFAULT_DEVIATION ,
200- Integer .parseInt (mSharedPref .getString ("pref_gps_min_distance" , "" )),
201- Integer .parseInt (mSharedPref .getString ("pref_gps_min_time" , "" )),
202- Integer .parseInt (mSharedPref .getString ("pref_position_min_time" , "" )),
203- Integer .parseInt (mSharedPref .getString ("pref_geohash_precision" , "" )),
204- Integer .parseInt (mSharedPref .getString ("pref_geohash_min_point" , "" )),
205- Double .parseDouble (mSharedPref .getString ("pref_sensor_frequency" , "" )),
214+ Integer .parseInt (mSharedPref .getString ("pref_gps_min_distance" , "10 " )),
215+ Integer .parseInt (mSharedPref .getString ("pref_gps_min_time" , "2000 " )),
216+ Integer .parseInt (mSharedPref .getString ("pref_position_min_time" , "500 " )),
217+ Integer .parseInt (mSharedPref .getString ("pref_geohash_precision" , "6 " )),
218+ Integer .parseInt (mSharedPref .getString ("pref_geohash_min_point" , "2 " )),
219+ Double .parseDouble (mSharedPref .getString ("pref_sensor_frequency" , "10 " )),
206220 this ,
207- false ,
208221 true ,
222+ false ,
209223 true ,
210224 Utils .DEFAULT_VEL_FACTOR ,
211- Utils .DEFAULT_POS_FACTOR
225+ Utils .DEFAULT_POS_FACTOR ,
226+ finalProvider
212227 );
213228 value .reset (settings ); //warning!! here you can adjust your filter behavior
214229 value .start ();
@@ -465,6 +480,23 @@ protected void onCreate(Bundle savedInstanceState) {
465480 } else {
466481 //todo set some status
467482 }
483+ Button gpsProvider = (Button ) findViewById (R .id .button_gps );
484+ Button fusedProvider = (Button ) findViewById (R .id .button_fused );
485+ gpsProvider .setSelected (true );
486+ gpsProvider .setOnClickListener (new View .OnClickListener () {
487+ @ Override
488+ public void onClick (View v ) {
489+ fusedProvider .setSelected (false );
490+ gpsProvider .setSelected (true );
491+ }
492+ });
493+ fusedProvider .setOnClickListener (new View .OnClickListener () {
494+ @ Override
495+ public void onClick (View v ) {
496+ gpsProvider .setSelected (false );
497+ fusedProvider .setSelected (true );
498+ }
499+ });
468500 }
469501
470502 @ Override
0 commit comments