573 Commits

Author SHA1 Message Date
Deepanshu Gupta
79a1a7c367 am 31207780: am 0ecfe381: am 54d88f76: Fix ClassCastException when rendering ListView
* commit '31207780338b97e396927701ca0da7a61d6d44b2':
  Fix ClassCastException when rendering ListView
2013-09-13 15:01:00 -07:00
Jonathan Dixon
caee47f096 Merge "Preparation for deleting WebViewClassic" into klp-dev 2013-09-11 17:59:42 +00:00
Dianne Hackborn
95d785346b Fix issue #10688644: Java crash in com.android.phone:
java.lang.SecurityException: Operation not allowed

There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids.  This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.

To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName().  This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.

I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.

Also improve the security exception throw to have a more descriptive
error message.

Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
2013-09-11 09:59:47 -07:00
Deepanshu Gupta
54d88f7678 Fix ClassCastException when rendering ListView
Bug: b.android.com/59300
Change-Id: Ia350adb3308daa8170bff755302760790163c811
2013-09-10 18:38:41 -07:00
Deepanshu Gupta
a712754011 Merge "Add isPremultiplied option to Bitmap_Delegate in LayoutLib" into klp-dev 2013-09-09 19:35:03 +00:00
Dianne Hackborn
01f8c0e277 Fix build.
Change-Id: Ifeac5d09a654ee1183ae26519c8b44f560afd636
2013-09-08 13:07:32 -07:00
Deepanshu Gupta
0851945a72 am b50de495: am dd4efc22: am 3a762d8b: Merge "Fix text rendering" into jb-mr2-dev
* commit 'b50de4951aaea6d6f01432dc17b7c5de778a2e71':
  Fix text rendering
2013-09-05 12:00:58 -07:00
Deepanshu Gupta
b654556213 am 97c88368: am c78d173b: am 68411471: Merge "Fix layout rendering for RTL locales" into jb-mr2-dev
* commit '97c88368e0036665507c8cd84c71d26953784c85':
  Fix layout rendering for RTL locales
2013-09-05 12:00:54 -07:00
Deepanshu Gupta
0d9c922c96 Fix text rendering
There are still some errors
1. Little vertical clippping for extra tall glyphs.
2. Breaking into scripts isn't perfect which results in incorrect layout
of text.

Change-Id: I54de3c05eca5e8affb1135c120eea24c3afe8a47
2013-09-05 10:58:10 -07:00
Deepanshu Gupta
490efa8bc4 Add isPremultiplied option to Bitmap_Delegate in LayoutLib
Change-Id: Id06921d8db2fe898fdc60ef9d05d05f8dfe3f94a
2013-09-04 18:38:46 -07:00
Deepanshu Gupta
88db0ee2af Fix layout rendering for RTL locales
This changeset adds the framework resources for RTL locales and mirrors
the layout if the application is RTL aware.

Use ICU to check the character orientation of the locale - right to left
or left to right. Set the layout direction on the top level layout
accordingly. Also, load the RTL resources for Nav Bar when the locale is
RTL.

Change-Id: I1ed0d516ab64120a0abca413ba678036661508f8
2013-09-04 14:23:53 -07:00
Jonathan Dixon
22e90cf2b0 Preparation for deleting WebViewClassic
Bug: 10427705

- layoutlib has references to classes that no longer build into the host
  core JAR when WebViewClassic is removed.
- preloaded-classes should not reference WebViewClassic classes.

Change-Id: I4d6773a88ea2932982278127a3c96d38be54ddf5
2013-08-25 23:02:37 -07:00
Jeff Sharkey
98d6212327 Merge "Add CancellationSignal support to file operations." into klp-dev 2013-08-23 23:17:47 +00:00
Jeff Sharkey
bd3b902567 Add CancellationSignal support to file operations.
Since ContentProvider file operations can end up doing substantial
network I/O before returning the file, allow clients to cancel their
file requests with CancellationSignal.

Ideally this would only be needed for openFile(), but ContentResolver
heavily relies on openAssetFile() and openTypedAssetFile() for common
cases.

Also improve documentation to mention reliable ParcelFileDescriptors
and encourage developers to move away from "rw" combination modes,
since they restrict provider flexibility.  Mention more about places
where pipes or socket pairs could be returned.

Improve DocumentsContract documentation.

Bug: 10329944
Change-Id: I49b2825ea433eb051624c4da3b77612fe3ffc99c
2013-08-23 11:27:25 -07:00
satok
9e10408797 DO NOT MERGE. Fix test breakage
Change-Id: I0b2b7ce4b9f50910b4795cb480aa86a662b16f7d
2013-08-23 20:08:15 +09:00
Chris Craik
1abf5d6242 Add inPremutiplied option to BitmapFactory.Options, functionality in Bitmap
bug:2248948

