Selecting an item from a spinner list(drop down) takes too long- android

Hello,
I have a drop down list, or a spinner list how Android devs are calling it which has multiple elements,you even need to scroll in the list to get a certain element.
The problem is when i’m trying to tap/click on a certain element from that list take a lot of time, like more that 30 sec.

I define the item in different ways:
with xpath, uiautomator text, even with id-list and i tell it to select a certain index and nothing is changed.

       @AndroidFindBy(uiAutomator = "new UiSelector().text(\"Booking car rental awards\")")
	public MobileElement bookingCar;
	    tap(contact.bookingCar);

	@AndroidFindBy(uiAutomator = "text(\"Booking car rental awards\")")
	public MobileElement bookingCar; 
        tap(contact.bookingCar);

        @AndroidFindBy(xpath = "//android.widget.TextView[@text = 'Booking car rental awards']")
	public MobileElement bookingCar; 
         tap(contact.bookingCar);

        @AndroidFindBy(id = "spinner_textview")
	public List<MobileElement> subjectList;
        tap(contact.subjectList.get(0));

all elements in the list have the same resource ID = spinner_textview

Does anyone got any issues like this?
Where I have smaller list with 2 or 3 elements everything works fine.
I’m using last Appium version with 6.1 java client, Mac OS High Sierra, UiAutomator2.

Is the application in idle state while clicking?

No, app is not in idle state.
So basically the driver stays and search for the element, as you can see in the logs, it took about 42 sec since list was opened and the element was clicked.
One more point: I cannot take a screenshot with uiautomatorviewer when the list is open, I have to user inspector from Appium in order to snap the screen with the list opened.

here is the logs from when the list is open till when the element is clicked/selected.

14:07:40.946 [main] INFO  tests.ContactTest - List opened
[HTTP] --> GET /wd/hub/session/c611252c-68c7-41ad-aff9-e7c76cded34b
[HTTP] {}
[debug] [W3C] Calling AppiumDriver.getSession() with args: ["c611252c-68c7-41ad-aff9-e7c76cded34b"]
[debug] [UiAutomator2] Getting session details from server to mix in
[debug] [JSONWP Proxy] Matched '/' to command name 'getSession'
[debug] [JSONWP Proxy] Proxying [GET /] to [GET http://localhost:8202/wd/hub/session/8da7ab3c-ea6a-42a9-a02e-f8e0467500e4] with body: {}
[debug] [JSONWP Proxy] Got response with status 200: "{\"sessionId\":\"8da7ab3c-ea6a-42a9-a02e-f8e0467500e4\",\"status\":0,\"value\":{}}"
[debug] [W3C] Responding to client with driver.getSession() result: {"platform":"LINUX","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"platformName":"android","app":"/src/mam.apk","appActivity":"com....","appPackage":"com....","automationName":"uiAutomator2","deviceName":"Pixel2","newCommandTimeout":35,"platformVersion":"8.0","udid":"emulator-5554"},"platformName":"android","app":"/src/mam.apk","appActivity":"com...","appPackage":"com....","automationName":"uiAutomator2","deviceName":"emulator-5554","newCommandTimeout":35,"platformVersion":"8.0.0","udid":"emulator-5554","deviceUDID":"emulator-5554","deviceScreenSize":"1080x1920","deviceScreenDensity":420,"deviceModel":"Androi...
[HTTP] <-- GET /wd/hub/session/c611252c-68c7-41ad-aff9-e7c76cded34b 200 31 ms - 1202
[HTTP] 
[HTTP] --> POST /wd/hub/session/c611252c-68c7-41ad-aff9-e7c76cded34b/element
[HTTP] {"using":"-android uiautomator","value":"new UiSelector().text(\"Booking hotel awards\")"}
[debug] [W3C] Calling AppiumDriver.findElement() with args: ["-android uiautomator","new UiSelector().text(\"Booking hotel awards\")","c611252c-68c7-41ad-aff9-e7c76cded34b"]
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Waiting up to 3000 ms for condition
[debug] [JSONWP Proxy] Matched '/element' to command name 'findElement'
[debug] [JSONWP Proxy] Proxying [POST /element] to [POST http://localhost:8202/wd/hub/session/8da7ab3c-ea6a-42a9-a02e-f8e0467500e4/element] with body: {"strategy":"-android uiautomator","selector":"new UiSelector().text(\"Booking hotel awards\")","context":"","multiple":false}
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"8da7ab3c-ea6a-42a9-a02e-f8e0467500e4","status":0,"value":{"ELEMENT":"c8bed21b-1b67-42ba-a8d4-623ed6ff1a26"}}
[debug] [W3C] Responding to client with driver.findElement() result: {"element-6066-11e4-a52e-4f735466cecf":"c8bed21b-1b67-42ba-a8d4-623ed6ff1a26"}
[HTTP] <-- POST /wd/hub/session/c611252c-68c7-41ad-aff9-e7c76cded34b/element 200 20341 ms - 88
[HTTP] 
[HTTP] --> POST /wd/hub/session/c611252c-68c7-41ad-aff9-e7c76cded34b/element/c8bed21b-1b67-42ba-a8d4-623ed6ff1a26/click
[HTTP] {"id":"c8bed21b-1b67-42ba-a8d4-623ed6ff1a26"}
[debug] [W3C] Calling AppiumDriver.click() with args: ["c8bed21b-1b67-42ba-a8d4-623ed6ff1a26","c611252c-68c7-41ad-aff9-e7c76cded34b"]
[debug] [JSONWP Proxy] Matched '/element/c8bed21b-1b67-42ba-a8d4-623ed6ff1a26/click' to command name 'click'
[debug] [JSONWP Proxy] Proxying [POST /element/c8bed21b-1b67-42ba-a8d4-623ed6ff1a26/click] to [POST http://localhost:8202/wd/hub/session/8da7ab3c-ea6a-42a9-a02e-f8e0467500e4/element/c8bed21b-1b67-42ba-a8d4-623ed6ff1a26/click] with body: {"element":"c8bed21b-1b67-42ba-a8d4-623ed6ff1a26"}
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"8da7ab3c-ea6a-42a9-a02e-f8e0467500e4","status":0,"value":true}
[debug] [W3C] Responding to client with driver.click() result: true
[HTTP] <-- POST /wd/hub/session/c611252c-68c7-41ad-aff9-e7c76cded34b/element/c8bed21b-1b67-42ba-a8d4-623ed6ff1a26/click 200 21284 ms - 14
[HTTP] 
14:08:22.613 [main] INFO  tests.ContactTest - Item selected

As far as I know UIA2 requires the application under test to idle while any action is performed and its source contains many places where this is enforced. You could check if espresso driver works better in this situation, but in general there is not much to do there, since this is a framework limitation.