14498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski/* 24498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * Copyright (C) 2015 The Android Open Source Project 34498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * 44498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * Licensed under the Apache License, Version 2.0 (the "License"); 54498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * you may not use this file except in compliance with the License. 64498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * You may obtain a copy of the License at 74498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * 84498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * http://www.apache.org/licenses/LICENSE-2.0 94498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * 104498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * Unless required by applicable law or agreed to in writing, software 114498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * distributed under the License is distributed on an "AS IS" BASIS, 124498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * See the License for the specific language governing permissions and 144498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * limitations under the License 154498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski */ 164498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski 174498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowskipackage com.android.systemui.classifier; 184498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski 194498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski/** 204498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * A classifier which looks at the general direction of a stroke and evaluates it depending on 214498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski * the type of action that takes place. 224498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski */ 234498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowskipublic class DirectionClassifier extends StrokeClassifier { 244498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski public DirectionClassifier(ClassifierData classifierData) { 254498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski } 264498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski 274498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski @Override 28401caaedd871894620accc1d14592c08095b5523Adrian Roos public String getTag() { 29401caaedd871894620accc1d14592c08095b5523Adrian Roos return "DIR"; 30401caaedd871894620accc1d14592c08095b5523Adrian Roos } 31401caaedd871894620accc1d14592c08095b5523Adrian Roos 32401caaedd871894620accc1d14592c08095b5523Adrian Roos @Override 334498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski public float getFalseTouchEvaluation(int type, Stroke stroke) { 344498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski Point firstPoint = stroke.getPoints().get(0); 354498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski Point lastPoint = stroke.getPoints().get(stroke.getPoints().size() - 1); 364498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski return DirectionEvaluator.evaluate(lastPoint.x - firstPoint.x, lastPoint.y - firstPoint.y, 374498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski type); 384498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski } 394498d9cd8ee7aa44d25cd9018d83044409c1c395Blazej Magnowski}