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}