function $AdfDragRecognizer$$() {
  this != window && this.Init()
}
$goog$exportSymbol$$("AdfDragRecognizer", $AdfDragRecognizer$$);
$AdfObject$$.$createSubclass$($AdfDragRecognizer$$);
$AdfDragRecognizer$$.prototype.$prepDrag$ = function $$AdfDragRecognizer$$$$$prepDrag$$($dndContext$$27$$, $dragSource$$1$$, $inputEvent$$14$$) {
  $AdfAssert$$.$assertPrototype$($dragSource$$1$$, $AdfDragSource$$);
  $AdfAssert$$.$assertPrototype$($inputEvent$$14$$, $AdfUIInputEvent$$);
  if(!$AdfAgent$$.$AGENT$.$isDragPrepEvent$($inputEvent$$14$$) || !$dragSource$$1$$.$isAvailable$($dndContext$$27$$, $inputEvent$$14$$)) {
    return $JSCompiler_alias_NULL$$
  }
  $AdfLogger$$.$LOGGER$.finer("prep drag[ source:", $dragSource$$1$$, " event:", $inputEvent$$14$$, "]");
  return{$triggerEvent$:$inputEvent$$14$$.$clone$(), $startPageX$:$inputEvent$$14$$.$getPageX$(), $startPageY$:$inputEvent$$14$$.$getPageY$()}
};
$AdfObject$$.$exportPrototypeSymbol$("AdfDragRecognizer.prototype.prepDrag", {$prepDrag$:$AdfDragRecognizer$$.prototype.$prepDrag$});
$AdfDragRecognizer$$.prototype.$abortPrep$ = function $$AdfDragRecognizer$$$$$abortPrep$$($prepContext$$1$$, $inputEvent$$15$$) {
  $AdfAssert$$.$assertPrototype$($inputEvent$$15$$, $AdfUIInputEvent$$);
  return $inputEvent$$15$$.getType() == $AdfUIInputEvent$$.$MOUSE_UP_EVENT_TYPE$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfDragRecognizer.prototype.abortPrep", {$abortPrep$:$AdfDragRecognizer$$.prototype.$abortPrep$});
$AdfDragRecognizer$$.prototype.$recognizeDrag$ = function $$AdfDragRecognizer$$$$$recognizeDrag$$($prepContext$$2$$, $inputEvent$$16$$) {
  var $newPageX$$ = $inputEvent$$16$$.$getPageX$(), $newPageY$$ = $inputEvent$$16$$.$getPageY$(), $isPrimarilyTouchDevice$$ = $AdfAgent$$.$AGENT$.$isTouchFirstDevice$();
  if($inputEvent$$16$$.getType() == $AdfUIInputEvent$$.$MOUSE_MOVE_EVENT_TYPE$ || $inputEvent$$16$$.getType() == $AdfComponentTouchEvent$$.$TOUCH_MOVE_EVENT_TYPE$ && 1 == $inputEvent$$16$$.$getTouchCount$()) {
    $AdfLogger$$.$LOGGER$.finer("recognizeDrag curr:", $newPageX$$, ",", $newPageY$$, " ", $prepContext$$2$$.$startPageX$, ",", $prepContext$$2$$.$startPageY$);
    var $minDragOffset$$ = $isPrimarilyTouchDevice$$ ? 10 : 3;
    if(Math.abs($prepContext$$2$$.$startPageX$ - $newPageX$$) > $minDragOffset$$ || Math.abs($prepContext$$2$$.$startPageY$ - $newPageY$$) > $minDragOffset$$) {
      return $AdfLogger$$.$LOGGER$.fine("Drag recognized for:", $inputEvent$$16$$), $prepContext$$2$$.$triggerEvent$
    }
    $isPrimarilyTouchDevice$$ || $AdfAgent$$.$AGENT$.preventDefault($inputEvent$$16$$.$getNativeEvent$())
  }
  return $JSCompiler_alias_NULL$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfDragRecognizer.prototype.recognizeDrag", {$recognizeDrag$:$AdfDragRecognizer$$.prototype.$recognizeDrag$});
