1655 Commits

Author SHA1 Message Date
Dianne Hackborn
19849d3c9a Fix build.
Change-Id: I3dc503a3cd30276ac10582db44732d96b68230ee
2013-05-21 10:47:17 -07:00
Dima Zavin
3b9831f6a2 Merge "aapt: move qsort_r_compat here as it is sole client" 2013-05-08 07:35:34 +00:00
Mathias Agopian
60e510af80 desperate attempt to fix linux build.
working on the assumption that the ordering in
LOCAL_STATIC_LIBRARIES matters.

Change-Id: Ibf5b706652049b195bd66c84c9a5fa1122454ca6
2013-05-07 19:52:05 -07:00
Mathias Agopian
1f5762e646 libutils clean-up
Change-Id: I11ee943da23a66828455a9770fc3c5ceb4bbcaa9
2013-05-07 17:09:46 -07:00
Dima Zavin
823abb6314 aapt: move qsort_r_compat here as it is sole client
This code is only used on the host for MacOS X compatibility.
Apparently, glibc and Apple's libc disagree on the parameter
ordering.

Change-Id: I214edcf2870b6ac88316306ac5af43f1dadf9b2e
Signed-off-by: Dima Zavin <dima@android.com>
2013-05-07 16:19:41 -07:00
Jeff Sharkey
f1301d86fb Merge commit 'b3f66877' into afdmerge
Change-Id: I319863cf23b2e6eacfa4508f7b111fba7b1cbc24
2013-04-29 15:29:13 -07:00
Christopher Tate
2167516634 am bd1730de: Merge "Document the \'aapt dump strings\' command"
* commit 'bd1730dec7356e042ee885ff4a63b40f36733062':
  Document the 'aapt dump strings' command
2013-04-29 15:19:24 -07:00
Ying Wang
2120f87cde am 9e69a2ce: am 03ce5b53: Fix build.
* commit '9e69a2ced4e11f74ee979390c3f58ec4318a16c3':
  Fix build.
2013-04-29 11:22:15 -07:00
Kenny Root
b566ebdc92 am f266c6b9: am f99177f3: Merge "Update preloaded classes" into jb-mr2-dev
* commit 'f266c6b93f44fcc674d4c5686af0c1d1b782dab0':
  Update preloaded classes
2013-04-29 11:22:06 -07:00
Bjorn Bringert
7bb9471ea7 Merge "Allow compiling aapt for the device" 2013-04-29 10:10:52 +00:00
Mårten Kongstad
08822df147 Document the 'aapt dump strings' command
Update the usage page for aapt to mention 'strings' as a valid
subcommand to 'dump'.

Change-Id: Iadb2b8ce36951ff36ffbf6b5ea349ba1e2b12582
2013-04-29 09:57:19 +02:00
Ying Wang
03ce5b5366 Fix build.
Change-Id: I1fedbbb521305e02502ddb23a96b5ee96fa43b7b
2013-04-26 15:54:44 -07:00
Kenny Root
f99177f394 Merge "Update preloaded classes" into jb-mr2-dev 2013-04-26 22:20:35 +00:00
Kenny Root
9787b80ea8 Update preloaded classes
Bug: 5213043
Change-Id: I272500ce7f6ea6bfbc624c9705f8c8b8ef1aa0ad
2013-04-26 13:38:07 -07:00
Jeff Brown
5ae02e92e4 am eb6403e9: resolved conflicts for merge of bfdd2566 to jb-mr2-dev-plus-aosp
* commit 'eb6403e95d601b62be7b4610599e72fd329f2666':
  Generate SDK docs for v7 support library packages.
2013-04-26 12:06:15 -07:00
Bjorn Bringert
fb903a45d7 Allow compiling aapt for the device
Changes:

- The static device version of libandroidfw now includes
  the extra functions needed by aapt. I could only find
  a few host tools that use the static library, so this is
  hopefully not a problem.

- The pseudolocalization code is moved into aapt.
  It was previously in libhost, but only used by aapt.

Change-Id: Ib393ebb7dcebee8abbb628cbe5255ea1679674ac
2013-04-26 15:07:09 +01:00
Jeff Brown
caf7b0a155 Generate SDK docs for v7 support library packages.
This change required fixing some bugs in how AAPT handles
qualified symbols such as "android:layout_height"
when generating JavaDoc links.  The links were being
generated using the package name of the generated R file
rather than the package name of the referenced symbol.
These broken links caused the JavaDoc build to fail.

