Allow for locale switching functionality to be disabled

RESOLVED FIXED in Firefox 32



5 years ago
5 years ago


(Reporter: rnewman, Assigned: rnewman)


32 Branch
Firefox 32
Dependency tree / graph

Firefox Tracking Flags




(2 attachments, 1 obsolete attachment)



5 years ago
This entails:

* Hiding the pref item.
* Optionally: ignoring any selected value (just in case), behaving as if "System default" were selected.

The initial motivation for this is threefold:

* To disable the feature on multipane API 11 and 12 devices, allowing us time to fix and test Bug 1015209.
* To allow for shipping with a build flag, in case some serious bug comes up.
* To provide a trivial hook for disabling in a single-locale build (bug not yet filed).

Comment 2

5 years ago
Comment on attachment 8433820 [details] [diff] [review]
Part 1: remove Language section from preferences if locale switching is disabled.


* This adds only one build flag: MOZ_LOCALE_SWITCHER. This anticipates adding the content language picker later (see notes in the patch). When this happens we'll stop hiding the whole section, and start hiding just the locale switching pref itself.

* We need to remove the pref section in two places: one for fragments (header, added ID to do this), one for non-fragments. The latter is kinda ugly (check for the resource in the extra), but it's the most correct way to do it.

* The use of "preferences_locale" and "resource" inline is idiomatic for this file.

* Gah this whole pattern is kinda horrible, but hey.
Attachment #8433820 - Flags: review?(nalexander)

Comment 3

5 years ago
This is a stopgap until we have a real fix for API 12 and 13. Simply treat it as disabled on Honeycomb tablets.
Attachment #8433829 - Flags: review?(nalexander)


5 years ago
Attachment #8433820 - Attachment is obsolete: true
Attachment #8433820 - Flags: review?(nalexander)
Comment on attachment 8433876 [details] [diff] [review]
Part 1: remove Language section from preferences if locale switching is disabled. v2

Review of attachment 8433876 [details] [diff] [review]:

Looks good!

@@ +4949,5 @@
>  dnl ========================================================
> +dnl = Enable runtime locale switching on Android
> +dnl ========================================================
> +if test -n "$MOZ_LOCALE_SWITCHER"; then

Do you not need/want MOZ_LOCALE_SWITCHER= before this?

::: mobile/android/base/
@@ +120,5 @@
>  #else
>      false;
>  #endif
> +    public static final boolean MOZ_LOCALE_SWITCHER = 

nit: trailing ws.
Attachment #8433876 - Flags: review+
Comment on attachment 8433829 [details] [diff] [review]
Part 2: disable locale switching on API level 11 and 12. v1

Review of attachment 8433829 [details] [diff] [review]:

::: mobile/android/base/preferences/
@@ +295,5 @@
> +
> +                if (Build.VERSION.SDK_INT < 13) {
> +                    // Affected by Bug 1015209 -- no detach/attach.
> +                    // We can't do fragment rejigging correctly, so don't enable
> +                    // locale switching at all if it'll crash.

nit: phrase this as a statement, not a possibility: ... so don't enable locale switching at all, since it will crash.
Attachment #8433829 - Flags: review?(nalexander) → review+


5 years ago
Blocks: 1015209
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 32


5 years ago
Depends on: 1065531
You need to log in before you can comment on or make changes to this bug.