Skip to content
Snippets Groups Projects
Commit a29a1078 authored by FurWaz's avatar FurWaz
Browse files

Upgraded walk popup

parent dcbfcb23
No related branches found
No related tags found
No related merge requests found
package Popups;
public class RemovePopup {
}
...@@ -13,6 +13,9 @@ import androidx.appcompat.app.AlertDialog; ...@@ -13,6 +13,9 @@ import androidx.appcompat.app.AlertDialog;
import com.furwaz.roomview.R; import com.furwaz.roomview.R;
import java.util.ArrayList;
import java.util.List;
import Common.Callback; import Common.Callback;
import Structures.PathDoor; import Structures.PathDoor;
import Structures.PathInfo; import Structures.PathInfo;
...@@ -27,12 +30,15 @@ public class WalkPopup { ...@@ -27,12 +30,15 @@ public class WalkPopup {
Context context = null; Context context = null;
RoomInfo room = null; RoomInfo room = null;
ZoneInfo zone = null;
AlertDialog dialog = null; AlertDialog dialog = null;
Spinner w_zone = null; Spinner w_zone = null;
Button validate_btn = null; Button validate_btn = null;
Button cancel_btn = null; Button cancel_btn = null;
public WalkPopup(Context context, RoomInfo room, Callback onCreate, Callback onCancel, Callback onValidate, int mode) { List<ZoneInfo> available_zones = new ArrayList<>();
public WalkPopup(Context context, ZoneInfo zone, Callback onCreate, Callback onCancel, Callback onValidate, int mode) {
AlertDialog.Builder builder = new AlertDialog.Builder(context); AlertDialog.Builder builder = new AlertDialog.Builder(context);
dialog = builder.create(); dialog = builder.create();
LayoutInflater factory = LayoutInflater.from(context); LayoutInflater factory = LayoutInflater.from(context);
...@@ -40,7 +46,8 @@ public class WalkPopup { ...@@ -40,7 +46,8 @@ public class WalkPopup {
dialog.setView(popup); dialog.setView(popup);
this.context = context; this.context = context;
this.room = room; this.zone = zone;
this.room = zone.getRoom();
w_zone = popup.findViewById(R.id.walk_zone); w_zone = popup.findViewById(R.id.walk_zone);
validate_btn = popup.findViewById(R.id.btn_validate_room); validate_btn = popup.findViewById(R.id.btn_validate_room);
...@@ -80,10 +87,12 @@ public class WalkPopup { ...@@ -80,10 +87,12 @@ public class WalkPopup {
dialog.dismiss(); dialog.dismiss();
} }
public void setSelectedZone(ZoneInfo zone) { this.w_zone.setSelection(room.getZones().indexOf(zone)); } public void setSelectedZone(ZoneInfo zone) {
this.w_zone.setSelection(room.getZones().indexOf(zone));
}
public ZoneInfo getSelectedZone() { public ZoneInfo getSelectedZone() {
return room.getZone( w_zone.getSelectedItemPosition() ); return available_zones.get( w_zone.getSelectedItemPosition() );
} }
public void show() { public void show() {
...@@ -91,9 +100,17 @@ public class WalkPopup { ...@@ -91,9 +100,17 @@ public class WalkPopup {
} }
protected void updateZonesList() { protected void updateZonesList() {
String[] str_zones = new String[room.getNbZones()]; available_zones.clear();
for (int i = 0; i < str_zones.length; i++) for (int i = 0; i < room.getNbZones(); i++) {
str_zones[i] = room.getZone(i).getName(); ZoneInfo z = room.getZone(i);
if (z != zone) available_zones.add(z);
}
String[] str_zones = new String[available_zones.size()];
for (int i = 0; i < available_zones.size(); i++) {
str_zones[i] = available_zones.get(i).getName();
}
w_zone.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, str_zones)); w_zone.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, str_zones));
if (room.getNbZones() == 0) { if (room.getNbZones() == 0) {
validate_btn.setEnabled(false); validate_btn.setEnabled(false);
......
...@@ -205,7 +205,7 @@ public class PhotoActivity extends AppCompatActivity implements SensorEventListe ...@@ -205,7 +205,7 @@ public class PhotoActivity extends AppCompatActivity implements SensorEventListe
protected void showAddWalkPopup() { protected void showAddWalkPopup() {
new WalkPopup( new WalkPopup(
this, this,
room, zone,
param -> null, param -> null,
param -> { param -> {
((WalkPopup) param).dismiss(); ((WalkPopup) param).dismiss();
...@@ -224,7 +224,7 @@ public class PhotoActivity extends AppCompatActivity implements SensorEventListe ...@@ -224,7 +224,7 @@ public class PhotoActivity extends AppCompatActivity implements SensorEventListe
protected void showEditWalkPopup() { protected void showEditWalkPopup() {
new WalkPopup( new WalkPopup(
this, this,
room, zone,
param -> { param -> {
((WalkPopup) param).setSelectedZone(zone.getWalk(photo.getOrientation()).getDestination()); ((WalkPopup) param).setSelectedZone(zone.getWalk(photo.getOrientation()).getDestination());
return null; return null;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment