diff --git a/libSafeMobile/src/main/java/com/safemobile/activities/AbstractLiveActivity.java b/libSafeMobile/src/main/java/com/safemobile/activities/AbstractLiveActivity.java index 2f2e654..236b078 100644 --- a/libSafeMobile/src/main/java/com/safemobile/activities/AbstractLiveActivity.java +++ b/libSafeMobile/src/main/java/com/safemobile/activities/AbstractLiveActivity.java @@ -2,6 +2,7 @@ package com.safemobile.activities; import java.util.ArrayList; +import com.google.android.gms.maps.GoogleMap; import com.safemobile.lib.Vehicle; import android.app.Activity; @@ -23,6 +24,7 @@ public abstract class AbstractLiveActivity extends AppCompatActivity { public abstract void pollReceived(int position, double lat, double lng); // --> UpdatePoll public abstract void vehicleStatusReceived(long imei, int opCode, int status); // --> UpdateOptions public abstract void emergencyAlarmReceived(int position, double lat, double lng); // --> UpdateEmergencyAlarm + public abstract GoogleMap getMap(); // --> UpdateEmergencyAlarm /** Misc */ public AbstractSDParentActivity getParentTab() { diff --git a/safeDispatch/src/main/java/com/safemobile/dispatch/HistoryActivity.java b/safeDispatch/src/main/java/com/safemobile/dispatch/HistoryActivity.java index 5397cfa..eaa171c 100644 --- a/safeDispatch/src/main/java/com/safemobile/dispatch/HistoryActivity.java +++ b/safeDispatch/src/main/java/com/safemobile/dispatch/HistoryActivity.java @@ -3,14 +3,37 @@ package com.safemobile.dispatch; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.Spinner; +import android.widget.TextView; +import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.SupportMapFragment; +import com.safemobile.lib.AppParams; import com.safemobile.lib.SM; +import com.safemobile.lib.Vehicle; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; public class HistoryActivity extends AppCompatActivity { public Bundle savedInstanceState; private TabLayoutActivity parentTab; + private GoogleMap googleMap; + private Spinner spinnerVehicle; + private ImageView changeMapType, checkTraffic, slideLayoutImage; + private LinearLayout layoutTraffic, slidelayout, layoutVehicles; + private ArrayList allVehicle = new ArrayList<>(); + private ArrayList allVehicleNames = new ArrayList<>(); + private ArrayAdapter adapter; + private boolean showVehicle = true; @Override protected void onCreate(Bundle savedInstanceState) { @@ -21,6 +44,104 @@ public class HistoryActivity extends AppCompatActivity { parentTab = (TabLayoutActivity) getParent(); parentTab.historyActivity = this; + Locale locale = new Locale(AppParams.LANGUAGETMP); + Locale.setDefault(locale); + + googleMap = parentTab.liveActivity.getMap(); + SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() + .findFragmentById(R.id.map); + + spinnerVehicle = findViewById(R.id.spinnerVehicle); + getVehicles(); + + adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, allVehicleNames); + adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); + spinnerVehicle.setAdapter(adapter); + spinnerVehicle.setSelection(0); + + changeMapType(); + changeTraffic(); + + slidelayout = findViewById(R.id.slidelayout); + slideLayoutImage = findViewById(R.id.slideLayoutImage); + layoutVehicles = findViewById(R.id.layoutBig); +// slidelayout.setOnTouchListener((v, event) -> { +// if (showVehicle) { +// layoutVehicles.setVisibility(View.GONE); +// slideLayoutImage.setImageResource(R.drawable.arrow_right); +// showVehicle = false; +// } else { +// layoutVehicles.setVisibility(View.VISIBLE); +// slideLayoutImage.setImageResource(R.drawable.arrow_left); +// showVehicle = true; +// } +// return false; +// }); + + setDate(); + } + + private void setDate() { + Calendar calendar = Calendar.getInstance(); + Date endDate = calendar.getTime(); + calendar.add(Calendar.DATE, -1); + Date startDate = calendar.getTime(); + + LinearLayout layoutStartPicker = findViewById(R.id.layoutStartPicker); + TextView textViewDate = findViewById(R.id.textViewStartDate); + + textViewDate.setText(new SimpleDateFormat("HH:mm, dd.MM.yyyy").format(startDate)); +// layoutStartPicker.setOnTouchListener((v, event) -> { +// showDialog(layoutStartPicker); +// return false; +// }); + +// layoutEndPicker.setOnTouchListener(new OnTouchListener() { +// @Override +// public boolean onTouch(View v, MotionEvent event) { +// showDialog(layoutEndPicker); +// return false; +// } +// }); + + + } + + private void changeTraffic() { + ImageView changeTrafficImageView = findViewById(R.id.changeTraffic); + changeTrafficImageView.setOnClickListener(v -> { + if (googleMap.isTrafficEnabled()) { + changeTrafficImageView.setImageResource(R.drawable.traffic_off); + googleMap.setTrafficEnabled(false); + } else { + changeTrafficImageView.setImageResource(R.drawable.traffic); + googleMap.setTrafficEnabled(true); + } + }); + } + + private void changeMapType() { + changeMapType = findViewById(R.id.changeMapType); + ImageView changeMapTypeImageView = findViewById(R.id.changeMapType); + changeMapType.setOnClickListener(view -> { + if (googleMap.getMapType() == GoogleMap.MAP_TYPE_SATELLITE) { + changeMapTypeImageView.setImageResource(R.drawable.satellite); + googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE); + } else { + changeMapTypeImageView.setImageResource(R.drawable.map); + googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); + } + }); + } + + public void getVehicles() { + try { + for (Vehicle vehicle : parentTab.getAllVehicle()) { + allVehicleNames.add(vehicle.name); + allVehicle.add(vehicle); + } + } catch (Exception ex) { } + } public void UpdateMap() { diff --git a/safeDispatch/src/main/java/com/safemobile/dispatch/LiveActivity.java b/safeDispatch/src/main/java/com/safemobile/dispatch/LiveActivity.java index 57eafeb..34d0e31 100644 --- a/safeDispatch/src/main/java/com/safemobile/dispatch/LiveActivity.java +++ b/safeDispatch/src/main/java/com/safemobile/dispatch/LiveActivity.java @@ -788,4 +788,9 @@ public class LiveActivity extends AbstractLiveActivity implements OnMapReadyCall } } }; + + @Override + public GoogleMap getMap() { + return googleMap; + } } \ No newline at end of file diff --git a/safeDispatch/src/main/res/layout/tabhistory.xml b/safeDispatch/src/main/res/layout/tabhistory.xml index f952944..d4536fc 100644 --- a/safeDispatch/src/main/res/layout/tabhistory.xml +++ b/safeDispatch/src/main/res/layout/tabhistory.xml @@ -282,15 +282,15 @@ android:layout_weight="1" style="?sliders" /> - - - + android:name="com.google.android.gms.maps.SupportMapFragment" /> +