KeyphraseMetadata.java revision e6cd2476aa9d07df0de0a0081ab66d8401a7e228
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 21d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep/** 22d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * A Voice Keyphrase metadata read from the enrollment application. 23d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * 24d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * @hide 25d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 26d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeeppublic class KeyphraseMetadata { 27d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public final int id; 28d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public final String keyphrase; 29d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public final ArraySet<String> supportedLocales; 30e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha public final int recognitionModeFlags; 31d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 32e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha public KeyphraseMetadata(int id, String keyphrase, String[] supportedLocales, 33e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha int recognitionModeFlags) { 34d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep this.id = id; 35d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep this.keyphrase = keyphrase; 36d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep this.supportedLocales = new ArraySet<String>(supportedLocales.length); 37d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep for (String locale : supportedLocales) { 38d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep this.supportedLocales.add(locale); 39d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 40e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha this.recognitionModeFlags = recognitionModeFlags; 41d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 42d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 43d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep @Override 44d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public String toString() { 45e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha return "id=" + id + ", keyphrase=" + keyphrase + ", supported-locales=" + supportedLocales 46e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha + ", recognition-modes=" + recognitionModeFlags; 47d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 48d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 49d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep /** 50d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * @return Indicates if we support the given phrase. 51d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 52d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public boolean supportsPhrase(String phrase) { 53e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha return keyphrase.isEmpty() || keyphrase.equalsIgnoreCase(phrase); 54d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 55d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep 56d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep /** 57d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep * @return Indicates if we support the given locale. 58d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep */ 59d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep public boolean supportsLocale(String locale) { 60e6cd2476aa9d07df0de0a0081ab66d8401a7e228Sandeep Siddhartha return supportedLocales.isEmpty() || supportedLocales.contains(locale); 61d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep } 62d7018200312e4e4dc3f67cf33dc90bf7ce585844Sandeep} 63