Button tap action not working after a swipe on Android 6.0 devices

Appium version: 1.4.16.1
Appium Python client version: 0.21

Hi,

I have run into issues with tapping a button after a swipe command. After I swipe up in order to view a button at the bottom of screen, i do a tap action and instead of tapping the button, I see the notification bar at top of screen being swiped down for a second. This is blocking the rest of my test.This issue only occurs for me on Android 6.0 device. I tried on Android 5.x.x devices and it works just fine (same screen size as Andriod 6.0 device). Here is snippet of code:

driver_action[0].swipe(start_x=input_data[0], start_y=input_data[1], end_x=input_data[2],end_y=input_data[3],duration=1000)
driver_action[1].tap(button).perform()

Here is snippet of appium logs. I don’t see anything wrong in logs so i’m thinking this a bug with appium:

info: [debug] Pushing command to appium work queue: [“swipe”,{“startX”:500,“startY”:1500,“endX”:500,“endY”:500,“steps”:28}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {“cmd”:“action”,“action”:“swipe”,“params”:{“startX”:500,“startY”:1500,“endX”:500,“endY”:500,“steps”:28}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: swipe
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][1440,2392]
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][1440,2392]
info: [debug] [BOOTSTRAP] [debug] Swiping from [x=500.0, y=1500.0] to [x=500.0, y=500.0] with steps: 28
info: [debug] [BOOTSTRAP] [debug] Returning result: {“status”:0,“value”:true}
info: [debug] Responding to client with success: {“status”:0,“value”:true,“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”}
info: ← POST /wd/hub/session/748b3e7d-d404-4920-8691-5016aff6909a/touch/perform 200 546.374 ms - 76 {“status”:0,“value”:true,“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”}
info: → POST /wd/hub/session/748b3e7d-d404-4920-8691-5016aff6909a/element {“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”,“value”:“Rhapsody Unlimited Music”,“using”:“name”}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: [“find”,{“strategy”:“name”,“selector”:“Rhapsody Unlimited Music”,“context”:“”,“multiple”:false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“name”,“selector”:“Rhapsody Unlimited Music”,“context”:“”,“multiple”:false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding Rhapsody Unlimited Music using NAME with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[DESCRIPTION=Rhapsody Unlimited Music, INSTANCE=0]
info: [debug] [BOOTSTRAP] [debug] Returning result: {“status”:0,“value”:{“ELEMENT”:“13”}}
info: [debug] Responding to client with success: {“status”:0,“value”:{“ELEMENT”:“13”},“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”}
info: ← POST /wd/hub/session/748b3e7d-d404-4920-8691-5016aff6909a/element 200 1032.474 ms - 88 {“status”:0,“value”:{“ELEMENT”:“13”},“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”}
info: → POST /wd/hub/session/748b3e7d-d404-4920-8691-5016aff6909a/touch/perform {“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”,“actions”:[{“options”:{“element”:“13”,“x”:null,“y”:null,“count”:1},“action”:“tap”}]}
info: [debug] Pushing command to appium work queue: [“element:getLocation”,{“elementId”:“13”}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {“cmd”:“action”,“action”:“element:getLocation”,“params”:{“elementId”:“13”}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getLocation
info: [debug] [BOOTSTRAP] [debug] Returning result: {“status”:0,“value”:{“x”:105,“y”:1956}}
info: [debug] Pushing command to appium work queue: [“element:getSize”,{“elementId”:“13”}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {“cmd”:“action”,“action”:“element:getSize”,“params”:{“elementId”:“13”}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getSize
info: [debug] [BOOTSTRAP] [debug] Returning result: {“status”:0,“value”:{“width”:745,“height”:74}}
info: [debug] Pushing command to appium work queue: [“element:click”,{“elementId”:“13”,“x”:477.5,“y”:1993}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {“cmd”:“action”,“action”:“element:click”,“params”:{“elementId”:“13”,“x”:477.5,“y”:1993}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {“status”:0,“value”:true}
info: [debug] Responding to client with success: {“status”:0,“value”:true,“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”}
info: ← POST /wd/hub/session/748b3e7d-d404-4920-8691-5016aff6909a/touch/perform 200 345.218 ms - 76 {“status”:0,“value”:true,“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”}
info: → POST /wd/hub/session/748b3e7d-d404-4920-8691-5016aff6909a/element {“sessionId”:“748b3e7d-d404-4920-8691-5016aff6909a”,“value”:“Add this service”,“using”:“name”}
info: [debug] Waiting up to 0ms for condition

would really appreciate if somebody could provide some help on this. It is completely breaking my automation scripts on Android 6.x devices.

Thanks in advance!