class ScreenRecorderAction extends AbstractDeviceAction {

  @Override
  public void update(@NotNull AnActionEvent event) {
    Presentation presentation = event.getPresentation();

    if (!isEnabled()) {
      presentation.setEnabled(false);
      presentation.setText(AndroidBundle.messagePointer("android.ddms.actions.screenrecord"));

      return;
    }

    IDevice device = myDeviceContext.getSelectedDevice();

    if (myFeatures.watch(device)) {
      presentation.setEnabled(false);
      presentation.setText("Screen Record Is Unavailable for Wear OS");

      return;
    }

    presentation.setEnabled(myFeatures.screenRecord(device));
    presentation.setText(AndroidBundle.messagePointer("android.ddms.actions.screenrecord"));
  }

  public  ScreenRecorderAction(@NotNull Project project, @NotNull DeviceContext context);
  @VisibleForTesting  ScreenRecorderAction(@NotNull Project project, @NotNull DeviceContext context, @NotNull Features features);

}