Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
[gecko.git] / dom / system / android / AndroidLocationProvider.cpp
blob3768360d8d009edc6b1000c2cb4e547056f899c2
1 /* -*- Mode: c++; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "nsGeolocation.h"
7 #include "nsGeoPosition.h"
8 #include "AndroidBridge.h"
9 #include "AndroidLocationProvider.h"
11 using namespace mozilla;
13 extern nsIGeolocationUpdate *gLocationCallback;
15 NS_IMPL_ISUPPORTS(AndroidLocationProvider, nsIGeolocationProvider)
17 AndroidLocationProvider::AndroidLocationProvider()
21 AndroidLocationProvider::~AndroidLocationProvider()
23 NS_IF_RELEASE(gLocationCallback);
26 NS_IMETHODIMP
27 AndroidLocationProvider::Startup()
29 mozilla::widget::android::GeckoAppShell::EnableLocation(true);
30 return NS_OK;
33 NS_IMETHODIMP
34 AndroidLocationProvider::Watch(nsIGeolocationUpdate* aCallback)
36 NS_IF_RELEASE(gLocationCallback);
37 gLocationCallback = aCallback;
38 NS_IF_ADDREF(gLocationCallback);
39 return NS_OK;
42 NS_IMETHODIMP
43 AndroidLocationProvider::Shutdown()
45 mozilla::widget::android::GeckoAppShell::EnableLocation(false);
46 return NS_OK;
49 NS_IMETHODIMP
50 AndroidLocationProvider::SetHighAccuracy(bool enable)
52 mozilla::widget::android::GeckoAppShell::EnableLocationHighAccuracy(enable);
53 return NS_OK;