package com.integreight.onesheeld.shields.fragments;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.integreight.onesheeld.R;
import com.integreight.onesheeld.shields.ShieldFragmentParent;
import com.integreight.onesheeld.shields.controller.GpsShield;
import com.integreight.onesheeld.shields.controller.GpsShield.GpsEventHandler;
public class GpsFragment extends ShieldFragmentParent<GpsFragment> {
TextView Latit, Longit;
String lat;
String lng;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.gps_shield_fragment_layout, container,
false);
}
@Override
public void doOnStart() {
((GpsShield) getApplication().getRunningShields().get(
getControllerTag())).setGpsEventHandler(gpsEventHandler);
}
@Override
public void doOnViewCreated(View v, @Nullable Bundle savedInstanceState) {
Latit = (TextView) v.findViewById(R.id.lat_value_txt);
Longit = (TextView) v.findViewById(R.id.lang_value_txt);
}
private GpsEventHandler gpsEventHandler = new GpsEventHandler() {
@Override
public void onLatChanged(final String lat) {
// TODO Auto-generated method stub
if (lat != null && lat.length() > 0)
Latit.post(new Runnable() {
@Override
public void run() {
GpsFragment.this.lat = lat;
if (canChangeUI())
Latit.setText(activity.getString(R.string.gps_latitude)+"\n" + lat);
}
});
}
@Override
public void onLangChanged(final String lang) {
// TODO Auto-generated method stub
if (lang != null && lang.length() > 0)
Longit.post(new Runnable() {
@Override
public void run() {
GpsFragment.this.lng = lng;
if (canChangeUI())
Longit.setText(activity.getString(R.string.gps_longitude)+"\n" + lang);
}
});
}
};
private void initializeFirmata() {
if (getApplication().getRunningShields().get(getControllerTag()) == null) {
getApplication().getRunningShields().put(getControllerTag(),
new GpsShield(activity, getControllerTag()));
}
}
public void doOnServiceConnected() {
initializeFirmata();
}
;
@Override
public void doOnResume() {
((GpsShield) getApplication().getRunningShields().get(
getControllerTag())).isGooglePlayServicesAvailableWithDialog();
if (((GpsShield) getApplication().getRunningShields().get(
getControllerTag())).getLastKnownLocation() != null) {
lat = ((GpsShield) getApplication().getRunningShields().get(
getControllerTag())).getLastKnownLocation().getLatitude() + "";
lng = ((GpsShield) getApplication().getRunningShields().get(
getControllerTag())).getLastKnownLocation().getLongitude() + "";
}
if (lat != null && lng != null && canChangeUI()) {
Latit.setText(activity.getString(R.string.gps_latitude)+"\n" + lat);
Longit.setText(activity.getString(R.string.gps_longitude)+"\n" + lng);
}
}
}