Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-8342

SplashScreen plugin doesn't destroy it's views which seems to block user interaction

    XMLWordPrintableJSON

Details

    Description

      We recently updated the SplashScreen plugin for iPhone 6/6+ support but uncovered an issue that appears to have been caused by a fix for another issue.

      There was a bug report (https://issues.apache.org/jira/browse/CB-7204) concerning it sounds like a race condition with the spinner and the splash screen and the fix was to make sure the animation "completed" by checking a boolean passed to the animation "completion" function, when hiding the SplashScreen, before destroying it's views. This boolean, according to the docs, will be false if another view is animated in before this one was "completed".

      Here is the commit with the fix: d2e62a551c950041cb4c9683624a04d931f4bee3 (https://github.com/apache/cordova-plugin-splashscreen/commit/d2e62a551c950041cb4c9683624a04d931f4bee3)

      We have a case where we have another view (a PinLock plugin) that sometimes gets animated in before the SplashScreen animation is fully complete. There doesn't seem to be any issues with this and is transparent to the user. However, with the addition of checking the "finished" boolean before destroying the views, the app becomes unusable. If we comment that conditional out, everything works fine again.

      Is there another way to handle fixing the race condition? Or any other suggestions?

      Attachments

        Activity

          People

            Unassigned Unassigned
            jamaljohnson Jamal Johnson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: