Fixes to Edge Navigation for missing bitmaps
- Show prominent color from favicon when bitmap capture of a
navigation entry is missing
- More active purging of bitmaps on navigation
Change-Id: I2c137385bd1b1179dbbb16c0c3e933783d499c34
diff --git a/src/com/android/browser/EdgeSwipeController.java b/src/com/android/browser/EdgeSwipeController.java
index 5d6edd5..b9c2568 100644
--- a/src/com/android/browser/EdgeSwipeController.java
+++ b/src/com/android/browser/EdgeSwipeController.java
@@ -159,7 +159,7 @@
if (!mbCurrBMSynced) {
Bitmap currBM = mModel.readSnapshot(mCurrIndex);
if (currBM != null) {
- mView.setStationaryViewBitmap(currBM);
+ mView.setStationaryViewBitmap(currBM, mModel.getColor(mCurrIndex));
mbCurrBMSynced = true;
}
}
@@ -168,7 +168,7 @@
private void showCurrBMInSlidingView() {
if (!mbCurrBMSynced) {
Bitmap currBM = mModel.readSnapshot(mCurrIndex);
- mView.setSlidingViewBitmap(currBM);
+ mView.setSlidingViewBitmap(currBM, mModel.getColor(mCurrIndex));
if (currBM != null) {
mbCurrBMSynced = true;
}
@@ -224,12 +224,14 @@
switch (mFromEdge) {
case ViewDragHelper.EDGE_LEFT:
mView.setSlidingViewBitmap(
- getGrayscale(getSnapshotOrFavicon(pageIndex)));
+ getGrayscale(getSnapshotOrFavicon(pageIndex)),
+ mModel.getColor(pageIndex));
mGrayBM = true;
break;
case ViewDragHelper.EDGE_RIGHT:
mView.setStationaryViewBitmap(
- getGrayscale(getSnapshotOrFavicon(pageIndex)));
+ getGrayscale(getSnapshotOrFavicon(pageIndex)),
+ mModel.getColor(pageIndex));
mGrayBM = true;
break;
}
@@ -238,7 +240,8 @@
return;
}
mView.setStationaryViewBitmap(
- getGrayscale(getSnapshotOrFavicon(pageIndex)));
+ getGrayscale(getSnapshotOrFavicon(pageIndex)),
+ mModel.getColor(pageIndex));
mGrayBM = true;
}
}
@@ -325,7 +328,8 @@
mView.hideSlidingViews();
if (mbNavigated) {
- mView.setStationaryViewBitmap(getSnapshotOrFavicon(mCurrIndex));
+ mView.setStationaryViewBitmap(getSnapshotOrFavicon(mCurrIndex),
+ mModel.getColor(mCurrIndex));
} else {
swipeSessionCleanup();
}
@@ -402,7 +406,8 @@
if (mPrevIndex >= 0) {
if (!mView.stationaryViewHasImage()) {
- mView.setStationaryViewBitmap(getSnapshotOrFavicon(mPrevIndex));
+ mView.setStationaryViewBitmap(getSnapshotOrFavicon(mPrevIndex),
+ mModel.getColor(mPrevIndex));
}
}
break;
@@ -412,7 +417,8 @@
mView.moveShadowView(mView.getMeasuredWidth() + left);
if (!mView.slidingViewHasImage() && mNextIndex < mMaxIndex) {
- mView.setSlidingViewBitmap(getSnapshotOrFavicon(mNextIndex));
+ mView.setSlidingViewBitmap(getSnapshotOrFavicon(mNextIndex),
+ mModel.getColor(mNextIndex));
}
showCurrBMInStationaryView();
@@ -451,13 +457,15 @@
mView.showSlidingViews();
mView.goDormant();
mPrevIndex = mCurrIndex - 1;
- mView.setStationaryViewBitmap(getSnapshotOrFavicon(mPrevIndex));
+ mView.setStationaryViewBitmap(getSnapshotOrFavicon(mPrevIndex),
+ mModel.getColor(mPrevIndex));
showCurrBMInSlidingView();
break;
case ViewDragHelper.EDGE_RIGHT:
mView.showSlidingViews();
mNextIndex = mCurrIndex + 1;
- mView.setSlidingViewBitmap(getSnapshotOrFavicon(mNextIndex));
+ mView.setSlidingViewBitmap(getSnapshotOrFavicon(mNextIndex),
+ mModel.getColor(mNextIndex));
showCurrBMInStationaryView();
if (mbCurrBMSynced)
mView.goDormant();