blob: ee01489961320e25ad325c10321721544d061ff2 [file] [log] [blame]
Joe Onorato503007d2010-04-16 09:20:55 -07001/*
2 * Copyright (C) 2008 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
Joe Onoratofd52b182010-11-10 18:00:52 -080017package com.android.systemui.statusbar.phone;
Joe Onorato503007d2010-04-16 09:20:55 -070018
19import android.content.Context;
20import android.util.AttributeSet;
21import android.view.MotionEvent;
22import android.widget.LinearLayout;
23
24
25public class CloseDragHandle extends LinearLayout {
Joe Onoratofd52b182010-11-10 18:00:52 -080026 PhoneStatusBar mService;
Joe Onorato503007d2010-04-16 09:20:55 -070027
28 public CloseDragHandle(Context context, AttributeSet attrs) {
29 super(context, attrs);
30 }
31
32 /**
33 * Ensure that, if there is no target under us to receive the touch,
34 * that we process it ourself. This makes sure that onInterceptTouchEvent()
35 * is always called for the entire gesture.
36 */
37 @Override
38 public boolean onTouchEvent(MotionEvent event) {
Daniel Sandler13522a22012-09-27 14:46:58 -040039 if (event.getAction() == MotionEvent.ACTION_DOWN) {
40 setPressed(true);
41 } else {
Joe Onorato503007d2010-04-16 09:20:55 -070042 mService.interceptTouchEvent(event);
43 }
44 return true;
45 }
46
47 @Override
48 public boolean onInterceptTouchEvent(MotionEvent event) {
49 return mService.interceptTouchEvent(event)
50 ? true : super.onInterceptTouchEvent(event);
51 }
52}
53