diff --git a/src/com/android/droidgap/PhoneGap.java b/src/com/android/droidgap/PhoneGap.java index 947f7c8d..c0c53e7c 100644 --- a/src/com/android/droidgap/PhoneGap.java +++ b/src/com/android/droidgap/PhoneGap.java @@ -4,23 +4,39 @@ import android.content.Context; import android.hardware.SensorManager; import android.location.Location; import android.location.LocationManager; +import android.os.Handler; import android.os.Vibrator; +import android.telephony.TelephonyManager; +import android.webkit.WebView; public class PhoneGap { - public GeoTuple location; - public AccelTuple accel; + /* + * UUID, version and availability + */ + public boolean droid = true; + private String version = "0.1"; private Context mCtx; + private Handler mHandler; + private WebView mAppView; - public PhoneGap(Context ctx) { + public PhoneGap(Context ctx, Handler handler, WebView appView) { this.mCtx = ctx; + this.mHandler = handler; + this.mAppView = appView; } public void updateAccel(AccelTuple accel){ - accel.accelX = SensorManager.DATA_X; - accel.accelY = SensorManager.DATA_Y; - accel.accelZ = SensorManager.DATA_Z; + mHandler.post(new Runnable() { + public void run() { + int accelX = SensorManager.DATA_X; + int accelY = SensorManager.DATA_Y; + int accelZ = SensorManager.DATA_Z; + mAppView.loadUrl("javascript:gotAcceleration(" + accelX + ", " + accelY + "," + accelZ + ")"); + } + }); + } public void takePhoto(){ @@ -41,16 +57,40 @@ public class PhoneGap { * Android requires a provider, since it can fall back on triangulation and other means as well as GPS */ - public void getLocation(String provider){ - LocationManager locMan = (LocationManager) mCtx.getSystemService(Context.LOCATION_SERVICE); - Location myLoc = (Location) locMan.getLastKnownLocation(provider); - location.lat = myLoc.getLatitude(); - location.lng = myLoc.getLongitude(); - location.ele = myLoc.getAltitude(); + public void getLocation(final String provider){ + mHandler.post(new Runnable() { + public void run() { + LocationManager locMan = (LocationManager) mCtx.getSystemService(Context.LOCATION_SERVICE); + Location myLoc = (Location) locMan.getLastKnownLocation(provider); + GeoTuple geoloc = new GeoTuple(); + geoloc.lat = myLoc.getLatitude(); + geoloc.lng = myLoc.getLongitude(); + geoloc.ele = myLoc.getAltitude(); + mAppView.loadUrl("javascript:gotLocation(" + geoloc.lat + ", " + geoloc.lng + ")"); + } + }); } public String outputText(){ String test = "

Test

"; return test; } + + public String getUuid() + { + TelephonyManager operator = (TelephonyManager) mCtx.getSystemService(Context.TELEPHONY_SERVICE); + String uuid = operator.getDeviceId(); + return uuid; + } + + public String getVersion() + { + return version; + } + + public boolean exists() + { + return true; + } + }