Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

251
Views
Duplicate branch in 'switch'. How to avoid the warning

I have a code for my MotionEvent in Android app. It has condition when I release the last finger (ACTION_UP), and the condition when I release the finger, but any other finger still on the screen (ACTION_POINTER_UP). So, this is two different conditions, and I need to run code in both cases. But compiler tell me, that I have exact the same code and offers to merge this two sections in one.

How can I avoid this warning?

There is a code:

switch (event.getAction() & MotionEvent.ACTION_MASK) {
            case MotionEvent.ACTION_DOWN: // first touch
                // some code for a touch
                break;
            case MotionEvent.ACTION_POINTER_DOWN: // second and more touch
                // some code for a second touch
                break;
            case MotionEvent.ACTION_MOVE:
                // code when the finger moves
                break;
            case MotionEvent.ACTION_UP:

                // left side
                if (event.getPointerId(event.getActionIndex()) == fingerOnALeftSide) {
                    Log.d("tag", "Now we release the finger that was on a left side");
                    leftFingerInTouch = false;
                }

                // right side
                if (event.getPointerId(event.getActionIndex()) == fingerOnARightSide) {
                    Log.d("tag", "Now we release the finger that was on a right side");
                    myBluetooth.send(COMMAND_STOP_ENGINE);
                }
                break;
            case MotionEvent.ACTION_POINTER_UP:

                // left side
                if (event.getPointerId(event.getActionIndex()) == fingerOnALeftSide) {
                    Log.d("tag", "Now we release the finger that was on a left side");
                    leftFingerInTouch = false;
                }

                // right side
                if (event.getPointerId(event.getActionIndex()) == fingerOnARightSide) {
                    Log.d("tag", "Now we release the finger that was on a right side");
                    myBluetooth.send(COMMAND_STOP_ENGINE);
                }
                break;
            default:
                break;
        }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

It looks like this and works.

            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_POINTER_UP:

                // left side
                if (event.getPointerId(event.getActionIndex()) == fingerOnALeftSide) {
                    Log.d("tag", "Now we release the finger that was on a left side");
                    leftFingerInTouch = false;
                }

                // right side
                if (event.getPointerId(event.getActionIndex()) == fingerOnARightSide) {
                    Log.d("tag", "Now we release the finger that was on a right side");
                    myBluetooth.send(COMMAND_STOP_ENGINE);
                }
                break;
            default:
                break;
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!