Merge "Keep USB disconnected receiver active when ADB activity in bg" into rvc-d1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9e5913cf74
@@ -70,6 +70,8 @@ public class UsbDebuggingActivity extends AlertActivity
|
|||||||
|
|
||||||
if (SystemProperties.getInt("service.adb.tcp.port", 0) == 0) {
|
if (SystemProperties.getInt("service.adb.tcp.port", 0) == 0) {
|
||||||
mDisconnectedReceiver = new UsbDisconnectedReceiver(this);
|
mDisconnectedReceiver = new UsbDisconnectedReceiver(this);
|
||||||
|
IntentFilter filter = new IntentFilter(UsbManager.ACTION_USB_STATE);
|
||||||
|
mBroadcastDispatcher.registerReceiver(mDisconnectedReceiver, filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
@@ -119,6 +121,7 @@ public class UsbDebuggingActivity extends AlertActivity
|
|||||||
}
|
}
|
||||||
boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
|
boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
|
||||||
if (!connected) {
|
if (!connected) {
|
||||||
|
Log.d(TAG, "USB disconnected, notifying service");
|
||||||
notifyService(false);
|
notifyService(false);
|
||||||
mActivity.finish();
|
mActivity.finish();
|
||||||
}
|
}
|
||||||
@@ -126,30 +129,21 @@ public class UsbDebuggingActivity extends AlertActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
protected void onDestroy() {
|
||||||
super.onStart();
|
|
||||||
if (mDisconnectedReceiver != null) {
|
|
||||||
IntentFilter filter = new IntentFilter(UsbManager.ACTION_USB_STATE);
|
|
||||||
mBroadcastDispatcher.registerReceiver(mDisconnectedReceiver, filter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStop() {
|
|
||||||
if (mDisconnectedReceiver != null) {
|
if (mDisconnectedReceiver != null) {
|
||||||
mBroadcastDispatcher.unregisterReceiver(mDisconnectedReceiver);
|
mBroadcastDispatcher.unregisterReceiver(mDisconnectedReceiver);
|
||||||
}
|
}
|
||||||
super.onStop();
|
// Only notify the service if the activity is finishing; if onDestroy has been called due to
|
||||||
}
|
// a configuration change then allow the user to still authorize the connection the next
|
||||||
|
// time the activity is in the foreground.
|
||||||
@Override
|
if (isFinishing()) {
|
||||||
protected void onDestroy() {
|
|
||||||
// If the ADB service has not yet been notified due to this dialog being closed in some
|
// If the ADB service has not yet been notified due to this dialog being closed in some
|
||||||
// other way then notify the service to deny the connection to ensure system_server sends
|
// other way then notify the service to deny the connection to ensure system_server
|
||||||
// a response to adbd.
|
// sends a response to adbd.
|
||||||
if (!mServiceNotified) {
|
if (!mServiceNotified) {
|
||||||
notifyService(false);
|
notifyService(false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user