prevents a crash that occured when system location settings where off (see #32) & shiny new owmdroid library, YAY!
This commit is contained in:
parent
c0acbb5ec8
commit
61acda4e1e
4 changed files with 24 additions and 13 deletions
|
@ -50,6 +50,7 @@ import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.osmdroid.config.Configuration;
|
||||||
import org.y20k.trackbook.helpers.DialogHelper;
|
import org.y20k.trackbook.helpers.DialogHelper;
|
||||||
import org.y20k.trackbook.helpers.LogHelper;
|
import org.y20k.trackbook.helpers.LogHelper;
|
||||||
import org.y20k.trackbook.helpers.TrackbookKeys;
|
import org.y20k.trackbook.helpers.TrackbookKeys;
|
||||||
|
@ -121,7 +122,7 @@ public class MainActivity extends AppCompatActivity implements TrackbookKeys {
|
||||||
}
|
}
|
||||||
|
|
||||||
// set user agent to prevent getting banned from the osm servers
|
// set user agent to prevent getting banned from the osm servers
|
||||||
org.osmdroid.tileprovider.constants.OpenStreetMapTileProviderConstants.setUserAgentValue(BuildConfig.APPLICATION_ID);
|
Configuration.getInstance().setUserAgentValue(BuildConfig.APPLICATION_ID);
|
||||||
|
|
||||||
// set up main layout
|
// set up main layout
|
||||||
setupLayout();
|
setupLayout();
|
||||||
|
@ -454,19 +455,20 @@ public class MainActivity extends AppCompatActivity implements TrackbookKeys {
|
||||||
|
|
||||||
switch (mFloatingActionButtonState) {
|
switch (mFloatingActionButtonState) {
|
||||||
case FAB_STATE_DEFAULT:
|
case FAB_STATE_DEFAULT:
|
||||||
// show snackbar
|
|
||||||
Snackbar.make(view, R.string.snackbar_message_tracking_started, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
|
||||||
|
|
||||||
// change state
|
|
||||||
mTrackerServiceRunning = true;
|
|
||||||
mFloatingActionButtonState = FAB_STATE_RECORDING;
|
|
||||||
setFloatingActionButtonState();
|
|
||||||
|
|
||||||
// get last location from MainActivity Fragment // todo check -> may produce NullPointerException
|
// get last location from MainActivity Fragment // todo check -> may produce NullPointerException
|
||||||
MainActivityMapFragment mainActivityMapFragment = (MainActivityMapFragment) mSectionsPagerAdapter.getFragment(FRAGMENT_ID_MAP);
|
MainActivityMapFragment mainActivityMapFragment = (MainActivityMapFragment) mSectionsPagerAdapter.getFragment(FRAGMENT_ID_MAP);
|
||||||
Location lastLocation = mainActivityMapFragment.getCurrentBestLocation();
|
Location lastLocation = mainActivityMapFragment.getCurrentBestLocation();
|
||||||
|
|
||||||
if (lastLocation != null) {
|
if (lastLocation != null) {
|
||||||
|
// change state
|
||||||
|
mTrackerServiceRunning = true;
|
||||||
|
mFloatingActionButtonState = FAB_STATE_RECORDING;
|
||||||
|
setFloatingActionButtonState();
|
||||||
|
|
||||||
|
// show snackbar
|
||||||
|
Snackbar.make(view, R.string.snackbar_message_tracking_started, Snackbar.LENGTH_SHORT).setAction("Action", null).show();
|
||||||
|
|
||||||
// start tracker service
|
// start tracker service
|
||||||
startTrackerService(ACTION_START, lastLocation);
|
startTrackerService(ACTION_START, lastLocation);
|
||||||
|
|
||||||
|
@ -474,7 +476,6 @@ public class MainActivity extends AppCompatActivity implements TrackbookKeys {
|
||||||
Toast.makeText(this, getString(R.string.toast_message_location_services_not_ready), Toast.LENGTH_LONG).show();
|
Toast.makeText(this, getString(R.string.toast_message_location_services_not_ready), Toast.LENGTH_LONG).show();
|
||||||
// change state back
|
// change state back
|
||||||
mTrackerServiceRunning = false;
|
mTrackerServiceRunning = false;
|
||||||
setFloatingActionButtonState();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -171,6 +171,9 @@ public class MainActivityMapFragment extends Fragment implements TrackbookKeys {
|
||||||
// add multi-touch capability
|
// add multi-touch capability
|
||||||
mMapView.setMultiTouchControls(true);
|
mMapView.setMultiTouchControls(true);
|
||||||
|
|
||||||
|
// disable default zoom controls
|
||||||
|
mMapView.setBuiltInZoomControls(false);
|
||||||
|
|
||||||
// add compass to map
|
// add compass to map
|
||||||
CompassOverlay compassOverlay = new CompassOverlay(mActivity, new InternalCompassOrientationProvider(mActivity), mMapView);
|
CompassOverlay compassOverlay = new CompassOverlay(mActivity, new InternalCompassOrientationProvider(mActivity), mMapView);
|
||||||
compassOverlay.enableCompass();
|
compassOverlay.enableCompass();
|
||||||
|
@ -359,7 +362,11 @@ public class MainActivityMapFragment extends Fragment implements TrackbookKeys {
|
||||||
|
|
||||||
/* Getter for current best location */
|
/* Getter for current best location */
|
||||||
public Location getCurrentBestLocation() {
|
public Location getCurrentBestLocation() {
|
||||||
|
if (mLocationSystemSetting) {
|
||||||
return mCurrentBestLocation;
|
return mCurrentBestLocation;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -175,6 +175,9 @@ public class MainActivityTrackFragment extends Fragment implements AdapterView.O
|
||||||
// add multi-touch capability
|
// add multi-touch capability
|
||||||
mMapView.setMultiTouchControls(true);
|
mMapView.setMultiTouchControls(true);
|
||||||
|
|
||||||
|
// disable default zoom controls
|
||||||
|
mMapView.setBuiltInZoomControls(false);
|
||||||
|
|
||||||
// add compass to map
|
// add compass to map
|
||||||
CompassOverlay compassOverlay = new CompassOverlay(mActivity, new InternalCompassOrientationProvider(mActivity), mMapView);
|
CompassOverlay compassOverlay = new CompassOverlay(mActivity, new InternalCompassOrientationProvider(mActivity), mMapView);
|
||||||
compassOverlay.enableCompass();
|
compassOverlay.enableCompass();
|
||||||
|
|
|
@ -20,8 +20,8 @@ allprojects {
|
||||||
}
|
}
|
||||||
project.ext {
|
project.ext {
|
||||||
applicationId = 'org.y20k.trackbook'
|
applicationId = 'org.y20k.trackbook'
|
||||||
versionCode = 20
|
versionCode = 21
|
||||||
versionName = '1.1.4'
|
versionName = '1.1.5'
|
||||||
minSdkVersion = 22
|
minSdkVersion = 22
|
||||||
compileSdkVersion = 27
|
compileSdkVersion = 27
|
||||||
targetSdkVersion = 27
|
targetSdkVersion = 27
|
||||||
|
@ -29,7 +29,7 @@ allprojects {
|
||||||
supportLibraryVersion = '27.0.2'
|
supportLibraryVersion = '27.0.2'
|
||||||
constraintLayoutVersion = '1.1.0-beta4'
|
constraintLayoutVersion = '1.1.0-beta4'
|
||||||
|
|
||||||
osmdroidVersion = '5.6.5'
|
osmdroidVersion = '6.0.1'
|
||||||
gsonVersion = '2.8.2'
|
gsonVersion = '2.8.2'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue