23 Commits

Author SHA1 Message Date
Felipe Leme
45a905bbaf Show a toast when details cannot be added to zip file.
BUG: 28291423
Change-Id: I7febf66ef23f38b41fb1909324ee2260444518f6
2016-04-22 15:23:27 -07:00
TreeHugger Robot
7fd1cbd49d Merge "Revert warning logic so it has a "don't show again" message." into nyc-dev 2016-04-13 17:56:34 +00:00
Felipe Leme
fcca68dfb1 Revert warning logic so it has a "don't show again" message.
BUG: 28140003

Change-Id: I93e7b1494a0f4c5ca080fbe9dd94dc2168092ffa
2016-04-13 09:36:24 -07:00
Felipe Leme
a43d139359 Removed redundant notification title.
When a bugreport is finished with a pending notification, it already
display a subtext explaining the situation - not only the extra title is
redundant, but it's too large.

BUG: 27583025
Change-Id: I8d8171faf7b8b86b34f6d860555839918be10550
2016-04-12 17:28:06 -07:00
Felipe Leme
5ee846dd18 Warn user when bugreport is finished but screenshot is pending.
BUG: 27524556
Change-Id: Iaecdd01605dc4b01cdf669baf443eaee7fb20f6f
2016-03-09 10:41:32 -08:00
Felipe Leme
bbd91e5844 Make bugreport details dialog confirm to Material Guidelines for Dialogs.
Changes:
- Removed hints.
- Added TextViews for field labels.
- Added padding for inner dialog
- Adedd autoCorrect and capSentences to title and summary
- Changed strings.
- Set name to be selectAllOnFocus initially.

Also improved some logging statements.

BUG: 26324085
Change-Id: I32597a7c2839ca706dbbcf13660e976469ab8dd0
2016-02-29 16:46:54 -08:00
Felipe Leme
000b84451d Merge "Add pid on main bugreport notifications." into nyc-dev 2016-02-08 23:25:39 +00:00
Felipe Leme
8067aed5c7 Replaced 'touch' by 'tap'.
BUG: 26884266
Change-Id: Ic3d7be8a10b768101b161644e46c92cd872621db
2016-02-08 09:42:52 -08:00
Felipe Leme
e86b63bd17 Add pid on main bugreport notifications.
Showing the pid is useful in many cases, like when one bug report is finished
and another one is in progress.

BUG: 26906985
Change-Id: Ib8ae462c85246b99234f8dac63edb608d1eafeb0
2016-02-08 09:40:56 -08:00
Felipe Leme
beda539051 Merge "Updates notification while bugreport zip is being changed." 2016-01-22 19:46:38 +00:00
Felipe Leme
2758d5d939 Updates notification while bugreport zip is being changed.
BUG: 26616935

Change-Id: I3bcbaf30621c23541f2c568355948b6faa578e06
2016-01-20 10:12:03 -08:00
Felipe Leme
da163bf56e Updated bugreport info strings to be consistent with its meaning.
Also removed DO NOT TRANSLATE from new bugreport strings whose phrasing
have been confirmed.

Change-Id: Ic0eafb6c007acd63f1d11f7a5043259533189df0
2016-01-19 17:41:44 -08:00
Felipe Leme
d1e0f12979 Handle bugreport screenshots on Shell.
Currently, the bugreport screenshots are taken by dumpstate and passed to
Shell as a path on BUGREPORT_RECEIVED; this change not only delegates the
screenshot taking to Shell, but also allows user to take more
screenshots while the bugreport is being generated.

As a result of this change, the final ACTION_SEND_MULTIPLE intent might
contain multiple screenshot attachments, all of them named
"screenshot-PREFIX-NUMBER.png", where PREFIX is the bugreport
name (either initial date provided by dumpstate or a name entered by the
user) and NUMBER is the sequential number of the screenshot as taken by
the user.

The screenshot is taken using screencap, which not only is simpler than
using Framework APIs, but also faster and less intrusive. The only
drawback is that it might fail if an OEM is not providing screencap; if
that happens in the field, we'll need to add fallback option to do it
using such APIs.

