Skip to content

ExpoFP

An Android library (AAR) to show and manage floor plans.

What's new in ExpoFP SDK version 5.10.0

  • Added planOperationalErrorFlow to receive errors that occur while the plan is operating, for example location provider failures.
  • Fixed a location provider failure replacing the plan loading status: provider errors are now delivered to planOperationalErrorFlow instead of planStatusFlow, so the plan keeps loading and remains usable. Collect planOperationalErrorFlow before attaching the plan view; if you handled these errors via planStatusFlow, switch to it.
  • Fixed a preloaded plan reused across screens leaving an earlier screen blank: getView() now returns a new lightweight host container on each call and shows the plan in the most recently attached host, automatically returning it to the previous screen when the current one is destroyed. Call getView() once per screen and do not compare results by identity or cache the view beyond the screen's lifetime; existing re-attachment workarounds keep working. getView() is now annotated @MainThread.
  • ExpoFpPlanPreloader.disposePreloadedPlan() and removeAllPreloadedPlans() can now be called from any thread and dispose each plan exactly once; presenter cleanup always runs on the main thread.
  • Fixed double encoding of URL parameters with special characters when loading a plan, which broke booth selection by name.
  • Removed ExpoFpPlanParameter.ServiceWorker; the floor plan does not read the sw parameter. Use ExpoFpPlanParameter.Raw("sw", "1") if you still need to send it.
  • Changelog

Migration guides


Setup

Gradle (Kotlin DSL)

dependencies {
    implementation("com.expofp:fplan:5.10.0")
}

Minimum supported Android SDK version: 24


Topics

  • Load Plan
    Basic way to show a plan from the internet.
  • Download Plan
    Save plans in mobile file storage and use them without the internet.
  • Preload Plan
    Preload plans in advance and reuse them without the internet during an app lifecycle.
  • Manage properties and settings
    Reload a plan with new settings, apply, change or remove current settings and check the plan loading status.
  • Manage Plan
    Apply commands and request information from a plan via presenter.
  • Listen Plan events
    Listen and respond to user interactions with the plan.
  • Setup navigation
    Setup your own location provider or use one of our pertners and help people navigate in a plan.

Articles

Usage Examples

  • Mini-map Embed a floor plan preview in your content screens and expand it into a full interactive map.

API