private void updateCompassVisibility() {
   View compassView = view.findViewById(R.id.compass_layout);
   boolean gpsFixed = getMyApplication().getLocationProvider().getGPSInfo().fixed;
   if (gpsFixed
       && menu.displayDistanceDirection()
       && menu.getCurrentMenuState() != MenuState.FULL_SCREEN) {
     updateDistanceDirection();
     compassView.setVisibility(View.VISIBLE);
   } else {
     if (!menu.displayDistanceDirection()) {
       compassView.setVisibility(View.GONE);
     } else {
       compassView.setVisibility(View.INVISIBLE);
     }
   }
 }
 @Override
 public void onResume() {
   super.onResume();
   screenOrientation = DashLocationFragment.getScreenOrientation(getActivity());
   if (menu.displayDistanceDirection()) {
     getMapActivity().getMapViewTrackingUtilities().setContextMenu(menu);
   }
 }
 private void updateCompassVisibility() {
   View compassView = view.findViewById(R.id.compass_layout);
   Location ll = getMyApplication().getLocationProvider().getLastKnownLocation();
   boolean gpsFixed =
       ll != null && System.currentTimeMillis() - ll.getTime() < 1000 * 60 * 60 * 20;
   if (gpsFixed
       && menu.displayDistanceDirection()
       && menu.getCurrentMenuState() != MenuState.FULL_SCREEN) {
     updateDistanceDirection();
     compassView.setVisibility(View.VISIBLE);
   } else {
     if (!menu.displayDistanceDirection()) {
       compassView.setVisibility(View.GONE);
     } else {
       compassView.setVisibility(View.INVISIBLE);
     }
   }
 }