606 Commits

Author SHA1 Message Date
Matthew Xie
9e0a566839 am 23b046c4: Merge "Initial version of BLE support for Bluedroid" into jb-mr2-dev
* commit '23b046c4af6672d96a4ef7bb27fb444e40f0bd5d':
  Initial version of BLE support for Bluedroid
2013-02-28 22:38:38 +00:00
Ganesh Ganapathi Batta
9908112fd0 Initial version of BLE support for Bluedroid
The API classes are hidden for now. Will unhide after API console
approval.
Change-Id: I8283dd562fd6189fdd15c866ef2efb8bbdbc4109
2013-02-27 18:08:14 -08:00
Jim Miller
5ecd81154f Move keyguard to its own process.
This is in preparation to moving keyguard into its own process.

Moved keyguard source and resources into new .apk.

Got basic test app working.  Still need to implement MockPatternUtils
and means to pass it into KeyguardService with local binder interface.

Added new ACCESS_KEYGUARD_SECURE_STORAGE permission.

Temporarily disabled USER_PRESENT broadcast.

Remove unintentional whitespace changes in PhoneWindowManager, etc.

Checkpoint basic working version.

Move to systemui process.

Synchronize with TOT.

Sync with recent user API changes.

Fix bug with returing interface instead of stub for IKeyguardResult.  Create KeyguardServiceDelegate to allow
for runtime-selectable local or remote interface.

More keyguard crash robustness.

Keyguard crash recovery working.  Currently fails safe (locked).

Fix selector view which was still using frameworks resources.

Remove more references to internal framework variables.  Use aliases for those we should move but
currently have dependencies.

Allow runtime switching between service and local mode.

Fix layout issue on tablets where orientation was reading the incorrect constant
from the framework.  Remove more framework dependencies.

Fix PIN keyboard input.

Remove unnecessary copy of orientation attrs.

Remove unused user selector widget and attempt to get multi user working again.

Fix multi-user avatar icon by grabbing it from UserManager rather than directly since
keyguard can no longer read it.

Merge with AppWidget userId changes in master.

Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
2013-02-27 17:27:53 -08:00
Daniel Sandler
09a247e9a8 New INotificationListener interface.
Use with INotificationManager.registerListener(). Limited to
system only right now.

Change-Id: I65b6a8778267022cdc5e58eb75ae607a54b1cc52
2013-02-19 15:26:37 -05:00
Ying Wang
4c818473d4 Remove the unnecessary framework-res-package-target
Now the dependency should be correctly established by
framework_docs_LOCAL_JAVA_LIBRARIES.

Change-Id: I4c0ed2d3fb2855539027c7a0eb663f5747ae3ebd
2013-02-12 17:18:44 -08:00
Robert Ly
16e8c1ed1b Revert "makefile changes for gcm javadocs"
This reverts commit 5f9922d7c3bce158e4c7a58929d4075e7c91e32e

Change-Id: I310f27b231c6d64d6d407ae451b189a6ecf6b34f
2013-02-12 14:00:39 -08:00
Robert Ly
6b2c7600e9 am e47033f9: am 4d9aa17a: am 87db373a: am 2328a779: am 9eb66b2d: Merge "Revert "makefile changes for gcm javadocs"" into jb-mr1-dev
# Via Android Git Automerger (4) and Android (Google) Code Review (2)
* commit 'e47033f9294056ab54c63608ab0a46de995fae63':
  Revert "makefile changes for gcm javadocs"
2013-02-12 13:58:44 -08:00
Robert Ly
2328a77980 am 9eb66b2d: Merge "Revert "makefile changes for gcm javadocs"" into jb-mr1-dev
# Via Android (Google) Code Review
* commit '9eb66b2db4724da7a2d6575fee29840004f1a5df':
  Revert "makefile changes for gcm javadocs"
2013-02-12 13:49:44 -08:00
Robert Ly
d3b50de375 Revert "makefile changes for gcm javadocs"
This reverts commit 5f9922d7c3bce158e4c7a58929d4075e7c91e32e

