I've see this subject been discussed here but can't seem to understand how to proceed.
In my onCreate
I have code that checks if it is the first run of the application firstRun = getPref.getBoolean("firstRun", true);
. If its the first time that the app is run, an alertdialog is shown with a message saying thats there is no database installed and the user as to press the OK
button to download the database. If there are no errors than pref.putBoolean("firstRun", false);
and the alertdialog it's not shown in the next runs.
Now I want to introduce a ChangeLog
that it is only shown on the first run after the app is installed or upgraded. Since the changelog must come before the firstRun
check, I should wait for the user press the changelog alertdialog OK
button.
I've created the code for the changelog (it's working as expected) and after that code, I have the code of the firstRun
. The problem is that the changelog is shown but than, if its in fact the first run of the app, the firstRun
alertdialog is overlapping the changelog alertdialog.
So, here is my question.
What's the best wait to proceed so that the firstRun
code is only executed after the user presses the OK
button on the changelog alertdialog?
Like Mukesh suggested but also put this in your callback for your changelog dialog.
Define a convenience function to show the first run dialog:
Make sure you include Mukesh's suggestion on start-up:
What I understand is that the
changeLog
will run every first run of the app. So you can overrideonDismiss()
of yourchangeLog AlertDialog
. Then just put your code forfirstRun
checkTake another boolean variable
isChengelog
and set it false initialy, when user click onChangeLog
dialog set it true and save it in preferences. Further proceeding code check