101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu/*
201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * Copyright (C) 2017 The Android Open Source Project
301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu *
401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * Licensed under the Apache License, Version 2.0 (the "License");
501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * you may not use this file except in compliance with the License.
601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * You may obtain a copy of the License at
701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu *
801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu *      http://www.apache.org/licenses/LICENSE-2.0
901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu *
1001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * Unless required by applicable law or agreed to in writing, software
1101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * distributed under the License is distributed on an "AS IS" BASIS,
1201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * See the License for the specific language governing permissions and
1401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * limitations under the License.
1501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu */
1601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu
1701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanupackage android.support.v4.os;
1801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu
1901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport static android.os.Build.VERSION.SDK_INT;
2001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu
2101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport android.content.res.Configuration;
2201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu
2301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu/**
2401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * Helper class which allows access to properties of {@link Configuration} in
2501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * a backward compatible fashion.
2601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu */
2701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanupublic final class ConfigurationCompat {
2801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu    private ConfigurationCompat() {
2901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu    }
3001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu
3101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu    /**
3201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu     * Get the {@link LocaleListCompat} from the {@link Configuration}.
3301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu     *
3401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu     * @return The locale list.
3501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu     */
3601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu    public static LocaleListCompat getLocales(Configuration configuration) {
3701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu        if (SDK_INT >= 24) {
3801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu            return LocaleListCompat.wrap(configuration.getLocales());
3901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu        } else {
4001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu            return LocaleListCompat.create(configuration.locale);
4101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu        }
4201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu    }
4301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu}
44