Home | History | Annotate | Download | only in ui
      1 /**
      2  * Copyright (C) 2014 Google Inc.
      3  * Licensed to The Android Open Source Project.
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 package com.android.mail.ui;
     18 
     19 import android.content.Context;
     20 import android.util.AttributeSet;
     21 import android.view.MotionEvent;
     22 import android.widget.FrameLayout;
     23 
     24 /**
     25  * Empty frame to steal events for two-pane view when the drawer is open.
     26  */
     27 public class ConversationViewFrame extends FrameLayout {
     28 
     29     public interface DownEventListener {
     30         boolean onInterceptCVDownEvent();
     31     }
     32 
     33     private DownEventListener mDownEventListener;
     34 
     35     public ConversationViewFrame(Context c) {
     36         super(c, null);
     37     }
     38 
     39     public ConversationViewFrame(Context c, AttributeSet attrs) {
     40         super(c, attrs);
     41     }
     42 
     43     public void setDownEventListener(DownEventListener l) {
     44         mDownEventListener = l;
     45     }
     46 
     47     @Override
     48     public boolean onInterceptTouchEvent(MotionEvent ev) {
     49         boolean steal = false;
     50         if (ev.getActionMasked() == MotionEvent.ACTION_DOWN && mDownEventListener != null) {
     51             steal = mDownEventListener.onInterceptCVDownEvent();
     52             // just drop the event stream that follows when we steal; we closed the drawer and
     53             // that's enough.
     54         }
     55         return steal;
     56     }
     57 
     58 }
     59