71bddf842dd015328676585db4985c5cf739112b |
|
25-Mar-2016 |
Yabin Cui <yabinc@google.com> |
adb: use a custom thread to poll for usb devices on mac. On mac, if the adb server kicks a transport on some error, mac usb driver will not report a new usb device. So instead of relying on mac usb driver to report new usb devices, this CL uses a loop to search for usb devices not exist before. Note that this is also the behavior on windows and linux host. `adb reconnect` can be used to verity this CL. Bug: 25935458 Change-Id: I890e0eb1fae173f2e7a0c962ededa294d821e015 (cherry picked from commit 48d4c0c42afc1cb77c4573ac22adb61d2f92ccd3)
/system/core/adb/transport.cpp
|
a28918cf30035edce887c7987a8b27033eeaa317 |
|
18-Apr-2016 |
Yabin Cui <yabinc@google.com> |
Fix kick_transport test. Fix broken kick_transport test, and make it not access atransport internal variables. Bug: 25935458 Change-Id: I91b4d32a222b2f369f801bbe3903acac9c8ea4f7 (cherry picked from commit 7f27490e7f386401dc38287a67dcb8826e2260c5)
/system/core/adb/transport.cpp
|
a9e818f4632eca67a5ffd1fb680d15550591ecd9 |
|
19-Apr-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge changes Ia4a2ff77,I970806e3,I47daa338 into nyc-dev * changes: adb: increase the FD table size on Win32. adb: bump the server version to 36. adb: add reconnect command.
|
03468c8c509975f2f410b402b2bc211b42aa0ed9 |
|
05-Apr-2016 |
Yabin Cui <yabinc@google.com> |
adb: add reconnect command. Add reconnect command for debugging. `reconnect` kicks a transport from the host side, `reconnect device` kicks a transport from the device side. They can be used to produce transport errors. Bug: 25935458 Change-Id: I47daa338796b561941e7aba44a51a6dd117d1e98 (cherry picked from commit 1f4ec19e499ba981e4117f647d191603c2713e79)
/system/core/adb/transport.cpp
|
802c54ebb79453256a8c7fd3c3cab88acc8a84e8 |
|
01-Mar-2016 |
David Pursell <dpursell@google.com> |
adb: relax serial matching rules. Currently targeting a device by serial requires matching the serial number exactly. This CL relaxes the matching rules for local transports to ignore protocol prefixes and make the port optional: [tcp:|udp:]<hostname>[:port] The purpose of this is to allow a user to set ANDROID_SERIAL to something like "tcp:100.100.100.100" and have it work for both fastboot and adb (assuming the device comes up at 100.100.100.100 in both modes). This CL also adds some unit tests for the modified functions to make sure they work as expected. Bug: 27340240 Change-Id: I006e0c70c84331ab44d05d0a0f462d06592eb879 (cherry picked from commit 3f902aad5b427a8162bf860a758878b55b13e775)
/system/core/adb/transport.cpp
|
d9db09c3158d3da6aad34fbb926888ceafab3a55 |
|
12-Feb-2016 |
Josh Gao <jmgao@google.com> |
adb: make adb_thread_func_t return void, add adb_thread_exit. Windows restricts the return value of threads to 32-bits, even on 64-bit platforms. Since we don't actually return meaningful values from thread, resolve this inconsistency with POSIX by making adb's thread abstraction only take void functions. Change-Id: I5c23b4432314f13bf16d606fd5e6b6b7b6ef98b5 (cherry picked from commit b5fea14e13bb6e41b36f374c954dc55faeef4627)
/system/core/adb/transport.cpp
|
2e83684537326b027ef042d5712d2b861af8e626 |
|
14-Dec-2015 |
Elliott Hughes <enh@google.com> |
Merge "Share the new adb USB diagnostic code with fastboot." am: efd8c3289e am: 40f80e25d3 * commit '40f80e25d3f399ece26d5f1ac145921ccb7f5f80': Share the new adb USB diagnostic code with fastboot.
|
1b708d368f29e6053064c9cf6949ab6ebdbb7ac5 |
|
12-Dec-2015 |
Elliott Hughes <enh@google.com> |
Share the new adb USB diagnostic code with fastboot. Bug: http://b/26134129 Change-Id: Ieaf0651c7b3f8a028760982091ec63a21a5484ba
/system/core/adb/transport.cpp
|
9046c23ed69214bcec87568cbe082320ffc6fc81 |
|
08-Dec-2015 |
David Pursell <dpursell@google.com> |
Merge "adb: add help text for USB permission errors." am: 663e949b2b am: e37325defc am: 4542b62cca * commit '4542b62ccafb749542bddaf0b442db554e7210e3': adb: add help text for USB permission errors.
|
663e949b2bbda5dcc2b92e4d1936555019cdd66b |
|
08-Dec-2015 |
David Pursell <dpursell@google.com> |
Merge "adb: add help text for USB permission errors."
|
ef119a14b8f5a7eca18930e272e550ebf25217bd |
|
08-Dec-2015 |
Elliott Hughes <enh@google.com> |
Merge "Track rename of base/ to android-base/." am: 912ed3d8ca am: e2a9563be1 am: 3608ee5e90 * commit '3608ee5e903689ea7c433587be664649689816e1': Track rename of base/ to android-base/.
|
4f71319df011d796a60a43fc1bc68e16fbf7d321 |
|
05-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename of base/ to android-base/. Change-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf
/system/core/adb/transport.cpp
|
d2acbd19312a66cbee2c49f455eddd82b6700d1d |
|
03-Dec-2015 |
David Pursell <dpursell@google.com> |
adb: add help text for USB permission errors. The current permission messages can be confusing for users who don't know about udev and USB access permissions. This CL adds some checks to try to identify common udev problems, and adds a link to online documentation. Example messages: 1) adb server is in plugdev group but access is still denied: $ adb devices List of devices attached 082f59270073e1e3 no permissions (verify udev rules); see [developer.android.com/tools/device.html] 2) plugdev group exists but adb server is not in it: $ adb shell error: USB permission failure: udev requires plugdev group membership. See [developer.android.com/tools/device.html] for more information. 3) plugdev group does not exist: $ adb shell error: USB permission failure. See [developer.android.com/tools/device.html] for more information. Bug: http://b/25777880 Change-Id: I536565adc12ab657c75151309795674181205db0
/system/core/adb/transport.cpp
|
80a9bc872c7add5da12f7a23f79a44a1a0b81675 |
|
13-Nov-2015 |
Josh Gao <jmgao@google.com> |
Merge changes Ic124ecb9,I94de55d2 am: 26f2e1fd4f am: 9a3f299ec0 am: 33bc6f38e7 * commit '33bc6f38e7946108ff2fba947e2a2be0c8d62d7f': libbase: remove exit-time destructors. adb: remove exit-time destructors.
|
b7b1edf974a93cc4bb9a2de7a5e9c9bce9ad178b |
|
12-Nov-2015 |
Josh Gao <jmgao@google.com> |
adb: remove exit-time destructors. On exit, these destructors get invoked while other threads might still be using them, potentially causing a crash, and definitely causing tsan to report a race condition. Bug: http://b/23384853 Change-Id: I94de55d22f97f4edd1d7cc1f34e8c1f8dfd56a5a
/system/core/adb/transport.cpp
|
51c05ec56832811eefff96bc76440a54e75c61cb |
|
10-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Revert "Revert "use new cmd command"" This reverts commit 3e3b4ec00770258f4e66684addded262dc13003a. Change-Id: I8bfcd8a2a285f4254539ebca9f70222aa2448ef4
/system/core/adb/transport.cpp
|
4cb77fc2a343839ce2dfc00e0d73033b5650482c |
|
09-Nov-2015 |
Elliott Hughes <enh@google.com> |
Merge "adb/base: minor compiler portability improvements" am: 892f0e9300 am: 8163cbc535 am: 3396ad2c16 * commit '3396ad2c16037c0fda6273708a750eb6a15e2038': adb/base: minor compiler portability improvements
|
363af568b8491af1a4256b09b04cfa8a0606d8cc |
|
08-Nov-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb/base: minor compiler portability improvements I've been using these changes to compile with Visual Studio. - GetFileBasename(): __FILE__ uses \ with Visual Studio. - adb_trace.cpp: Apparently VS needs an ampersand before the function name. - "expr1 ? : expr2" is a GCC extension. - <algorithm> contains std::min(). - seekdir can't always be #define'd because some headers have members named seekdir. - adb_utils.cpp: Not really a compiler issue, just a random fix: 0x7F/DEL is not printable. Change-Id: I0dfb634f1ba4ccbc0d1b9f71b00e838fbebb3b41 Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/transport.cpp
|
3e3b4ec00770258f4e66684addded262dc13003a |
|
09-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Revert "use new cmd command" This reverts commit d039800a4e008b52c532f901e3bb34b40877cf30. Change-Id: Ia9b81c47120088593a56ae09a9b002338d524b8a
/system/core/adb/transport.cpp
|
79e1c7a7f8a6caf8fe77c6fa1ef46b3ddac9fb99 |
|
07-Nov-2015 |
Elliott Hughes <enh@google.com> |
AOSP master doesn't have "cmd". Change-Id: I0f524b779a623a9e2db923fd9003b102460ae46f
/system/core/adb/transport.cpp
|
6fa848adbab275c76d590a133290a59a6ef9a4d5 |
|
04-Nov-2015 |
Todd Kennedy <toddke@google.com> |
use new cmd command Instead of using the pm command, 'adb install' and 'adb uninstall' will now use the cmd command. Additionally, the APK will be streamed directly to package installer instead of creating a temporary file. (cherry-pick of d039800a4e008b52c532f901e3bb34b40877cf30.) Change-Id: Ie7529afa5b039d29cc8183f36085ff4e66b3457a
/system/core/adb/transport.cpp
|
d039800a4e008b52c532f901e3bb34b40877cf30 |
|
04-Nov-2015 |
Todd Kennedy <toddke@google.com> |
use new cmd command Instead of using the pm command, 'adb install' and 'adb uninstall' will now use the cmd command. Additionally, the APK will be streamed directly to package installer instead of creating a temporary file. Change-Id: Ie7529afa5b039d29cc8183f36085ff4e66b3457a
/system/core/adb/transport.cpp
|
65fe2516b402ed8903f2ce39a86fa0bdc2b263a6 |
|
08-Oct-2015 |
Elliott Hughes <enh@google.com> |
Use const auto&/auto&& in adb. Change-Id: I74a7e511302e15e207906f572d181634e0ed5604
/system/core/adb/transport.cpp
|
8d28e191c5ba81b82e51e3fd120d03851e1d905f |
|
07-Oct-2015 |
Elliott Hughes <enh@google.com> |
Fix adb -d/-e error reporting. If -d/-e fail, get-serialno and friends will now report an error and return a failure status code on exit. Also fix the behavior of -d/-e with $ANDROID_SERIAL --- -d/-e should override $ANDROID_SERIAL, not the other way round. I'm deleting my own comment here about always returning "unknown" for scripts. I can't find any evidence that there are scripts relying on that, so I think my comment meant "I fear that there are scripts doing so". Bug: http://b/24403699 Change-Id: Ie13a751f1137abcfe0cc6c46a0630ba5e02db676
/system/core/adb/transport.cpp
|
70ef7b40f96e44ebb86f4eb23ccfa1a9230cdb65 |
|
30-Sep-2015 |
David Pursell <dpursell@google.com> |
adb: put legacy shell: service back in. ddmlib does not use the ADB client, but instead connects directly to the adb server. This breaks some of the assumptions I previously made when enabling the shell protocol. To fix this, the adb server now defaults to no protocol for the standalone command, and the shell protocol must be explicitly requested by the client. For example: shell:echo foo -- no shell protocol shell,v2:echo foo -- shell protocol As long as I was touching the shell service arguments I also changed them to no longer duplicate the command-line arguments. This allows more flexibility to change the adb client CLI if necessary and makes the code more readable. Bug: http://b/24148636 Change-Id: I28d5ae578cf18cbe79347dc89cea1750ff4571a8
/system/core/adb/transport.cpp
|
a36f4d680a02dbf2bf2166f148f4c5200ec1d8f4 |
|
28-Sep-2015 |
David Pursell <dpursell@google.com> |
Merge "adb: bump server version to prevent feature mismatch."
|
d2b588e23901538f4b459a71fefdac6fc2748f7e |
|
25-Sep-2015 |
David Pursell <dpursell@google.com> |
adb: fix adbd feature parsing for no features. Previously the transport features list was only overwritten if a new feature list was found. However, adbd can reuse the same atransport object even if the adb server is killed and restarted, so the feature list was not cleared properly if the newly started adb server didn't provide one. This CL fixes the bug by clearing the transport features list whenever a connection banner is parsed. Bug: http://b/24405971 Change-Id: Ia6ee6c9a46a621534681f6d4d7df77156b885eb9
/system/core/adb/transport.cpp
|
bbe3d210ba9776f2e72f17c6213438890e1a8683 |
|
25-Sep-2015 |
David Pursell <dpursell@google.com> |
adb: bump server version to prevent feature mismatch. Devices get a list of supported features from the adb server, not the client, so a mismatch between client and server features can cause the device to use an incorrect feature set. Bumping the server version is the easiest way to make sure the client and server features match and seems like the best solution at the moment. A more automated fix could be to compare client/server features on each connection and restart if they don't match. This requires an extra client <-> server round-trip per command, but removes the need to manually bump the server version number on feature change. Unless the feature set changes often it didn't seem worth the extra overhead. Bug: http://b/24370690 Change-Id: I4e43825d1c15c61e5d924fc8d4110b467debde37
/system/core/adb/transport.cpp
|
aed3c61c4437ebb05eadfb3bf85d6962c30b9935 |
|
23-Sep-2015 |
Yabin Cui <yabinc@google.com> |
Adb: use VLOG() to replace D() for verbose logging. As there are too many D(), we can keep both VLOG() and D() now, and get rid of D() gradually. Change-Id: I2f1cb70bcab3e82c99fed939341d03f6b2216076
/system/core/adb/transport.cpp
|
4e2fd36bc8c16147cab323b0418a7666812d3bc7 |
|
22-Sep-2015 |
David Pursell <dpursell@google.com> |
adb: add -Tt options to `adb shell`. Adds -T (no PTY) and -t (force PTY) options to `adb shell` to mimic ssh options. Small cleanup to send an entire FeatureSet to the adb client at once to avoid multiple round-trips when querying multiple features. Known issue: humans using `adb shell -T` to start a non-PTY interactive session may experience problems since neither side will have PTY features like echoing or newline translation. This is probably OK for now as the -Tt options are primarily useful for scripting. Bug: http://b/23825231 Change-Id: I4d0df300db0abd1f7410bab59dd4d5b991babda7
/system/core/adb/transport.cpp
|
606835ae5c4b9519009cdff8b1c33169cff32cb1 |
|
09-Sep-2015 |
David Pursell <dpursell@google.com> |
adb: add client side shell protocol and enable. Adds the shell protocol functionality to the client side and enables it if the transport supports the feature. Bug:http://b/23031026 Change-Id: I9abe1c8b1d39f8dd09666321b1c761ad708a8854
/system/core/adb/transport.cpp
|
0955c66b226db7a7f34613f834f7b0a145fd407d |
|
31-Aug-2015 |
David Pursell <dpursell@google.com> |
adb: implement shell protocol. Adds functionality for handling stdin/stdout/stderr streams and exit codes using the shell protocol. This CL just contains implementation for adbd which will not yet be enabled. Once we have the ability to query transport features from the adb client, another CL will add the implementation for the client side and update the feature list to turn this on. Note: this CL must be submitted together with a minadbd CL to update the service_to_fd() function signature. Bug: http://b/23030641 Change-Id: Ibed55e9c1946d8a35190696163ff63e8fb880238
/system/core/adb/transport.cpp
|
7a3f8d6691b3fbd8014a98de8455dbcfcc9629e4 |
|
03-Sep-2015 |
Yabin Cui <yabinc@google.com> |
adb: clean up debug tracing a little. Always use LOG() for debug tracing. Remove useless D_lock. I believe it is useless to lock just before and after fprintf. I verified the log output both on host and on device. The output looks fine to me. Change-Id: I96ccfe408ff56864361551afe9ad464d197ae104
/system/core/adb/transport.cpp
|
d6ab3c2245b6c71605bad746a535028b717e899a |
|
31-Aug-2015 |
Yabin Cui <yabinc@google.com> |
adb: improve names for transport threads. The old names seems confusing. output_thread was reading remote data and writing to local sockets. input_thread was reading local sockets data and writing to remote. This change tries to make it clear by renaming output_thread to read_transport thread, and renaming input_thread to write_transport thread. Change-Id: I2e7b4cde7a94d436f3745e9e3ab10780e7caa8ac
/system/core/adb/transport.cpp
|
0c3914a44d608614a2cf5225e0072f41b2910d3c |
|
31-Aug-2015 |
Elliott Hughes <enh@google.com> |
Distinguish transport threads. Use "<-" and "->" to work around Linux's very short thread name limit. Bug: http://b/23423333 Change-Id: I9f3f096415b47162dacb660cd0a97ac7ff6107e6
/system/core/adb/transport.cpp
|
49ee7cf9a10f66ffa9a3490c69db5fa46e0a966b |
|
29-Aug-2015 |
Siva Velusamy <vsiva@google.com> |
adb: set thread names (linux & mac) Bug: 23423333 Change-Id: I0069f32ddbae2a10fb130064f721facf45b2cc09
/system/core/adb/transport.cpp
|
b329824e6c5373ae303269dca285d835ce57e514 |
|
29-Aug-2015 |
Yabin Cui <yabinc@google.com> |
adb: clean up transport disconnect operations. Move operations from global functions into member functions. Add unit test. Change-Id: Id4543d8e78541eb08c8e629f180c605c699737ec
/system/core/adb/transport.cpp
|
12d7f0909a4332c0f03ea0bd49741cc6c46a2353 |
|
28-Aug-2015 |
Yabin Cui <yabinc@google.com> |
adb: call run_transport_disconnects() only once. Currently run_transport_disconnects() are called twice. One is in handle_offline(), another is before destroying transport. The users of disconnect callback are listener, adb_auth_client, and remote_sockets. All of them need only to be called once. And after handle_offline, no new listeners, adb_auth_client, or remote_sockets can be connected to the offlined transport. So I think we can remove the second call to run_transport_disconnects(). Change-Id: I1ef8b6b7b5ab7ae1bad109be107c85973d65a2e3
/system/core/adb/transport.cpp
|
f4b9928563e97620fc1d9bd5c2efdaa0ded96488 |
|
27-Aug-2015 |
Yabin Cui <yabinc@google.com> |
adb: disconnect: fix write-after-free memory corruption and crash. Transport atransport objects are semi-reference counted: the input and output threads each hold a reference. The adb disconnect command was calling transport_unref to release a reference that it never had in the first place. This meant that the refcount dropped to zero and the object was deleted before either the input or output thread released its reference. When that last thread released its reference, it wrote to freed memory and also sometimes crashed. This fix is to not release any unheld reference, instead it just kicks the transport to break remote_read in output_thread. So all transport close flow goes the following way: output_thread (exit) -> main thread (offline the transport) -> input thread (exit) -> main thread (destroy the transport) Change-Id: Iad1fe718acc8716f3a79c8c22b426a1b2450452c
/system/core/adb/transport.cpp
|
f3068123039e81cee85ce9103d01b5b2aceb2ba3 |
|
27-Aug-2015 |
Yabin Cui <yabinc@google.com> |
Merge "adb: fix a fake data race on transport:kick reported by tsan."
|
d8459b3d3c8f9b1bfb3b6871b9c7d6e235cca6fa |
|
26-Aug-2015 |
Yabin Cui <yabinc@google.com> |
adb: fix a fake data race on transport:kick reported by tsan. It is reported by tsan as a double checked locking. But I think it is not a real data race. Because I think the old code is able to make sure t->kick() is only called once, and the caller of kick_transport is not relying on the side-effect of calling t->kick(). But as it is not perf critical, I don't mind breaking the double checked locking pattern. Bug: 23385662 Change-Id: Ie3597dd56bb514117c3865d2afcfd7c115731a78
/system/core/adb/transport.cpp
|
34f45c566365c966c78264e8a4dc0cf69957b6fa |
|
26-Aug-2015 |
Yabin Cui <yabinc@google.com> |
adb: keep all asocket operations in the main thread. As far as I can see, all asockets operations happen in fdevent_loop() in the main thread, excepting close_all_sockets(). Instead of adding lock and ref_count for each asocket, a simpler way would be moving close_all_sockets() from input_thread to the main thread. In input_thread(), there are two path to break the loop and call close_all_sockets(). One path is when receiving offline A_SYNC, which is sent by the main thread. The other path is when read_packet fails, which I believe is almost not possible and doesn't matter (Because t->fd is closed just before t is freed.). So I move close_all_sockets() to handle_offline() in the main thread. the socket_list_lock in sockets.cpp could be removed. But I prefer to leave it for the following changes. Bug: 6558362 Change-Id: I5da23f60a67a331262c62693b9b127fe2689c799
/system/core/adb/transport.cpp
|
8fcd8bc046188abe0b0e87754af472d4838b4c50 |
|
25-Aug-2015 |
Elliott Hughes <enh@google.com> |
EINTR is handled by adb_read/unix_read and friends. No need to clutter the code with cases that won't happen. Change-Id: I47c5a2e6170f902d2618719f44492234a4869567
/system/core/adb/transport.cpp
|
aa2454919098ee14cd232669f1e7dbb33ed07ccf |
|
03-Aug-2015 |
Elliott Hughes <enh@google.com> |
adb sync cleanup. We can double the speed of "adb sync" (on N9) if we increase SYNC_DATA_MAX from 64KiB to 256KiB. This change doesn't do that, because I still haven't managed to plumb through the information about whether we're a new adb/adbd to file_sync_client.cpp and file_sync_service.cpp. But this is already a big change with a lot of cleanup, so let's do the cleanup and worry about the intended change another day... This change does improve performance somewhat by halving the number of lstat(2) calls made on the client side, and ensuring that most packets are sent with a single write. This has the pleasing result of making the null sync on an AOSP N9 go from just over 300ms to around 100ms, which means it now seems instantaneous (https://en.wikipedia.org/wiki/Mental_chronometry). Change-Id: If9f6d4c1f93ec752b95f71211bbbb1c513045166
/system/core/adb/transport.cpp
|
1792c23cb892ab58590b2cdfce0d0ece30c21787 |
|
18-May-2015 |
Dan Albert <danalbert@google.com> |
Add feature list to connection banner. This allows us to test for features explicitly rather than relying on the protocol version number, allowing us to fall back gracefully if a feature is not supported. This will be needed for the upcoming shell upgrades for stdout/stderr separation and exit code reporting. Change-Id: Ibb1d8ad2611f7209901ee76d51346b453e9c5873
/system/core/adb/transport.cpp
|
6264129434e511da38faedeb5739c3e4bd4a710e |
|
31-Jul-2015 |
Yabin Cui <yabinc@google.com> |
Make clear of the data length sent by write_packet. Change-Id: If51b4feaa19a710874999ad7e6131ff2e56a9f8a
/system/core/adb/transport.cpp
|
3d2904cdf2371e26c0465184436bd063979a5d97 |
|
13-Jul-2015 |
Tamas Berghammer <tberghammer@google.com> |
Increase size of the the adb packets sent over the wire The reason behing this change is to increase the adb push/pull speed with reduceing the number of packets sent between the host and the device because the communication is heavily bound by packet latency. The change maintains two way compatibility in the communication protocol with negotiating a packet size between the target and the host with the CONNECT packets. After this change the push/pull speeds improved significantly (measured from Linux-x86_64 with 100MB of data): | Old push | Old pull || New push | New pull | ----------------------------------------------------------- Hammerhead | 4.6 MB/s | 3.9 MB/s || 13.1 MB/s | 16.5 MB/s | ----------------------------------------------------------- Volantis | 6.0 MB/s | 6.2 MS/s || 25.9 MB/s | 29.0 MB/s | ----------------------------------------------------------- Fugu | 6.0 MB/s | 5.1 MB/s || 27.9 MB/s | 33.2 MB/s | ----------------------------------------------------------- Change-Id: Id9625de31266e43394289e325c7e7e473379c5d8
/system/core/adb/transport.cpp
|
8d8126a705dd3c5734a0894f88c2c758784bd469 |
|
21-Jul-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: logging: newlines, thread ids, error code overwriting Add missing \n to uses of legacy D() macro. This should make the legacy logging easier to read (and harder to miss important stuff). On POSIX, use gettid() from libcutils instead of pthread_self() so that the output shows a more reasonable number instead of a pointer value. This should be ok since libbase's logging already uses gettid(). Win32: Don't let the Win32 last error get overwritten by API calls after the original error'ing API. When encountering an unknown error, log the specific error code. Change-Id: Ib8f72754efa7ba895d2f1cd914251fec2a1d894c Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/transport.cpp
|
64d303a0e750e5604564d6a91c11aea663f6874a |
|
18-Jul-2015 |
Elliott Hughes <enh@google.com> |
Fix adbd/adb server confusion in an error message. Change-Id: Iacb8bcfb1e8e1d46198ee4ba8cf0ec0d1b98c75a
/system/core/adb/transport.cpp
|
e2d3677cc2239a8530d33e3c5e24e65fff096801 |
|
23-Jun-2015 |
Elliott Hughes <enh@google.com> |
Improve the "device '(null)' not found" error. Now we'll say "no devices found" if you haven't set ANDROID_SERIAL and there's no device connected to default to. Also clean up the relevant code a little. Change-Id: Id254929629ce0888628d5ba8e67cd996ffbf9c8a
/system/core/adb/transport.cpp
|
c7915a3470292349017f94ca066ed515babfcc23 |
|
19-May-2015 |
Dan Albert <danalbert@google.com> |
Make atransport be a real class. Using non-POD types in atransport means we'll need to start treating it as a real class (specifically with regards to new/delete rather than malloc/free). I've also cleaned up the home grown linked lists for transport_list and pending_list to just be std::lists. We might want to refactor that again to be an std::unordered_map keyed on serial, since that seems to be a common way to search it. Change-Id: I7f5e23cdc47944a9278099723ca029585fe52105
/system/core/adb/transport.cpp
|
dcd78a15d0be143d48fc93af6a9fa5748dbf9790 |
|
19-May-2015 |
Dan Albert <danalbert@google.com> |
Make connection states a proper type. Change-Id: I809f9b327c832b88dd63151bf7dcb012d88e81c4
/system/core/adb/transport.cpp
|
d99d902abdbcb86fd0f1db5d6204c02126d1e818 |
|
07-May-2015 |
Dan Albert <danalbert@google.com> |
Be tolerant of devices that don't report serials. The USB spec explicitly says this is optional, so we shouldn't be relying on it. Bug: http://b/20883914 Change-Id: Icf38405b00275199bcf51a70c47d428ae7264f2b
/system/core/adb/transport.cpp
|
9b0f354fa25e3d5add516000c761e07c81c3bbc1 |
|
05-May-2015 |
Elliott Hughes <enh@google.com> |
Simplify adb_thread_create. Change-Id: I36d6021ef8fbc23e8bcd4ddbe1dac0eba467cc70
/system/core/adb/transport.cpp
|
3bd73c12c07dcefc965abeef535ac53c4754d682 |
|
05-May-2015 |
Elliott Hughes <enh@google.com> |
Give enum types CamelCase names for clarity. Change-Id: I1c89f1cc155ee839f372fb14d972a288183b8bcd
/system/core/adb/transport.cpp
|
ab52c181fa4c1c9891644635dc5653cda5b90e2b |
|
02-May-2015 |
Elliott Hughes <enh@google.com> |
Add WriteFdFmt and clean up more code. Also say *which* device wasn't found. Bug: http://b/20666660 Change-Id: I50e234ad89e39ae0a8995083c0b642c61275c5a3
/system/core/adb/transport.cpp
|
e67f1f87d9b1188ec8617035db7006c37ee7b21e |
|
01-May-2015 |
Elliott Hughes <enh@google.com> |
More adb buffer fixes. This patch factors out a lot of the basic protocol code: sending OKAY, sending FAIL, and sending a length-prefixed string. ADB_TRACE has been non-optional for a long time, so let's just remove the #ifs. Also actually build the device tracker test tool (and remove its duplicate). Bug: http://b/20666660 Change-Id: I6c7d59f18707bdc62ca69dea45547617f9f31fc6
/system/core/adb/transport.cpp
|
6452a89aa8934231e12ab77e0d90f12c3e892ad1 |
|
29-Apr-2015 |
Elliott Hughes <enh@google.com> |
More fixed-length buffer removal. Bug: http://b/20666660 Change-Id: I0c738e9fed2defed48a9cf2d0a4f7b99c08dcf3d
/system/core/adb/transport.cpp
|
dc3b459ff9f0ff71d404ba7198083e532a0dd894 |
|
22-Apr-2015 |
Elliott Hughes <enh@google.com> |
Add missing null checks after allocations. Bug: http://b/20317729 Change-Id: I62bb761d48ee59a1f4ddd0cdd0632432305ca2ca
/system/core/adb/transport.cpp
|
0b8ecb32908f0ccde550dd510f4a562239085806 |
|
17-Apr-2015 |
Elliott Hughes <enh@google.com> |
Merge "Remove extern "C" barriers to using C++."
|
2d4121c0dcc93382bcd7ea6476f433d8254919dd |
|
17-Apr-2015 |
Elliott Hughes <enh@google.com> |
Remove extern "C" barriers to using C++. Change-Id: Ic046d6aa540738cb46b54531bc59ba3b47b0136d
/system/core/adb/transport.cpp
|
7be29c819b4fb8bf9b1d4b69a4333f8765de0281 |
|
17-Apr-2015 |
Elliott Hughes <enh@google.com> |
Show $ADB_VENDOR_KEYS if authentication fails. Incorrectly set $ADB_VENDOR_KEYS is the most likely cause of failed adb connections. Make it easier to debug such problems by including the value in use in the error message. Bug: 20165551 Change-Id: I64c1d98ae6d3fb40eea9e1f0ddcfcf4f2d9d7318
/system/core/adb/transport.cpp
|
09a45a1927415de1540ad9c94ed0052ef2eb2184 |
|
04-Apr-2015 |
Elliott Hughes <enh@google.com> |
Fix "adb devices -l". Change 055f1aa4ff58ba71133d506b202ad46612758ded switched to using isalnum(3) but didn't take into account that isalnum has the opposite sense to the function it replaced, so the tests should have been inverted. Bug: http://b/20056546 Change-Id: I90630c0bea69ddbb4a95dc09f79f49d23fd497de
/system/core/adb/transport.cpp
|
3313426fad9eaaf53017cdbde889ebcec91358ec |
|
19-Mar-2015 |
Dan Albert <danalbert@google.com> |
File header cleanup. * sysdeps.h should always be included first. * TRACE_TAG needs to be defined before anything is included. * Some files were missing copyright headers. * Save precious bytes on my SSD by removing useless whitespace. Change-Id: I88980e6e00b5be1093806cf286740d9e4a033b94
/system/core/adb/transport.cpp
|
bac3474a8256cb32a29e8d46f78cad95a5502692 |
|
26-Feb-2015 |
Dan Albert <danalbert@google.com> |
Move adb to C++. I keep trying to clean things up and needing std::strings. Might as well just do this now. usb_linux_client.c is going to stay as C because GCC isn't smart enough to deal with the designated initializers it uses (though for some reason it is in C mode). The Darwin files are staying as C because I don't have a way to test that they build. The Windows files are staying as C because while I can actually build for them, it's slow and painful. Change-Id: I75367d29205a9049d34460032b3bb36384f43941
/system/core/adb/transport.cpp
|