Change-Id: I310f27b231c6d64d6d407ae451b189a6ecf6b34f
2013-02-12 21:39:28 +00:00
Robert Ly
590aaea06d resolved conflicts for merge of 6db87978 to master
Change-Id: If439f5730e32fb2044a1e464fab0f6afb6bf1d08
2013-02-12 10:55:43 -08:00
Robert Ly
a95a64ddd6 am dc8ee206: Merge "Revert "makefile changes for s.a.c"" into jb-mr1-dev
# Via Android (Google) Code Review
* commit 'dc8ee2066a45adc6a57157c550e65317c8650ca0':
  Revert "makefile changes for s.a.c"
2013-02-12 10:41:20 -08:00
Robert Ly
343a89c2cd Revert "makefile changes for s.a.c"
This reverts commit 4c01047ec7b06aabeeae273c7871caa6c3029b84

Change-Id: I4465cfa678717ff7c202347ae6ad36d12d5393bc
2013-02-12 18:29:10 +00:00
Robert Ly
f065d0f024 remove sac make target to fix build
Change-Id: I44c51e12225cd0b1d82bfb70129fefa8ba66e8b4
2013-02-11 20:58:43 -08:00
Robert Ly
e68cb0acd4 am a578ade2: am 1c4311cc: am 4af36f4e: am 96b1b403: am 4c01047e: makefile changes for s.a.c
# Via Android Git Automerger (4) and Robert Ly (1)
* commit 'a578ade219c07a04f7e8374939734de6ca7cc478':
  makefile changes for s.a.c
2013-02-11 18:14:45 -08:00
Robert Ly
96b1b403b6 am 4c01047e: makefile changes for s.a.c
# Via Robert Ly
* commit '4c01047ec7b06aabeeae273c7871caa6c3029b84':
  makefile changes for s.a.c
2013-02-11 14:10:00 -08:00
Robert Ly
4c01047ec7 makefile changes for s.a.c
Change-Id: I501cc140994b2822c3df1f00639076f17765f256
2013-02-11 13:38:31 -08:00
Robert Ly
48e9219e6b am 74e8693d: am ddc0a7bd: am 11fa4460: am 9da9a7cd: am e60b6023: Merge "makefile changes for gcm javadocs" into jb-mr1-dev
# Via Android Git Automerger (4) and others
* commit '74e8693d310d75e98c5cf62340612d474f6f197b':
  makefile changes for gcm javadocs
2013-02-07 18:03:20 -08:00
Robert Ly
9da9a7cda2 am e60b6023: Merge "makefile changes for gcm javadocs" into jb-mr1-dev
# Via Android (Google) Code Review (1) and Robert Ly (1)
* commit 'e60b6023ae4fdea932d0effc553dddc38117d235':
  makefile changes for gcm javadocs
2013-02-07 17:53:29 -08:00
Wink Saville
17cccb8ccb Merge "Move a few files from frameworks/opt/telephony to frameworks/base." 2013-02-08 01:06:10 +00:00
Wink Saville
5a72553ef9 Move a few files from frameworks/opt/telephony to frameworks/base.
Because ISms.aidl imports PendingIntent we couldn't easily
make opt/telephony part of the PDK. So this change moves
ISms.aidl and SmsRawData.*, which ISms.aidl also imports,
back to frameworks/base.

Change-Id: Ia64c6e771d5a292d9bfebb413a43f3745df55c85
2013-02-07 17:03:05 -08:00
Robert Ly
5f9922d7c3 makefile changes for gcm javadocs
Change-Id: I5653eb710f13f0a097cb1cf447469c4da7342fe2
2013-02-07 11:08:44 -08:00
Dianne Hackborn
c2293025a2 App ops: track system windows, monitoring changes.
Change-Id: I273e82bdad66ada3bf0f7ec9176bc304b9ee1ee8
2013-02-06 23:59:56 -08:00
Dirk Dougherty
feda56f2fb am 25f97435: am 5fca0efa: am 6cb87b08: am 65fd9811: am 2aa47b33: Merge "Doc change: remove htmlified samples from docs build for now. Samples are still downloadable thorugh SDK Manager." into jb-mr1-dev
# Via Android Git Automerger (4) and others
* commit '25f97435302d8468afeb4ade9f00d5243b393082':
  Doc change: remove htmlified samples from docs build for now. Samples are still downloadable thorugh SDK Manager.
