2014-04-15 15:07:14 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
2013-12-03 15:05:43 -08:00
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
package org.mozilla.gecko;
|
|
|
|
|
2014-04-15 15:07:14 -07:00
|
|
|
import java.util.Locale;
|
|
|
|
|
2013-12-03 15:05:43 -08:00
|
|
|
import android.content.Context;
|
|
|
|
import android.content.res.Configuration;
|
|
|
|
import android.content.res.Resources;
|
2013-12-31 12:35:14 -08:00
|
|
|
|
2014-05-22 17:31:20 -07:00
|
|
|
/**
|
|
|
|
* Implement this interface to provide Fennec's locale switching functionality.
|
|
|
|
*
|
|
|
|
* The LocaleManager is responsible for persisting and applying selected locales,
|
|
|
|
* and correcting configurations after Android has changed them.
|
|
|
|
*/
|
2014-04-15 15:07:14 -07:00
|
|
|
public interface LocaleManager {
|
|
|
|
void initialize(Context context);
|
2014-06-04 19:21:33 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @return true if locale switching is enabled.
|
|
|
|
*/
|
|
|
|
boolean isEnabled();
|
2014-05-13 20:50:27 -07:00
|
|
|
Locale getCurrentLocale(Context context);
|
2014-04-15 15:07:14 -07:00
|
|
|
String getAndApplyPersistedLocale(Context context);
|
|
|
|
void correctLocale(Context context, Resources resources, Configuration newConfig);
|
|
|
|
void updateConfiguration(Context context, Locale locale);
|
|
|
|
String setSelectedLocale(Context context, String localeCode);
|
|
|
|
boolean systemLocaleDidChange();
|
2014-04-29 13:41:38 -07:00
|
|
|
void resetToSystemLocale(Context context);
|
2014-05-22 17:31:20 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Call this in your onConfigurationChanged handler. This method is expected
|
|
|
|
* to do the appropriate thing: if the user has selected a locale, it
|
|
|
|
* corrects the incoming configuration; if not, it signals the new locale to
|
|
|
|
* use.
|
|
|
|
*/
|
|
|
|
Locale onSystemConfigurationChanged(Context context, Resources resources, Configuration configuration, Locale currentActivityLocale);
|
2013-12-03 15:05:43 -08:00
|
|
|
}
|