1 /* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License 15 */ 16 17 package com.android.systemui.classifier; 18 19 public class DirectionEvaluator { 20 public static float evaluate(float xDiff, float yDiff, int type) { 21 float falsingEvaluation = 5.5f; 22 boolean vertical = Math.abs(yDiff) >= Math.abs(xDiff); 23 switch (type) { 24 case Classifier.QUICK_SETTINGS: 25 case Classifier.NOTIFICATION_DRAG_DOWN: 26 if (!vertical || yDiff <= 0.0) { 27 return falsingEvaluation; 28 } 29 break; 30 case Classifier.NOTIFICATION_DISMISS: 31 if (vertical) { 32 return falsingEvaluation; 33 } 34 break; 35 case Classifier.UNLOCK: 36 if (!vertical || yDiff >= 0.0) { 37 return falsingEvaluation; 38 } 39 break; 40 case Classifier.LEFT_AFFORDANCE: 41 if (xDiff < 0.0 && yDiff > 0.0) { 42 return falsingEvaluation; 43 } 44 break; 45 case Classifier.RIGHT_AFFORDANCE: 46 if (xDiff > 0.0 && yDiff > 0.0) { 47 return falsingEvaluation; 48 } 49 default: 50 break; 51 } 52 return 0.0f; 53 } 54 } 55