Change-Id: I8fdd649332667598504a1076d5a447572bd53086
2013-08-20 18:29:33 -07:00
Jeff Sharkey
c2f8da8756 Merge "Bring along BridgeContext for the ride." into klp-dev 2013-08-12 02:09:51 +00:00
Jeff Sharkey
b9be11c370 Bring along BridgeContext for the ride.
Change-Id: Ic11c0df447c82be3922d529f18a290cfdfec6b05
2013-08-11 19:08:39 -07:00
Jonathan Dixon
667fe1039f Refactor Canvas.drawPicture() to delegate to Picture
Bug: 9814370

To allow WebView.capturePicture() to return a subclass, we need to
ensure the subclass is always consulted when being drawn into a canvas.

Change-Id: Ia0357f95b6fafb3ac81e6bcfaef05739e619897a
2013-08-08 17:22:48 -07:00
Satoshi Kataoka
b3c21ac7c6 Reduce the transaction fee of getEnabledInputMethodSubtypeList
Bug: 8467480
Change-Id: If18cce8fbe567df51f29adcdcedff3f743460b8b
2013-08-08 11:32:31 +09:00
Craig Mautner
acb837fe63 Merge "Fix home activity and user switch interactions." 2013-07-19 23:07:51 +00:00
Craig Mautner
ac6f843c91 Fix home activity and user switch interactions.
- Make sure Home activity goes in the correct task and on the correct
stack.
- Do not allow different users to be in the same task.
- Do not set stacks aside for each user.

Fixes bug 9775492.

Change-Id: I0e7954e917aac8482a1015a36923e02914e2b692
2013-07-19 16:05:59 -07:00
Deepanshu Gupta
903709d738 am 388f85eb: am a2f41b23: am bf8be2ee: Merge "Add orientation to configuration for layoutlib." into jb-mr2-dev
* commit '388f85eb451bd0b61c8f48b500de5db6bca941f1':
  Add orientation to configuration for layoutlib.
2013-07-19 13:42:34 -07:00
Jeff Brown
b9ff71375a Fix build.
Change-Id: Ie83f51ab4b8fddceda8d4f0ac24c532eab7458b8
2013-07-18 16:37:44 -07:00
Deepanshu Gupta
d97d60c0fa Add orientation to configuration for layoutlib.
Update the configuration with the device orientation before rendering.

Change-Id: Icd40901204fd13f90b18353e53a15e25e5b2176c
2013-07-12 15:54:08 -07:00
Craig Mautner
144a6ae7e6 Fix build.
Change-Id: Icdfc6bcbe8603cf9bd3f8982a595336c0407e7d6
2013-06-24 12:25:57 -07:00
John Spurlock
80f00c1f23 Remove concept of system bar from window manager.
It was already hardcoded to false, this change removes the dead code.

Change-Id: I5e543344e60f69cb9882a70ba29f7c09404ad9fc
2013-06-14 13:20:17 -04:00
Adam Powell
04fe6ebb9f Fix a bug resolving the correct icon/logo in action bars
Remove some abstraction-breaking magic in ActionBarView and replace it
with proper resolution of the icon/logo when creating a window. The
old implementation relied on the ActionBarView's context being an
Activity.

Bug 9171554

Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
2013-05-31 15:00:24 -07:00
Deepanshu Gupta
3d05476b10 am fc691f9d: am 417e512b: Merge "Add missing native methods." into jb-mr2-dev
* commit 'fc691f9df0392a661c4d1708c905f82d50c17f27':
  Add missing native methods.
2013-05-24 13:56:05 -07:00
Deepanshu Gupta
279c00e8e0 Add missing native methods.
Change-Id: I7b34e2ec0164520efc658053a80f307791a992b1
2013-05-23 16:44:01 -07:00
Dianne Hackborn
19849d3c9a Fix build.
Change-Id: I3dc503a3cd30276ac10582db44732d96b68230ee
2013-05-21 10:47:17 -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
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
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
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
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
Craig Mautner
102f711043 am 534d136a: Merge "Remove unused App methods."
# Via Android (Google) Code Review (1) and Craig Mautner (1)
* commit '534d136aa66fb13f7c1b482513627de45c218c29':
  Remove unused App methods.
2013-02-14 10:16:57 -08:00
Craig Mautner
b0c0b1fd70 Remove unused App methods.
Now that the Task methods have replaced the App methods remove
the App methods.

Change-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2
2013-02-13 15:24:14 -08:00
Chris Craik
c932760f66 Merge "Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE" 2013-02-13 23:14:58 +00:00
Chris Craik
7c1a49f5f5 Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE
This reverts commit 6c0307dd0aefe9a08794b155fc03ee60ebd14f25, reversing
changes made to a2cd828b749c444d55c2c41c7dbb85088ff94b9f.

Conflicts:
	packages/SystemUI/res/values-sv/strings.xml

Change-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e
2013-02-13 10:50:20 -08:00