Bug: 8175766
Change-Id: I52fbef27825a25abca960cb44b59c2132267e9d6
2013-04-26 00:20:42 -07:00
Chet Haase
faebd8f079 First draft of Scenes & Transitions feature
This checkin has preliminary API (in flux, definitely changes still
to be made) and implementation for a new "Scenes & Transitions" feature.
The current implementation allows you to define different Scenes
(via layout resource IDs or callbacks) and Transitions to be used when
changing to those scenes. By default, scene changes will use AutoTransition,
which generally does the right thing.

There are no overview docs or tutorials yet. The best way to learn how things
work is to see the code for the various tests in
frameworks/base/tests/TransitionTests.

Expect the API to change. Expect the implementation to change (mostly to add
more functionality). Expect bugs, but tell me if things do not work
as expected.

Change-Id: Ib025a9f565678b225afa4759325cf6d496cc7215
2013-04-18 13:33:13 -07:00
Xavier Ducrohet
974dc1f4f8 am ade20f49: am a068eedd: Revert "Make --non-constant-id generates non final IDs for styleable."
* commit 'ade20f49a1a0226c06a6ae5d8074c9c1cc14a152':
  Revert "Make --non-constant-id generates non final IDs for styleable."
2013-04-13 09:59:07 -07:00
Xavier Ducrohet
a068eeddc9 Revert "Make --non-constant-id generates non final IDs for styleable."
This reverts commit 8730f46ae5ba9021a0e01c068ffc6b552b6c4510.
2013-04-13 09:48:01 -07:00
Xavier Ducrohet
b2d17bc5b4 am 95637018: am 629b1c4f: Merge "Make --non-constant-id generates non final IDs for styleable." into jb-mr2-dev
* commit '95637018052655783a25e8123c5b6f898c4171e6':
  Make --non-constant-id generates non final IDs for styleable.
2013-04-12 18:05:46 -07:00
Xavier Ducrohet
8730f46ae5 Make --non-constant-id generates non final IDs for styleable.
This was already done for all other types of resources, but not
for styleable (or the constants for the styleable array indices).

This fixes this. This only affects the SDK as this is used by the
SDK toolchain only.

Change-Id: Idfc2f7915be2b0e88590f38fd660610ffc7e160c
2013-04-12 16:02:54 -07:00
Ying Wang
28af35e8cd resolved conflicts for merge of a976bddd to master
Change-Id: I64e1cbfb0eee891ce4d1eee40eefdcedcc501f7f
2013-04-09 23:21:42 -07:00
Ying Wang
d685894212 Add liblog
Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
2013-04-09 21:54:12 -07:00
Jeff Brown
b437a79b05 resolved conflicts for merge of 21dffd5d to master
Change-Id: I37c48dee471c9d43f19c1fe4a01f70db53e2441f
2013-04-08 19:05:15 -07:00
Jeff Brown
3a2854bcee Merge "Queues, queues, queues and input." into jb-mr2-dev 2013-04-08 23:59:24 +00:00
Jeff Brown
f9e989d5f0 Queues, queues, queues and input.
Redesigned how ViewRootImpl delivers input events to views,
the IME and to native activities to fix several issues.

The prior change to make IME input event delegation use
InputChannels failed to take into account that InputMethodManager
is a singleton attached to the main looper whereas UI may be
attached to any looper.  Consequently interactions with the
InputChannel might occur on the wrong thread.  Fixed this
problem by checking the current thread and posting input
events or callbacks to the correct looper when necessary.

NativeActivity has also been broken for a while because the
default event handling logic for joysticks and touch navigation
was unable to dispatch events back into the native activity.
In particular, this meant that DPad synthesis from touch navigation
would not work in any native activity.  The plan is to fix
this problem by passing all events through ViewRootImpl as usual
then forwarding them to native activity as needed.  This should
greatly simplify IME pre-dispatch and system key handling
and make everything more robust overall.

Fixed issues related to when input events are synthesized.
In particular, added a more robust mechanism to ensure that
synthetic events are canceled appropriately when we discover
that events are no longer being resynthesized (because the
application or IME is handling or dropping them).

The new design is structured as a pipeline with a chain of
responsibility consisting of InputStage objects.  Each InputStage
is responsible for some part of handling each input event
such as dispatching to the view hierarchy or to the IME.
As a stage processes an input event, it has the option of
finishing the event, forwarding the event to the next stage
or handling the event asynchronously.  Some queueing logic
takes care to ensure that events are forwarded downstream in
the correct order even if they are handled out of order
by a given stage.

