Search Issue Tracker

Duplicate

Votes

2

Found in [Package]

preview.7 - 1.0.0

Issue ID

1244537

Regression

No

[Android][Samsung] Input System fails to finish the touch phase when releasing the fingers from Samsung device screen

Package: Input System

-

Steps to reproduce:
1. Open the project "Case_1244537" from the provided cloud link
2. Build it to Android
3. In the app touch and drag to change the position of a purple object
4. Release the input
5. Notice the touch phase is not finished

Expected results: Input phase ends after releasing the screen
Actual results: Input phase does not end after releasing the screen

Reproducible with: 2019.3.13f1(preview.7 - 1.0.0)
VLNQA00220, Samsung Galaxy Note9 (SM-N960F), Android 8.1.0, CPU: Exynos 9 Series 9810, GPU: Mali-G72

Not Reproducible with:
VLNQA00123, Google Pixel 2 XL (Pixel 2 XL), Android R, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00024, Xiaomi Mi 5 (MI 5), Android 7.0, CPU: Snapdragon 820 MSM8996, GPU: Adreno (TM) 530

Note: Unable to update to 2020.1 and 2020.2 or downgrade to 2018.4 due to dependencies errors

Comments (2)

  1. JolkedeJonge82888

    Oct 21, 2020 07:23

    I have currently found a work around for this issue.
    In the link below there is the code what have worked for me.
    What I do is just reseting the old value of the touch state. Remember it is important with IEnumerator else the code won't work.
    I hope this helps.

    Code Work Around:
    public void Start()
    {
    StartCoroutine(ResetValueOfTouch());
    }

    IEnumerator ResetValueOfTouch()
    {
    TouchState newTouchState = new TouchState();
    newTouchState.isPrimaryTouch = false;
    newTouchState.pressure = 1;
    newTouchState.touchId = 1;

    InputSystem.DisableDevice(Touchscreen.current);
    InputState.Change(Touchscreen.current.primaryTouch.phase, (byte)UnityEngine.InputSystem.TouchPhase.None);
    InputState.Change(Touchscreen.current.primaryTouch, newTouchState);
    yield return new WaitForSeconds(0.1f);
    InputSystem.EnableDevice(Touchscreen.current);
    }

  2. RemyVrcomposers

    Oct 21, 2020 07:05

    Also reproducible with Unity 2020.1.6f1 on a Samsung galaxy s8+ cpu: Exynos 9 Octa 8895 10 nm octacore running Android 9.0

Add comment

Log in to post comment