A primeira coisa que você precisa criar é um método que dado um array e uma posição inicial dentro do array, retorne o comprimento da sequência de números crescentes que começa nessa posição. Esse método pode retornar "1", por exemplo, se calhar de você ter uma sequência decrescente.
Por exemplo, digamos que você pegue o seu array original (8 5 6 2 4 6 9 4 2 0 8 9 10 12 ) e passe para esse método a posição "0".
Como você viu que na posição 1 a sequência já começa a decrescer, então ela lhe retorna "1".
Se você passar para esse método o valor "9", então esse método retorna o valor "5" (porque a sequência que ele vai achar tem 5 elementos: 0, 8, 9, 10 e 12).
A segunda coisa é ir percorrendo o array usando esse método que você acabou de criar. Vou dar um exemplo com o seu array:
int maxLength = 0
Posição 0 -> método(0) retornou 1 (porque é 8, 5, …). Então maxLength = 1
Posição 0 + retorno do método = 1 -> método(1) retorna 2 porque você tem a sequência 5, 6, 2…). Então maxLength = 2.
Posicao 1 + retorno = 3 -> método(3) retorna 4 porque você tem a seqüência 2, 4, 6, 9, 4…) Então maxLength = 4.
Posição 3 + retorno = 7 -> método(7) retorna 1 devido à sequência 4, 2…). maxLength continua em 4.
…
E por aí vai.