diff --git a/Sources/app/src/main/java/com/furwaz/roomview/BuildingView.java b/Sources/app/src/main/java/com/furwaz/roomview/BuildingView.java index 63da2cb9e1df25664d1e707948eda2426b4da472..ba2e588a0c76a537c463c17ca92f7afd6e0c81c9 100644 --- a/Sources/app/src/main/java/com/furwaz/roomview/BuildingView.java +++ b/Sources/app/src/main/java/com/furwaz/roomview/BuildingView.java @@ -7,10 +7,16 @@ import android.os.Bundle; import android.widget.LinearLayout; import android.widget.TextView; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + import Common.BuildingManager; import Popups.DirectionsPopup; import Popups.GotoPopup; import Structures.BuildingInfo; +import Structures.PhotoInfo; +import Structures.RoomInfo; +import Structures.ZoneInfo; public class BuildingView extends AppCompatActivity { BuildingInfo building = null; @@ -41,6 +47,18 @@ public class BuildingView extends AppCompatActivity { tile_directions.setOnClickListener(view -> { showDirectionsPopup(); }); + + // pre-load all the building's photos (to make the app faster) + ExecutorService executor = Executors.newSingleThreadExecutor(); + executor.execute(() -> { + for (RoomInfo room: building.getRooms()) { + for (ZoneInfo zone : room.getZones()) { + for (PhotoInfo photo : zone.getPhotos()) { + photo.getBitmap(); + } + } + } + }); } protected void showGotoPopup() { diff --git a/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java b/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java index 79c3177a04df3485654cde426121dab41896ee55..afa9b9b40bb5fd5ff58db37c6ba24c603bcd5582 100644 --- a/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java +++ b/Sources/app/src/main/java/com/furwaz/roomview/ZoneView.java @@ -16,6 +16,9 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + import Common.BuildingManager; import Common.Coord; import Popups.PhotoInfoPopup; @@ -100,6 +103,16 @@ public class ZoneView extends AppCompatActivity { zone = null; } + // pre-load all the zones's photos (to make the app faster) + ExecutorService executor = Executors.newSingleThreadExecutor(); + executor.execute(() -> { + for (ZoneInfo zone : room.getZones()) { + for (PhotoInfo photo : zone.getPhotos()) { + photo.getBitmap(); + } + } + }); + // set the left-right buttons ImageButton btn_l = findViewById(R.id.btn_turn_l); ImageButton btn_r = findViewById(R.id.btn_turn_r);