use of android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel in project android_frameworks_base by DirtyUnicorns.
the class SoundTriggerTest method testKeyphraseSoundModelParcelUnparcel_zeroKeyphrases.
@SmallTest
public void testKeyphraseSoundModelParcelUnparcel_zeroKeyphrases() throws Exception {
byte[] data = new byte[10];
mRandom.nextBytes(data);
KeyphraseSoundModel ksm = new KeyphraseSoundModel(UUID.randomUUID(), UUID.randomUUID(), data, new Keyphrase[0]);
// Write to a parcel
Parcel parcel = Parcel.obtain();
ksm.writeToParcel(parcel, 0);
// Read from it
parcel.setDataPosition(0);
KeyphraseSoundModel unparceled = KeyphraseSoundModel.CREATOR.createFromParcel(parcel);
// Verify that they are the same
assertEquals(ksm.uuid, unparceled.uuid);
assertEquals(ksm.type, unparceled.type);
assertTrue(Arrays.equals(ksm.keyphrases, unparceled.keyphrases));
assertTrue(Arrays.equals(ksm.data, unparceled.data));
}
use of android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel in project android_frameworks_base by DirtyUnicorns.
the class SoundTriggerTest method testKeyphraseSoundModelParcelUnparcel_zeroData.
@SmallTest
public void testKeyphraseSoundModelParcelUnparcel_zeroData() throws Exception {
Keyphrase[] keyphrases = new Keyphrase[2];
keyphrases[0] = new Keyphrase(1, 0, "en-US", "hello", new int[] { 0 });
keyphrases[1] = new Keyphrase(2, 0, "fr-FR", "there", new int[] { 1, 2 });
KeyphraseSoundModel ksm = new KeyphraseSoundModel(UUID.randomUUID(), UUID.randomUUID(), new byte[0], keyphrases);
// Write to a parcel
Parcel parcel = Parcel.obtain();
ksm.writeToParcel(parcel, 0);
// Read from it
parcel.setDataPosition(0);
KeyphraseSoundModel unparceled = KeyphraseSoundModel.CREATOR.createFromParcel(parcel);
// Verify that they are the same
assertEquals(ksm.uuid, unparceled.uuid);
assertEquals(ksm.type, unparceled.type);
assertTrue(Arrays.equals(ksm.keyphrases, unparceled.keyphrases));
assertTrue(Arrays.equals(ksm.data, unparceled.data));
}
use of android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel in project android_frameworks_base by ResurrectionRemix.
the class DatabaseHelper method deleteKeyphraseSoundModel.
/**
* Deletes the sound model and associated keyphrases.
*/
public boolean deleteKeyphraseSoundModel(int keyphraseId, int userHandle, String bcp47Locale) {
// Sanitize the locale to guard against SQL injection.
bcp47Locale = Locale.forLanguageTag(bcp47Locale).toLanguageTag();
synchronized (this) {
KeyphraseSoundModel soundModel = getKeyphraseSoundModel(keyphraseId, userHandle, bcp47Locale);
if (soundModel == null) {
return false;
}
// Delete all sound models for the given keyphrase and specified user.
SQLiteDatabase db = getWritableDatabase();
String soundModelClause = SoundModelContract.KEY_MODEL_UUID + "='" + soundModel.uuid.toString() + "'";
try {
return db.delete(SoundModelContract.TABLE, soundModelClause, null) != 0;
} finally {
db.close();
}
}
}
use of android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel in project android_frameworks_base by ResurrectionRemix.
the class SoundTriggerTest method testKeyphraseSoundModelParcelUnparcel_noData.
@SmallTest
public void testKeyphraseSoundModelParcelUnparcel_noData() throws Exception {
Keyphrase[] keyphrases = new Keyphrase[2];
keyphrases[0] = new Keyphrase(1, 0, "en-US", "hello", new int[] { 0 });
keyphrases[1] = new Keyphrase(2, 0, "fr-FR", "there", new int[] { 1, 2 });
KeyphraseSoundModel ksm = new KeyphraseSoundModel(UUID.randomUUID(), UUID.randomUUID(), null, keyphrases);
// Write to a parcel
Parcel parcel = Parcel.obtain();
ksm.writeToParcel(parcel, 0);
// Read from it
parcel.setDataPosition(0);
KeyphraseSoundModel unparceled = KeyphraseSoundModel.CREATOR.createFromParcel(parcel);
// Verify that they are the same
assertEquals(ksm.uuid, unparceled.uuid);
assertNull(unparceled.data);
assertEquals(ksm.type, unparceled.type);
assertTrue(Arrays.equals(keyphrases, unparceled.keyphrases));
}
use of android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel in project android_frameworks_base by ResurrectionRemix.
the class TestEnrollmentActivity method onEnrollButtonClicked.
/**
* Called when the user clicks the enroll button.
* Performs a fresh enrollment.
*/
public void onEnrollButtonClicked(View v) {
Keyphrase kp = new Keyphrase(KEYPHRASE_ID, RECOGNITION_MODES, BCP47_LOCALE, TEXT, new int[] { UserManager.get(this).getUserHandle() });
UUID modelUuid = UUID.randomUUID();
// Generate a fake model to push.
byte[] data = new byte[1024];
mRandom.nextBytes(data);
KeyphraseSoundModel soundModel = new KeyphraseSoundModel(modelUuid, null, data, new Keyphrase[] { kp });
boolean status = mEnrollmentUtil.addOrUpdateSoundModel(soundModel);
if (status) {
Toast.makeText(this, "Successfully enrolled, model UUID=" + modelUuid, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Failed to enroll!!!" + modelUuid, Toast.LENGTH_SHORT).show();
}
}
Aggregations