diff options
| author | Amith Yamasani <yamasani@google.com> | 2011-08-15 11:14:19 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-15 11:14:19 -0700 |
| commit | 7d8fc3c911ea8e4cd1e6531118da4f72e521a944 (patch) | |
| tree | ef738564c029b4a9560090b15c446273f961c200 /core/java/android | |
| parent | 8f8dae158b8942bf58b2cbbb21cf9d5bbd67d47e (diff) | |
| parent | b724c346e19d63d7ff194b2b06c4a1e0f7bc07b7 (diff) | |
| download | frameworks_base-7d8fc3c911ea8e4cd1e6531118da4f72e521a944.zip frameworks_base-7d8fc3c911ea8e4cd1e6531118da4f72e521a944.tar.gz frameworks_base-7d8fc3c911ea8e4cd1e6531118da4f72e521a944.tar.bz2 | |
Merge "Revert "Use a weakreference to prevent the static variable from holding an Activity." Bug was fixed in a different way."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/text/DynamicLayout.java | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java index 4f42659..2c78679 100644 --- a/core/java/android/text/DynamicLayout.java +++ b/core/java/android/text/DynamicLayout.java @@ -268,11 +268,10 @@ extends Layout // generate new layout for affected text StaticLayout reflowed; - WeakReference<StaticLayout> layoutRef; + synchronized (sLock) { - layoutRef = sStaticLayoutRef; - reflowed = sStaticLayoutRef != null ? sStaticLayoutRef.get() : null; - sStaticLayoutRef = null; + reflowed = sStaticLayout; + sStaticLayout = null; } if (reflowed == null) { @@ -359,12 +358,8 @@ extends Layout } synchronized (sLock) { + sStaticLayout = reflowed; reflowed.finish(); - if (layoutRef == null || layoutRef.get() != reflowed) { - sStaticLayoutRef = new WeakReference<StaticLayout>(reflowed); - } else { - sStaticLayoutRef = layoutRef; - } } } @@ -493,8 +488,7 @@ extends Layout private int mTopPadding, mBottomPadding; - private static WeakReference<StaticLayout> sStaticLayoutRef = new WeakReference<StaticLayout>( - new StaticLayout(true)); + private static StaticLayout sStaticLayout = new StaticLayout(true); private static final Object[] sLock = new Object[0]; private static final int START = 0; |
