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.support.annotation.RestrictTo.Scope.LIBRARY_GROUP; 2001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 2101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport android.support.annotation.IntRange; 2201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport android.support.annotation.NonNull; 2301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport android.support.annotation.Nullable; 2401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport android.support.annotation.RestrictTo; 2501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 2601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuimport java.util.Locale; 2701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 2801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu/** 2901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * Interface describing backwards-compatible LocaleList APIs. 3001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * 3101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu * @hide Internal use only 3201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu */ 3301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu@RestrictTo(LIBRARY_GROUP) 3401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanuinterface LocaleListInterface { 3501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu void setLocaleList(@NonNull Locale... list); 3601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 3701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu Object getLocaleList(); 3801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 3901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu Locale get(int index); 4001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 4101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu boolean isEmpty(); 4201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 4301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu @IntRange(from = 0) 4401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu int size(); 4501f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 4601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu @IntRange(from = -1) 4701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu int indexOf(Locale locale); 4801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 49ad1b0e82100ee31e70040d77bfa4d847b2bf0864Aurimas Liutikas @Override 50ad1b0e82100ee31e70040d77bfa4d847b2bf0864Aurimas Liutikas boolean equals(Object other); 5101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 52ad1b0e82100ee31e70040d77bfa4d847b2bf0864Aurimas Liutikas @Override 5301f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu int hashCode(); 5401f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 55ad1b0e82100ee31e70040d77bfa4d847b2bf0864Aurimas Liutikas @Override 5601f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu String toString(); 5701f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 5801f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu String toLanguageTags(); 5901f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu 6001f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu @Nullable 6101f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu Locale getFirstMatch(String[] supportedLocales); 6201f7e32cdf00e64181661c34a3190b70ad4c79afAndrei Stingaceanu} 63