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