List of usage examples for android.support.v4.view GestureDetectorCompat onTouchEvent
public boolean onTouchEvent(MotionEvent motionEvent)
From source file:com.thelastcrusade.soundstream.components.MusicLibraryFragment.java
@Override public void onResume() { super.onResume(); final GestureDetectorCompat songGesture = new GestureDetectorCompat(getActivity(), new SongGestureListener(getListView())); getListView().setOnTouchListener(new View.OnTouchListener() { @Override//from ww w . j a v a 2 s .com public boolean onTouch(View v, MotionEvent event) { return songGesture.onTouchEvent(event); } }); }
From source file:com.thelastcrusade.soundstream.components.PlaylistFragment.java
@Override public void onResume() { super.onResume(); getActivity().setTitle(getTitle());//from w ww .j a v a 2s.c o m final GestureDetectorCompat songGesture = new GestureDetectorCompat(getActivity(), new PlaylistSongGestureListener(getListView())); getListView().setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (songGesture.onTouchEvent(event)) { if (event.getAction() != MotionEvent.ACTION_DOWN) { MotionEvent cancelEvent = MotionEvent.obtain(event); cancelEvent.setAction(MotionEvent.ACTION_CANCEL); v.onTouchEvent(cancelEvent); } return true; } return false; } }); }
From source file:com.github.omadahealth.circularbarpager.library.CircularBarPager.java
/** * Init the view by getting the {@link CircularBar}, * the {@link android.support.v4.view.ViewPager} and the {@link com.viewpagerindicator.CirclePageIndicator}. * Init also some default values as PageTranformer etc... *//* ww w . j a v a 2s. c o m*/ private void initializeView(AttributeSet attrs, int defStyleAttr) { if (attrs != null) { final TypedArray attributes = mContext.getTheme().obtainStyledAttributes(attrs, R.styleable.CircularViewPager, defStyleAttr, 0); boolean enableOnClick = attributes .getBoolean(R.styleable.CircularViewPager_progress_pager_on_click_enabled, false); isPaddingSet = false; LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); RelativeLayout view = (RelativeLayout) inflater.inflate(R.layout.circularbar_view_pager, this); mCircularBar = (CircularBar) view.findViewById(R.id.circular_bar); mViewPager = (ViewPager) view.findViewById(R.id.view_pager); mCirclePageIndicator = (CirclePageIndicator) view.findViewById(R.id.circle_page_indicator); //Default init if (mCircularBar != null) { mCircularBar.loadStyledAttributes(attrs, defStyleAttr); } if (mViewPager != null) { mViewPager.setPageTransformer(false, new FadeViewPagerTransformer()); } //If we enable onClick, ie. we can switch between pages with both a swipe and a touch //Touch just goes to the next page % number of pages if (enableOnClick) { final GestureDetectorCompat tapGestureDetector = new GestureDetectorCompat(getContext(), new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapConfirmed(MotionEvent e) { mViewPager.setCurrentItem( (mViewPager.getCurrentItem() + 1) % mViewPager.getAdapter().getCount()); return super.onSingleTapConfirmed(e); } }); if (mViewPager != null) { mViewPager.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { tapGestureDetector.onTouchEvent(event); return false; } }); } } } }
From source file:io.v.android.apps.reader.PdfViewerActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pdf_viewer); mPdfView = (PdfViewWrapper) findViewById(R.id.pdfview); mProgressBar = (ProgressBar) findViewById(R.id.pdf_progress_bar); mProgressText = (TextView) findViewById(R.id.pdf_progress_text); // Swipe gesture detection. final GestureDetectorCompat swipeDetector = SwipeGestureDetector.create(this, new SwipeGestureDetector.SimpleOnSwipeListener() { @Override/* w ww. j a va 2 s.co m*/ public boolean onSwipeLeft() { nextPage(); return true; } @Override public boolean onSwipeRight() { prevPage(); return true; } }); mPdfView.setOnTouchListener((v, e) -> swipeDetector.onTouchEvent(e)); mGoogleApiClient = new GoogleApiClient.Builder(this).addApi(Wearable.API).addConnectionCallbacks(this) .addOnConnectionFailedListener(this).build(); }
From source file:im.vector.fragments.HomeFragment.java
private void initViews() { // Invitations mInvitationsSection.setTitle(R.string.invitations_header); mInvitationsSection.setHideIfEmpty(true); mInvitationsSection.setPlaceholders(null, getString(R.string.no_result_placeholder)); mInvitationsSection.setupRoomRecyclerView( new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false), R.layout.adapter_item_room_invite, false, this, this, null); // Favourites mFavouritesSection.setTitle(R.string.bottom_action_favourites); mFavouritesSection.setHideIfEmpty(true); mFavouritesSection.setPlaceholders(null, getString(R.string.no_result_placeholder)); mFavouritesSection.setupRoomRecyclerView( new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false), R.layout.adapter_item_circular_room_view, true, this, null, null); // People//from w w w . ja v a2 s . co m mDirectChatsSection.setTitle(R.string.bottom_action_people); mDirectChatsSection.setPlaceholders(getString(R.string.no_conversation_placeholder), getString(R.string.no_result_placeholder)); mDirectChatsSection.setupRoomRecyclerView( new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false), R.layout.adapter_item_circular_room_view, true, this, null, null); // Rooms mRoomsSection.setTitle(R.string.bottom_action_rooms); mRoomsSection.setPlaceholders(getString(R.string.no_room_placeholder), getString(R.string.no_result_placeholder)); mRoomsSection.setupRoomRecyclerView( new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false), R.layout.adapter_item_circular_room_view, true, this, null, null); // Low priority mLowPrioritySection.setTitle(R.string.low_priority_header); mLowPrioritySection.setHideIfEmpty(true); mLowPrioritySection.setPlaceholders(null, getString(R.string.no_result_placeholder)); mLowPrioritySection.setupRoomRecyclerView( new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false), R.layout.adapter_item_circular_room_view, true, this, null, null); mHomeSectionViews = Arrays.asList(mInvitationsSection, mFavouritesSection, mDirectChatsSection, mRoomsSection, mLowPrioritySection); // Add listeners to hide the floating button when needed final GestureDetectorCompat gestureDetector = new GestureDetectorCompat(mActivity, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onDown(MotionEvent event) { return true; } @Override public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { if (mActivity.getFloatingActionButton() != null && mNestedScrollView.getBottom() > mActivity.getFloatingActionButton().getTop()) { mActivity.hideFloatingActionButton(getTag()); } return true; } }); mNestedScrollView.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (null != mNestedScrollView) { gestureDetector.onTouchEvent(event); return mNestedScrollView.onTouchEvent(event); } else { return false; } } }); mNestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { mActivity.hideFloatingActionButton(getTag()); } }); }
From source file:com.andreadec.musicplayer.MainActivity.java
@SuppressLint({ "InlinedApi", "NewApi" }) @Override// w w w . j a v a2 s . co m public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setVolumeControlStream(AudioManager.STREAM_MUSIC); preferences = PreferenceManager.getDefaultSharedPreferences(this); if (preferences.getBoolean(Constants.PREFERENCE_DISABLELOCKSCREEN, Constants.DEFAULT_DISABLELOCKSCREEN)) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); // Disable lock screen for this activity } requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); if (preferences.getBoolean(Constants.PREFERENCE_SHOWHELPOVERLAYMAINACTIVITY, true)) { final FrameLayout frameLayout = new FrameLayout(this); LayoutInflater layoutInflater = getLayoutInflater(); layoutInflater.inflate(R.layout.layout_main, frameLayout); layoutInflater.inflate(R.layout.layout_helpoverlay_main, frameLayout); final View overlayView = frameLayout.getChildAt(1); overlayView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { frameLayout.removeView(overlayView); SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean(Constants.PREFERENCE_SHOWHELPOVERLAYMAINACTIVITY, false); editor.commit(); } }); setContentView(frameLayout); } else { setContentView(R.layout.layout_main); } pages = new String[4]; pages[PAGE_BROWSER] = getResources().getString(R.string.browser); pages[PAGE_PLAYLISTS] = getResources().getString(R.string.playlist); pages[PAGE_RADIOS] = getResources().getString(R.string.radio); pages[PAGE_PODCASTS] = getResources().getString(R.string.podcasts); fragmentManager = getSupportFragmentManager(); setTitle(pages[currentPage]); /* NAVIGATION DRAWER */ drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) { public void onDrawerClosed(View view) { super.onDrawerClosed(view); setTitle(pages[currentPage]); } public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); setTitle(getResources().getString(R.string.app_name)); } }; drawerLayout.setDrawerListener(drawerToggle); if (Build.VERSION.SDK_INT >= 11) getActionBar().setDisplayHomeAsUpEnabled(true); drawerContainer = (RelativeLayout) findViewById(R.id.navigation_container); drawerList = (ListView) findViewById(R.id.navigation_list); navigationAdapter = new NavigationDrawerArrayAdapter(this, pages); drawerList.setAdapter(navigationAdapter); drawerList.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(@SuppressWarnings("rawtypes") AdapterView parent, View view, int position, long id) { openPage(position); drawerLayout.closeDrawer(drawerContainer); } }); buttonQuit = findViewById(R.id.navigation_buttonQuit); buttonQuit.setOnClickListener(this); if (Build.VERSION.SDK_INT >= 19) { // Android 4.4+ only boolean translucentStatus = preferences.getBoolean(Constants.PREFERENCE_TRANSLUCENTSTATUSBAR, Constants.DEFAULT_TRANSLUCENTSTATUSBAR); boolean translucentNavigation = preferences.getBoolean(Constants.PREFERENCE_TRANSLUCENTNAVIGATIONBAR, Constants.DEFAULT_TRANSLUCENTNAVIGATIONBAR); if (translucentStatus) getWindow().addFlags(LayoutParams.FLAG_TRANSLUCENT_STATUS); if (translucentNavigation) getWindow().addFlags(LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); SystemBarTintManager tintManager = new SystemBarTintManager(this); if (translucentStatus) { tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.actionBarBackground); } } textViewArtist = (TextView) findViewById(R.id.textViewArtist); textViewTitle = (TextView) findViewById(R.id.textViewTitle); textViewTime = (TextView) findViewById(R.id.textViewTime); imageViewSongImage = (ImageView) findViewById(R.id.imageViewSongImage); imageButtonPrevious = (ImageButton) findViewById(R.id.imageButtonPrevious); imageButtonPlayPause = (ImageButton) findViewById(R.id.imageButtonPlayPause); imageButtonNext = (ImageButton) findViewById(R.id.imageButtonNext); seekBar1 = (SeekBar) findViewById(R.id.seekBar1); seekBar2 = (SeekBar) findViewById(R.id.seekBar2); imageButtonShowSeekbar2 = (ImageButton) findViewById(R.id.imageButtonShowSeekbar2); imageButtonShuffle = (ImageButton) findViewById(R.id.imageButtonShuffle); imageButtonRepeat = (ImageButton) findViewById(R.id.imageButtonRepeat); imageButtonRepeatAll = (ImageButton) findViewById(R.id.imageButtonRepeatAll); buttonBassBoost = (Button) findViewById(R.id.buttonBassBoost); buttonEqualizer = (Button) findViewById(R.id.buttonEqualizer); buttonShake = (Button) findViewById(R.id.buttonShake); imageButtonShuffle.setOnClickListener(this); imageButtonRepeat.setOnClickListener(this); imageButtonRepeatAll.setOnClickListener(this); buttonBassBoost.setOnClickListener(this); buttonEqualizer.setOnClickListener(this); buttonShake.setOnClickListener(this); imageButtonShowSeekbar2.setOnClickListener(this); imageButtonPrevious.setOnClickListener(this); imageButtonPlayPause.setOnClickListener(this); imageButtonNext.setOnClickListener(this); seekBar1.setOnSeekBarChangeListener(this); seekBar1.setClickable(false); seekBar2.setOnSeekBarChangeListener(this); textViewTime.setOnClickListener(this); showSongImage = preferences.getBoolean(Constants.PREFERENCE_SHOWSONGIMAGE, Constants.DEFAULT_SHOWSONGIMAGE); imagesCache = new LruCache<String, Bitmap>(Constants.IMAGES_CACHE_SIZE); serviceIntent = new Intent(this, MusicService.class); startService(serviceIntent); // Starts the service if it is not running if (preferences.getBoolean(Constants.PREFERENCE_OPENLASTPAGEONSTART, Constants.DEFAULT_OPENLASTPAGEONSTART)) { openPage(preferences.getInt(Constants.PREFERENCE_LASTPAGE, Constants.DEFAULT_LASTPAGE)); } else { openPage(PAGE_BROWSER); } loadSongFromIntent(); layoutPlaybackControls = findViewById(R.id.layoutPlaybackControls); if (preferences.getBoolean(Constants.PREFERENCE_ENABLEGESTURES, Constants.DEFAULT_ENABLEGESTURES)) { final GestureDetectorCompat gestureDetector = new GestureDetectorCompat(this, new PlayerGestureListener()); View layoutTop = findViewById(R.id.layoutTop); layoutTop.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return gestureDetector.onTouchEvent(event); } }); if (preferences.getBoolean(Constants.PREFERENCE_SHOWPLAYBACKCONTROLS, Constants.DEFAULT_SHOWPLAYBACKCONTROLS)) { layoutPlaybackControls.setVisibility(View.VISIBLE); } } else { layoutPlaybackControls.setVisibility(View.VISIBLE); } }
From source file:com.project.richard.insightjournal.ui.timerscreen.TimerFragment.java
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment final View view = inflater.inflate(R.layout.fragment_timer, container, false); unbinder = ButterKnife.bind(this, view); final GestureDetectorCompat mGestureDetector = new GestureDetectorCompat(getContext(), new GestureListener()); mRecordToggleOn = getArguments().getBoolean(PRESET_RECORD_TOGGLE); mType = getArguments().getString(PRESET_TYPE); Cursor c = getActivity().getContentResolver().query(LogsProvider.Presets.PRESETS, null, PresetsColumns.TYPE + " = ?", new String[] { mType }, null); if (c != null && c.moveToFirst()) { mMaxDuration = c.getLong(c.getColumnIndex(PresetsColumns.DURATION)); mMaxPrep = c.getLong(c.getColumnIndex(PresetsColumns.PREPARATION_TIME)); c.close();//from w w w .ja v a2 s.c o m } else { Log.e(TAG, "Cannot find Preset"); } if (savedInstanceState != null) { mTimerRunning = savedInstanceState.getBoolean(BOOLEAN_TIMER_RUNNING); mDigitalTimerView.setText(TimerUtils.millisToDigital(savedInstanceState.getLong(LONG_TIMER_DURATION))); mCircleTimerView .setProgress((float) savedInstanceState.getLong(LONG_TIMER_DURATION) / mMaxDuration * 100); } else { mDigitalTimerView.setText(TimerUtils.millisToDigital(mMaxDuration)); } if (mRecordToggleOn && mType.equals(PresetsColumns.SITTING_MEDITAION)) { mTimerParentLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mGestureDetector.onTouchEvent(event); return true; } }); } mGoogleApiClient = new GoogleApiClient.Builder(getContext()) .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(@Nullable Bundle bundle) { Log.e(TAG, "connected"); if (!PermissionsUtils.checkLocationPermissions(getContext())) { Log.e(TAG, "permission needed"); PermissionsUtils.requestLocationPermissions(getActivity(), R.id.timer_screen_parent_layout); } mLastKnownLocation = FusedLocationApi.getLastLocation(mGoogleApiClient); if (mTimerService != null && mLastKnownLocation != null) { mTimerService.setmLastLocation(mLastKnownLocation); Intent intent = new Intent(getContext(), FetchAddressIntentService.class); intent.putExtra(FetchAddressIntentService.LATITUDE_EXTRA, mLastKnownLocation.getLatitude()); intent.putExtra(FetchAddressIntentService.LONTITUDE_EXTRA, mLastKnownLocation.getLongitude()); getContext().startService(intent); } else { Log.e(TAG, "location not fetched"); } } @Override public void onConnectionSuspended(int i) { Log.e(TAG, "connection suspended"); } }).addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { Log.e(TAG, "connection failed"); } }).addApi(LocationServices.API).build(); return view; }
From source file:io.github.hidroh.materialistic.widget.NavFloatingActionButton.java
@Synthetic void bindNavigationPad() { GestureDetectorCompat detectorCompat = new GestureDetectorCompat(getContext(), new GestureDetector.SimpleOnGestureListener() { @Override//w w w . j a v a 2 s.c om public boolean onDown(MotionEvent e) { return mNavigable != null; } @Override public boolean onSingleTapConfirmed(MotionEvent e) { Toast.makeText(getContext(), R.string.hint_nav_short, Toast.LENGTH_LONG).show(); return true; } @Override public boolean onDoubleTap(MotionEvent e) { trackKonami(DOUBLE_TAP); return super.onDoubleTap(e); } @Override public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float velocityX, float velocityY) { int direction; if (Math.abs(velocityX) > Math.abs(velocityY)) { direction = velocityX < 0 ? Navigable.DIRECTION_LEFT : Navigable.DIRECTION_RIGHT; } else { direction = velocityY < 0 ? Navigable.DIRECTION_UP : Navigable.DIRECTION_DOWN; } mNavigable.onNavigate(direction); mVibrator.vibrate(VIBRATE_DURATION_MS); trackKonami(direction); return false; } @Override public void onLongPress(MotionEvent e) { if (mNavigable == null) { return; } if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { Toast.makeText(getContext(), R.string.not_supported, Toast.LENGTH_SHORT).show(); } else { startDrag(e.getX(), e.getY()); } } }); //noinspection Convert2Lambda super.setOnTouchListener(new OnTouchListener() { @SuppressLint("ClickableViewAccessibility") @Override public boolean onTouch(View view, MotionEvent motionEvent) { return detectorCompat.onTouchEvent(motionEvent); } }); }
From source file:eu.powet.groundcopter.views.BaseGroundCopterUI.java
public void init_callbacks() { final GestureDetectorCompat mGestureDetector2 = new GestureDetectorCompat(ctx, new GestureDetector.OnGestureListener() { @Override//w w w . java 2s .co m public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onLongPress(final MotionEvent e) { ctx.runOnUiThread(new Runnable() { @Override public void run() { System.out.println(e.toString()); GeoPoint m = (GeoPoint) mapView.getProjection().fromPixels(e.getX(), e.getY()); GeoPointMission wp = new GeoPointMission(m, 0); kController.handleMessage(Request.ADD_WAYPOINT, wp); Vibrator v = (Vibrator) ctx.getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 500 milliseconds v.vibrate(100); } }); } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub return false; } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } }); mapView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent e) { return mGestureDetector2.onTouchEvent(e); } }); bt_read_mission.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { kController.handleMessage(Request.CLEAR_UI_WAYPOINTS); kController.handleMessage(Request.READ_WAYPOINTS); } }); bt_write_mission.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { kController.handleMessage(Request.WRITE_WAYPOINTS); } }); bt_clean_mission.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { kController.handleMessage(Request.DELETE_WAYPOINTS); } }); bt_record.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (b_copter_record) { b_copter_record = false; kController.handleMessage(Request.DISABLE_LOG); bt_record.setText("Start Record"); } else { b_copter_record = true; kController.handleMessage(Request.ENABLE_LOG); bt_record.setText("Stop Record"); } } }); bt_set_home_location.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { /*MAV_CMD_DO_SET_HOME Changes the home location either to the current location or a specified location. Mission Param #1 Use current (1=use current location, 0=use specified location) Mission Param #2 Empty Mission Param #3 Empty Mission Param #4 Empty Mission Param #5 Latitude Mission Param #6 Longitude Mission Param #7 Altitude double lat = 48.727209; double lon = -2.00267; int alt = 15; GeoPointMission here = new GeoPointMission(new GeoPoint(lat, lon,alt)); MavlinkHelper.flyhere(mavlink, here); */ } }); bt_goto_home_location.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: kController.handleMessage(Request.RETURN_TO_LAUNCH); break; } } }; AlertDialog.Builder builder = new AlertDialog.Builder(ctx); builder.setMessage("Are you sure to go to home?").setPositiveButton("Yes", dialogClickListener) .setNegativeButton("No", dialogClickListener).show(); } }); bt_request_stream.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (b_request_stream) { kController.handleMessage(Request.START_STREAM); b_request_stream = false; bt_request_stream.setText(txt_stream_stop); } else { b_request_stream = true; kController.handleMessage(Request.STOP_STREAM); bt_request_stream.setText(txt_stream_start); } } }); bt_display_hud.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (b_display_hud) { kController.handleMessage(Request.ENABLE_HUD); b_display_hud = false; } else { b_display_hud = true; kController.handleMessage(Request.DISABLE_HUD); } } }); bt_connect.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { bt_connect.setEnabled(false); bt_deconnect.setEnabled(true); baudrate_57600.setEnabled(false); baudrate_115200.setEnabled(false); kController.handleMessage(Request.CONNECT); } }); bt_deconnect.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { bt_connect.setEnabled(true); bt_deconnect.setEnabled(false); baudrate_57600.setEnabled(true); baudrate_115200.setEnabled(true); kController.handleMessage(Request.STOP_STREAM); kController.handleMessage(Request.DISABLE_BUTTONS); kController.handleMessage(Request.DISCONNECT); } }); bt_pilot.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (pilot_auto == false) { kController.handleMessage(Request.PILOT_AUTO); pilot_auto = true; bt_pilot.setText(txt_manuel); } else { kController.handleMessage(Request.PILOT_MANUEL); pilot_auto = false; bt_pilot.setText(txt_auto); } /* DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which){ case DialogInterface.BUTTON_POSITIVE: break; case DialogInterface.BUTTON_NEGATIVE: //No button clicked break; } } }; AlertDialog.Builder builder = new AlertDialog.Builder(ctx); builder.setMessage("Confirmez vous le changement de mode ?").setPositiveButton("Yes", dialogClickListener) .setNegativeButton("No", dialogClickListener).show(); */ } }); bt_exit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { kController.handleMessage(Request.DISCONNECT); kController.handleMessage(Request.EXIT); } }); baudrate_115200.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { baudrate_57600.setChecked(false); baudrate_115200.setChecked(true); kController.handleMessage(Request.CHANGE_BAUDRATE, FTDriver.BAUD115200); } }); baudrate_57600.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { baudrate_115200.setChecked(false); baudrate_57600.setChecked(true); kController.handleMessage(Request.CHANGE_BAUDRATE, FTDriver.BAUD57600); } }); bt_arm_disarm.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { /* * In a MAVLINK_MSG_ID_COMMAND_LONG A MAV_CMD of type MAV_CMD_COMPONENT_ARM_DISARM with component id MAV_COMP_ID_SYSTEM_CONTROL = 250, uses param index 1 to specify an arm/disarm motors event: 1 to arm, 0 to disarm //MAVLINK_MSG_ID_COMMAND_LONG*/ DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: if (!b_copter_is_armed) { kController.handleMessage(Request.SET_ARMED); } else { kController.handleMessage(Request.SET_DISARMED); } break; case DialogInterface.BUTTON_NEGATIVE: //No button clicked break; } } }; AlertDialog.Builder builder = new AlertDialog.Builder(ctx); builder.setMessage("Are you sure to ARM/DISARM ?").setPositiveButton("Yes", dialogClickListener) .setNegativeButton("No", dialogClickListener).show(); } }); bt_follow_me.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!b_copter_is_followingme) { AlertDialog.Builder alert = new AlertDialog.Builder(ctx); alert.setTitle("Follow Me "); alert.setMessage("Set Altitude"); final EditText input_altitude = new EditText(ctx); input_altitude.setText("10"); alert.setView(input_altitude); alert.setPositiveButton("ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { try { int altitude = Integer.parseInt(input_altitude.getText().toString()); kController.handleMessage(Request.DELETE_WAYPOINTS); kController.handleMessage(Request.SET_FOLLOWME_ALTITUDE, altitude); kController.handleMessage(Request.START_FOLLOWME); bt_follow_me.setText(txt_followme_stop); b_copter_is_followingme = true; } catch (Exception e) { kController.handleMessage(Request.TOAST_MSG, "Error ", e.getMessage()); } } }); alert.setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); alert.show(); } else { kController.handleMessage(Request.STOP_FOLLOWME); bt_follow_me.setText(txt_followme_start); b_copter_is_followingme = false; } } }); }