зеркало из https://github.com/mozilla/gecko-dev.git
Bug 960359: (1/4) Remove HomeBanner from TopSitesPanel. r=margaret
This commit is contained in:
Родитель
a75bbeec43
Коммит
7ef9b14f04
|
@ -87,15 +87,6 @@ public class TopSitesPanel extends HomeFragment {
|
|||
// Grid of top sites
|
||||
private TopSitesGridView mGrid;
|
||||
|
||||
// Banner to show snippets.
|
||||
private HomeBanner mBanner;
|
||||
|
||||
// Raw Y value of the last event that happened on the list view.
|
||||
private float mListTouchY = -1;
|
||||
|
||||
// Scrolling direction of the banner.
|
||||
private boolean mSnapBannerToTop;
|
||||
|
||||
// Callbacks used for the search and favicon cursor loaders
|
||||
private CursorLoaderCallbacks mCursorLoaderCallbacks;
|
||||
|
||||
|
@ -226,15 +217,6 @@ public class TopSitesPanel extends HomeFragment {
|
|||
|
||||
registerForContextMenu(mList);
|
||||
registerForContextMenu(mGrid);
|
||||
|
||||
mBanner = (HomeBanner) view.findViewById(R.id.home_banner);
|
||||
mList.setOnTouchListener(new OnTouchListener() {
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
TopSitesPanel.this.handleListTouchEvent(event);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -473,60 +455,6 @@ public class TopSitesPanel extends HomeFragment {
|
|||
}
|
||||
}
|
||||
|
||||
private void handleListTouchEvent(MotionEvent event) {
|
||||
// Ignore the event if the banner is hidden for this session.
|
||||
if (mBanner.isDismissed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (event.getActionMasked()) {
|
||||
case MotionEvent.ACTION_DOWN: {
|
||||
mListTouchY = event.getRawY();
|
||||
break;
|
||||
}
|
||||
|
||||
case MotionEvent.ACTION_MOVE: {
|
||||
// There is a chance that we won't receive ACTION_DOWN, if the touch event
|
||||
// actually started on the Grid instead of the List. Treat this as first event.
|
||||
if (mListTouchY == -1) {
|
||||
mListTouchY = event.getRawY();
|
||||
return;
|
||||
}
|
||||
|
||||
final float curY = event.getRawY();
|
||||
final float delta = mListTouchY - curY;
|
||||
mSnapBannerToTop = (delta > 0.0f) ? false : true;
|
||||
|
||||
final float height = mBanner.getHeight();
|
||||
float newTranslationY = ViewHelper.getTranslationY(mBanner) + delta;
|
||||
|
||||
// Clamp the values to be between 0 and height.
|
||||
if (newTranslationY < 0.0f) {
|
||||
newTranslationY = 0.0f;
|
||||
} else if (newTranslationY > height) {
|
||||
newTranslationY = height;
|
||||
}
|
||||
|
||||
ViewHelper.setTranslationY(mBanner, newTranslationY);
|
||||
mListTouchY = curY;
|
||||
break;
|
||||
}
|
||||
|
||||
case MotionEvent.ACTION_UP:
|
||||
case MotionEvent.ACTION_CANCEL: {
|
||||
mListTouchY = -1;
|
||||
final float y = ViewHelper.getTranslationY(mBanner);
|
||||
final float height = mBanner.getHeight();
|
||||
if (y > 0.0f && y < height) {
|
||||
final PropertyAnimator animator = new PropertyAnimator(100);
|
||||
animator.attach(mBanner, Property.TRANSLATION_Y, mSnapBannerToTop ? 0 : height);
|
||||
animator.start();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateUiFromCursor(Cursor c) {
|
||||
mList.setHeaderDividersEnabled(c != null && c.getCount() > mMaxGridEntries);
|
||||
}
|
||||
|
|
|
@ -3,26 +3,8 @@
|
|||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.mozilla.gecko.home.HomeListView
|
||||
android:id="@+id/list"
|
||||
style="@style/Widget.TopSitesListView"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"/>
|
||||
|
||||
<org.mozilla.gecko.home.HomeBanner android:id="@+id/home_banner"
|
||||
style="@style/Widget.HomeBanner"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="@dimen/home_banner_height"
|
||||
android:background="@drawable/home_banner"
|
||||
android:layout_gravity="bottom"
|
||||
android:gravity="center_vertical"
|
||||
android:visibility="gone"
|
||||
android:clickable="true"
|
||||
android:focusable="true"/>
|
||||
|
||||
</FrameLayout>
|
||||
<org.mozilla.gecko.home.HomeListView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/list"
|
||||
style="@style/Widget.TopSitesListView"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"/>
|
||||
|
|
Загрузка…
Ссылка в новой задаче