IQ test question - 3x3 grids with some shaded cells

I recently downloaded an IOS app "IQ test", and surprisingly found most of the questions pretty straightforward, but this particular one had me stumped. Can anyone help me understand the pattern here?

Here's how I would think about it

Number the cells of each grid in the following way,

 1 2 3
4 5 6
7 8 9


Now imagine there are two shaded cells beginning at cell 1 (they occupy the same space).
On each step, one of the shaded cells moves up 1 and the other shaded cell moves up 2, with the caveat that the whole thing wraps around (so when the second shaded cell moves to 9, its next step is to cell 2).
Then reading the images in the same order as I've numbered the cells in the grid, the shaded cells in each grid will be

 (1,1) (2,3) (3,5)
(4,7) (5,9) (6,2)
(7,4) (8,6) (9,8)


D

• Ah I see it, thanks so much. Been bugging me all morning! – wickywills Jun 9 at 13:32
• Also, rot13(Q vf nyfb gur bayl bar bs gur pubvprf juvpu unf gur fnzr pbyhzaf bpphcvrq nf gur gjb bguref va gung pbyhza. V erpbtavmrq vg jnf gur nafjre vzzrqvngryl jvgubhg svthevat bhg gur ybtvp oruvaq vg orpnhfr bs gung. N jryy qrfvtarq dhrfgvba jbhyq'ir unq nabgure jebat pubvpr jvgu bayl gubfr 2 pbyhzaf bpphcvrq.) – Darrel Hoffman Jun 10 at 14:10
• Interesting. I don't think I've seen that sort of logic in "tests" like this before. The ones I've seen usually seem to repeat a particular set of moves, not including this. – ilkkachu Jun 11 at 11:49

Here's another way to arrive at the same answer, assuming the question wasn't labeled a "progressive matrix" in the app.

1. Each small grid in the large purple grid have a single instance of three shapes:

█   █   █
█  █


This is also true for C and D.

2. Each small grid has its corresponding position in the large grid shaded. Following this pattern, the answer should have a shaded cell in this position:

▒ ▒ ▒
▒ ▒ ▒
▒ ▒ █


This is true for B, D, E and F.

Only D fits both these patterns.