[
https://issues.apache.org/jira/browse/CB-12277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16339540#comment-16339540
]
ASF GitHub Bot commented on CB-12277:
-------------------------------------
russaa opened a new pull request #149: CB-12277: (android) avoid
NullPointerException when removing splash-screen
URL: https://github.com/apache/cordova-plugin-splashscreen/pull/149
<!--
Please make sure the checklist boxes are all checked before submitting the
PR. The checklist
is intended as a quick reference, for complete details please see our
Contributor Guidelines:
http://cordova.apache.org/contribute/contribute_guidelines.html
Thanks!
-->
### Platforms affected
android
### What does this PR do?
Avoids NullPointerException when removing splash-screen.
As described in the issue
[CB-12277](https://issues.apache.org/jira/browse/CB-12277), this problem does
not occur determinstically, but only sometimes.
### What testing has been done on this change?
manual testing as described in comments of issue
[CB-12277](https://issues.apache.org/jira/browse/CB-12277), as there is no
interface in the test-harness yet for automatically restarting apps.
the manual procedure was as follows:
* start app, wait for splash-screen to disappear, restart app immediately
* without patch, the NullPointerException always occurred within 5 repeats
of this procedure
* with patch, the NullPointerExeption did not occur within 20 repeats
### Checklist
- [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html)
in the JIRA database
- [x] Commit message follows the format: "CB-3232: (android) Fix bug with
resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform
affected.
- ~~[ ] Added automated test coverage as appropriate for this change.~~
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Android, "SplashShowOnlyFirstTime"=true, crashes the app after re-opening it
> ----------------------------------------------------------------------------
>
> Key: CB-12277
> URL: https://issues.apache.org/jira/browse/CB-12277
> Project: Apache Cordova
> Issue Type: Bug
> Components: Ionic
> Affects Versions: 4.0.1
> Environment: Windows 7 x64, engine Android 6, ionic CLI 2.1.17, ionic
> 2 RC4
> Reporter: Musa Haidari
> Priority: Major
> Labels: android, cannot-reproduce, triaged
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> The app shows the splash screen on start. I want to close it programatically
> using this.platform.exitApp(); and after opening it again, I want the splash
> screen to apear again. The default behavoiur is to show the splash screen for
> the first run only, and if we close it the way mentioned, the subsequent
> openings will not show the splash screen.
> To override that I used <preference name="SplashShowOnlyFirstTime"
> value="false" />. Using this, the app shows splash screen for the first time
> and when close the app as mentioned, and try opening it again, while it is
> still available in recent apps, the app crashes most of the times reporting
> this in ADB:
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: FATAL EXCEPTION: main
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: Process:
> com.mydomain.myapp, PID: 30375
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime:
> java.lang.NullPointerException: Attempt to invoke virtual method 'void
> android.widget.ImageView.setAnimation(android.view.animation.Animation)' on a
> null object reference
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> org.apache.cordova.splashscreen.SplashScreen$4.run(SplashScreen.java:227)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> android.app.Activity.runOnUiThread(Activity.java:6050)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> org.apache.cordova.splashscreen.SplashScreen.removeSplashScreen(SplashScreen.java:217)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> org.apache.cordova.splashscreen.SplashScreen.access$1000(SplashScreen.java:49)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> org.apache.cordova.splashscreen.SplashScreen$5$1.run(SplashScreen.java:330)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> android.os.Handler.handleCallback(Handler.java:739)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> android.os.Handler.dispatchMessage(Handler.java:95)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> android.os.Looper.loop(Looper.java:148)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> android.app.ActivityThread.main(ActivityThread.java:7325)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> java.lang.reflect.Method.invoke(Native Method)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
> 12-20 09:35:50.851 30375 30375 E AndroidRuntime: at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]