示例#1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetUpMap();
            test = "in oncreate";

            _locationManager = (LocationManager)GetSystemService(LocationService);

            _locationUpdateService = Mvx.Resolve <ILocationUpdateService>();

            _options = new MarkerOptions().SetTitle("CurrentPosition");
            requestLocationUpdatesButton = FindViewById <Button>(Resource.Id.request_location_updates_button);

            rootLayout = FindViewById(Resource.Id.root_layout);

            if (_locationManager.AllProviders.Contains(LocationManager.NetworkProvider) &&
                _locationManager.IsProviderEnabled(LocationManager.NetworkProvider))
            {
                requestLocationUpdatesButton.Click += RequestLocationUpdatesButtonOnClick;
            }
            else
            {
                Log.Debug("FriendNav", "unhandled exception, insufficient permission.");
            }
        }
        public MapViewModel(
            IMapRepository mapRepository,
            IUserRepository userRepository,
            INavigateRequestRepository navigateRequestRepository,
            INavigationRequestService navigationRequestService,
            IMvxNavigationService mvxNavigationService,
            IFirebaseAuthService firebaseAuthService,
            ILocationUpdateService locationUpdateService
            )
        {
            _mapRepository             = mapRepository;
            _userRepository            = userRepository;
            _navigateRequestRepository = navigateRequestRepository;
            _navigationRequestService  = navigationRequestService;
            _mvxNavigationService      = mvxNavigationService;
            _firebaseAuthService       = firebaseAuthService;

            SendNavigationFriendListRequestCommand = new MvxCommand(SendEndNavigationAndMarkAsEndedAsync);
            OnLocationChangeCommand = new MvxCommand(OnLocationChangedAsync);

            _locationUpdateService = locationUpdateService;
            _locationUpdateService.LocationChanged += LocationUpdateService_LocationChanged;
        }
示例#3
0
        public App()
        {
            InitializeComponent();
            DependencyService.Register <PlayerDataStore>();
            DependencyService.Register <ProfileDataStore>();
            DependencyService.Register <GolfclubDataStore>();
            DependencyService.Register <EventDataStore>();
            DependencyService.Register <TournamentDataStore>();
            DependencyService.Register <CourseDataStore>();
            DependencyService.Register <CourseHandicapTableDataStore>();
            DependencyService.Register <CourseHandicapDataStore>();
            DependencyService.Register <FlightDataStore>();
            DependencyService.Register <Flight2PlayerDataStore>();
            DependencyService.Register <TeeDataStore>();
            DependencyService.Register <ResultDataStore>();
            DependencyService.Register <TeeInfoDataStore>();
            DependencyService.Register <AppVersionDataStore>();

            DependencyService.Register <ILocationUpdateService>();

            Device.SetFlags(new string[] { "Expander_Experimental" });

            // check appversion table - if no entries, create first entry
            IDataStore <AppVersion> AppVersions = DependencyService.Get <IDataStore <AppVersion> >();

            var        appVersionsTask = AppVersions.GetItemsAsync();
            AppVersion v = appVersionsTask.Result.FirstOrDefault();

            if (v == null)
            {
                // create first version
                AppVersion newVersion = new AppVersion()
                {
                    Version   = 200,
                    DBVersion = "2"
                };
                AppVersions.AddItemAsync(newVersion);
            }

            // sync events
            SyncWebData();

            MainPage = new MainPage();

            ILocationUpdateService LocationUpdateService = DependencyService.Get <ILocationUpdateService>();

            LocationUpdateService.LocationChanged += LocationUpdateService_LocationChanged;

            //try
            //{
            //    //var location = await Geolocation.GetLastKnownLocationAsync();
            //    var request = new GeolocationRequest(GeolocationAccuracy.Medium, new TimeSpan(0, 0, 10));
            //    var tasklocation = Geolocation.GetLocationAsync(request);
            //    var location = tasklocation.Result;

            //    if (location != null)
            //    {
            //        // save location in profile
            //    }
            //}
            //catch (Exception exp)
            //{
            //    // manage exception
            //}
        }