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 { evaluate(float xDiff, float yDiff, int type)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.PULSE_EXPAND: 26 case Classifier.NOTIFICATION_DRAG_DOWN: 27 if (!vertical || yDiff <= 0.0) { 28 return falsingEvaluation; 29 } 30 break; 31 case Classifier.NOTIFICATION_DISMISS: 32 if (vertical) { 33 return falsingEvaluation; 34 } 35 break; 36 case Classifier.UNLOCK: 37 case Classifier.BOUNCER_UNLOCK: 38 if (!vertical || yDiff >= 0.0) { 39 return falsingEvaluation; 40 } 41 break; 42 case Classifier.LEFT_AFFORDANCE: 43 if (xDiff < 0.0 && yDiff > 0.0) { 44 return falsingEvaluation; 45 } 46 break; 47 case Classifier.RIGHT_AFFORDANCE: 48 if (xDiff > 0.0 && yDiff > 0.0) { 49 return falsingEvaluation; 50 } 51 default: 52 break; 53 } 54 return 0.0f; 55 } 56 } 57