Cleaned up the InputMethodManager singleton initialization logic
to make it clearer that it must be attached to the main looper.
We don't actually need to pass this looper around.

Deleted the LatencyTimer class since no one uses it and we have
better ways of measuring latency these days using systrace.

Added a hidden helper to Looper to determine whether the current
thread is the indicated Looper thread.

Note: NativeActivity's IME dispatch is broken by this patch.
This will be fixed later in another patch.

Bug: 8473020
Change-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60
2013-04-08 15:31:47 -07:00
Nick Kralevich
c85336fd33 am ecc5b436: am 745a42bb: Merge "aapt: add support for optional uses-permission" into jb-mr2-dev
* commit 'ecc5b4363571688cb257c2bc9c5e24653efb86f4':
  aapt: add support for optional uses-permission
2013-04-04 17:34:29 -07:00
Nick Kralevich
745a42bbb9 Merge "aapt: add support for optional uses-permission" into jb-mr2-dev 2013-04-05 00:23:11 +00:00
Nick Kralevich
1bcc3d691f aapt: add support for optional uses-permission
Applications can request a permission with android:required="false".
For example:

<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" />

Make aapt understand such permissions.

Bug: 8522021
Change-Id: I7d3af64e7c3eca608316d5bea19c4ea639dd2b7a
2013-04-03 16:32:40 -07:00
Brian Colonna
c849fbcf3d resolved conflicts for merge of 5856ee4b to master
Change-Id: I60ba85bc246b9cf25d467b2099535aad47f82ca7
2013-04-02 17:16:55 -04:00
Brian Colonna
b1b9a8ac07 FUL now restarts when flipping tablet 180 (bug 7484464)
When a tablet rotates, FUL must be stopped and restarted in a new
position.  90 degree rotations cause a configuration change, causing
FUL to be automatically reconstructed in the new location.  However,
a 180 degree rotation is not a configuration change, so FUL was not
restarting.  A 180 degree rotation happens more often than one might
think.  If you set the tablet down and later picked it up in the
opposite orientation, FUL would not work prior to this fix.

This change adds a rotation watcher to KeyguardFaceUnlockView.  It
watches for 180 degree rotations and stops and restarts FUL
accordingly.

The rotation watcher callback must be unregistered when
KeyguardFaceUnlockView is recreated (as during 90 degree rotation
changes), otherwise the number of rotation watcher callbacks will keep
growing and they will never go away.  This is a problem not just
because there are many callbacks hanging around, but also because the
old callbacks end up trying to access biometric unlock views that no
longer exist, resulting in crashes.  So, a simple function was added
to the window manager to unregister a rotation watcher.

Change-Id: Ie1ef20a9a22b8f4e39918987dff2b8ad444fcfd1
2013-03-29 18:35:43 -04:00
Dianne Hackborn
96f2fef246 am 483ac9a7: am b404ecc9: Merge "Fix build." into jb-mr2-dev
* commit '483ac9a779af452d7ef4007d0e24c569ee894557':
  Fix build.
2013-03-26 18:05:43 -07:00
Dianne Hackborn
f3d46ce88f Fix build.
Change-Id: I51b87ee5f0b7f396aad7e239893d9f0764f04bb6
2013-03-26 18:00:42 -07:00
Craig Mautner
124af2d816 Update layoutlib to latest interface.
Fix build..

Change-Id: I3504e8b8e8431ad76333e852cf42494b2404f8ad
2013-03-18 18:05:21 -07:00
Dianne Hackborn
5c14d36c59 am 892e0782: am ad4a174b: Merge "Fix build." into jb-mr2-dev
* commit '892e07829414fda01594f52c54352c8dbbd37499':
  Fix build.
2013-03-05 21:08:21 +00:00
Dianne Hackborn
4ec6cc5108 Fix build.
Change-Id: Iaa70b05a3cfd372518ec35aa8bcea2f9d78b8292
2013-03-05 10:28:05 -08:00
Craig Mautner
2e5528c5e0 Merge "Revert ActivityManager changes for tasks. DO NOT MERGE" into jb-mr2-dev 2013-02-26 01:08:28 +00:00
Craig Mautner
2ad920759b Revert ActivityManager changes for tasks. DO NOT MERGE
Keeping all activity=>task changes in master and removing them
from jb-mr2.

