Merge "Don't hang in restore if the transport reports failure" into ics-factoryrom
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index d680f36..e1f94ac 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -9879,6 +9879,8 @@
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+ hide();
+
if (view instanceof TextView) {
TextView textView = (TextView) view;
Editable editable = (Editable) mText;
@@ -9886,6 +9888,7 @@
SuggestionInfo suggestionInfo = mSuggestionInfos[position];
final int spanStart = editable.getSpanStart(suggestionInfo.suggestionSpan);
final int spanEnd = editable.getSpanEnd(suggestionInfo.suggestionSpan);
+ if (spanStart < 0 || spanEnd < 0) return; // Span has been removed
final String originalText = mText.subSequence(spanStart, spanEnd).toString();
if (suggestionInfo.suggestionIndex < 0) {
@@ -9947,7 +9950,6 @@
Selection.setSelection(editable, spanEnd + lengthDifference);
}
}
- hide();
}
}
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 4470d47..b1a6aa4 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1109,12 +1109,9 @@
<string name="sync_undo_deletes" msgid="8610996708225006328">"Отмяна на изтриванията."</string>
<string name="sync_do_nothing" msgid="8717589462945226869">"Да не се прави нищо засега."</string>
<string name="choose_account_label" msgid="4191313562041125787">"Избор на профил"</string>
- <!-- no translation found for add_account_label (2935267344849993553) -->
- <skip />
- <!-- no translation found for choose_account_text (6891230675141555481) -->
- <skip />
- <!-- no translation found for add_account_button_label (3611982894853435874) -->
- <skip />
+ <string name="add_account_label" msgid="2935267344849993553">"Добавяне на профил"</string>
+ <string name="choose_account_text" msgid="6891230675141555481">"Кой профил искате да използвате?"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"Добавяне на профил"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"Увеличаване"</string>
<string name="number_picker_decrement_button" msgid="2576606679160067262">"Намаляване"</string>
<string name="number_picker_increment_scroll_mode" msgid="1343063395404990189">"Докоснете <xliff:g id="VALUE">%s</xliff:g> път/и и задръжте."</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 181910c..02ad8fd 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1109,12 +1109,9 @@
<string name="sync_undo_deletes" msgid="8610996708225006328">"בטל את המחיקות."</string>
<string name="sync_do_nothing" msgid="8717589462945226869">"אל תעשה דבר בינתיים."</string>
<string name="choose_account_label" msgid="4191313562041125787">"בחר חשבון"</string>
- <!-- no translation found for add_account_label (2935267344849993553) -->
- <skip />
- <!-- no translation found for choose_account_text (6891230675141555481) -->
- <skip />
- <!-- no translation found for add_account_button_label (3611982894853435874) -->
- <skip />
+ <string name="add_account_label" msgid="2935267344849993553">"הוסף חשבון"</string>
+ <string name="choose_account_text" msgid="6891230675141555481">"באיזה חשבון ברצונך להשתמש?"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"הוסף חשבון"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"הגדל"</string>
<string name="number_picker_decrement_button" msgid="2576606679160067262">"הפחת"</string>
<string name="number_picker_increment_scroll_mode" msgid="1343063395404990189">"<xliff:g id="VALUE">%s</xliff:g> הקש והחזק."</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index c4adc10..53c361f 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1109,12 +1109,9 @@
<string name="sync_undo_deletes" msgid="8610996708225006328">"削除を元に戻す"</string>
<string name="sync_do_nothing" msgid="8717589462945226869">"今は何もしない"</string>
<string name="choose_account_label" msgid="4191313562041125787">"アカウントを選択"</string>
- <!-- no translation found for add_account_label (2935267344849993553) -->
- <skip />
- <!-- no translation found for choose_account_text (6891230675141555481) -->
- <skip />
- <!-- no translation found for add_account_button_label (3611982894853435874) -->
- <skip />
+ <string name="add_account_label" msgid="2935267344849993553">"アカウントを追加"</string>
+ <string name="choose_account_text" msgid="6891230675141555481">"どのアカウントを使用しますか?"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"アカウントを追加"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"増やす"</string>
<string name="number_picker_decrement_button" msgid="2576606679160067262">"減らす"</string>
<string name="number_picker_increment_scroll_mode" msgid="1343063395404990189">"<xliff:g id="VALUE">%s</xliff:g>回タップして押し続けます。"</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 16bccb2..ec49be7 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -859,10 +859,7 @@
<string name="copyUrl" msgid="2538211579596067402">"Salin URL"</string>
<string name="selectTextMode" msgid="6738556348861347240">"Pilih teks..."</string>
<string name="textSelectionCABTitle" msgid="5236850394370820357">"Pemilihan teks"</string>
- <!-- unknown placeholder WORD in addToDictionary -->
- <skip />
- <!-- no translation found for addToDictionary (9090375111134433012) -->
- <skip />
+ <!-- outdated translation 2839899368418071843 --> <string name="addToDictionary" msgid="9090375111134433012">"+ tambah ke kamus"</string>
<!-- no translation found for deleteText (7070985395199629156) -->
<skip />
<string name="inputMethod" msgid="1653630062304567879">"Kaedah input"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index ff0f310..47acf80 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1109,12 +1109,9 @@
<string name="sync_undo_deletes" msgid="8610996708225006328">"Anulaţi aceste ştergeri."</string>
<string name="sync_do_nothing" msgid="8717589462945226869">"Pentru moment, nu efectuaţi nicio acţiune."</string>
<string name="choose_account_label" msgid="4191313562041125787">"Selectaţi un cont"</string>
- <!-- no translation found for add_account_label (2935267344849993553) -->
- <skip />
- <!-- no translation found for choose_account_text (6891230675141555481) -->
- <skip />
- <!-- no translation found for add_account_button_label (3611982894853435874) -->
- <skip />
+ <string name="add_account_label" msgid="2935267344849993553">"Adăugaţi un cont"</string>
+ <string name="choose_account_text" msgid="6891230675141555481">"Ce cont doriţi să utilizaţi?"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"Adăugaţi un cont"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"Incrementaţi"</string>
<string name="number_picker_decrement_button" msgid="2576606679160067262">"Decrementaţi"</string>
<string name="number_picker_increment_scroll_mode" msgid="1343063395404990189">"Apăsaţi şi ţineţi apăsat <xliff:g id="VALUE">%s</xliff:g>."</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 66cd839..46eb1ed 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1109,12 +1109,9 @@
<string name="sync_undo_deletes" msgid="8610996708225006328">"Silme işlemlerini geri alın."</string>
<string name="sync_do_nothing" msgid="8717589462945226869">"Şimdilik bir şey yapma."</string>
<string name="choose_account_label" msgid="4191313562041125787">"Bir hesap seçin"</string>
- <!-- no translation found for add_account_label (2935267344849993553) -->
- <skip />
- <!-- no translation found for choose_account_text (6891230675141555481) -->
- <skip />
- <!-- no translation found for add_account_button_label (3611982894853435874) -->
- <skip />
+ <string name="add_account_label" msgid="2935267344849993553">"Hesap ekleyin"</string>
+ <string name="choose_account_text" msgid="6891230675141555481">"Hangi hesabı kullanmak istersiniz?"</string>
+ <string name="add_account_button_label" msgid="3611982894853435874">"Hesap ekle"</string>
<string name="number_picker_increment_button" msgid="4830170763103463443">"Artır"</string>
<string name="number_picker_decrement_button" msgid="2576606679160067262">"Azalt"</string>
<string name="number_picker_increment_scroll_mode" msgid="1343063395404990189">"<xliff:g id="VALUE">%s</xliff:g> hafifçe vurun ve basılı tutun."</string>
diff --git a/libs/ui/Region.cpp b/libs/ui/Region.cpp
index a060a5f..5656088 100644
--- a/libs/ui/Region.cpp
+++ b/libs/ui/Region.cpp
@@ -479,6 +479,12 @@
const Region& lhs,
const Rect& rhs, int dx, int dy)
{
+ if (!rhs.isValid()) {
+ LOGE("Region::boolean_operation(op=%d) invalid Rect={%d,%d,%d,%d}",
+ op, rhs.left, rhs.top, rhs.right, rhs.bottom);
+ return;
+ }
+
#if VALIDATE_WITH_CORECG || VALIDATE_REGIONS
boolean_operation(op, dst, lhs, Region(rhs), dx, dy);
#else
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index b017205..586b976 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -25,8 +25,7 @@
<string name="status_bar_please_disturb_button" msgid="3345398298841572813">"Показване на известията"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Премахване от списъка"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Информация за приложението"</string>
- <!-- no translation found for status_bar_no_recent_apps (6576392951053994640) -->
- <skip />
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Няма скорошни приложения"</string>
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Няма известия"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"В момента"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Известия"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 567f2b9..8194542 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -25,8 +25,7 @@
<string name="status_bar_please_disturb_button" msgid="3345398298841572813">"הצג התראות"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"הסר מהרשימה"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"פרטי יישום"</string>
- <!-- no translation found for status_bar_no_recent_apps (6576392951053994640) -->
- <skip />
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"אין יישומים אחרונים"</string>
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"אין התראות"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"מתמשך"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"התראות"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index ffb0227..f2fb58b 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -25,8 +25,7 @@
<string name="status_bar_please_disturb_button" msgid="3345398298841572813">"通知を表示"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"リストから削除"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"アプリ情報"</string>
- <!-- no translation found for status_bar_no_recent_apps (6576392951053994640) -->
- <skip />
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"最近使ったアプリはありません"</string>
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"通知なし"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"実行中"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 191007a..cfdd68a 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -25,7 +25,7 @@
<string name="status_bar_please_disturb_button" msgid="3345398298841572813">"Tunjukkan pemberitahuan"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Alih keluar dari senarai"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Maklumat aplikasi"</string>
- <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Tiada aplikasi terbaru"</string>
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Tiada aplikasi terbaharu"</string>
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Tiada pemberitahuan"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Sedang berlangsung"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Pemberitahuan"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 33dc26c..cdb7c26 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -25,8 +25,7 @@
<string name="status_bar_please_disturb_button" msgid="3345398298841572813">"Afişaţi notificări"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Eliminaţi din listă"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Informaţii despre aplicaţie"</string>
- <!-- no translation found for status_bar_no_recent_apps (6576392951053994640) -->
- <skip />
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Nu există aplicaţii recente"</string>
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nicio notificare"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"În desfăşurare"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificări"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 4dae911..2383cbb 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -25,8 +25,7 @@
<string name="status_bar_please_disturb_button" msgid="3345398298841572813">"Bildirimleri göster"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Listeden kaldır"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Uygulama bilgileri"</string>
- <!-- no translation found for status_bar_no_recent_apps (6576392951053994640) -->
- <skip />
+ <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Son uygulama yok"</string>
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Bildirim yok"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Sürüyor"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Bildirimler"</string>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java
index 37c77f6..5959537 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBar.java
@@ -118,7 +118,7 @@
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING
| WindowManager.LayoutParams.FLAG_SPLIT_TOUCH,
- PixelFormat.RGBX_8888);
+ PixelFormat.OPAQUE);
// the status bar should be in an overlay if possible
final Display defaultDisplay
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index da6bcd2..c4e87d8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -316,12 +316,7 @@
}
// figure out which pixel-format to use for the status bar.
- mPixelFormat = PixelFormat.TRANSLUCENT;
- Drawable bg = sb.getBackground();
- if (bg != null) {
- mPixelFormat = bg.getOpacity();
- }
-
+ mPixelFormat = PixelFormat.OPAQUE;
mStatusIcons = (LinearLayout)sb.findViewById(R.id.statusIcons);
mNotificationIcons = (IconMerger)sb.findViewById(R.id.notificationIcons);
mIcons = (LinearLayout)sb.findViewById(R.id.icons);
diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java
index 0ee3f17..93722e0 100644
--- a/services/java/com/android/server/wm/WindowState.java
+++ b/services/java/com/android/server/wm/WindowState.java
@@ -636,7 +636,7 @@
final boolean isHwAccelerated = (mAttrs.flags &
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED) != 0;
final int format = isHwAccelerated ? PixelFormat.TRANSLUCENT : mAttrs.format;
- if (isHwAccelerated && mAttrs.format == PixelFormat.OPAQUE) {
+ if (!PixelFormat.formatHasAlpha(mAttrs.format)) {
flags |= Surface.OPAQUE;
}
mSurface = new Surface(
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index edbc7b0..49d2c55 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -404,7 +404,9 @@
void Layer::lockPageFlip(bool& recomputeVisibleRegions)
{
if (mQueuedFrames > 0) {
+ // Capture the old state of the layer for comparisons later
const bool oldOpacity = isOpaque();
+ sp<GraphicBuffer> oldActiveBuffer = mActiveBuffer;
// signal another event if we have more frames pending
if (android_atomic_dec(&mQueuedFrames) > 1) {
@@ -417,7 +419,8 @@
return;
}
- sp<GraphicBuffer> newFrontBuffer(mSurfaceTexture->getCurrentBuffer());
+ // update the active buffer
+ mActiveBuffer = mSurfaceTexture->getCurrentBuffer();
const Rect crop(mSurfaceTexture->getCurrentCrop());
const uint32_t transform(mSurfaceTexture->getCurrentTransform());
@@ -439,16 +442,16 @@
mFlinger->invalidateHwcGeometry();
}
- uint32_t bufWidth = newFrontBuffer->getWidth();
- uint32_t bufHeight = newFrontBuffer->getHeight();
- if (mActiveBuffer != NULL) {
- if (bufWidth != uint32_t(mActiveBuffer->width) ||
- bufHeight != uint32_t(mActiveBuffer->height)) {
+ uint32_t bufWidth = mActiveBuffer->getWidth();
+ uint32_t bufHeight = mActiveBuffer->getHeight();
+ if (oldActiveBuffer != NULL) {
+ if (bufWidth != uint32_t(oldActiveBuffer->width) ||
+ bufHeight != uint32_t(oldActiveBuffer->height)) {
mFlinger->invalidateHwcGeometry();
}
}
- mCurrentOpacity = getOpacityForFormat(newFrontBuffer->format);
+ mCurrentOpacity = getOpacityForFormat(mActiveBuffer->format);
if (oldOpacity != isOpaque()) {
recomputeVisibleRegions = true;
}
@@ -462,9 +465,6 @@
// FIXME: mPostedDirtyRegion = dirty & bounds
mPostedDirtyRegion.set(front.w, front.h);
- // update active buffer
- mActiveBuffer = newFrontBuffer;
-
if ((front.w != front.requested_w) ||
(front.h != front.requested_h))
{
@@ -578,7 +578,7 @@
uint32_t Layer::getTransformHint() const {
uint32_t orientation = 0;
if (!mFlinger->mDebugDisableTransformHint) {
- orientation = getOrientation();
+ orientation = getPlaneOrientation();
if (orientation & Transform::ROT_INVALID) {
orientation = 0;
}
diff --git a/services/surfaceflinger/LayerBase.cpp b/services/surfaceflinger/LayerBase.cpp
index e5ce814..7a47f62 100644
--- a/services/surfaceflinger/LayerBase.cpp
+++ b/services/surfaceflinger/LayerBase.cpp
@@ -45,6 +45,7 @@
mFlinger(flinger), mFiltering(false),
mNeedsFiltering(false), mInOverlay(false),
mOrientation(0),
+ mPlaneOrientation(0),
mTransactionFlags(0),
mPremultipliedAlpha(true), mName("unnamed"), mDebug(false),
mInvalidate(0)
@@ -256,6 +257,7 @@
// cache a few things...
mOrientation = tr.getOrientation();
+ mPlaneOrientation = planeTransform.getOrientation();
mTransform = tr;
mTransformedBounds = tr.makeBounds(w, h);
}
diff --git a/services/surfaceflinger/LayerBase.h b/services/surfaceflinger/LayerBase.h
index a14b397..268ba2d 100644
--- a/services/surfaceflinger/LayerBase.h
+++ b/services/surfaceflinger/LayerBase.h
@@ -221,6 +221,7 @@
inline State& currentState() { return mCurrentState; }
int32_t getOrientation() const { return mOrientation; }
+ int32_t getPlaneOrientation() const { return mPlaneOrientation; }
protected:
const GraphicPlane& graphicPlane(int dpy) const;
@@ -254,6 +255,7 @@
protected:
// cached during validateVisibility()
int32_t mOrientation;
+ int32_t mPlaneOrientation;
Transform mTransform;
GLfloat mVertices[4][2];
Rect mTransformedBounds;
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 0ef03bb..2be6d18 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -986,19 +986,20 @@
void SurfaceFlinger::composeSurfaces(const Region& dirty)
{
- if (UNLIKELY(!mWormholeRegion.isEmpty())) {
+ const DisplayHardware& hw(graphicPlane(0).displayHardware());
+ HWComposer& hwc(hw.getHwComposer());
+
+ const size_t fbLayerCount = hwc.getLayerCount(HWC_FRAMEBUFFER);
+ if (UNLIKELY(fbLayerCount && !mWormholeRegion.isEmpty())) {
// should never happen unless the window manager has a bug
// draw something...
drawWormhole();
}
- const DisplayHardware& hw(graphicPlane(0).displayHardware());
- HWComposer& hwc(hw.getHwComposer());
- hwc_layer_t* const cur(hwc.getLayers());
-
/*
* and then, render the layers targeted at the framebuffer
*/
+ hwc_layer_t* const cur(hwc.getLayers());
const Vector< sp<LayerBase> >& layers(mVisibleLayersSortedByZ);
size_t count = layers.size();
for (size_t i=0 ; i<count ; i++) {