Closed Bug 739789 Opened 12 years ago Closed 3 years ago

Store static variables in Bundle during onSaveInstanceState() and onRetainNonConfigurationInstance()

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(blocking-fennec1.0 -)

RESOLVED INCOMPLETE
Tracking Status
blocking-fennec1.0 --- -

People

(Reporter: sriram, Unassigned)

References

Details

The GeckoThread is a static variable in GeckoApp. This allows the communication from GeckoApp to Gecko. However, when GeckoApp restarts due to language change or "Don't keep activities", we restart Gecko, and hence lose the current session. To avoid this, we should be storing the static variable in a Bundle that android gives us. There are two places where this should be done:

1. onSaveInstanceState() should be able to save a GeckoStaticData instance, which will hold all the data we would like to saved. This will be obtained back, whenever Fennec is launched again (after Quit / Kill).

2. During configuration changes, like locale, the activity is restarted. In this case, we should be using onRetainNonConfigurationInstance(). This will hold the GeckoStaticData instance. And this will be obtained during onCreate(). The UI needs to be changed based on the values in this.

This holds true for other static variables too.
Sriram - If this is a duplicate of bug 732572?
Assignee: nobody → sriram
blocking-fennec1.0: --- → +
Now that we are restarting for locale change, I don't feel there is a need to store static variables and use them again. Are we still looking at supporting "Don't keep activities"?
blocking-fennec1.0: + → -
There are certain things that would probably be useful to retain in the saved state to prevent unnecessary work when we're restoring; the active profile is one thing that comes to mind. I can try looking into this.
Assignee: sriram → bnicholson
Assignee: bnicholson → nobody
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.