Loading location/java/android/location/GpsNavigationMessageEvent.java +3 −3 Original line number Original line Diff line number Diff line Loading @@ -36,18 +36,18 @@ public class GpsNavigationMessageEvent implements Parcelable { * The system does not support tracking of GPS Navigation Messages. This status will not change * The system does not support tracking of GPS Navigation Messages. This status will not change * in the future. * in the future. */ */ public static int STATUS_NOT_SUPPORTED = 0; public static final int STATUS_NOT_SUPPORTED = 0; /** /** * GPS Navigation Messages are successfully being tracked, it will receive updates once they are * GPS Navigation Messages are successfully being tracked, it will receive updates once they are * available. * available. */ */ public static int STATUS_READY = 1; public static final int STATUS_READY = 1; /** /** * GPS provider or Location is disabled, updated will not be received until they are enabled. * GPS provider or Location is disabled, updated will not be received until they are enabled. */ */ public static int STATUS_GPS_LOCATION_DISABLED = 2; public static final int STATUS_GPS_LOCATION_DISABLED = 2; private final GpsNavigationMessage mNavigationMessage; private final GpsNavigationMessage mNavigationMessage; Loading services/core/java/com/android/server/location/GpsLocationProvider.java +9 −8 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import com.android.internal.location.ProviderRequest; import com.android.internal.R; import com.android.internal.R; import com.android.internal.telephony.Phone; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.TelephonyIntents; import android.app.AlarmManager; import android.app.AlarmManager; import android.app.AppOpsManager; import android.app.AppOpsManager; Loading Loading @@ -72,7 +71,6 @@ import android.provider.Settings; import android.provider.Telephony.Carriers; import android.provider.Telephony.Carriers; import android.provider.Telephony.Sms.Intents; import android.provider.Telephony.Sms.Intents; import android.telephony.SmsMessage; import android.telephony.SmsMessage; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener; import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; Loading @@ -91,7 +89,6 @@ import java.io.StringReader; import java.net.InetAddress; import java.net.InetAddress; import java.net.UnknownHostException; import java.net.UnknownHostException; import java.util.Date; import java.util.Date; import java.util.List; import java.util.Map.Entry; import java.util.Map.Entry; import java.util.Properties; import java.util.Properties; Loading Loading @@ -395,7 +392,7 @@ public class GpsLocationProvider implements LocationProviderInterface { private final IGpsStatusProvider mGpsStatusProvider = new IGpsStatusProvider.Stub() { private final IGpsStatusProvider mGpsStatusProvider = new IGpsStatusProvider.Stub() { @Override @Override public void addGpsStatusListener(IGpsStatusListener listener) throws RemoteException { public void addGpsStatusListener(IGpsStatusListener listener) { mListenerHelper.addListener(listener); mListenerHelper.addListener(listener); } } Loading Loading @@ -681,7 +678,7 @@ public class GpsLocationProvider implements LocationProviderInterface { mListenerHelper = new GpsStatusListenerHelper(mHandler) { mListenerHelper = new GpsStatusListenerHelper(mHandler) { @Override @Override protected boolean isAvailableInPlatform() { protected boolean isAvailableInPlatform() { return GpsLocationProvider.isSupported(); return isSupported(); } } @Override @Override Loading Loading @@ -1027,6 +1024,9 @@ public class GpsLocationProvider implements LocationProviderInterface { if (mC2KServerHost != null) { if (mC2KServerHost != null) { native_set_agps_server(AGPS_TYPE_C2K, mC2KServerHost, mC2KServerPort); native_set_agps_server(AGPS_TYPE_C2K, mC2KServerHost, mC2KServerPort); } } mGpsMeasurementsProvider.onGpsEnabledChanged(); mGpsNavigationMessageProvider.onGpsEnabledChanged(); } else { } else { synchronized (mLock) { synchronized (mLock) { mEnabled = false; mEnabled = false; Loading Loading @@ -1060,6 +1060,9 @@ public class GpsLocationProvider implements LocationProviderInterface { // do this before releasing wakelock // do this before releasing wakelock native_cleanup(); native_cleanup(); mGpsMeasurementsProvider.onGpsEnabledChanged(); mGpsNavigationMessageProvider.onGpsEnabledChanged(); } } @Override @Override Loading Loading @@ -1479,9 +1482,7 @@ public class GpsLocationProvider implements LocationProviderInterface { } } if (wasNavigating != mNavigating) { if (wasNavigating != mNavigating) { mListenerHelper.onGpsEnabledChanged(mNavigating); mListenerHelper.onStatusChanged(mNavigating); mGpsMeasurementsProvider.onGpsEnabledChanged(mNavigating); mGpsNavigationMessageProvider.onGpsEnabledChanged(mNavigating); // send an intent to notify that the GPS has been enabled or disabled // send an intent to notify that the GPS has been enabled or disabled Intent intent = new Intent(LocationManager.GPS_ENABLED_CHANGE_ACTION); Intent intent = new Intent(LocationManager.GPS_ENABLED_CHANGE_ACTION); Loading services/core/java/com/android/server/location/GpsMeasurementsProvider.java +14 −15 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,7 @@ public abstract class GpsMeasurementsProvider extends RemoteListenerHelper<IGpsMeasurementsListener> { extends RemoteListenerHelper<IGpsMeasurementsListener> { private static final String TAG = "GpsMeasurementsProvider"; private static final String TAG = "GpsMeasurementsProvider"; public GpsMeasurementsProvider(Handler handler) { protected GpsMeasurementsProvider(Handler handler) { super(handler, TAG); super(handler, TAG); } } Loading @@ -49,15 +49,19 @@ public abstract class GpsMeasurementsProvider } } public void onCapabilitiesUpdated(boolean isGpsMeasurementsSupported) { public void onCapabilitiesUpdated(boolean isGpsMeasurementsSupported) { int status = isGpsMeasurementsSupported ? setSupported(isGpsMeasurementsSupported); GpsMeasurementsEvent.STATUS_READY : updateResult(); GpsMeasurementsEvent.STATUS_NOT_SUPPORTED; } setSupported(isGpsMeasurementsSupported, new StatusChangedOperation(status)); public void onGpsEnabledChanged() { if (tryUpdateRegistrationWithService()) { updateResult(); } } } @Override @Override protected ListenerOperation<IGpsMeasurementsListener> getHandlerOperation(int result) { protected ListenerOperation<IGpsMeasurementsListener> getHandlerOperation(int result) { final int status; int status; switch (result) { switch (result) { case RESULT_SUCCESS: case RESULT_SUCCESS: status = GpsMeasurementsEvent.STATUS_READY; status = GpsMeasurementsEvent.STATUS_READY; Loading @@ -70,6 +74,8 @@ public abstract class GpsMeasurementsProvider case RESULT_GPS_LOCATION_DISABLED: case RESULT_GPS_LOCATION_DISABLED: status = GpsMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; status = GpsMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; break; break; case RESULT_UNKNOWN: return null; default: default: Log.v(TAG, "Unhandled addListener result: " + result); Log.v(TAG, "Unhandled addListener result: " + result); return null; return null; Loading @@ -77,15 +83,8 @@ public abstract class GpsMeasurementsProvider return new StatusChangedOperation(status); return new StatusChangedOperation(status); } } @Override private static class StatusChangedOperation protected void handleGpsEnabledChanged(boolean enabled) { implements ListenerOperation<IGpsMeasurementsListener> { int status = enabled ? GpsMeasurementsEvent.STATUS_READY : GpsMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; foreach(new StatusChangedOperation(status)); } private class StatusChangedOperation implements ListenerOperation<IGpsMeasurementsListener> { private final int mStatus; private final int mStatus; public StatusChangedOperation(int status) { public StatusChangedOperation(int status) { Loading services/core/java/com/android/server/location/GpsNavigationMessageProvider.java +13 −15 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,7 @@ public abstract class GpsNavigationMessageProvider extends RemoteListenerHelper<IGpsNavigationMessageListener> { extends RemoteListenerHelper<IGpsNavigationMessageListener> { private static final String TAG = "GpsNavigationMessageProvider"; private static final String TAG = "GpsNavigationMessageProvider"; public GpsNavigationMessageProvider(Handler handler) { protected GpsNavigationMessageProvider(Handler handler) { super(handler, TAG); super(handler, TAG); } } Loading @@ -50,15 +50,19 @@ public abstract class GpsNavigationMessageProvider } } public void onCapabilitiesUpdated(boolean isGpsNavigationMessageSupported) { public void onCapabilitiesUpdated(boolean isGpsNavigationMessageSupported) { int status = isGpsNavigationMessageSupported ? setSupported(isGpsNavigationMessageSupported); GpsNavigationMessageEvent.STATUS_READY : updateResult(); GpsNavigationMessageEvent.STATUS_NOT_SUPPORTED; } setSupported(isGpsNavigationMessageSupported, new StatusChangedOperation(status)); public void onGpsEnabledChanged() { if (tryUpdateRegistrationWithService()) { updateResult(); } } } @Override @Override protected ListenerOperation<IGpsNavigationMessageListener> getHandlerOperation(int result) { protected ListenerOperation<IGpsNavigationMessageListener> getHandlerOperation(int result) { final int status; int status; switch (result) { switch (result) { case RESULT_SUCCESS: case RESULT_SUCCESS: status = GpsNavigationMessageEvent.STATUS_READY; status = GpsNavigationMessageEvent.STATUS_READY; Loading @@ -71,6 +75,8 @@ public abstract class GpsNavigationMessageProvider case RESULT_GPS_LOCATION_DISABLED: case RESULT_GPS_LOCATION_DISABLED: status = GpsNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; status = GpsNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; break; break; case RESULT_UNKNOWN: return null; default: default: Log.v(TAG, "Unhandled addListener result: " + result); Log.v(TAG, "Unhandled addListener result: " + result); return null; return null; Loading @@ -78,15 +84,7 @@ public abstract class GpsNavigationMessageProvider return new StatusChangedOperation(status); return new StatusChangedOperation(status); } } @Override private static class StatusChangedOperation protected void handleGpsEnabledChanged(boolean enabled) { int status = enabled ? GpsNavigationMessageEvent.STATUS_READY : GpsNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; foreach(new StatusChangedOperation(status)); } private class StatusChangedOperation implements ListenerOperation<IGpsNavigationMessageListener> { implements ListenerOperation<IGpsNavigationMessageListener> { private final int mStatus; private final int mStatus; Loading services/core/java/com/android/server/location/GpsStatusListenerHelper.java +5 −11 Original line number Original line Diff line number Diff line Loading @@ -24,14 +24,9 @@ import android.os.RemoteException; * Implementation of a handler for {@link IGpsStatusListener}. * Implementation of a handler for {@link IGpsStatusListener}. */ */ abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusListener> { abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusListener> { public GpsStatusListenerHelper(Handler handler) { protected GpsStatusListenerHelper(Handler handler) { super(handler, "GpsStatusListenerHelper"); super(handler, "GpsStatusListenerHelper"); setSupported(GpsLocationProvider.isSupported()); Operation nullOperation = new Operation() { @Override public void execute(IGpsStatusListener iGpsStatusListener) throws RemoteException {} }; setSupported(GpsLocationProvider.isSupported(), nullOperation); } } @Override @Override Loading @@ -47,10 +42,9 @@ abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusLi return null; return null; } } @Override public void onStatusChanged(boolean isNavigating) { protected void handleGpsEnabledChanged(boolean enabled) { Operation operation; Operation operation; if (enabled) { if (isNavigating) { operation = new Operation() { operation = new Operation() { @Override @Override public void execute(IGpsStatusListener listener) throws RemoteException { public void execute(IGpsStatusListener listener) throws RemoteException { Loading Loading @@ -114,5 +108,5 @@ abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusLi foreach(operation); foreach(operation); } } private abstract class Operation implements ListenerOperation<IGpsStatusListener> { } private interface Operation extends ListenerOperation<IGpsStatusListener> {} } } Loading
location/java/android/location/GpsNavigationMessageEvent.java +3 −3 Original line number Original line Diff line number Diff line Loading @@ -36,18 +36,18 @@ public class GpsNavigationMessageEvent implements Parcelable { * The system does not support tracking of GPS Navigation Messages. This status will not change * The system does not support tracking of GPS Navigation Messages. This status will not change * in the future. * in the future. */ */ public static int STATUS_NOT_SUPPORTED = 0; public static final int STATUS_NOT_SUPPORTED = 0; /** /** * GPS Navigation Messages are successfully being tracked, it will receive updates once they are * GPS Navigation Messages are successfully being tracked, it will receive updates once they are * available. * available. */ */ public static int STATUS_READY = 1; public static final int STATUS_READY = 1; /** /** * GPS provider or Location is disabled, updated will not be received until they are enabled. * GPS provider or Location is disabled, updated will not be received until they are enabled. */ */ public static int STATUS_GPS_LOCATION_DISABLED = 2; public static final int STATUS_GPS_LOCATION_DISABLED = 2; private final GpsNavigationMessage mNavigationMessage; private final GpsNavigationMessage mNavigationMessage; Loading
services/core/java/com/android/server/location/GpsLocationProvider.java +9 −8 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import com.android.internal.location.ProviderRequest; import com.android.internal.R; import com.android.internal.R; import com.android.internal.telephony.Phone; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.TelephonyIntents; import android.app.AlarmManager; import android.app.AlarmManager; import android.app.AppOpsManager; import android.app.AppOpsManager; Loading Loading @@ -72,7 +71,6 @@ import android.provider.Settings; import android.provider.Telephony.Carriers; import android.provider.Telephony.Carriers; import android.provider.Telephony.Sms.Intents; import android.provider.Telephony.Sms.Intents; import android.telephony.SmsMessage; import android.telephony.SmsMessage; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener; import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; Loading @@ -91,7 +89,6 @@ import java.io.StringReader; import java.net.InetAddress; import java.net.InetAddress; import java.net.UnknownHostException; import java.net.UnknownHostException; import java.util.Date; import java.util.Date; import java.util.List; import java.util.Map.Entry; import java.util.Map.Entry; import java.util.Properties; import java.util.Properties; Loading Loading @@ -395,7 +392,7 @@ public class GpsLocationProvider implements LocationProviderInterface { private final IGpsStatusProvider mGpsStatusProvider = new IGpsStatusProvider.Stub() { private final IGpsStatusProvider mGpsStatusProvider = new IGpsStatusProvider.Stub() { @Override @Override public void addGpsStatusListener(IGpsStatusListener listener) throws RemoteException { public void addGpsStatusListener(IGpsStatusListener listener) { mListenerHelper.addListener(listener); mListenerHelper.addListener(listener); } } Loading Loading @@ -681,7 +678,7 @@ public class GpsLocationProvider implements LocationProviderInterface { mListenerHelper = new GpsStatusListenerHelper(mHandler) { mListenerHelper = new GpsStatusListenerHelper(mHandler) { @Override @Override protected boolean isAvailableInPlatform() { protected boolean isAvailableInPlatform() { return GpsLocationProvider.isSupported(); return isSupported(); } } @Override @Override Loading Loading @@ -1027,6 +1024,9 @@ public class GpsLocationProvider implements LocationProviderInterface { if (mC2KServerHost != null) { if (mC2KServerHost != null) { native_set_agps_server(AGPS_TYPE_C2K, mC2KServerHost, mC2KServerPort); native_set_agps_server(AGPS_TYPE_C2K, mC2KServerHost, mC2KServerPort); } } mGpsMeasurementsProvider.onGpsEnabledChanged(); mGpsNavigationMessageProvider.onGpsEnabledChanged(); } else { } else { synchronized (mLock) { synchronized (mLock) { mEnabled = false; mEnabled = false; Loading Loading @@ -1060,6 +1060,9 @@ public class GpsLocationProvider implements LocationProviderInterface { // do this before releasing wakelock // do this before releasing wakelock native_cleanup(); native_cleanup(); mGpsMeasurementsProvider.onGpsEnabledChanged(); mGpsNavigationMessageProvider.onGpsEnabledChanged(); } } @Override @Override Loading Loading @@ -1479,9 +1482,7 @@ public class GpsLocationProvider implements LocationProviderInterface { } } if (wasNavigating != mNavigating) { if (wasNavigating != mNavigating) { mListenerHelper.onGpsEnabledChanged(mNavigating); mListenerHelper.onStatusChanged(mNavigating); mGpsMeasurementsProvider.onGpsEnabledChanged(mNavigating); mGpsNavigationMessageProvider.onGpsEnabledChanged(mNavigating); // send an intent to notify that the GPS has been enabled or disabled // send an intent to notify that the GPS has been enabled or disabled Intent intent = new Intent(LocationManager.GPS_ENABLED_CHANGE_ACTION); Intent intent = new Intent(LocationManager.GPS_ENABLED_CHANGE_ACTION); Loading
services/core/java/com/android/server/location/GpsMeasurementsProvider.java +14 −15 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,7 @@ public abstract class GpsMeasurementsProvider extends RemoteListenerHelper<IGpsMeasurementsListener> { extends RemoteListenerHelper<IGpsMeasurementsListener> { private static final String TAG = "GpsMeasurementsProvider"; private static final String TAG = "GpsMeasurementsProvider"; public GpsMeasurementsProvider(Handler handler) { protected GpsMeasurementsProvider(Handler handler) { super(handler, TAG); super(handler, TAG); } } Loading @@ -49,15 +49,19 @@ public abstract class GpsMeasurementsProvider } } public void onCapabilitiesUpdated(boolean isGpsMeasurementsSupported) { public void onCapabilitiesUpdated(boolean isGpsMeasurementsSupported) { int status = isGpsMeasurementsSupported ? setSupported(isGpsMeasurementsSupported); GpsMeasurementsEvent.STATUS_READY : updateResult(); GpsMeasurementsEvent.STATUS_NOT_SUPPORTED; } setSupported(isGpsMeasurementsSupported, new StatusChangedOperation(status)); public void onGpsEnabledChanged() { if (tryUpdateRegistrationWithService()) { updateResult(); } } } @Override @Override protected ListenerOperation<IGpsMeasurementsListener> getHandlerOperation(int result) { protected ListenerOperation<IGpsMeasurementsListener> getHandlerOperation(int result) { final int status; int status; switch (result) { switch (result) { case RESULT_SUCCESS: case RESULT_SUCCESS: status = GpsMeasurementsEvent.STATUS_READY; status = GpsMeasurementsEvent.STATUS_READY; Loading @@ -70,6 +74,8 @@ public abstract class GpsMeasurementsProvider case RESULT_GPS_LOCATION_DISABLED: case RESULT_GPS_LOCATION_DISABLED: status = GpsMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; status = GpsMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; break; break; case RESULT_UNKNOWN: return null; default: default: Log.v(TAG, "Unhandled addListener result: " + result); Log.v(TAG, "Unhandled addListener result: " + result); return null; return null; Loading @@ -77,15 +83,8 @@ public abstract class GpsMeasurementsProvider return new StatusChangedOperation(status); return new StatusChangedOperation(status); } } @Override private static class StatusChangedOperation protected void handleGpsEnabledChanged(boolean enabled) { implements ListenerOperation<IGpsMeasurementsListener> { int status = enabled ? GpsMeasurementsEvent.STATUS_READY : GpsMeasurementsEvent.STATUS_GPS_LOCATION_DISABLED; foreach(new StatusChangedOperation(status)); } private class StatusChangedOperation implements ListenerOperation<IGpsMeasurementsListener> { private final int mStatus; private final int mStatus; public StatusChangedOperation(int status) { public StatusChangedOperation(int status) { Loading
services/core/java/com/android/server/location/GpsNavigationMessageProvider.java +13 −15 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,7 @@ public abstract class GpsNavigationMessageProvider extends RemoteListenerHelper<IGpsNavigationMessageListener> { extends RemoteListenerHelper<IGpsNavigationMessageListener> { private static final String TAG = "GpsNavigationMessageProvider"; private static final String TAG = "GpsNavigationMessageProvider"; public GpsNavigationMessageProvider(Handler handler) { protected GpsNavigationMessageProvider(Handler handler) { super(handler, TAG); super(handler, TAG); } } Loading @@ -50,15 +50,19 @@ public abstract class GpsNavigationMessageProvider } } public void onCapabilitiesUpdated(boolean isGpsNavigationMessageSupported) { public void onCapabilitiesUpdated(boolean isGpsNavigationMessageSupported) { int status = isGpsNavigationMessageSupported ? setSupported(isGpsNavigationMessageSupported); GpsNavigationMessageEvent.STATUS_READY : updateResult(); GpsNavigationMessageEvent.STATUS_NOT_SUPPORTED; } setSupported(isGpsNavigationMessageSupported, new StatusChangedOperation(status)); public void onGpsEnabledChanged() { if (tryUpdateRegistrationWithService()) { updateResult(); } } } @Override @Override protected ListenerOperation<IGpsNavigationMessageListener> getHandlerOperation(int result) { protected ListenerOperation<IGpsNavigationMessageListener> getHandlerOperation(int result) { final int status; int status; switch (result) { switch (result) { case RESULT_SUCCESS: case RESULT_SUCCESS: status = GpsNavigationMessageEvent.STATUS_READY; status = GpsNavigationMessageEvent.STATUS_READY; Loading @@ -71,6 +75,8 @@ public abstract class GpsNavigationMessageProvider case RESULT_GPS_LOCATION_DISABLED: case RESULT_GPS_LOCATION_DISABLED: status = GpsNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; status = GpsNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; break; break; case RESULT_UNKNOWN: return null; default: default: Log.v(TAG, "Unhandled addListener result: " + result); Log.v(TAG, "Unhandled addListener result: " + result); return null; return null; Loading @@ -78,15 +84,7 @@ public abstract class GpsNavigationMessageProvider return new StatusChangedOperation(status); return new StatusChangedOperation(status); } } @Override private static class StatusChangedOperation protected void handleGpsEnabledChanged(boolean enabled) { int status = enabled ? GpsNavigationMessageEvent.STATUS_READY : GpsNavigationMessageEvent.STATUS_GPS_LOCATION_DISABLED; foreach(new StatusChangedOperation(status)); } private class StatusChangedOperation implements ListenerOperation<IGpsNavigationMessageListener> { implements ListenerOperation<IGpsNavigationMessageListener> { private final int mStatus; private final int mStatus; Loading
services/core/java/com/android/server/location/GpsStatusListenerHelper.java +5 −11 Original line number Original line Diff line number Diff line Loading @@ -24,14 +24,9 @@ import android.os.RemoteException; * Implementation of a handler for {@link IGpsStatusListener}. * Implementation of a handler for {@link IGpsStatusListener}. */ */ abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusListener> { abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusListener> { public GpsStatusListenerHelper(Handler handler) { protected GpsStatusListenerHelper(Handler handler) { super(handler, "GpsStatusListenerHelper"); super(handler, "GpsStatusListenerHelper"); setSupported(GpsLocationProvider.isSupported()); Operation nullOperation = new Operation() { @Override public void execute(IGpsStatusListener iGpsStatusListener) throws RemoteException {} }; setSupported(GpsLocationProvider.isSupported(), nullOperation); } } @Override @Override Loading @@ -47,10 +42,9 @@ abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusLi return null; return null; } } @Override public void onStatusChanged(boolean isNavigating) { protected void handleGpsEnabledChanged(boolean enabled) { Operation operation; Operation operation; if (enabled) { if (isNavigating) { operation = new Operation() { operation = new Operation() { @Override @Override public void execute(IGpsStatusListener listener) throws RemoteException { public void execute(IGpsStatusListener listener) throws RemoteException { Loading Loading @@ -114,5 +108,5 @@ abstract class GpsStatusListenerHelper extends RemoteListenerHelper<IGpsStatusLi foreach(operation); foreach(operation); } } private abstract class Operation implements ListenerOperation<IGpsStatusListener> { } private interface Operation extends ListenerOperation<IGpsStatusListener> {} } }