| /* |
| * Copyright (C) 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.icu.text; |
| |
| import java.util.Locale; |
| import libcore.api.IntraCoreApi; |
| import libcore.util.NonNull; |
| |
| /** |
| * Provide functionalities implemented by ICU4C for {@link libcore.icu.TimeZoneNames} and |
| * the implementation should be faster than the public APIs provided by |
| * {@link android.icu.text.TimeZoneNames}. |
| * |
| * @hide |
| */ |
| @IntraCoreApi |
| public final class TimeZoneNamesNative { |
| |
| private TimeZoneNamesNative() {} |
| |
| /** |
| * For each tzId passed returns a list of arrays of five elements: Olson name, long name, |
| * short name, long DST name and short DST name. |
| * |
| * @param locale Locale object |
| * @param tzIds List of timezone ids |
| * @see libcore.icu.TimeZoneNames.ZoneStringsCache#create(java.util.Locale) |
| * @return List of [Time zone id, long, short, long DST, short DST] for each id from |
| * {@code tzIds}. Any of these value except Olson name can be null. |
| * |
| * @hide |
| */ |
| @IntraCoreApi |
| public static String[][] getFilledZoneStrings(@NonNull Locale locale, @NonNull String[] tzIds) { |
| String[][] result = new String[tzIds.length][5]; |
| for (int i = 0; i < tzIds.length; ++i) { |
| result[i][0] = tzIds[i]; |
| } |
| fillZoneStringsNative(locale.toLanguageTag(), result); |
| return result; |
| } |
| |
| private static native void fillZoneStringsNative(String locale, String[][] result); |
| } |