19baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell/* 29baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * Copyright (C) 2016 The Android Open Source Project 39baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * 49baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * Licensed under the Apache License, Version 2.0 (the "License"); 59baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * you may not use this file except in compliance with the License. 69baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * You may obtain a copy of the License at 79baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * 89baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * http://www.apache.org/licenses/LICENSE-2.0 99baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * 109baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * Unless required by applicable law or agreed to in writing, software 119baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * distributed under the License is distributed on an "AS IS" BASIS, 129baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * See the License for the specific language governing permissions and 149baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * limitations under the License 159baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell */ 169baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 17ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpackage com.android.incallui.answer.impl.classifier; 189baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 19ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/** 20ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * A classifier that looks at the speed of the stroke. It calculates the speed of a stroke in inches 21ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * per second. 22ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 23ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianclass SpeedClassifier extends StrokeClassifier { 249baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 25ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public SpeedClassifier(ClassifierData classifierData) {} 269baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 27ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian @Override 28ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public String getTag() { 29ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return "SPD"; 30ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 313ec5d25470379acbbf3bb2bcc83e5e897a22a59dBrandon Maxwell 32ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian @Override 33ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian public float getFalseTouchEvaluation(Stroke stroke) { 34ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian float duration = stroke.getDurationSeconds(); 35ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian if (duration == 0.0f) { 36ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return SpeedEvaluator.evaluate(0.0f); 373ec5d25470379acbbf3bb2bcc83e5e897a22a59dBrandon Maxwell } 38ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian return SpeedEvaluator.evaluate(stroke.getTotalLength() / duration); 39ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian } 409baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell} 41