2013-02-04 13:17:32 -08:00
Scott Main
d8a6100208 am 9dbf2479: am 960deffd: am 78bf7c9c: am 1e7e1104: am 4b7161cb: docs: switch devsite doc build to use templates-sdk
# Via Android Git Automerger (4) and Scott Main (1)
* commit '9dbf24797b82f4c70a75051050f32e53d1c35fe6':
  docs: switch devsite doc build to use templates-sdk
2013-02-04 13:17:21 -08:00
Scott Main
4dfff52036 am 0dd75034: am d4f5ce03: am 6dfb4d0a: am 5c37151c: am e75cd4bf: docs: add hdf bool for deviste, used to change aspects of the templates
# Via Android Git Automerger (4) and Scott Main (1)
* commit '0dd750349004579ca3356a155eb8a86994a45df2':
  docs: add hdf bool for deviste, used to change aspects of the templates
2013-02-04 13:17:16 -08:00
Dirk Dougherty
3256aeed5f am 61101eee: am e27f64b0: am 1417357e: am f8a9c509: am 7b32d32b: Merge "Add build rule for ds (devsite) online docs." into jb-mr1-dev
# Via Android Git Automerger (4) and others
* commit '61101eee367be6f3bae5974b05c4c3ae912bddaa':
  Add build rule for ds (devsite) online docs.
2013-02-04 13:17:08 -08:00
Dirk Dougherty
65fd9811d3 am 2aa47b33: Merge "Doc change: remove htmlified samples from docs build for now. Samples are still downloadable thorugh SDK Manager." into jb-mr1-dev
# Via Android (Google) Code Review (1) and Dirk Dougherty (1)
* commit '2aa47b336227a5d2bd1ee91f8fb4bd84be7e97f0':
  Doc change: remove htmlified samples from docs build for now. Samples are still downloadable thorugh SDK Manager.
2013-02-01 13:28:08 -08:00
Scott Main
1e7e1104c4 am 4b7161cb: docs: switch devsite doc build to use templates-sdk
# Via Scott Main
* commit '4b7161cbd44f64537d2c661e87868ea2689dd126':
  docs: switch devsite doc build to use templates-sdk
2013-02-01 13:28:01 -08:00
Scott Main
5c37151cb0 am e75cd4bf: docs: add hdf bool for deviste, used to change aspects of the templates
# Via Scott Main
* commit 'e75cd4bfd176fbb1483ec5e17edfbd993adce40f':
  docs: add hdf bool for deviste, used to change aspects of the templates
2013-02-01 13:27:57 -08:00
Dirk Dougherty
f8a9c5090c am 7b32d32b: Merge "Add build rule for ds (devsite) online docs." into jb-mr1-dev
# Via Android (Google) Code Review (1) and Dirk Dougherty (1)
* commit '7b32d32bd38b423dd141e7ead89205b9b7929497':
  Add build rule for ds (devsite) online docs.
2013-02-01 13:27:48 -08:00
Dirk Dougherty
2aa47b3362 Merge "Doc change: remove htmlified samples from docs build for now. Samples are still downloadable thorugh SDK Manager." into jb-mr1-dev 2013-01-29 23:40:01 +00:00
Dirk Dougherty
9cab5c0116 Doc change: remove htmlified samples from docs build for now. Samples are still downloadable thorugh SDK Manager.
Change-Id: I9cfa53e605f476daf6cf914f256df600e1d77f89
2013-01-29 15:21:20 -08:00
Scott Main
4b7161cbd4 docs: switch devsite doc build to use templates-sdk
Change-Id: I933cbafa0712de47b4bcf72d2a7c4f99bf18f930
2013-01-29 14:20:13 -08:00
Scott Main
e75cd4bfd1 docs: add hdf bool for deviste, used to change aspects of the templates
Change-Id: I6ad24252f10211a88d1f98e356bc9da97442f91c
2013-01-29 08:29:40 -08:00
Svetoslav Ganov
d0fd54648c Merge "Adding UI test automation APIs." 2013-01-29 03:16:40 +00:00
Dirk Dougherty
289ad99c17 Add build rule for ds (devsite) online docs.
Change-Id: I4f1d099995402613f58401a506ba272abfb563ba
2013-01-28 15:43:49 -08:00
Wink Saville
cbb2a2a207 Delete frameworks/base/voip use voip-common from frameworks/opt/net/voip
Change-Id: Ieaba759a0f69b45c4b8839cbed1fe757cdf190c5
2013-01-28 15:27:47 -08:00
Svetoslav Ganov
80943d8daa Adding UI test automation APIs.
This change adds APIs support for implementing UI tests. Such tests do
not rely on internal application structure and can span across application
boundaries. UI automation APIs are encapsulated in the UiAutomation object
that is provided by an Instrumentation object. It is initialized by the
system and can be used for both introspecting the screen and performing
interactions simulating a user. UI test are normal instrumentation tests
and are executed on the device.

UiAutomation uses the accessibility APIs to introspect the screen and
a special delegate object to perform privileged operations such as
injecting input events. Since instrumentation tests are invoked by a shell
command, the shell program launching the tests creates a delegate object and
passes it as an argument to started instrumentation. This delegate
allows the APK that runs the tests to access some privileged operations
protected by a signature level permissions which are explicitly granted
to the shell user.

The UiAutomation object also supports running tests in the legacy way
where the tests are run as a Java shell program. This enables existing
UiAutomator tests to keep working while the new ones should be implemented
using the new APIs. The UiAutomation object exposes lower level APIs which
allow simulation of arbitrary user interactions and writing complete UI test
cases. Clients, such as UiAutomator, are encouraged to implement higher-
level APIs which minimize development effort and can be used as a helper
library by the test developer.

The benefit of this change is decoupling UiAutomator from the system
since the former was calling hidden APIs which required that it is
bundled in the system image. This prevented UiAutomator from being
evolved separately from the system. Also UiAutomator was creating
additional API surface in the system image. Another benefit of the new
design is that now test cases have access to a context and can use
public platform APIs in addition to the UiAutomator ones. Further,
third-parties can develop their own higher level test APIs on top
of the lower level ones exposes by UiAutomation.

bug:8028258

Also this change adds the fully qualified resource name of the view's
id in the emitted AccessibilityNodeInfo if a special flag is set while
configuring the accessibility service. Also added is API for looking
up node infos by this id. The id resource name is relatively more stable
compared to the generaed id number which may change from one build to
another. This API facilitate reuing the already defined ids for UI
automation.

bug:7678973

Change-Id: I589ad14790320dec8a33095953926c2a2dd0228b
2013-01-22 17:56:53 -08:00
Sasha Levitskiy
ca6486e7f5 Removed Throttle Manager as obsolete
Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
2013-01-14 16:59:33 -08:00
Dianne Hackborn
a06de0f29b New "app ops" service.
Initial implementation, tracking use of the vibrator, GPS,
and location reports.

Also includes an update to battery stats to also keep track of
vibrator usage (since I had to be in the vibrator code anyway
to instrument it).

The service itself is only half-done.  Currently no API to
retrieve the data (which once there will allow us to show you
which apps are currently causing the GPS to run and who has
recently accessed your location), it doesn't persist its data
like it should, and no way to tell it to reject app requests
for various operations.

But hey, it's a start!

Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
2013-01-09 12:47:47 -08:00
Svetoslav Ganov
545252f4fd Refactoring of the screen magnification feature.
1. This patch takes care of the case where a magnified window is covering an unmagnigied
   one. One example is a dialog that covers the IME window.

bug:7634430

2. Ensuring that the UI automator tool can connect and correctly dump the screen.

bug:7694696

3. Removed the partial implementation for multi display magnification. It adds
   unnecessary complexity since it cannot be implemented without support for
   input from multiple screens. We will revisit when necessary.

4. Moved the magnified border window as a surface in the window manager.

5. Moved the mediator APIs on the window manager and the policy methods on the
   WindowManagerPolicy.

6. Implemented batch event processing for the accessibility input filter.

Change-Id: I4ebf68b94fb07201e124794f69611ece388ec116
2012-12-14 16:27:27 -08:00
Ying Wang
f74f0deb29 Move numeric api files from frameworks/base to prebuilts/sdk
So they can be used in unbundled builds.

Bug: 7296240

