Я только что столкнулся с той же проблемой. Похоже, что после 2.3.x getHistoricalX () и getHistoricalY () теперь выдают ArrayIndexOutOfBounds при передаче отрицательного значения. Ранее они только что вернули первую запись в истории. Это может произойти, когда historySize равен 0, из-за очень короткого нажатия
Таким образом, несмотря на то, что вы не хотите обсуждать безопасность кода, ответом является проверка значения historySize следующим образом. Если historySize == 0, хотя это событие Move, оно на самом деле не перемещалось, так что, по-видимому, вы ничего не хотите делать.
if (event_.getAction() == MotionEvent.ACTION_MOVE) {
historySize = event_.getHistorySize();
if(historySize>0)
endX = event_.getHistoricalX(historySize-1);
}