title: Could not get Touch event for TYPE_SYSTEM_OVERLAY
body: <p>I like to develop an app that is similar to <a href="https://play.google.com/store/apps/details?id=com.schiztech.swapps" rel="noreferrer">Swapps</a> .i am trying to display a button on top of any screen and that should occur only on a swiping action.I tried with the below code</p>
  
  <pre><code>    WindowManager.LayoutParams params = new WindowManager.LayoutParams();
      params.type =WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
      params.flags = WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
      params.format =PixelFormat.TRANSLUCENT; 
      params.height = WindowManager.LayoutParams.WRAP_CONTENT;
      params.width = WindowManager.LayoutParams.WRAP_CONTENT;
      parentlay = new LinearLayout(this);
      mybt = new Button(getApplicationContext());
      bt.setText("Click to Go");
  
      parentlay.setBackgroundColor(Color.TRANSPARENT);
      parentlay.setHapticFeedbackEnabled(true);
      parentlay.setOnTouchListener(new OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {
                  // event.getAction() prints 4 and not able to get up or down event
             }
         });
     windowmanager.addView(parentlay, params);
  </code></pre>
  
  <p>I am trying to display the button when user swipes from left-to-right  by capturing that event and doing </p>
  
  <pre><code>    parentlay.addView(bt);
  </code></pre>
  
  <p>and remove the view when user swipes from right-to-left by</p>
  
  <pre><code>    parentlay.removeView(bt);
  </code></pre>
  
  <p>As mentioned i coudn't get the motion events unless i changed the type as TYPE_SYSTEM_ALERT ,but that inturn freezes all the screen and could not click back or home button,is there is any alternate way to do this.</p>
  
  <p>I have just tried below modification </p>
  
  <pre><code>    params.type =WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
      params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
      |WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
     |WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
  
      params.height = WindowManager.LayoutParams.MATCH_PARENT;
      params.width = WindowManager.LayoutParams.MATCH_PARENT;
  </code></pre>
  
  <p>But i couldn't click the underneath button ,may be its due to MATCH_PARTENT but if i set it to wrap_content then i cannot get click events. </p>