adb: Add "unauthorized" connection state
Add a new connection state, so that devices, that require confirmation to allow adb, appear as "unauthorized" in the adb devices lists. Change-Id: Ib4264bc5736dedecf05bcf8e31896f4d7a91fad8
This commit is contained in:
parent
345cb066d2
commit
77e8e5851d
|
@ -402,6 +402,8 @@ static char *connection_state_name(atransport *t)
|
|||
return "device";
|
||||
case CS_OFFLINE:
|
||||
return "offline";
|
||||
case CS_UNAUTHORIZED:
|
||||
return "unauthorized";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
@ -531,6 +533,7 @@ void handle_packet(apacket *p, atransport *t)
|
|||
|
||||
case A_AUTH:
|
||||
if (p->msg.arg0 == ADB_AUTH_TOKEN) {
|
||||
t->connection_state = CS_UNAUTHORIZED;
|
||||
t->key = adb_auth_nextkey(t->key);
|
||||
if (t->key) {
|
||||
send_auth_response(p->data, p->msg.data_length, t);
|
||||
|
|
|
@ -468,6 +468,7 @@ int connection_state(atransport *t);
|
|||
#define CS_RECOVERY 4
|
||||
#define CS_NOPERM 5 /* Insufficient permissions to communicate with the device */
|
||||
#define CS_SIDELOAD 6
|
||||
#define CS_UNAUTHORIZED 7
|
||||
|
||||
extern int HOST;
|
||||
extern int SHELL_EXIT_NOTIFY_FD;
|
||||
|
|
|
@ -851,6 +851,12 @@ retry:
|
|||
adb_mutex_unlock(&transport_lock);
|
||||
|
||||
if (result) {
|
||||
if (result->connection_state == CS_UNAUTHORIZED) {
|
||||
if (error_out)
|
||||
*error_out = "device unauthorized. Please check the confirmation dialog on your device.";
|
||||
result = NULL;
|
||||
}
|
||||
|
||||
/* offline devices are ignored -- they are either being born or dying */
|
||||
if (result && result->connection_state == CS_OFFLINE) {
|
||||
if (error_out)
|
||||
|
@ -888,6 +894,7 @@ static const char *statename(atransport *t)
|
|||
case CS_RECOVERY: return "recovery";
|
||||
case CS_SIDELOAD: return "sideload";
|
||||
case CS_NOPERM: return "no permissions";
|
||||
case CS_UNAUTHORIZED: return "unauthorized";
|
||||
default: return "unknown";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue