wearable_rotary

pub package

Discontinued

This project has been discontinued, and will not receive further updates. If you need any features related to this project, please request to here.


Flutter plugin that can listen to rotary events on Wear OS and Tizen Galaxy watch devices.

Setup

Android

Add the following to MainActivity.kt:

import android.view.MotionEvent
import com.samsung.wearable_rotary.WearableRotaryPlugin

class MainActivity : FlutterActivity() {
    override fun onGenericMotionEvent(event: MotionEvent?): Boolean {
        return when {
            WearableRotaryPlugin.onGenericMotionEvent(event) -> true
            else -> super.onGenericMotionEvent(event)
        }
    }
}

Usage

To use this plugin, add wearable_rotary as a dependency in your pubspec.yaml file.

dependencies:
  wearable_rotary: ^2.0.1

Then, import wearable_rotary in your Dart code.

// Import the package.
import 'package:wearable_rotary/wearable_rotary.dart';

// Be informed when an event (RotaryEvent.clockwise or RotaryEvent.counterClockwise) occurs.
StreamSubscription<RotaryEvent> rotarySubscription =
    rotaryEvents.listen((RotaryEvent event) {
  if (event.direction == RotaryDirection.clockwise) {
    // Do something.
  } else if (event.direction == RotaryDirection.counterClockwise) {
    // Do something.
  }
});

// Be sure to cancel on dispose.
rotarySubscription.cancel();

// Use [RotaryScrollController] to easily make scrolling widgets respond to rotary input.
ListView(controller: RotaryScrollController());

Supported devices

  • Wear OS devices with rotary input (Galaxy Watch 4, Pixel Watch, etc.)
  • Galaxy Watch series (running Tizen 5.5)

Libraries

wearable_rotary