Целое число, которое вы возвращаете в getSpanSize, указывает количество столбцов ширины, которое должна занимать определенная ячейка.Исходя из вашего кода, вам кажется, что большинство элементов должно занимать треть ширины макета
(position <= ((totalSize - 1) - span))
Этот код возвращает значение true для большинства случаев, за исключением последних нескольких ячеек.Я думаю, что код, который вы написали, имеет недостатки, и я не могу понять, что именно вам нужно.Если у вас есть фотография, которой вы можете поделиться, это очень поможет получить помощь для вашего решения.