1d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep/** 2d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * Copyright (C) 2014 The Android Open Source Project 3d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * 4d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * Licensed under the Apache License, Version 2.0 (the "License"); 5d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * you may not use this file except in compliance with the License. 6d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * You may obtain a copy of the License at 7d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * 8d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * http://www.apache.org/licenses/LICENSE-2.0 9d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * 10d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * Unless required by applicable law or agreed to in writing, software 11d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * distributed under the License is distributed on an "AS IS" BASIS, 12d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * See the License for the specific language governing permissions and 14d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * limitations under the License. 15d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 16d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 17d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeeppackage android.hardware.soundtrigger; 18d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 19d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeepimport android.util.ArraySet; 20d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 21dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3Sandeep Siddharthaimport java.util.Locale; 22dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3Sandeep Siddhartha 23d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep/** 24d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * A Voice Keyphrase metadata read from the enrollment application. 25d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * 26d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * @hide 27d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 28d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeeppublic class KeyphraseMetadata { 29d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public final int id; 30d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public final String keyphrase; 31dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3Sandeep Siddhartha public final ArraySet<Locale> supportedLocales; 32e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha public final int recognitionModeFlags; 33d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 34dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3Sandeep Siddhartha public KeyphraseMetadata(int id, String keyphrase, ArraySet<Locale> supportedLocales, 35e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha int recognitionModeFlags) { 36d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep this.id = id; 37d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep this.keyphrase = keyphrase; 38dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3Sandeep Siddhartha this.supportedLocales = supportedLocales; 39e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha this.recognitionModeFlags = recognitionModeFlags; 40d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 41d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 42d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep @Override 43d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public String toString() { 44e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha return "id=" + id + ", keyphrase=" + keyphrase + ", supported-locales=" + supportedLocales 45e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha + ", recognition-modes=" + recognitionModeFlags; 46d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 47d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 48d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep /** 49d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * @return Indicates if we support the given phrase. 50d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 51d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public boolean supportsPhrase(String phrase) { 52e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha return keyphrase.isEmpty() || keyphrase.equalsIgnoreCase(phrase); 53d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 54d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 55d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep /** 56d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * @return Indicates if we support the given locale. 57d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 58dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3Sandeep Siddhartha public boolean supportsLocale(Locale locale) { 59e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha return supportedLocales.isEmpty() || supportedLocales.contains(locale); 60d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 61d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep} 62