Methods Summary |
---|
public static void | addProvider(android.location.LocationProviderImpl provider)
sProviders.add(provider);
sProvidersByName.put(provider.getName(), provider);
|
public abstract void | disable()Disables this provider. When disabled, calls to {@link #getStatus()}
and {@link #getLocation} need not be handled. Hardware may be shut
down while the provider is disabled.
|
public abstract void | enable()Enables this provider. When enabled, calls to {@link #getStatus()}
and {@link #getLocation} must be handled. Hardware may be started up
when the provider is enabled.
|
public void | enableLocationTracking(boolean enable)Notifies the location provider that clients are listening for locations.
Called with enable set to true when the first client is added and
called with enable set to false when the last client is removed.
This allows the provider to prepare for receiving locations,
and to shut down when no clients are remaining.
mLocationTracking = enable;
|
public abstract boolean | getLocation(Location l)Sets a Location object with the information gathered
during the most recent fix.
|
public long | getMinTime()Gets the smallest minimum time between updates amongst all the clients listening
for locations. By default this value is 0 (as frqeuently as possible)
return mMinTime;
|
public static android.location.LocationProviderImpl | getProvider(java.lang.String name)
return sProvidersByName.get(name);
|
public static java.util.List | getProviders()
return new ArrayList<LocationProviderImpl>(sProviders);
|
public int | getStatus()Returns a information on the status of this provider.
{@link #OUT_OF_SERVICE} is returned if the provider is
out of service, and this is not expected to change in the near
future; {@link #TEMPORARILY_UNAVAILABLE} is returned if
the provider is temporarily unavailable but is expected to be
available shortly; and {@link #AVAILABLE} is returned
if the provider is currently available.
return getStatus(null);
|
public abstract int | getStatus(android.os.Bundle extras)Returns a information on the status of this provider.
{@link #OUT_OF_SERVICE} is returned if the provider is
out of service, and this is not expected to change in the near
future; {@link #TEMPORARILY_UNAVAILABLE} is returned if
the provider is temporarily unavailable but is expected to be
available shortly; and {@link #AVAILABLE} is returned
if the provider is currently available.
If extras is non-null, additional status information may be
added to it in the form of provider-specific key/value pairs.
|
public long | getStatusUpdateTime()Returns the time at which the status was last updated. It is the
responsibility of the provider to appropriately set this value
using {@link android.os.SystemClock.elapsedRealtime()} each time
there is a status update that it wishes to broadcast to all its
listeners. The provider should be careful not to broadcast
the same status again.
return 0;
|
public abstract boolean | isEnabled()Returns true if this provider is enabled, false otherwise;
|
public boolean | isLocationTracking()Returns true if the provider has any listeners
return mLocationTracking;
|
public static android.location.LocationProviderImpl | loadFromClass(java.io.File classFile)
if (!classFile.exists()) {
return null;
}
if (Config.LOGD) {
Log.d(TAG, "Loading class specifier file " + classFile.getPath());
}
String className = null;
try {
BufferedReader br =
new BufferedReader(new FileReader(classFile), 8192);
className = br.readLine();
br.close();
Class providerClass = Class.forName(className);
if (Config.LOGD) {
Log.d(TAG, "Loading provider class " + providerClass.getName());
}
LocationProviderImpl provider =
(LocationProviderImpl) providerClass.newInstance();
if (Config.LOGD) {
Log.d(TAG, "Got provider instance " + provider);
}
return provider;
} catch (IOException ioe) {
Log.e(TAG, "IOException loading config file " +
classFile.getPath(), ioe);
} catch (IllegalAccessException iae) {
Log.e(TAG, "IllegalAccessException loading class " +
className, iae);
} catch (InstantiationException ie) {
Log.e(TAG, "InstantiationException loading class " +
className, ie);
} catch (ClassNotFoundException cnfe) {
Log.e(TAG, "ClassNotFoundException loading class " +
className, cnfe);
} catch (ClassCastException cce) {
Log.e(TAG, "ClassCastException loading class " +
className, cce);
}
return null;
|
public static void | removeProvider(android.location.LocationProviderImpl provider)
sProviders.remove(provider);
sProvidersByName.remove(provider.getName());
|
public boolean | sendExtraCommand(java.lang.String command, android.os.Bundle extras)Implements addditional location provider specific additional commands.
return false;
|
public void | setMinTime(long minTime)Notifies the location provider of the smallest minimum time between updates amongst
all clients that are listening for locations. This allows the provider to reduce
the frequency of updates to match the requested frequency.
mMinTime = minTime;
|
public void | updateCellState(com.android.internal.location.CellState state)Updates the cell state for the given provider. This function must be
overwritten if {@link #requiresCell} returns true.
|
public void | updateNetworkState(int state)Updates the network state for the given provider. This function must
be overwritten if {@link #requiresNetwork} returns true. The state is
{@link #TEMPORARILY_UNAVAILABLE} (disconnected), OR {@link #AVAILABLE}
(connected or connecting).
|