10e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski/* 20e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * Copyright (C) 2015 The Android Open Source Project 30e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * 40e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * Licensed under the Apache License, Version 2.0 (the "License"); 50e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * you may not use this file except in compliance with the License. 60e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * You may obtain a copy of the License at 70e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * 80e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * http://www.apache.org/licenses/LICENSE-2.0 90e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * 100e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * Unless required by applicable law or agreed to in writing, software 110e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * distributed under the License is distributed on an "AS IS" BASIS, 120e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * See the License for the specific language governing permissions and 140e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * limitations under the License 150e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski */ 160e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski 170e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowskipackage com.android.systemui.classifier; 180e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski 190e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowskiimport android.hardware.SensorEvent; 200e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowskiimport android.view.MotionEvent; 210e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski 220e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski/** 239f01c5bfa5c1c63e350808c154adfc2953949b15Blazej Magnowski * An abstract class for classifiers for touch and sensor events. 240e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski */ 250e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowskipublic abstract class Classifier { 260e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int QUICK_SETTINGS = 0; 270e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int NOTIFICATION_DISMISS = 1; 280e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int NOTIFICATION_DRAG_DOWN = 2; 290e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int NOTIFICATION_DOUBLE_TAP = 3; 300e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int UNLOCK = 4; 310e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int LEFT_AFFORDANCE = 5; 320e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public static final int RIGHT_AFFORDANCE = 6; 339f01c5bfa5c1c63e350808c154adfc2953949b15Blazej Magnowski public static final int GENERIC = 7; 34bc9aac10e2a2c59fbea5a806f636c1bf7b6427c1Lucas Dupin public static final int BOUNCER_UNLOCK = 8; 350e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski 360e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski /** 370e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * Contains all the information about touch events from which the classifier can query 380e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski */ 390e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski protected ClassifierData mClassifierData; 400e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski 410e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski /** 420e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * Informs the classifier that a new touch event has occurred 430e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski */ 440e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public void onTouchEvent(MotionEvent event) { 450e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski } 460e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski 470e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski /** 480e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski * Informs the classifier that a sensor change occurred 490e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski */ 500e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski public void onSensorChanged(SensorEvent event) { 510e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski } 52401caaedd871894620accc1d14592c08095b5523Adrian Roos 53401caaedd871894620accc1d14592c08095b5523Adrian Roos public abstract String getTag(); 540e2ffbd48bbedf47deb7f6aed96bd07e2fc96f53Blazej Magnowski} 55