1 /* 2 * Copyright 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package androidx.test.uiautomator.testapp; 18 19 import android.app.Activity; 20 import android.os.Bundle; 21 import android.view.MotionEvent; 22 import android.widget.TextView; 23 24 import org.jspecify.annotations.Nullable; 25 26 public class ClickOnPositionTestActivity extends Activity { 27 private String mTouchMessage = ""; 28 29 @Override onCreate(@ullable Bundle savedInstanceState)30 public void onCreate(@Nullable Bundle savedInstanceState) { 31 super.onCreate(savedInstanceState); 32 33 setContentView(R.layout.click_on_position_test_activity); 34 35 TextView clickRegion = findViewById(R.id.click_region); 36 37 clickRegion.setOnTouchListener((view, motionEvent) -> { 38 if (motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) { 39 mTouchMessage += motionEvent.getY() < view.getHeight() / 2.0 ? "top_" : "bottom_"; 40 mTouchMessage += motionEvent.getX() < view.getWidth() / 2.0 ? "left" : "right"; 41 } 42 return false; 43 }); 44 clickRegion.setOnClickListener(view -> clickRegion.setText(mTouchMessage + "_clicked")); 45 clickRegion.setOnLongClickListener(view -> { 46 clickRegion.setText(mTouchMessage + "_long_clicked"); 47 return true; 48 }); 49 } 50 } 51