You are certainly correct that interrupts are very inappropriate for interfacing these encoders.
Before I go into detail with your analysis of the matter of decoding them, please go and read the instructions, then go back and modify your post (use the "More --> Modify" option to the bottom right of the post) to mark up the code as such so we can examine it conveniently and accurately.
You have marked it as "Teletype" which does generally prevent mangling, but is not quite appropriate.
Note: Also mark up any data in the same way. This includes error output that you get from the IDE.
And so we can see your illustrations:

