1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5  * except in compliance with the License. You may obtain a copy of the License at
6  *
7  *      http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the
10  * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11  * KIND, either express or implied. See the License for the specific language governing
12  * permissions and limitations under the License.
13  */
14 
15 package com.android.systemui.plugins.statusbar.phone;
16 
17 import android.graphics.Canvas;
18 import android.view.MotionEvent;
19 import android.view.View;
20 
21 import com.android.systemui.plugins.Plugin;
22 import com.android.systemui.plugins.annotations.ProvidesInterface;
23 
24 @ProvidesInterface(action = NavGesture.ACTION, version = NavGesture.VERSION)
25 public interface NavGesture extends Plugin {
26 
27     public static final String ACTION = "com.android.systemui.action.PLUGIN_NAV_GESTURE";
28 
29     public static final int VERSION = 1;
30 
getGestureHelper()31     public GestureHelper getGestureHelper();
32 
33     public interface GestureHelper {
onTouchEvent(MotionEvent event)34         public boolean onTouchEvent(MotionEvent event);
35 
onInterceptTouchEvent(MotionEvent event)36         public boolean onInterceptTouchEvent(MotionEvent event);
37 
setBarState(boolean vertical, boolean isRtl)38         public void setBarState(boolean vertical, boolean isRtl);
39 
onDraw(Canvas canvas)40         public void onDraw(Canvas canvas);
41 
onDarkIntensityChange(float intensity)42         public void onDarkIntensityChange(float intensity);
43 
onLayout(boolean changed, int left, int top, int right, int bottom)44         public void onLayout(boolean changed, int left, int top, int right, int bottom);
45 
onNavigationButtonLongPress(View v)46         public void onNavigationButtonLongPress(View v);
47 
destroy()48         public default void destroy() { }
49     }
50 
51 }
52