Merge "Fix 6441282: confine search gesture region on tablet navbar" into jb-dev

This commit is contained in:
Jim Miller
2012-05-17 21:00:32 -07:00
committed by Android (Google) Code Review
2 changed files with 25 additions and 7 deletions

View File

@@ -33,11 +33,7 @@ public class DelegateViewHelper {
private float mTriggerThreshhold; private float mTriggerThreshhold;
public DelegateViewHelper(View sourceView) { public DelegateViewHelper(View sourceView) {
mSourceView = sourceView; setSourceView(sourceView);
if (mSourceView != null) {
mTriggerThreshhold = mSourceView.getContext().getResources()
.getDimension(R.dimen.navbar_search_up_threshhold);
}
} }
public void setDelegateView(View view) { public void setDelegateView(View view) {
@@ -92,4 +88,12 @@ public class DelegateViewHelper {
} }
return false; return false;
} }
public void setSourceView(View view) {
mSourceView = view;
if (mSourceView != null) {
mTriggerThreshhold = mSourceView.getContext().getResources()
.getDimension(R.dimen.navbar_search_up_threshhold);
}
}
} }

View File

@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.tablet; package com.android.systemui.statusbar.tablet;
import com.android.systemui.R;
import com.android.systemui.statusbar.BaseStatusBar; import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.statusbar.DelegateViewHelper; import com.android.systemui.statusbar.DelegateViewHelper;
@@ -37,8 +38,7 @@ public class TabletStatusBarView extends FrameLayout {
private DelegateViewHelper mDelegateHelper; private DelegateViewHelper mDelegateHelper;
public TabletStatusBarView(Context context) { public TabletStatusBarView(Context context) {
super(context); this(context, null);
mDelegateHelper = new DelegateViewHelper(this);
} }
public TabletStatusBarView(Context context, AttributeSet attrs) { public TabletStatusBarView(Context context, AttributeSet attrs) {
@@ -54,6 +54,20 @@ public class TabletStatusBarView extends FrameLayout {
mDelegateHelper.setBar(phoneStatusBar); mDelegateHelper.setBar(phoneStatusBar);
} }
@Override
protected void onFinishInflate() {
super.onFinishInflate();
// Find the view we wish to grab events from in order to detect search gesture.
// Depending on the device, this will be one of the id's listed below.
// If we don't find one, we'll use the view provided in the constructor above (this view).
View view = null;
if ((view = findViewById(R.id.navigationArea)) != null) {
mDelegateHelper.setSourceView(view);
} else if ((view = findViewById(R.id.nav_buttons)) != null) {
mDelegateHelper.setSourceView(view);
}
}
@Override @Override
public boolean onInterceptTouchEvent(MotionEvent ev) { public boolean onInterceptTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) { if (ev.getAction() == MotionEvent.ACTION_DOWN) {