summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/WallpaperManager.java16
-rw-r--r--core/java/android/text/method/TextKeyListener.java7
-rw-r--r--core/java/android/widget/NumberPickerButton.java8
-rw-r--r--core/res/res/layout/always_use_checkbox.xml4
-rw-r--r--core/tests/hosttests/src/android/content/pm/PackageManagerHostTestUtils.java2
-rw-r--r--services/java/com/android/server/WindowManagerService.java1
6 files changed, 30 insertions, 8 deletions
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index e455a5966c8a..92b7cf519887 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -235,8 +235,13 @@ public class WallpaperManager {
if (width <= 0 || height <= 0) {
// Degenerate case: no size requested, just load
// bitmap as-is.
- Bitmap bm = BitmapFactory.decodeFileDescriptor(
- fd.getFileDescriptor(), null, null);
+ Bitmap bm = null;
+ try {
+ bm = BitmapFactory.decodeFileDescriptor(
+ fd.getFileDescriptor(), null, null);
+ } catch (OutOfMemoryError e) {
+ Log.w(TAG, "Can't decode file", e);
+ }
try {
fd.close();
} catch (IOException e) {
@@ -277,7 +282,12 @@ public class WallpaperManager {
if (width <= 0 || height <= 0) {
// Degenerate case: no size requested, just load
// bitmap as-is.
- Bitmap bm = BitmapFactory.decodeStream(is, null, null);
+ Bitmap bm = null;
+ try {
+ bm = BitmapFactory.decodeStream(is, null, null);
+ } catch (OutOfMemoryError e) {
+ Log.w(TAG, "Can't decode stream", e);
+ }
try {
is.close();
} catch (IOException e) {
diff --git a/core/java/android/text/method/TextKeyListener.java b/core/java/android/text/method/TextKeyListener.java
index 5be2a4866c4f..0c12c55b012b 100644
--- a/core/java/android/text/method/TextKeyListener.java
+++ b/core/java/android/text/method/TextKeyListener.java
@@ -246,8 +246,11 @@ public class TextKeyListener extends BaseKeyListener implements SpanWatcher {
private void initPrefs(Context context) {
final ContentResolver contentResolver = context.getContentResolver();
mResolver = new WeakReference<ContentResolver>(contentResolver);
- mObserver = new SettingsObserver();
- contentResolver.registerContentObserver(Settings.System.CONTENT_URI, true, mObserver);
+
+ if (mObserver == null) {
+ mObserver = new SettingsObserver();
+ contentResolver.registerContentObserver(Settings.System.CONTENT_URI, true, mObserver);
+ }
updatePrefs(contentResolver);
mPrefsInited = true;
diff --git a/core/java/android/widget/NumberPickerButton.java b/core/java/android/widget/NumberPickerButton.java
index 1c8579cf3434..292b66811d60 100644
--- a/core/java/android/widget/NumberPickerButton.java
+++ b/core/java/android/widget/NumberPickerButton.java
@@ -85,4 +85,12 @@ class NumberPickerButton extends ImageButton {
mNumberPicker.cancelDecrement();
}
}
+
+ public void onWindowFocusChanged(boolean hasWindowFocus) {
+ super.onWindowFocusChanged(hasWindowFocus);
+ if (!hasWindowFocus) {
+ cancelLongpress();
+ }
+ }
+
}
diff --git a/core/res/res/layout/always_use_checkbox.xml b/core/res/res/layout/always_use_checkbox.xml
index baa4bee88066..a955352713b6 100644
--- a/core/res/res/layout/always_use_checkbox.xml
+++ b/core/res/res/layout/always_use_checkbox.xml
@@ -26,14 +26,14 @@
<CheckBox
android:id="@+id/alwaysUse"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:clickable="true" />
<TextView
android:id="@+id/clearDefaultHint"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:paddingLeft="36dip"
diff --git a/core/tests/hosttests/src/android/content/pm/PackageManagerHostTestUtils.java b/core/tests/hosttests/src/android/content/pm/PackageManagerHostTestUtils.java
index b225c37551a8..672599a47e8b 100644
--- a/core/tests/hosttests/src/android/content/pm/PackageManagerHostTestUtils.java
+++ b/core/tests/hosttests/src/android/content/pm/PackageManagerHostTestUtils.java
@@ -536,7 +536,7 @@ public class PackageManagerHostTestUtils extends Assert {
private boolean mAllTestsPassed = true;
private String mTestRunErrorMessage = null;
- public void testEnded(TestIdentifier test) {
+ public void testEnded(TestIdentifier test, Map<String, String> metrics) {
// ignore
}
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 68787cd07ab4..11b6310f1c29 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -1501,6 +1501,7 @@ public class WindowManagerService extends IWindowManager.Stub
WindowState wb = (WindowState)localmWindows.get(foundI-1);
if (wb.mBaseLayer < maxLayer &&
wb.mAttachedWindow != foundW &&
+ wb.mAttachedWindow != foundW.mAttachedWindow &&
(wb.mAttrs.type != TYPE_APPLICATION_STARTING ||
wb.mToken != foundW.mToken)) {
// This window is not related to the previous one in any