google-api-java-client para o Google Agenda no loop infinito do Android
Estive lutando com o exemplo de aplicativo para Android fornecido pelo Google para integrar algumas funcionalidades da agenda do Google encontradasAqu no código do Google.
Modifiquei um pouco o código original. Especificamente, no CalendarAndroidSample.java classe na linha 326 eu modifiquei:
CalendarUrl url = CalendarUrl.forAllCalendarsFeed();
para calcular agora:
CalendarUrl url = CalendarUrl.forEventFeed(settings.getString("accountName", "NULL"), "private", "full");
Isto preenche bem a lista de exibição de todos os eventos em minha agend
O loop infinito ocorre sempre que adiciono um evento ao meu calendário do Google. Depois que um novo evento é adicionado, o aplicativo de amostra congela e, olhando para o DDMS, posso ver o logcat divulgando isso repetidamente sem um fim:
06-19 11:19:28.556: DEBUG/dalvikvm(7493): GC_FOR_MALLOC freed 11761 objects / 519744 bytes in 39ms
A única maneira que encontrei para impedir o loop do aplicativo é excluir o evento do calendário. Depois que o evento do calendário é excluído, o aplicativo volta à vida e lista meus eventos, MAS, a lista de exibição agora contém todos os meus eventos, repetidos várias vezes. É como se o feed nunca parasse.
Meu melhor palpite é que na linha 333, onde o código diz:
String nextLink = feed.getNextLink();
if (nextLink == null) {
break;
@nextLink nunca se torna nulo, criando o loop. Mas por que isso acontece SOMENTE quando adiciono um evento da agenda?
EDITAR
Excluí alguns eventos da agenda e ela começou a funcionar. Parece que se o calendário tiver mais de 25 eventos, ele começa a repetir? Qual o significado disso?