Witam,
W aplikacji lub kontrolerze jest błąd objawiający się pokazywaniem zawartości innej zakładki niż aktywana w aplikacji po powrocie aplikacji z tła tzn po jej ponownym uruchomieniu z launchera android gdy wcześniej została zminimalizowana w tło przez użytkownika.
Posiadam u siebie 3 zakładki w widoku DOM:
id 0 - ulubiona
id 1 - pokazywana tylko w widoku DOM
id 2 - ulubiona
Procedura reprodukcji:
1. Z ekranu głównego aplikacji przechodzimy do zakładki o id = 2
2. Wychodzimy z aplikacji wysyłając ją w tło (wciskamy androidowy przycisk home)
3. Odczekajmy kilka sekund
4. z launchera ponownie uruchamiamy aplikację ExtaLife poprzez dotknięcie jej ikony
5. Po powrocie aplikacji na ekran pokazuje się nam ta sama zakładka podczas oglądania której opuściliśmy aplikację
6. Niestety jej zawartość jest nieprawidłowa. Zamiast elementów z tej zakładki o id=2 - obserwujemy zawartość zakładki o id=0
Po przeanalizowaniu ruchu sieciowego między aplikacją a kontrolerem skłaniam się ku tezie, że to wina aplikacji. Dziwi mnie podwójnie wysłana ta sama komenda do kontrolera która może powodować problem oraz to, że kontroler zwraca komplet danych dla żądań z aplikacji, ale aplikacja pokazuje niezależnie od zakładki dane, które kontorler zwrócił jako pierwsze.
Oto sekwencja zdarzeń na poziomie TCP przy przywracaniu aplikacji ponownie na ekran
1. Aplikacja -> Kontroler: command: 1 (logowanie)
2. Kontroler -> Aplikacja: command: 1 status : success - zwrócone dane zawierają nazwy i id wszystkich zakłądek - prawidłowo tak jak w pliku ustawień z katalogu USERS
3. Aplikacja -> Kontroler: command: 41 data: id: 0
4. Aplikacja -> Kontroler: command: 41 data: id: 2
5. Aplikacja -> Kontroler: command: 41 data: id: 2 (ponownie!)
6. Kontroler -> Aplikacja: status: searching command: 41 data....dane dla zakłądki z id=0
6. Kontroler -> Aplikacja: status: searching command: 41 data....dane dla zakłądki z id=2
Błędy są wg mnie dwie rzeczy:
1. Aplikacja żąda danych dla nieaktywnej na ekranie zakładki (po co?)
2. Podwójnie żąda danych dla drugiej, aktywnej zakładki
Jeśli nie uda się zreprodukować błędu - mogę nagrać screencast z telefonu i będzie widać w czym problem, ale sądzę, żę przytoczony przeze mnie fragment komunikacji sieciowej jednoznacznie wskaże "winnego" tej sytuacji.
Problem występuje od wersji aplikacji z autoponawianiem połączenia. Występował zarówno w wersji testowej z końca kwietnia, potem w wersji oficjalnej 1.6 ze sklepu Play oraz w wersji testowej z 10 maja. Ja używam testowej wersji z forum z 10 maja Extalife_login_fixes_rc.zip