aboutsummaryrefslogtreecommitdiffstats
path: root/ddms
Commit message (Collapse)AuthorAgeFilesLines
* SDK: Update about box for 2012.Raphael Moll2012-05-141-1/+2
| | | | | | SDK Bug: b/6043405 Change-Id: I2c189ef30d68738de8becff874343296ad9c412b
* Allow users more control over auto monitoring logcat.Siva Velusamy2012-05-091-2/+5
| | | | | | | | | | | | | | | | | | | To help users who don't know about logcat, we automatically monitor logcat output to see if there are any errors from a user application, and if so, display the logcat view. This patch makes this feature a bit easier to use: - The first time the logcat view is about to be displayed, a dialog is shown that allows the users to enable/disable auto monitoring. Note that this can also be done via logcat preferences. - Users can now control the message priority that will trigger auto monitoring. - Once the logcat view has been displayed, we turn off auto monitoring until the next launch. This reduces overhead and avoids unnecessary change of focus in cases where the user is already interacting with the logcat view. Change-Id: I44a9ccea9148dea7bf6dc7d7864a1bb56a7376fe
* logcat: Validate regex patterns before creating filters.Siva Velusamy2012-05-042-7/+22
| | | | | | | | | | | | | | | Currently, when users create regex based filters, any error in the regex pattern is logged. When the error is logged, context switches to the Eclipse console view. As a result, users have to switch back to the logcat view and fix the error. This patch validates the text on entry and sets the text color to be red if the pattern is incorrect. There are no context switches as a result. This fixes issue: http://code.google.com/p/android/issues/detail?id=22019 Change-Id: I5b571e34c1517b0a78046b56ad83c2aa8632abdb
* logcat: Add a device disconnected message.Siva Velusamy2012-05-042-2/+12
| | | | | | | | | | When a device is disconnected, an explicit message informing the user of this event is attached to the log. See http://code.google.com/p/android/issues/detail?id=25830 for the reason why this might be useful. Change-Id: I969004cb72b877b8319a639607f82c1c9f9a8635
* Add ability to right click on a message to create filterSiva Velusamy2012-05-041-1/+52
| | | | | | | | | | | | This patch allows users to create logcat filters based on an existing message. When a message is right clicked, it brings up a menu with an entry that says "Filter similar messages..". Selecting that will bring up the "Add new filter" dialog with its input fields prefilled based on the message contents. This fixes: http://code.google.com/p/android/issues/detail?id=25835 Change-Id: If324330cbf78b503be61c31ebcff053d0f869c1e
* logcat: Remove JFace TableViewer and use SWT Table directlySiva Velusamy2012-05-039-552/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a bunch of outstanding issues related to scrolling in the presence of a full buffer. Currently, the logbuffer is provided as the input model to the TableViewer, and ViewerFilter's are used to filter the data. This patch removes the JFace toolkit and directly works on the SWT Table. When log messages arrive, rather than refreshing the entire table, we can now just delete the TableItems corresponding to the logs that were pushed out, and add new TableItems for the incoming logs. At steady state, this implementation performs far less work than the previous implementation. However, during startup, this implementation will perform more work since it does not use the SWT.VIRTUAL bit (as all TableItems are created anyway). Also, zebra striping has been removed to avoid appearance of flicker when scroll lock is on. Auto scroll lock behavior has been removed, and scroll lock button behaves exactly like the scroll lock button in an Eclipse console. Change-Id: Ic14487f7ad41338a581aed0ba2d85d292a584950
* Merge "Fixes unexpected rows are copied when LogCat paused."Siva Velusamy2012-04-202-7/+37
|\
| * Fixes unexpected rows are copied when LogCat paused.Keiji Ariyama2012-04-042-7/+37
| | | | | | | | | | | | Issue: http://code.google.com/p/android/issues/detail?id=28253 Change-Id: If7b3c2a898b30834a8e76c5aad615a41ba5ecc04
* | SDK: Fix classpath for eclipse projects.Raphael Moll2012-04-122-2/+2
| | | | | | | | | | | | | | | | | | | | swt.jar must be found relative to the out/ dir (as generated by create_all_symlinks.sh) to avoid setting a platform-specific path. swtmenubar was missing the new libs references. Change-Id: I365cfa6e011ec831c4df87cb36b0df722caac2e4
* | Get rid of the file path whitelist.Omari Stephens2012-04-111-24/+0
| | | | | | | | | | | | | | | | The whitelist doesn't seem to serve any purpose currently, but does prevent legitimate attempts to access paths that aren't in the whitelist. Bug: 6325674 Change-Id: I0fbd44bb440a2b28010a9ca5c5ebd625130de628
* | am 7312c89a: Merge "Ensure screenshots saved through DDMS end with .png."Tor Norbye2012-04-061-0/+4
|\ \ | | | | | | | | | | | | * commit '7312c89ade9495d42132ec7fdf7db8142da5fa8a': Ensure screenshots saved through DDMS end with .png.
| * | Ensure screenshots saved through DDMS end with .png.Sebastian Roth2012-04-061-0/+4
| | | | | | | | | | | | | | | | | | | | | This patch simply makes sure that the filename will have a .png extension when saving a screenshot through DDMS. Change-Id: Idb00259ac456fcaf11ee99736663fc7ddbbc505b Signed-off-by: Sebastian Roth <sebastian.roth@gmail.com>
* | | am c2d5ffe0: Merge changes I6708bd40,I72e28e21Tor Norbye2012-04-068-18/+18
|\ \ \ | |/ / | | | | | | | | | | | | * commit 'c2d5ffe0b9baa1c24a62459b82bb21df08f4250b': Add support for the WindowBuilder Property Sheet Switch libraries from Eclipse 3.4 to Eclipse 3.6.2
| * | Switch libraries from Eclipse 3.4 to Eclipse 3.6.2Tor Norbye2012-04-058-18/+18
| | | | | | | | | | | | | | | | | | This reverts commit f3d3fa912a10e20cadae813b80a66e538f77131d. Change-Id: I72e28e21db3c7f959040c1fbb9df14e4d85d0df4
* | | am c12302ae: Merge "Update classpath for eclipse project due to prebuilt move."Xavier Ducrohet2012-04-062-4/+12
|\ \ \ | |/ / | | | | | | | | | * commit 'c12302ae5385828ce385d90c49c69cad504dd98d': Update classpath for eclipse project due to prebuilt move.
| * | Update classpath for eclipse project due to prebuilt move.Xavier Ducrohet2012-04-052-4/+12
| | | | | | | | | | | | | | | | | | | | | Don't use User Libraries. It's easier to just hardcode them with a classpath variable. Change-Id: If8c1236199dd6766d48cf9b553fa2a9ee0d236e6
* | | Fix in-android-tree launch script for SWT based tools.Xavier Ducrohet2012-04-051-1/+1
|/ / | | | | | | Change-Id: If39d1d21baef72cdd2a8a0f2ced1ebbe6e02c891
* | Merge "Revert "Switch libraries from Eclipse 3.4 to Eclipse 3.6.2""Tor Norbye2012-04-036-12/+12
|\ \
| * | Revert "Switch libraries from Eclipse 3.4 to Eclipse 3.6.2"Tor Norbye2012-04-036-12/+12
| | | | | | | | | | | | This reverts commit b0c819f896b3c579633849e3fa674a30e6978dd7.
* | | Merge "Make InstrumentationResultParser#handleTestRunFailure public."Brett Chabot2012-04-031-2/+3
|\ \ \ | |/ / |/| |
| * | Make InstrumentationResultParser#handleTestRunFailure public.Brett Chabot2012-04-021-2/+3
| |/ | | | | | | | | | | Done to allow reuse. Change-Id: I7a0651bb66e51997b08af7f46b8db4da7c9a0fbf
* | Switch libraries from Eclipse 3.4 to Eclipse 3.6.2Tor Norbye2012-04-026-12/+12
|/ | | | | | | | | | | This updates the org.eclipse.core.command, org.eclipse.jface and org.eclipse.equinox libraries from Eclipse 3.4 to Eclipse 3.6.2. It also updates SWT from 3.4 to 3.6.2 (and this drops the Carbon support from the SwtMenuBar library since SWT 3.5 switched to Cocoa by default.) Change-Id: I7e8a6e3b8cb473f90eca3b90e3f3dc5fa5099b71
* logcat: support new format for "logcat -v long"Siva Velusamy2012-03-064-19/+42
| | | | | | | | The thread id's output in "logcat -v long" used to be encoded in hex, but not anymore. This fixes the logcat parser to accomodate both the old and the new formats. Change-Id: I0871a68f2f82c5e4660c404ec8970063d7b68a88
* Usec a shorter timeout for Device#getPropertySync.Brett Chabot2012-02-271-1/+2
| | | | Change-Id: Ica768daddb71664edc32e65cca6a42beff19ff1d
* ddms: fix deadlockSiva Velusamy2012-02-062-48/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A deadlock can occur between: - a thread calling handleChunk() resulting in Device.getClients() - a thread calling processIncomingJDWPData() resulting in dropClient() For a full trace resulting in deadlock, see attachments in bug 24926. This patch fixes the deadlock by moving the entire synchronization into MonitorThread. Originally, processIncomingJdwpData, performs locking as follows: synchronized(monitorThread) { synchronized(device.getClientList() { synchronized(monitorThread.mClientList) { synchronized(device.getClientList() { This patch changes the structure of locking to look like: synchronized(device.getClientList()) { } synchronized(monitorThread) { synchronized(monitorThread.mClientList) { synchronized(device.getClientList() { As a result, device.getClientList() is always locked *after* monitorThread.mClientList. This matches the order of locking performed with handleChunk(), and should solve this deadlock scenario. Change-Id: Ie7a9efa897568af4450f0e23b2175ee66e127d7d
* logcat: Fix deadlockSiva Velusamy2012-02-061-3/+29
| | | | | | | | | | | | | | | | | | | | | | LogCatReceiverFactory has a deadlock scenario that occurs like this: 1. When a device is disconnected, removeReceiverFor() is called from a DDMS device monitor thread. This thread holds certain DDMS internal locks. removeReceiverFor() is synchronized on LogCatReceiverFactory. So we have: DDMS thread - holds device lock removeReceiverFor - waiting to obtain lock for "this" object. 2. At the same time, a separate thread could call newReceiver. As part of creating a new receiver, we add a device change listener. So we have: newReceiver - holds "this" object. create device change listener - waiting for device lock. As a result, the system deadlocks. This patch fixes this condition by calling the removeReceiverFor from a non DDMS thread since we don't really care about DDMS locks here. Change-Id: Ic4ef4589acdcd7980864da23cde760debc4cfbb8
* Merge "Pause network panel by default, handle devices."Jeff Sharkey2012-02-011-65/+120
|\
| * Pause network panel by default, handle devices.Jeff Sharkey2012-02-011-65/+120
| | | | | | | | | | | | | | | | | | Always start with network panel paused, letting user control start and stop explicitly. Also pause when client is changed. Handle devices without xt_qtaguid module by showing error dialog. Change-Id: I4f6c81d8c52729c155b7f4a477bcec1857681da8
* | Merge "Show detailed network statistics from xt_qtaguid."Jeff Sharkey2012-02-012-3/+1061
|\ \ | |/
| * Show detailed network statistics from xt_qtaguid.Jeff Sharkey2012-02-012-3/+1061
| | | | | | | | | | | | | | | | | | | | | | | | | | New panel that shows live network statistics by reading xt_qtaguid proc file across adb. Shows all tags for selected UID on a chart with 30 seconds of history. Each tag is presented as unique series, with the overall usage in grey. Table below the chart shows running totals of known tags. Includes options to pause, reset, and change polling frequency. Bug: 5194997 Change-Id: I72d43ab51aaf93ecfd6d45fcd452c7230cdee5b7
* | ddms: Allow port forwarding to Unix Domain SocketsSiva Velusamy2012-01-313-14/+102
|/ | | | | | | | | adb allows forwarding to not just TCP ports, but also Unix Domain Sockets (UDS) addressed by an abstract name or file system path. This patch enables support for port forwarding to UDS in the IDevice interface. Change-Id: I23fa667b24a2b469acc04cef26304f19179dc483
* Improved ADB logging on failure to help pinpoint issuesTor Norbye2012-01-121-5/+18
| | | | Change-Id: Ic0bee3baf2c766b9c859ad6d93505bd1cfce0776
* Fix locale handling of uppercase/lowercaseTor Norbye2012-01-065-56/+66
| | | | | | | | | | | | | | | | | This changeset fixes issue 23747: i and İ character problem in turkish operating Systems... and probably many other bugs in the Turkish locale. Basically, we had a lot of String.toLowerCase() and String.toUpperCase() calls. This performs locale sensitive conversions, which in many cases is NOT what we want; for "machine readable" conversions we should be using Locale.US which performs no special cases. For more, see http://developer.android.com/reference/java/util/Locale.html#default_locale Change-Id: I996b0e70fb377e8dae484c5811deb8bc9afb684c
* Add @NonNull annotation and configure Eclipse settingsTor Norbye2011-12-223-3/+39
| | | | | | | | | | | | | | This changeset adds a new @NonNull annotation, to match our existing @Nullable annotation, and it adds configuration settings for Eclipse 3.8 / Eclipse 4.2 which configures the new null analysis there to use our own annotations. Note that the annotations only have source retention so there is no extra size or class-loading overhead. (To use findbugs you'll need to temporarily change retention to class-level.) In upcoming CL's I'll use these annotations to clarify the Lint API and other APIs. Change-Id: I99096d8b8a7e25ef002624d592da7700195a5872
* Update SDK codebase to JDK 6Tor Norbye2011-12-2172-154/+607
| | | | | | | | | | | | | | | | | | | | | This changeset makes the SDK codebase compile with source=1.6 (which means it also requires JDK 6). This means that methods implementing an interface requires @Override's. It also means we can start using APIs like the ArrayDeque class and methods like String#isEmpty(). This changeset looks big but the change is trivial: it's basically adding @Override in all the places that need it, along with some other automatic Eclipse cleanup in certain files (such as reordering imports where they were incorrectly ordered (because older versions of Eclipse didn't always handle inner classes right)), as well as cleaning up trailing whitespace and removing some $NON-NLS-1$ markers on lines where there aren't any string literals anymore. This changeset also sets the source and target JDK level to 6 in the Eclipse compiler .settings file, and synchronizes this file to all the other Eclipse SDK projects. Change-Id: I6a9585aa44c3dee9a5c00739ab22fbdbcb9f8275
* ddms: display manufacturer & model for devices.Siva Velusamy2011-12-201-1/+51
| | | | | | | | DDMS displays only the serial number for connected devices. This patch appends the manufacturer & model name to the serial number. Change-Id: I90400365fe984b0b0a198e3c21aaf25eb05aa930
* logcat: Improve auto scroll lock behaviorSiva Velusamy2011-12-143-46/+79
| | | | | | | | | | | | | | | | Setting up scroll lock automatically is broken due to the highly platform dependent nature of the scroll bar events. This patch improves the current situation significantly, but may not be the last word on this subject. This patch does the following: 1. Sets up auto scroll lock on Windows and Linux. 2. Removes auto scroll locking on Mac. Users have to manually press the Pause Logcat button. 3. Renames the "Scroll to latest" button to "Pause Logcat" to more accurately reflect what is happening. Change-Id: I1ce03371d7ac7aeaea218aa3c5c426c69c56a527
* Merge "Use a custom timeout for IDevice.getBatteryLevel."Brett Chabot2011-12-131-1/+2
|\
| * Use a custom timeout for IDevice.getBatteryLevel.Brett Chabot2011-12-091-1/+2
| | | | | | | | | | | | Bug 5697543 Change-Id: I6ce33dd2c8416f5ccfb55b26120edb6a0acf5ad7
* | logcat: when copying items, index into filtered list.Siva Velusamy2011-12-131-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit introduced a bug: The SWT table model is a list of logcat messages before any filters are applied. But the user sees the filtered messages. So when user selects items in the table, the selection index will not match the index in the input model. This patch applies all current filters to the input model and then indexes this filtered list to get the same items that the user has selected in the view. Change-Id: If955bd5c22e1c587bcf5fe32092f513d53c0d8ef
* | logcat: fix npe & clear log in filtered viewSiva Velusamy2011-12-121-2/+17
|/ | | | | | | | | | | | | 1. Fix NPE when selecting all items: Issue is that in case of a table with SWT.VIRTUAL, tableItem.getData() could return NULL if the item hasn't been shown. So we have to rely on the original model to retrieve the items. 2. When viewing items after applying a filter, clear log will clear the full log but not the filtered view. To clear the filtered view, the SWT ViewerFilters have to be reapplied. Change-Id: I6c66be4e0e8abb6db114588f382bcd3b9fe8ee0f
* logcat: bring up edit filter dialog on double clickSiva Velusamy2011-11-281-0/+5
| | | | | | | When a saved filter is double clicked, bring up the 'Edit Filter' dialog for the selected filter. Change-Id: Idd6766ba95e0d2f228c664ffccf8dbfb5b93b0b8
* logcat: fix tooltip shift distanceSiva Velusamy2011-11-281-0/+11
| | | | | | | Fix for http://code.google.com/p/android/issues/detail?id=22111 which is OS X Lion specific. This fix hasn't actually been tested on OS X Lion! Change-Id: Ifb4397e1482ebacc84cd90e83bb6837b883fbd08
* Merge "Add IDevice.getBatteryLevel()"Brett Chabot2011-11-092-0/+97
|\
| * Add IDevice.getBatteryLevel()Brett Chabot2011-11-042-0/+97
| | | | | | | | Change-Id: I1db67422e2f39206383a3bd760769b2ebbf46ed6
* | Merge "nativeheap: Do not clean up display if a client is killed."Siva Velusamy2011-11-061-17/+21
|\ \ | |/ |/|
| * nativeheap: Do not clean up display if a client is killed.Siva Velusamy2011-11-061-17/+21
| | | | | | | | | | | | | | | | | | Fix for Issue #21554. When a client process dies, the native heap view is immediately cleared. This makes it impossible to view the native heap snapshots for processes that are being killed due to OOM errors. Change-Id: I3b6c868832c6b48e591d31d1643db20887ff8c13
* | Merge "fix for leaky fd, amke sure we close syncservice."Tsu Chiang Chuang2011-11-031-3/+18
|\ \ | |/ |/|
| * fix for leaky fd, amke sure we close syncservice.Tsu Chiang Chuang2011-11-031-3/+18
| | | | | | | | Change-Id: Id639890c3e962dd5993281a0cdd911031aaf7304
* | ddms-heap: Show atleast 1 row.Siva Velusamy2011-11-021-45/+57
| | | | | | | | | | | | | | | | One some platforms, the table doesn't show any rows at all, and there is no way to resize the table. This patch makes sure that there is one row that is always displayed. Change-Id: Ib93839c610926a7f8629436d26bb7ad9485431af