Closed Bug 692438 Opened 13 years ago Closed 13 years ago

Locale picker shows up after update

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: andreea.pod, Assigned: wesj)

References

Details

Attachments

(2 files)

Mozilla /5.0 (Android;Linux armv7l;rv:9.0a1) Gecko/20111006 Firefox/10.0a1 Fennec/10.0a1
Device: LG Optimus 2X

Steps to reproduce:
1. Make sure you have yesterday's build
2. Change the language from english to something else 
3. Change the language back to english
4. Update to today's build

Expected results:
update should work with no problem and language after update should be english

Actual results:
after update the locale picker is shown
Whiteboard: DUPEME
So the issue here is that when you select a new locale, we update our stored locale buildid. After the update, that buildid doesn't match the Fennec builid anymore, so we assume that the locale isn't compatible.

Then we open the locale picker and check if there's a new version of the locale on AMO. We don't check our list of available system locales because, if we've gotten here with an incompatible locale, it would still appear in this list.

I think the fix is probably:

if the locale buildid and the system buildid don't match
  uninstall all locales through the AddonsManager
  reinstall what we can from the locales repository
  check the available locales list for anything that matches the users selected locale
    if we find it, use it and go on
    if we don't, show the locale picker and let them pick a new locale

I have some code to do just this in the updater. I think I'm going to move it to the locale repository so that I can reuse it in both cases.
Attached patch PatchSplinter Review
Testing...
Assignee: nobody → wjohnston
Blocks: 689706
Attached patch Patch v1Splinter Review
This moves the "Uninstall, then reinstall" code from UpdatePrompt into LocaleRepository and adds a call into it from localePicker.

If the locale picker starts and finds the localeBuildID has a user set value, and that buildid doesn't match Fennec's buildID it will uninstall/reinstall locales. Best case scenario, LocaleRepo will uninstall and reinstall all your installed locales, update the stored build id, and the locale picker will trigger a restart.

There's a chance that the localerepo may not be able to reinstall all of your locales though, or that it will not be able to install the one you had selected. In that case, I am reverting the locale pref to its default, and showing the locale picker front screen.

However, during the daily update, if we have trouble updating your locale, I'm just reverting you back to english.

I'm nervous to use this without some tests. So I'm going to look into them next, but currently its impossible to actually install locales during tests (they're not restartless).
Attachment #565382 - Flags: review?(mark.finkle)
Attachment #565382 - Flags: review?(mark.finkle)
Closing this bug since we have no plans to move the locale picker code forward.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
Whiteboard: DUPEME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: