Issue 5709: Fix google sign out if network is unreachable
Description
Prevent Google user from logging out if GPlay host is not reachable.
Issue(s)
Test environment
Gradle build from branch 5709-fix_google_sign_out, install the apk and test on a rooted device to simulate the test conditions.
Test procedures
Common instructions:
- Block GPlay:
adb shell iptables -A OUTPUT -o wlan0 -m string --string android.clients.google.com --algo kmp -j DROP
adb shell iptables -A OUTPUT -o wlan0 -m string --string play-lh-googleusercontent.com --algo kmp -j DROP
- Unblock GPlay:
adb shell iptables -D OUTPUT -o wlan0 -m string --string android.clients.google.com --algo kmp -j DROP
adb shell iptables -D OUTPUT -o wlan0 -m string --string play-lh-googleusercontent.com --algo kmp -j DROP
Following conditions to be tested:
First login - block GPlay
Anonymous - Timeout dialog appears
"Retry" button - Timeout dialog appears
Unblock gplay and "Retry" button - success
Google login - "Google sign in failed" dialog appears
"Retry" button - "Google sign in failed" dialog appears
Unblock gplay and "Retry" button - login success
First login success (unblock GPlay), second login block GPlay
Anonymous - Timeout dialog appears
"Retry" button - Timeout dialog appears
Unblock gplay and "Retry" button - success
Google login - "Google sign in failed" dialog appears
"Retry" button - "Google sign in failed" dialog appears
Unblock gplay and "Retry" button - login success
Technical details
We are directly checking PlayResponse
code, whether it is 200 or not.
Screenshots
Download from here: e/backlog#5709 (comment 241337)
Check list
-
Self review -
Test procedure explained -
Tested on fresh install -
Tested applied as an update -
License -
Internal documentation -
User documentation
Edited by Sayantan Roychowdhury