Prior to this change, all work done on BugreportProgressService was
executed in one single thread (through the ServiceHandler class) but the
code was guarded by unnecessary synchronization. Now there is another
thread (ScreenshotHandler) that will be used just for taking the
screenshot (so it doesn't handle the main thread). Despite the addition
of a new thread, the code was simplified to remove most synchronization
locks, excepted for the areas touched by both threads.

Once this change is submitted, the bugreport service will be changed so
it does not ask dumpstate to take a screenshot.

BUG: 26274653
Change-Id: I1df883e3c0ca6e3e3cad2522a6a99585f71abb75
2015-12-21 08:53:00 -08:00
Felipe Leme
bc73ffc06f Allows users to add details about a bugreport in progress.
The "bugreport in progress" notification now have a "DETAILS" button
that when clicked opens a dialog window displaying the following fields:

  - Name: short name for the bugreport, will be used as part of the
    final files (and by default is the timestamp sent by dumpstate)
  - Title: a 1-line title for the bugreport, will be used as the subject
    in the final message.
  - Description: a detailed description for the bug.

The main advantage of such dialog is that it allows users to enter more
info about a bugreport while it's being generated, rather then when the
bugreport is finished (since of the user doesn't remember what the
context was when the problem happened).

BUG: 25794470
BUG: 10676443
Change-Id: I0d1dba2a94ad989e541415a2a59475619a2e3d13
2015-12-16 11:36:04 -08:00
Felipe Leme
5662dd8379 Merge "Refactoring: pulled ServiceHandler methods to its parent class." 2015-12-04 22:14:05 +00:00
Felipe Leme
923afa9fe1 Refactoring: pulled ServiceHandler methods to its parent class.
Now ServiceHandler only have 2 methods:

- handleMessage(): part of its interface.
- poll(): delegates work to parent, but sends a delayed message
  so it keeps polling.

Also changed hardcoded "N/A" to a resource.

BUG: 25794470
Change-Id: I486fff46c1532685bfd6f5903349d14e55059219
2015-12-04 14:05:17 -08:00
Felipe Leme
d57dc996f5 Improved phrasing for "in progress" message.
BUG: 25948539
Change-Id: Ie746a12207da337ec26e85dfbbd4188aa751c20d
2015-12-03 17:42:31 -08:00
Felipe Leme
69c0292aff Created a new bug report workflow so user can keep track of its progress.
The old workflow was:

1. dumpstate starts.
2. When dumpstate finishes, it sends a BUGREPORT_FINISHED intent.
3. Shell's BugreportReceiver receives the BUGREPORT_FINISHED and issues a
   system notification so user can share the bug report.

The new workflow is:

1. When dumpstate starts, it sends a BUGREPORT_STARTED with its pid and
   the estimated total effort.
2. When Shell's BugreportReceiver receives the BUGREPORT_STARTED, it:
  2.1 Issues a system notification so user can watch the
      progresss (which is 0% initially).
  2.2 Starts a service (BugreportProgressService) responsible for
      polling the dumpstate progress (using system properties and the
      pid) and updating the system notification.
3. As dumpstate progress, it updates the proper system property.
4. When dumpstate finishes, it sends a BUGREPORT_FINISHED event.
5. When Shell's BugreportReceiver receives the BUGREPORT_FINISHED, it:
  5.1 Finishes the service if necessary.
  5.2 Issues a system notification so user can share the bug report.

This CL handles the Shell changes only, the dumpstate changes will be
changed in a separate CL.

BUG: 25794470
Change-Id: Icbd0b42dd48e8db376b60544348b6818c6374338
2015-11-25 16:50:35 -08:00
Felipe Leme
3bf521a32e Improves how cornercase scenarios are handled:
- Bug reports without screenshots are supported.
- Shows a toast message when the bugreport file cannot be read.

BUG: 25751868
Change-Id: I4ed2c47a89b373cf878720ebcba90c96bd51342b
2015-11-18 10:46:54 -08:00
Ryo Hashimoto
dd98034edc Add BugreportStorageProvider
BugreportStorageProvider provides storage backend for bugreports.

BUG:18070208
Change-Id: I8506dd90d69907090295d99df7427fc747b83698
2015-03-23 18:28:01 +09:00
Wei Liu
9d43fa8405 Update the string for take bug report to say "Swipe left to share" instead of "Touch to share"
BUG: 15589908

Change-Id: I69e176343906c8f87b8f50ba844b15e3e89f0c48
2014-07-11 23:11:04 +00:00
Jeff Sharkey
02ffba940c Handle finished bugreports, share from private.
Show notification when a bugreport is finished, letting the user
launch a SEND_MULTIPLE intent to share them.  Add dialog that warns
user about contents before sharing.  Since bugreports are now stored
in private app data of the Shell app, use FileProvider to build Uris
that we can grant others access to.

Define BUGREPORT_FINISHED as being a protected broadcast.  Delete
older bugreports automatically to reclaim disk space.  Migrate any
Intent extras to ClipData when building PendingIntents.

Add --receiver-permission support to am shell command.

Bug: 7005318
Change-Id: If6c607dbcf137362d5887eac482ff7391563890f
2013-03-13 16:42:38 -07:00
Dianne Hackborn
514074fae8 App ops: cleanup, handle root and shell, perms.
Rework how the shell user is defined so that it is
associated with an actual apk, instead of being a free
roaming uid with special permissions assigned to it.
This allows us to correctly account for its operations
in app ops.

Implement a special case for the root user in app ops --
it is always allowed, always with the package name "root".

Add various code to take care of cleaning up package state
from app ops -- when packages are uninstalled, and during
boot if any packages currently being stored no longer exist.

Also fix a bug in the activity manager to correctly grant
permissions in all cases when onNewIntent() is being called.

Change-Id: Iae9f6d793ee48b93518c984ad957e46ae4582581
2013-02-11 15:33:48 -08:00