Revert "Update histories simultaneously."
Revert "Add null check to setAppGroupId."
Revert "Fix crashing bug in validator."
Revert "Switch topRunning* and moveTaskTo*"
Revert "Begin switch over to task based history."
Revert "Reset and reuse Iterators and don't new() one."
Revert "Remove AppWindowToken lists."
Revert "Fix build."
Revert "Remove unused App methods."
Revert "Stop using AppToken movement and start using Task."
Revert "Replace access to mAppTokens with AppTokenIterator"
Revert "Refactor setAppOpVisibility implementation."
Revert "Add AppWindowTokens to TaskList."
Revert "Make ActivityStack.mHistory private."
Revert "Migrate AppWindowToken lists into DisplayContent."

Change-Id: I5722c9a4956dccb52864207e2967690bc58e4ebb
2013-02-25 17:07:39 -08:00
Dianne Hackborn
ec559ff78c Fix typo.
Change-Id: I71c8458e02dc9b9a4c59e51ded37b57a930038f9
2013-02-25 15:42:07 -08:00
Dianne Hackborn
c4aad01cbb Formalize overscan metrics.
The window manager now maintains and reports a new formal
"overscan insets" for each window, much like the existing
content and visible insets.  This is used to correctly
position the various UI elements in the various combination
of layout options.  In particular, this allows us to have
an activity that is using fitSystemWindows to have the content
of its UI extend out to the visible content part of the screen
while still positioning its fixed UI elements inside the
standard content rect (and the entire window extending all
the way into the overscan area to fill the screen as desired).

Okay, maybe that is not written so clearly.  Well, it made
my head hurt too, so suffer!

The key thing is that windows now need to know about three
rectangles: the overall rectangle of the window, the rectangle
inside of the overscan area, and the rectangle inside of the
content area.  The FLAG_LAYOUT_IN_OVERSCAN option controls
whether the second rectangle is pushed out to fill the entire
overscan area.

Also did some improvements to debug dumping in the window
manager.

Change-Id: Ib2368c4aff5709d00662c799507c37b6826929fd
2013-02-22 19:14:37 -08:00
Jim Miller
29ae06633d am ec6156f9: Merge "Fix the build."
* commit 'ec6156f9e884ba85c76a9c4683f83f18b3f64afa':
  Fix the build.
2013-02-20 17:08:24 -08:00
Jim Miller
ef04a9b7e1 Fix the build.
Change-Id: If53878937fe1ca01ad8db9f9d201d0f9aaaec81b
2013-02-20 16:58:59 -08:00
Dianne Hackborn
4f7fb00f6c am ee973c27: Fix build.
* commit 'ee973c27e339a23e0b93d816a97b33954af66bea':
  Fix build.
2013-02-19 13:38:49 -08:00
Dianne Hackborn
ee973c27e3 Fix build.
Change-Id: I277de38a70f3a2e5c1997a3fe5c2e825692ae9e1
2013-02-19 13:36:32 -08:00
Laurent Tu
34ab0a4a18 am 7c93839d: Revert "Tentative fix for aidl import issue"
* commit '7c93839d7b41727c11925b034d4ec84491d3dee1':
  Revert "Tentative fix for aidl import issue"
2013-02-15 16:11:26 -08:00
Laurent Tu
7c93839d7b Revert "Tentative fix for aidl import issue"
Fix build.

This reverts commit 4f115e08cb68aaf77693f3f4598f0eb5f7634777.

Change-Id: Ic4f51e3492f54afec5f0eeb48e08491eb47f3c04
2013-02-15 16:07:56 -08:00
Laurent Tu
1662cf99b6 am 8acb27c5: Merge "Tentative fix for aidl import issue"
* commit '8acb27c505c610b4027ec3d140ccc7722ab4faa3':
  Tentative fix for aidl import issue
2013-02-15 15:19:22 -08:00
Laurent Tu
8acb27c505 Merge "Tentative fix for aidl import issue" 2013-02-15 23:16:08 +00:00
Laurent Tu
4f115e08cb Tentative fix for aidl import issue
Fix issue when aidl generation doesn't use the right type when
it is a suffix of a pre-declared type.

eg. android.location.Location and foo.android.location.Location. The
aidl generation will never use foo.android.location.Location.

The tentative fix reverses the order in which Namespace.Search iterates
through the known types.

A better fix would be to annotate the types that are declared in the
aidl import statements to be prioritary in Namespace.Search. Lmk if I
you agree with this approach and think that this is worth the work.
Thanks!

Change-Id: I97dd1a1d417075accf1d61f9aba5aba3dea175c6
2013-02-14 16:12:54 -08:00