There was an issue with stale recipient tracking when BinderProxy weak
references had been purged and a new proxy object allocated for a
still-live underlying IBinder. The death recipient bookkeeping has
now been reworked so that it's fundmentally tied to the BinderProxy
instances, not maintained as global state, to prevent this sort of
confusion entirely.
Bug 3499939
Change-Id: I75c5216b6d53b90868ac969e32c9725201e51be3
Bug 3422121
Cherry-picked from master's 95472.
With ellipsize, lines starting with a very long word that does not
fit inside the width were simply ignored. Cut the long word instead.
start - widthStart index offset shift in BiDi.
The original ellipsize-end patch that added '...' after the last
word on end-ellipsized lines has been punted in favor of a true
ellipsize support in I.
I believe the StaticLayout calculateEllipsise is a no-op since textwidth <= avail
by construction: fitWidth and okwidth are < outerWidth. The only exception is the
paraEnd != here case in generate (when not a single character fits in width).
This case is exercised by StaticLayoutTest in cts (width of 8 pixels) and revealed
an offset error in widstart.
All in all, it looks like this code was probably never really tested. I tried some
typical text configuration to make sure these changes improved the situation.
Change-Id: I6c2cb26436a21f0f89078c275a89e891f0f23b92
...at android.app.DialogFragment.dismissInternal(DialogFragment.java:264)
Don't allow a DialogFragment to be dismissed twice.
Change-Id: Id2e9e3be1046b0d7862492c57c36001d8fd44a69
AIOOB exception fix in TabWidget
Bug http://code.google.com/p/android/issues/detail?id=15005
The problem was not specific to the legacy theme. The code that first
measure the tab's width with no contraint was incorrectly using the
mImposedTabsWidth array which could not have the right size if a
child was added.
The first measure after a child is added should indeed crash. Could
be investigated. This fix is sure anyway.
Change-Id: If5015aaa2d5574939fd5d6c6362ed6db94d35d4a
Well, I'm not sure it is right for onCreateDialog() to return a null
dialog, but if it does, let's not crash here.
Change-Id: I5ff49b9b3c326d9005f70a01435c01bfc7307343
This is due to the window doing a relayout after its activity is
stopped, at which point it may need to interact with the adapter
to load data.
The fix here is to tell ViewRoot about an activity being stopped
and, if in this state, hold off on doing any new measurements and
layouts of the hierarchy until it is no longer stopped.
In this case the relayout was happening due to the cursor
being deactivated, with causes the adapter to invalidate
its data. Because this is now in a dialog window, this
allows the window to actually be resized smaller (unlike when
in a full screen activity), and boom.
Change-Id: I26442b4679819b4a4e6bc56289afd3445526750b
* commit 'db52ab69f22e24615eaa2e8f9845e157426d3dd6':
DO NOT MERGE Backport (with modifications ) some changes from Honeycomb, that would allow authenticators to control caching and permissions.
paths of code getting the mCacheLock and DB locks in different
orders.
The philosophy I followed for this was to ensure that the
DatabaseHelper is only ever accessed from within a
synchronized(mCacheLock) block. I also renamed a bunch of
methods to make it easier to know if a given method should
be called from within this synchronized block.
Bug: 3404506
Change-Id: Ia48f95e77b77647d0717f70f1d8364da3719cc13
Backport (with modifications ) some changes from Honeycomb, that would allow authenticators to control caching and permissions.
This is backward compatible - both new and old authenticators will work with old and new framework,
but the functionality will only be present if both sides support it.
Change-Id: Ib2838cc2159f45264b38c844cd4c1d6f315d8064
ViewTreeObserver OnScrollChangedListener will then get notified.
The scroll values are not specified, since they are passed to the
base View.onScrollChanged method that simply sets the flags.
No need to throw these from a Runnable (in case this happens during
a relayout) since the listeners will be notified later from ViewRoot.draw().
Calling View.onScrollChanged in invokeOnItemScrollListener for normal scroll and
in onOverScrolled to handle mScroller animation.
Change-Id: Ib41434e5cd82e5a45ca6653db576746e89ef072d
Before the IPackageDeleteObserver only knew whether the deletion
succeeded or failed, but not the reason why.
Bug: 2520191
Change-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b