diff options
author | jandegr <jandegr@users.noreply.github.com> | 2018-05-23 20:34:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-23 20:34:14 +0200 |
commit | e9d9bbb85e8cde6c5ddd6d4ce54ac11125b0c898 (patch) | |
tree | 378810846e97b36730d1a7298d071b04be054f6e | |
parent | ff6cca1c9e5ff31429b2ffca33b44e2995faee30 (diff) | |
download | navit-e9d9bbb85e8cde6c5ddd6d4ce54ac11125b0c898.tar.gz |
optimize imports
7 files changed, 336 insertions, 331 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitActivityResult.java b/navit/android/src/org/navitproject/navit/NavitActivityResult.java index 63b4e798f..f52f06c9c 100644 --- a/navit/android/src/org/navitproject/navit/NavitActivityResult.java +++ b/navit/android/src/org/navitproject/navit/NavitActivityResult.java @@ -1,4 +1,5 @@ package org.navitproject.navit; + import android.content.Intent; public interface NavitActivityResult { diff --git a/navit/android/src/org/navitproject/navit/NavitAppConfig.java b/navit/android/src/org/navitproject/navit/NavitAppConfig.java index 7cc5a6173..bcbe6b8a5 100755 --- a/navit/android/src/org/navitproject/navit/NavitAppConfig.java +++ b/navit/android/src/org/navitproject/navit/NavitAppConfig.java @@ -1,70 +1,70 @@ package org.navitproject.navit; -import java.util.ArrayList; -import java.util.List; +import android.app.Application; +import android.content.SharedPreferences; import org.navitproject.navit.NavitAddressSearchActivity.NavitAddress; -import android.app.Application; -import android.content.SharedPreferences; +import java.util.ArrayList; +import java.util.List; public class NavitAppConfig extends Application { - private static final int MAX_LAST_ADDRESSES = 10; - private static final String TAG = "Navit"; - - private List<NavitAddress> mLastAddresses = null; - private int mLastAddressField; - private SharedPreferences mSettings; - - @Override - public void onCreate() { - mSettings = getSharedPreferences(Navit.NAVIT_PREFS, MODE_PRIVATE); - super.onCreate(); - } - - public List<NavitAddress> getLastAddresses() { - if (mLastAddresses == null) { - mLastAddresses = new ArrayList<NavitAddress>(); - int mLastAddressField = mSettings.getInt("LastAddress", -1); - if (mLastAddressField >= 0) { - int index = mLastAddressField; - do { - String addr_str = mSettings.getString("LastAddress_" + String.valueOf(index), ""); - - if (addr_str.length() > 0) { - mLastAddresses.add(new NavitAddress( - 1, - mSettings.getFloat("LastAddress_Lat_" + String.valueOf(index), 0), - mSettings.getFloat("LastAddress_Lon_" + String.valueOf(index), 0), - addr_str)); - } - - if (--index < 0) index = MAX_LAST_ADDRESSES - 1; - - } while (index != mLastAddressField); - } - } - return mLastAddresses; - } - - public void addLastAddress(NavitAddress newAddress) { - getLastAddresses(); - - mLastAddresses.add(newAddress); - if (mLastAddresses.size() > MAX_LAST_ADDRESSES) mLastAddresses.remove(0); - - mLastAddressField++; - if (mLastAddressField >= MAX_LAST_ADDRESSES) mLastAddressField = 0; - - SharedPreferences.Editor editSettings = mSettings.edit(); - - editSettings.putInt("LastAddress", mLastAddressField); - editSettings.putString("LastAddress_" + String.valueOf(mLastAddressField), newAddress.addr); - editSettings.putFloat("LastAddress_Lat_" + String.valueOf(mLastAddressField), newAddress.lat); - editSettings.putFloat("LastAddress_Lon_" + String.valueOf(mLastAddressField), newAddress.lon); - - editSettings.apply(); - } + private static final int MAX_LAST_ADDRESSES = 10; + private static final String TAG = "Navit"; + + private List<NavitAddress> mLastAddresses = null; + private int mLastAddressField; + private SharedPreferences mSettings; + + @Override + public void onCreate() { + mSettings = getSharedPreferences(Navit.NAVIT_PREFS, MODE_PRIVATE); + super.onCreate(); + } + + public List<NavitAddress> getLastAddresses() { + if (mLastAddresses == null) { + mLastAddresses = new ArrayList<NavitAddress>(); + int mLastAddressField = mSettings.getInt("LastAddress", -1); + if (mLastAddressField >= 0) { + int index = mLastAddressField; + do { + String addr_str = mSettings.getString("LastAddress_" + String.valueOf(index), ""); + + if (addr_str.length() > 0) { + mLastAddresses.add(new NavitAddress( + 1, + mSettings.getFloat("LastAddress_Lat_" + String.valueOf(index), 0), + mSettings.getFloat("LastAddress_Lon_" + String.valueOf(index), 0), + addr_str)); + } + + if (--index < 0) index = MAX_LAST_ADDRESSES - 1; + + } while (index != mLastAddressField); + } + } + return mLastAddresses; + } + + public void addLastAddress(NavitAddress newAddress) { + getLastAddresses(); + + mLastAddresses.add(newAddress); + if (mLastAddresses.size() > MAX_LAST_ADDRESSES) mLastAddresses.remove(0); + + mLastAddressField++; + if (mLastAddressField >= MAX_LAST_ADDRESSES) mLastAddressField = 0; + + SharedPreferences.Editor editSettings = mSettings.edit(); + + editSettings.putInt("LastAddress", mLastAddressField); + editSettings.putString("LastAddress_" + String.valueOf(mLastAddressField), newAddress.addr); + editSettings.putFloat("LastAddress_Lat_" + String.valueOf(mLastAddressField), newAddress.lat); + editSettings.putFloat("LastAddress_Lon_" + String.valueOf(mLastAddressField), newAddress.lon); + + editSettings.apply(); + } } diff --git a/navit/android/src/org/navitproject/navit/NavitCamera.java b/navit/android/src/org/navitproject/navit/NavitCamera.java index bd78b36b2..1f08afca8 100644 --- a/navit/android/src/org/navitproject/navit/NavitCamera.java +++ b/navit/android/src/org/navitproject/navit/NavitCamera.java @@ -15,47 +15,47 @@ */ package org.navitproject.navit; -import java.io.IOException; - import android.content.Context; import android.hardware.Camera; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; +import java.io.IOException; + public class NavitCamera extends SurfaceView implements SurfaceHolder.Callback { - SurfaceHolder mHolder; - Camera mCamera; + SurfaceHolder mHolder; + Camera mCamera; - NavitCamera(Context context) - { - super(context); - mHolder = getHolder(); + NavitCamera(Context context) + { + super(context); + mHolder = getHolder(); mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); - Log.e("NavitCamera","Creator"); + Log.e("NavitCamera","Creator"); - - } + + } public void surfaceCreated(SurfaceHolder holder) { // The Surface has been created, acquire the camera and tell it where // to draw. try { - mCamera = Camera.open(); + mCamera = Camera.open(); mCamera.setPreviewDisplay(holder); } catch (IOException exception) { mCamera.release(); mCamera = null; // TODO: add more exception handling logic here } - Log.e("NavitCamera","surfaceCreated"); + Log.e("NavitCamera","surfaceCreated"); } public void surfaceDestroyed(SurfaceHolder holder) { @@ -64,13 +64,13 @@ public class NavitCamera extends SurfaceView implements SurfaceHolder.Callback { // important to release it when the activity is paused. mCamera.stopPreview(); mCamera = null; - Log.e("NavitCamera","surfaceDestroyed"); + Log.e("NavitCamera","surfaceDestroyed"); } public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { // Now that the size is known, set up the camera parameters and begin // the preview. - Log.e("NavitCamera","surfaceChanged "+w+"x"+h); + Log.e("NavitCamera","surfaceChanged "+w+"x"+h); mCamera.stopPreview(); Camera.Parameters parameters = mCamera.getParameters(); parameters.setPreviewSize(w, h); diff --git a/navit/android/src/org/navitproject/navit/NavitDialogs.java b/navit/android/src/org/navitproject/navit/NavitDialogs.java index 426acb76f..b22eac353 100644 --- a/navit/android/src/org/navitproject/navit/NavitDialogs.java +++ b/navit/android/src/org/navitproject/navit/NavitDialogs.java @@ -13,6 +13,7 @@ import android.os.Message; import android.util.Log; import android.widget.ArrayAdapter; import android.widget.Toast; + import java.io.File; public class NavitDialogs extends Handler { diff --git a/navit/android/src/org/navitproject/navit/NavitSensors.java b/navit/android/src/org/navitproject/navit/NavitSensors.java index b263ed082..a0d300223 100644 --- a/navit/android/src/org/navitproject/navit/NavitSensors.java +++ b/navit/android/src/org/navitproject/navit/NavitSensors.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.navitproject.navit; import android.content.Context; @@ -24,29 +25,29 @@ import android.hardware.SensorManager; public class NavitSensors implements SensorEventListener { - private SensorManager mSensorManager; - private int callbackid; - public native void SensorCallback(int id, int sensor, float x, float y, float z); - - - NavitSensors(Context context, int cbid) - { - mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); - mSensorManager.registerListener((SensorEventListener)this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); - mSensorManager.registerListener((SensorEventListener)this, mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_NORMAL); - callbackid=cbid; - } - - public void - onAccuracyChanged(Sensor sensor, int accuracy) - { - } - - public void - onSensorChanged(SensorEvent sev) - { - // Log.e("NavitSensor","Type:" + sev.sensor.getType() + " X:" + sev.values[0] + " Y:"+sev.values[1]+" Z:"+sev.values[2]); - SensorCallback(callbackid, sev.sensor.getType(), sev.values[0], sev.values[1], sev.values[2]); - } + private SensorManager mSensorManager; + private int callbackid; + public native void SensorCallback(int id, int sensor, float x, float y, float z); + + + NavitSensors(Context context, int cbid) + { + mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); + mSensorManager.registerListener((SensorEventListener)this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); + mSensorManager.registerListener((SensorEventListener)this, mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_NORMAL); + callbackid=cbid; + } + + public void + onAccuracyChanged(Sensor sensor, int accuracy) + { + } + + public void + onSensorChanged(SensorEvent sev) + { + // Log.e("NavitSensor","Type:" + sev.sensor.getType() + " X:" + sev.values[0] + " Y:"+sev.values[1]+" Z:"+sev.values[2]); + SensorCallback(callbackid, sev.sensor.getType(), sev.values[0], sev.values[1], sev.values[2]); + } } diff --git a/navit/android/src/org/navitproject/navit/NavitVehicle.java b/navit/android/src/org/navitproject/navit/NavitVehicle.java index 583d044c1..b224f9e3a 100644 --- a/navit/android/src/org/navitproject/navit/NavitVehicle.java +++ b/navit/android/src/org/navitproject/navit/NavitVehicle.java @@ -19,7 +19,6 @@ package org.navitproject.navit; -import java.util.List; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -32,167 +31,169 @@ import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; -import android.util.Log; import android.support.v4.content.ContextCompat; +import android.util.Log; + +import java.util.List; public class NavitVehicle { - - private static final String GPS_FIX_CHANGE = "android.location.GPS_FIX_CHANGE"; - - public static Location lastLocation = null; - - private static LocationManager sLocationManager = null; - private static Context context = null; - private int vehicle_pcbid; - private int vehicle_scbid; - private int vehicle_fcbid; - private String preciseProvider; - private String fastProvider; - - private static NavitLocationListener preciseLocationListener = null; - private static NavitLocationListener fastLocationListener = null; - - public native void VehicleCallback(int id, Location location); - public native void VehicleCallback(int id, int satsInView, int satsUsed); - public native void VehicleCallback(int id, int enabled); - - private class NavitLocationListener extends BroadcastReceiver implements GpsStatus.Listener, LocationListener { - public boolean precise = false; - public void onLocationChanged(Location location) { - lastLocation = location; - // Disable the fast provider if still active - if (precise && fastProvider != null) { - sLocationManager.removeUpdates(fastLocationListener); - fastProvider = null; - } - - VehicleCallback(vehicle_pcbid, location); - VehicleCallback(vehicle_fcbid, 1); - } - public void onProviderDisabled(String provider){} - public void onProviderEnabled(String provider) {} - public void onStatusChanged(String provider, int status, Bundle extras) {} - - /** - * Called when the status of the GPS changes. - */ - public void onGpsStatusChanged (int event) { - if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) - != PackageManager.PERMISSION_GRANTED) { - // Permission is not granted - return; - } - GpsStatus status = sLocationManager.getGpsStatus(null); - int satsInView = 0; - int satsUsed = 0; - Iterable<GpsSatellite> sats = status.getSatellites(); - for (GpsSatellite sat : sats) { - satsInView++; - if (sat.usedInFix()) { - satsUsed++; - } - } - VehicleCallback(vehicle_scbid, satsInView, satsUsed); - } - - @Override - public void onReceive(Context context, Intent intent) { - if (intent.getAction().equals(GPS_FIX_CHANGE)) { - if (intent.getBooleanExtra("enabled", false)) - VehicleCallback(vehicle_fcbid, 1); - else if (!intent.getBooleanExtra("enabled", true)) - VehicleCallback(vehicle_fcbid, 0); - } - } - } - - /** - * @brief Creates a new {@code NavitVehicle} - * - * @param context - * @param pcbid The address of the position callback function which will be called when a location update is received - * @param scbid The address of the status callback function which will be called when a status update is received - * @param fcbid The address of the fix callback function which will be called when a - * {@code android.location.GPS_FIX_CHANGE} is received, indicating a change in GPS fix status - */ - NavitVehicle (Context context, int pcbid, int scbid, int fcbid) { - if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) - != PackageManager.PERMISSION_GRANTED) { - // Permission is not granted - return; - } - this.context = context; - sLocationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); - preciseLocationListener = new NavitLocationListener(); - preciseLocationListener.precise = true; - fastLocationListener = new NavitLocationListener(); - - /* Use 2 LocationProviders, one precise (usually GPS), and one - not so precise, but possible faster. The fast provider is - disabled when the precise provider gets its first fix. */ - - // Selection criteria for the precise provider - Criteria highCriteria = new Criteria(); - highCriteria.setAccuracy(Criteria.ACCURACY_FINE); - highCriteria.setAltitudeRequired(true); - highCriteria.setBearingRequired(true); - highCriteria.setCostAllowed(true); - highCriteria.setPowerRequirement(Criteria.POWER_HIGH); - - // Selection criteria for the fast provider - Criteria lowCriteria = new Criteria(); - lowCriteria.setAccuracy(Criteria.ACCURACY_COARSE); - lowCriteria.setAltitudeRequired(false); - lowCriteria.setBearingRequired(false); - lowCriteria.setCostAllowed(true); - lowCriteria.setPowerRequirement(Criteria.POWER_HIGH); - - Log.e("NavitVehicle", "Providers " + sLocationManager.getAllProviders()); - - preciseProvider = sLocationManager.getBestProvider(highCriteria, false); - Log.e("NavitVehicle", "Precise Provider " + preciseProvider); - fastProvider = sLocationManager.getBestProvider(lowCriteria, false); - Log.e("NavitVehicle", "Fast Provider " + fastProvider); - vehicle_pcbid = pcbid; - vehicle_scbid = scbid; - vehicle_fcbid = fcbid; - - context.registerReceiver(preciseLocationListener, new IntentFilter(GPS_FIX_CHANGE)); - sLocationManager.requestLocationUpdates(preciseProvider, 0, 0, preciseLocationListener); - sLocationManager.addGpsStatusListener(preciseLocationListener); - - /* - * Since Android criteria have no way to specify "fast fix", lowCriteria may return the same - * provider as highCriteria, even if others are available. In this case, do not register two - * listeners for the same provider but pick the fast provider manually. (Usually there will - * only be two providers in total, which makes the choice easy.) - */ - if (fastProvider == null || preciseProvider.compareTo(fastProvider) == 0) { - List<String> fastProviderList = sLocationManager.getProviders(lowCriteria, false); - fastProvider = null; - for (String fastCandidate: fastProviderList) { - if (preciseProvider.compareTo(fastCandidate) != 0) { - fastProvider = fastCandidate; - break; - } - } - } - if (fastProvider != null) { - sLocationManager.requestLocationUpdates(fastProvider, 0, 0, fastLocationListener); - } - } - - public static void removeListener() { - if (sLocationManager != null) { - if (preciseLocationListener != null) { - sLocationManager.removeUpdates(preciseLocationListener); - sLocationManager.removeGpsStatusListener(preciseLocationListener); - context.unregisterReceiver(preciseLocationListener); - } - if (fastLocationListener != null) sLocationManager.removeUpdates(fastLocationListener); - } - - } + + private static final String GPS_FIX_CHANGE = "android.location.GPS_FIX_CHANGE"; + + public static Location lastLocation = null; + + private static LocationManager sLocationManager = null; + private static Context context = null; + private int vehicle_pcbid; + private int vehicle_scbid; + private int vehicle_fcbid; + private String preciseProvider; + private String fastProvider; + + private static NavitLocationListener preciseLocationListener = null; + private static NavitLocationListener fastLocationListener = null; + + public native void VehicleCallback(int id, Location location); + public native void VehicleCallback(int id, int satsInView, int satsUsed); + public native void VehicleCallback(int id, int enabled); + + private class NavitLocationListener extends BroadcastReceiver implements GpsStatus.Listener, LocationListener { + public boolean precise = false; + public void onLocationChanged(Location location) { + lastLocation = location; + // Disable the fast provider if still active + if (precise && fastProvider != null) { + sLocationManager.removeUpdates(fastLocationListener); + fastProvider = null; + } + + VehicleCallback(vehicle_pcbid, location); + VehicleCallback(vehicle_fcbid, 1); + } + public void onProviderDisabled(String provider){} + public void onProviderEnabled(String provider) {} + public void onStatusChanged(String provider, int status, Bundle extras) {} + + /** + * Called when the status of the GPS changes. + */ + public void onGpsStatusChanged (int event) { + if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + // Permission is not granted + return; + } + GpsStatus status = sLocationManager.getGpsStatus(null); + int satsInView = 0; + int satsUsed = 0; + Iterable<GpsSatellite> sats = status.getSatellites(); + for (GpsSatellite sat : sats) { + satsInView++; + if (sat.usedInFix()) { + satsUsed++; + } + } + VehicleCallback(vehicle_scbid, satsInView, satsUsed); + } + + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals(GPS_FIX_CHANGE)) { + if (intent.getBooleanExtra("enabled", false)) + VehicleCallback(vehicle_fcbid, 1); + else if (!intent.getBooleanExtra("enabled", true)) + VehicleCallback(vehicle_fcbid, 0); + } + } + } + + /** + * @brief Creates a new {@code NavitVehicle} + * + * @param context + * @param pcbid The address of the position callback function which will be called when a location update is received + * @param scbid The address of the status callback function which will be called when a status update is received + * @param fcbid The address of the fix callback function which will be called when a + * {@code android.location.GPS_FIX_CHANGE} is received, indicating a change in GPS fix status + */ + NavitVehicle (Context context, int pcbid, int scbid, int fcbid) { + if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) + != PackageManager.PERMISSION_GRANTED) { + // Permission is not granted + return; + } + this.context = context; + sLocationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); + preciseLocationListener = new NavitLocationListener(); + preciseLocationListener.precise = true; + fastLocationListener = new NavitLocationListener(); + + /* Use 2 LocationProviders, one precise (usually GPS), and one + not so precise, but possible faster. The fast provider is + disabled when the precise provider gets its first fix. */ + + // Selection criteria for the precise provider + Criteria highCriteria = new Criteria(); + highCriteria.setAccuracy(Criteria.ACCURACY_FINE); + highCriteria.setAltitudeRequired(true); + highCriteria.setBearingRequired(true); + highCriteria.setCostAllowed(true); + highCriteria.setPowerRequirement(Criteria.POWER_HIGH); + + // Selection criteria for the fast provider + Criteria lowCriteria = new Criteria(); + lowCriteria.setAccuracy(Criteria.ACCURACY_COARSE); + lowCriteria.setAltitudeRequired(false); + lowCriteria.setBearingRequired(false); + lowCriteria.setCostAllowed(true); + lowCriteria.setPowerRequirement(Criteria.POWER_HIGH); + + Log.e("NavitVehicle", "Providers " + sLocationManager.getAllProviders()); + + preciseProvider = sLocationManager.getBestProvider(highCriteria, false); + Log.e("NavitVehicle", "Precise Provider " + preciseProvider); + fastProvider = sLocationManager.getBestProvider(lowCriteria, false); + Log.e("NavitVehicle", "Fast Provider " + fastProvider); + vehicle_pcbid = pcbid; + vehicle_scbid = scbid; + vehicle_fcbid = fcbid; + + context.registerReceiver(preciseLocationListener, new IntentFilter(GPS_FIX_CHANGE)); + sLocationManager.requestLocationUpdates(preciseProvider, 0, 0, preciseLocationListener); + sLocationManager.addGpsStatusListener(preciseLocationListener); + + /* + * Since Android criteria have no way to specify "fast fix", lowCriteria may return the same + * provider as highCriteria, even if others are available. In this case, do not register two + * listeners for the same provider but pick the fast provider manually. (Usually there will + * only be two providers in total, which makes the choice easy.) + */ + if (fastProvider == null || preciseProvider.compareTo(fastProvider) == 0) { + List<String> fastProviderList = sLocationManager.getProviders(lowCriteria, false); + fastProvider = null; + for (String fastCandidate: fastProviderList) { + if (preciseProvider.compareTo(fastCandidate) != 0) { + fastProvider = fastCandidate; + break; + } + } + } + if (fastProvider != null) { + sLocationManager.requestLocationUpdates(fastProvider, 0, 0, fastLocationListener); + } + } + + public static void removeListener() { + if (sLocationManager != null) { + if (preciseLocationListener != null) { + sLocationManager.removeUpdates(preciseLocationListener); + sLocationManager.removeGpsStatusListener(preciseLocationListener); + context.unregisterReceiver(preciseLocationListener); + } + if (fastLocationListener != null) sLocationManager.removeUpdates(fastLocationListener); + } + + } } diff --git a/navit/android/src/org/navitproject/navit/NavitWatch.java b/navit/android/src/org/navitproject/navit/NavitWatch.java index ebe5c8727..c73d451be 100644 --- a/navit/android/src/org/navitproject/navit/NavitWatch.java +++ b/navit/android/src/org/navitproject/navit/NavitWatch.java @@ -19,84 +19,85 @@ package org.navitproject.navit; -import java.lang.Thread; import android.os.Handler; import android.os.Message; import android.util.Log; +import java.lang.Thread; + public class NavitWatch implements Runnable { - private Thread thread; - private static Handler handler =new Handler() { - public void handleMessage(Message m) { - Log.e("NavitWatch","Handler received message"); - } - }; - private boolean removed; - private int watch_func; - private int watch_fd; - private int watch_cond; - private int watch_callbackid; - private boolean callback_pending; - private Runnable callback_runnable; - public native void poll(int func, int fd, int cond); - public native void WatchCallback(int id); + private Thread thread; + private static Handler handler =new Handler() { + public void handleMessage(Message m) { + Log.e("NavitWatch","Handler received message"); + } + }; + private boolean removed; + private int watch_func; + private int watch_fd; + private int watch_cond; + private int watch_callbackid; + private boolean callback_pending; + private Runnable callback_runnable; + public native void poll(int func, int fd, int cond); + public native void WatchCallback(int id); - NavitWatch(int func, int fd, int cond, int callbackid) - { - // Log.e("NavitWatch","Creating new thread for "+fd+" "+cond+" from current thread " + java.lang.Thread.currentThread().getName()); - watch_func=func; - watch_fd=fd; - watch_cond=cond; - watch_callbackid=callbackid; - final NavitWatch navitwatch=this; - callback_runnable = new Runnable() { - public void run() - { - navitwatch.callback(); - } - }; - thread = new Thread(this, "poll thread"); - thread.start(); - } - public void run() - { - for (;;) { - // Log.e("NavitWatch","Polling "+watch_fd+" "+watch_cond + " from " + java.lang.Thread.currentThread().getName()); - poll(watch_func, watch_fd, watch_cond); - // Log.e("NavitWatch","poll returned"); - if (removed) - break; - callback_pending=true; - handler.post(callback_runnable); - try { - // Log.e("NavitWatch","wait"); - synchronized(this) { - if (callback_pending) - this.wait(); - } - // Log.e("NavitWatch","wait returned"); - } catch (Exception e) { - Log.e("NavitWatch","Exception "+e.getMessage()); - } - if (removed) - break; - } - } - public void callback() - { - // Log.e("NavitWatch","Calling Callback"); - if (!removed) - WatchCallback(watch_callbackid); - synchronized(this) { - callback_pending=false; - // Log.e("NavitWatch","Waking up"); - this.notify(); - } - } - public void remove() - { - removed=true; - thread.interrupt(); - } + NavitWatch(int func, int fd, int cond, int callbackid) + { + // Log.e("NavitWatch","Creating new thread for "+fd+" "+cond+" from current thread " + java.lang.Thread.currentThread().getName()); + watch_func=func; + watch_fd=fd; + watch_cond=cond; + watch_callbackid=callbackid; + final NavitWatch navitwatch=this; + callback_runnable = new Runnable() { + public void run() + { + navitwatch.callback(); + } + }; + thread = new Thread(this, "poll thread"); + thread.start(); + } + public void run() + { + for (;;) { + // Log.e("NavitWatch","Polling "+watch_fd+" "+watch_cond + " from " + java.lang.Thread.currentThread().getName()); + poll(watch_func, watch_fd, watch_cond); + // Log.e("NavitWatch","poll returned"); + if (removed) + break; + callback_pending=true; + handler.post(callback_runnable); + try { + // Log.e("NavitWatch","wait"); + synchronized(this) { + if (callback_pending) + this.wait(); + } + // Log.e("NavitWatch","wait returned"); + } catch (Exception e) { + Log.e("NavitWatch","Exception "+e.getMessage()); + } + if (removed) + break; + } + } + public void callback() + { + // Log.e("NavitWatch","Calling Callback"); + if (!removed) + WatchCallback(watch_callbackid); + synchronized(this) { + callback_pending=false; + // Log.e("NavitWatch","Waking up"); + this.notify(); + } + } + public void remove() + { + removed=true; + thread.interrupt(); + } } |