Change-Id: Ib0ba88387cb45ff795a4e8e3a836cf670d5016b7
2012-12-04 15:12:49 -08:00
Svetoslav Ganov
152e9bb81a Refactoring of the screen magnification feature.
1. The screen magnification feature was implemented entirely as a part of the accessibility
   manager. To achieve that the window manager had to implement a bunch of hooks for an
   external client to observe its internal state. This was problematic since it dilutes
   the window manager interface and allows code that is deeply coupled with the window
   manager to reside outside of it. Also the observer callbacks were IPCs which cannot
   be called with the window manager's lock held. To avoid that the window manager had
   to post messages requesting notification of interested parties which makes the code
   consuming the callbacks to run asynchronously of the window manager. This causes timing
   issues and adds unnecessary complexity.

   Now the magnification logic is split in two halves. The first half that is responsible
   to track the magnified portion of the screen and serve as a policy which windows can be
   magnified and it is a part of the window manager. This part exposes higher level APIs
   allowing interested parties with the right permissions to control the magnification
   of a given display. The APIs also allow a client to be registered for callbacks on
   interesting changes such as resize of the magnified region, etc. This part servers
   as a mediator between magnification controllers and the window manager.

   The second half is a controller that is responsible to drive the magnification
   state based on touch interactions. It also presents a highlight when magnified to
   suggest the magnified potion of the screen. The controller is responsible for auto
   zooming out in case the user context changes - rotation, new actitivity. The controller
   also auto pans if a dialog appears and it does not interesect the magnified frame.

bug:7410464

2. By design screen magnification and touch exploration work separately and together. If
   magnification is enabled the user sees a larger version of the widgets and a sub section
   of the screen content. Accessibility services use the introspection APIs to "see" what
   is on the screen so they can speak it, navigate to the next item in response to a
   gesture, etc. Hence, the information returned to accessibility services has to reflect
   what a sighted user would see on the screen. Therefore, if the screen is magnified
   we need to adjust the bounds and position of the infos describing views in a magnified
   window such that the info bounds are equivalent to what the user sees.

   To improve performance we keep accessibility node info caches in the client process.
   However, when magnification state changes we have to clear these caches since the
   bounds of the cached infos no longer reflect the screen content which just got smaller
   or larger.

   This patch propagates not only the window scale as before but also the X/Y pan and the
   bounds of the magnified portion of the screen to the introspected app. This information
   is used to adjust the bounds of the node infos coming from this window such that the
   reported bounds are the same as the user sees not as the app thinks they are. Note that
   if magnification is enabled we zoom the content and pan it along the X and Y axis. Also
   recomputed is the isVisibleToUser property of the reported info since in a magnified
   state the user sees a subset of the window content and the views not in the magnified
   viewport should be reported as not visible to the user.

bug:7344059

Change-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2
2012-12-03 10:38:48 -08:00
Makoto Onuki
aeb3751559 resolved conflicts for merge of 9cd8c711 to master
Change-Id: I5e2d13c44f6a0589648e5934c8c36790da85e828
2012-11-30 10:05:20 -08:00
Makoto Onuki
1b86d75d31 Remove unused IExtendedNetworkService
It was used in the cupcake era for docomo.  Is not used anymore.

Bug 7633569

Change-Id: I2ec826fc9a70d261a340957a937ed4c9f8e67c5c
2012-11-29 12:52:51 -08:00
Robert Ly
b2e14e0081 update pdk docs build target
Change-Id: Ic7ecbc8cf582460112d63d365c0cfb824478fff1
2012-10-09 11:22:44 -07:00
Ying Wang
ea7e44f91b Merge "Run doc-comment-check only for checkbuild." 2012-09-28 16:01:44 -07:00
Ying Wang
33a436da50 Run doc-comment-check only for checkbuild.
Currently doc-comment-check is the single longest-running process during
the make process. It usually takes 300-400s to finish on my Z600.
What's worse, it's usually the last straggler build job.
Not running this by default can save big build time.

Bug: 7253452
Change-Id: Idc868197b59e42c6b583c66f13a0e6a1bc8d5d4e
2012-09-28 15:04:52 -07:00
Scott Main
20828c1b3d am 43a903c7: am 053644db: Merge "add api level 17 to javadoc filter and update version number" into jb-mr1-dev
* commit '43a903c763916dccdd4052037cf64774eeb7582a':
  add api level 17 to javadoc filter and update version number
2012-09-28 13:07:05 -07:00
Scott Main
1134de0f12 add api level 17 to javadoc filter and update version number
Change-Id: I278f796b3390e57f4309f215e4f37359a80f0e83
2012-09-28 12:12:59 -07:00