| Chunk |
|---|
| Conflicting content |
|---|
private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000;
/**
<<<<<<< HEAD
* Indicates that pivotX or pivotY were explicitly set and we should not assume the center
* for transform operations
*
* @hide
*/
private static final int PIVOT_EXPLICITLY_SET = 0x20000000;
/** {@hide} */
static final int ACTIVATED = 0x40000000;
=======
* Always allow a user to over-scroll this view, provided it is a
* view that can scroll.
*
* @see #getOverScrollMode()
* @see #setOverScrollMode(int)
*/
public static final int OVER_SCROLL_ALWAYS = 0;
/**
* Allow a user to over-scroll this view only if the content is large
* enough to meaningfully scroll, provided it is a view that can scroll.
*
* @see #getOverScrollMode()
* @see #setOverScrollMode(int)
*/
public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1;
/**
* Never allow a user to over-scroll this view.
*
* @see #getOverScrollMode()
* @see #setOverScrollMode(int)
*/
public static final int OVER_SCROLL_NEVER = 2;
/**
* Controls the over-scroll mode for this view.
* See {@link #overScrollBy(int, int, int, int, int, int, int, int, boolean)},
* {@link #OVER_SCROLL_ALWAYS}, {@link #OVER_SCROLL_IF_CONTENT_SCROLLS},
* and {@link #OVER_SCROLL_NEVER}.
*/
private int mOverScrollMode;
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
/**
* The parent this view is attached to. |
| Solution content |
|---|
private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000;
/**
* Indicates that pivotX or pivotY were explicitly set and we should not assume the center
* for transform operations
*
* @hide
*/
private static final int PIVOT_EXPLICITLY_SET = 0x20000000;
/** {@hide} */
static final int ACTIVATED = 0x40000000;
/**
* The parent this view is attached to. |
| File |
|---|
| View.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
mResources = context != null ? context.getResources() : null;
mViewFlags = SOUND_EFFECTS_ENABLED | HAPTIC_FEEDBACK_ENABLED;
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
<<<<<<< HEAD
=======
setOverScrollMode(OVER_SCROLL_IF_CONTENT_SCROLLS);
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
/** |
| Solution content |
|---|
mResources = context != null ? context.getResources() : null;
mViewFlags = SOUND_EFFECTS_ENABLED | HAPTIC_FEEDBACK_ENABLED;
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}
/** |
| File |
|---|
| View.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
int scrollbarStyle = SCROLLBARS_INSIDE_OVERLAY;
<<<<<<< HEAD
=======
int overScrollMode = mOverScrollMode;
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
final int N = a.getIndexCount();
for (int i = 0; i < N; i++) {
int attr = a.getIndex(i); |
| Solution content |
|---|
int scrollbarStyle = SCROLLBARS_INSIDE_OVERLAY;
final int N = a.getIndexCount();
for (int i = 0; i < N; i++) {
int attr = a.getIndex(i); |
| File |
|---|
| View.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
});
}
break;
<<<<<<< HEAD
}
}
=======
case R.styleable.View_overScrollMode:
overScrollMode = a.getInt(attr, OVER_SCROLL_IF_CONTENT_SCROLLS);
break;
}
}
setOverScrollMode(overScrollMode);
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
if (background != null) {
setBackgroundDrawable(background);
} |
| Solution content |
|---|
});
}
break;
}
}
if (background != null) {
setBackgroundDrawable(background);
} |
| File |
|---|
| View.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Break statement |
| Case statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
boolean isTouchEvent) {
}
/**
<<<<<<< HEAD
=======
* Scroll the view with standard behavior for scrolling beyond the normal
* content boundaries. Views that call this method should override
* {@link #onOverScrolled(int, int, boolean, boolean)} to respond to the
* results of an over-scroll operation.
*
* Views can use this method to handle any touch or fling-based scrolling.
*
* @param deltaX Change in X in pixels
* @param deltaY Change in Y in pixels
* @param scrollX Current X scroll value in pixels before applying deltaX
* @param scrollY Current Y scroll value in pixels before applying deltaY
* @param scrollRangeX Maximum content scroll range along the X axis
* @param scrollRangeY Maximum content scroll range along the Y axis
* @param maxOverScrollX Number of pixels to overscroll by in either direction
* along the X axis.
* @param maxOverScrollY Number of pixels to overscroll by in either direction
* along the Y axis.
* @param isTouchEvent true if this scroll operation is the result of a touch event.
* @return true if scrolling was clamped to an over-scroll boundary along either
* axis, false otherwise.
*/
protected boolean overScrollBy(int deltaX, int deltaY,
int scrollX, int scrollY,
int scrollRangeX, int scrollRangeY,
int maxOverScrollX, int maxOverScrollY,
/**
final int overScrollMode = mOverScrollMode;
final boolean canScrollHorizontal =
computeHorizontalScrollRange() > computeHorizontalScrollExtent();
final boolean canScrollVertical =
computeVerticalScrollRange() > computeVerticalScrollExtent();
final boolean overScrollHorizontal = overScrollMode == OVER_SCROLL_ALWAYS ||
(overScrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && canScrollHorizontal);
final boolean overScrollVertical = overScrollMode == OVER_SCROLL_ALWAYS ||
(overScrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && canScrollVertical);
int newScrollX = scrollX + deltaX;
if (!overScrollHorizontal) {
maxOverScrollX = 0;
}
int newScrollY = scrollY + deltaY;
if (!overScrollVertical) {
maxOverScrollY = 0;
}
// Clamp values if at the limits and record
final int left = -maxOverScrollX;
final int right = maxOverScrollX + scrollRangeX;
final int top = -maxOverScrollY;
final int bottom = maxOverScrollY + scrollRangeY;
boolean clampedX = false;
if (newScrollX > right) {
newScrollX = right;
clampedX = true;
} else if (newScrollX < left) {
newScrollX = left;
clampedX = true;
}
boolean clampedY = false;
if (newScrollY > bottom) {
newScrollY = bottom;
clampedY = true;
} else if (newScrollY < top) {
newScrollY = top;
clampedY = true;
}
onOverScrolled(newScrollX, newScrollY, clampedX, clampedY);
return clampedX || clampedY;
}
/**
* Called by {@link #overScrollBy(int, int, int, int, int, int, int, int, boolean)} to
* respond to the results of an over-scroll operation.
*
* @param scrollX New X scroll value in pixels
* @param scrollY New Y scroll value in pixels
* @param clampedX True if scrollX was clamped to an over-scroll boundary
* @param clampedY True if scrollY was clamped to an over-scroll boundary
*/
protected void onOverScrolled(int scrollX, int scrollY,
boolean clampedX, boolean clampedY) {
// Intentionally empty.
}
/**
* Returns the over-scroll mode for this view. The result will be
* one of {@link #OVER_SCROLL_ALWAYS} (default), {@link #OVER_SCROLL_IF_CONTENT_SCROLLS}
* (allow over-scrolling only if the view content is larger than the container),
* or {@link #OVER_SCROLL_NEVER}.
*
* @return This view's over-scroll mode.
*/
public int getOverScrollMode() {
return mOverScrollMode;
}
/**
* Set the over-scroll mode for this view. Valid over-scroll modes are
* {@link #OVER_SCROLL_ALWAYS} (default), {@link #OVER_SCROLL_IF_CONTENT_SCROLLS}
* (allow over-scrolling only if the view content is larger than the container),
* or {@link #OVER_SCROLL_NEVER}.
*
* Setting the over-scroll mode of a view will have an effect only if the
* view is capable of scrolling.
*
* @param overScrollMode The new over-scroll mode for this view.
*/
public void setOverScrollMode(int overScrollMode) {
if (overScrollMode != OVER_SCROLL_ALWAYS &&
overScrollMode != OVER_SCROLL_IF_CONTENT_SCROLLS &&
overScrollMode != OVER_SCROLL_NEVER) {
throw new IllegalArgumentException("Invalid overscroll mode " + overScrollMode);
}
mOverScrollMode = overScrollMode;
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
* A MeasureSpec encapsulates the layout requirements passed from parent to child.
* Each MeasureSpec represents a requirement for either the width or the height.
* A MeasureSpec is comprised of a size and a mode. There are three possible |
| Solution content |
|---|
}
/**
* A MeasureSpec encapsulates the layout requirements passed from parent to child.
* Each MeasureSpec represents a requirement for either the width or the height.
* A MeasureSpec is comprised of a size and a mode. There are three possible |
| File |
|---|
| View.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
DRAG_LAYER_INVERSE_DENSITY_SQUARED = 1 / (density * density);
}
<<<<<<< HEAD
/**
* Exposes accessibility APIs to JavaScript by appending them to the JavaScript
* interfaces map provided by the WebView client. In case of conflicting
* alias with the one of the accessibility API the user specified one wins.
*
* @param javascriptInterfaces A map with interfaces to be exposed to JavaScript.
*/
private void exposeAccessibilityJavaScriptApi(Map |
| Solution content |
|---|
DRAG_LAYER_INVERSE_DENSITY_SQUARED = 1 / (density * density);
}
/**
* Exposes accessibility APIs to JavaScript by appending them to the JavaScript
* interfaces map provided by the WebView client. In case of conflicting
* alias with the one of the accessibility API the user specified one wins.
*
* @param javascriptInterfaces A map with interfaces to be exposed to JavaScript.
*/
private void exposeAccessibilityJavaScriptApi(Map |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Attribute |
| Comment |
| If statement |
| Method invocation |
| Method signature |
| Return statement |
| Chunk |
|---|
| Conflicting content |
|---|
scrollBar.draw(canvas);
}
<<<<<<< HEAD
=======
@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX,
boolean clampedY) {
mInOverScrollMode = false;
int maxX = computeMaxScrollX();
if (maxX == 0) {
// do not over scroll x if the page just fits the screen
scrollX = pinLocX(scrollX);
} else if (scrollX < 0 || scrollX > maxX) {
mInOverScrollMode = true;
}
if (scrollY < 0 || scrollY > computeMaxScrollY()) {
mInOverScrollMode = true;
}
super.scrollTo(scrollX, scrollY);
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
/**
* Get the url for the current page. This is not always the same as the url
* passed to WebViewClient.onPageStarted because although the load for |
| Solution content |
|---|
scrollBar.draw(canvas);
}
/**
* Get the url for the current page. This is not always the same as the url
* passed to WebViewClient.onPageStarted because although the load for |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
if (mScroller.computeScrollOffset()) {
int oldX = mScrollX;
int oldY = mScrollY;
<<<<<<< HEAD
mScrollX = mScroller.getCurrX();
mScrollY = mScroller.getCurrY();
postInvalidate(); // So we draw again
if (oldX != mScrollX || oldY != mScrollY) {
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
} else {
abortAnimation();
mPrivateHandler.removeMessages(RESUME_WEBCORE_PRIORITY);
WebViewCore.resumePriority();
WebViewCore.resumeUpdatePicture(mWebViewCore);
=======
int x = mScroller.getCurrX();
int y = mScroller.getCurrY();
invalidate(); // So we draw again
if (oldX != x || oldY != y) {
final int rangeX = computeMaxScrollX();
final int rangeY = computeMaxScrollY();
overScrollBy(x - oldX, y - oldY, oldX, oldY,
rangeX, rangeY,
mOverflingDistance, mOverflingDistance, false);
if (mEdgeGlowTop != null) {
if (rangeY > 0 || getOverScrollMode() == OVER_SCROLL_ALWAYS) {
if (y < 0 && oldY >= 0) {
mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
if (!mEdgeGlowBottom.isFinished()) {
mEdgeGlowBottom.onRelease();
}
} else if (y > rangeY && oldY <= rangeY) {
mEdgeGlowBottom.onAbsorb((int) mScroller.getCurrVelocity());
if (!mEdgeGlowTop.isFinished()) {
mEdgeGlowTop.onRelease();
}
}
}
if (rangeX > 0) {
if (x < 0 && oldX >= 0) {
mEdgeGlowLeft.onAbsorb((int) mScroller.getCurrVelocity());
if (!mEdgeGlowRight.isFinished()) {
mEdgeGlowRight.onRelease();
}
} else if (x > rangeX && oldX <= rangeX) {
mEdgeGlowRight.onAbsorb((int) mScroller.getCurrVelocity());
if (!mEdgeGlowLeft.isFinished()) {
mEdgeGlowLeft.onRelease();
}
}
}
}
}
if (mScroller.isFinished()) {
mPrivateHandler.sendEmptyMessage(RESUME_WEBCORE_PRIORITY);
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
} else {
super.computeScroll(); |
| Solution content |
|---|
if (mScroller.computeScrollOffset()) {
int oldX = mScrollX;
int oldY = mScrollY;
mScrollX = mScroller.getCurrX();
mScrollY = mScroller.getCurrY();
postInvalidate(); // So we draw again
if (oldX != mScrollX || oldY != mScrollY) {
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
} else {
abortAnimation();
mPrivateHandler.removeMessages(RESUME_WEBCORE_PRIORITY);
WebViewCore.resumePriority();
WebViewCore.resumeUpdatePicture(mWebViewCore);
}
} else {
super.computeScroll(); |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
mHeldMotionless = MOTIONLESS_IGNORE;
doFling();
break;
<<<<<<< HEAD
=======
} else {
if (mScroller.springBack(mScrollX, mScrollY, 0,
computeMaxScrollX(), 0,
computeMaxScrollY())) {
invalidate();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
// redraw in high-quality, as we're done dragging
mHeldMotionless = MOTIONLESS_TRUE; |
| Solution content |
|---|
mHeldMotionless = MOTIONLESS_IGNORE;
doFling();
break;
}
// redraw in high-quality, as we're done dragging
mHeldMotionless = MOTIONLESS_TRUE; |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
}
case MotionEvent.ACTION_CANCEL: {
if (mTouchMode == TOUCH_DRAG_MODE) {
<<<<<<< HEAD
=======
mScroller.springBack(mScrollX, mScrollY, 0,
computeMaxScrollX(), 0, computeMaxScrollY());
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
invalidate();
}
cancelWebCoreTouchEvent(contentX, contentY, false); |
| Solution content |
|---|
}
case MotionEvent.ACTION_CANCEL: {
if (mTouchMode == TOUCH_DRAG_MODE) {
invalidate();
}
cancelWebCoreTouchEvent(contentX, contentY, false); |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
private void doDrag(int deltaX, int deltaY) {
if ((deltaX | deltaY) != 0) {
<<<<<<< HEAD
if (mTouchMode == TOUCH_DRAG_LAYER_MODE) {
deltaX = viewToContentDimension(deltaX);
deltaY = viewToContentDimension(deltaY);
if (nativeScrollLayer(mScrollingLayer, deltaX, deltaY)) {
invalidate();
=======
final int oldX = mScrollX;
final int oldY = mScrollY;
final int rangeX = computeMaxScrollX();
final int rangeY = computeMaxScrollY();
overScrollBy(deltaX, deltaY, oldX, oldY,
rangeX, rangeY,
mOverscrollDistance, mOverscrollDistance, true);
if (mEdgeGlowTop != null) {
// Don't show left/right glows if we fit the whole content.
if (rangeX > 0) {
final int pulledToX = oldX + deltaX;
if (pulledToX < 0) {
mEdgeGlowLeft.onPull((float) deltaX / getWidth());
if (!mEdgeGlowRight.isFinished()) {
mEdgeGlowRight.onRelease();
}
} else if (pulledToX > rangeX) {
mEdgeGlowRight.onPull((float) deltaX / getWidth());
if (!mEdgeGlowLeft.isFinished()) {
mEdgeGlowLeft.onRelease();
}
}
}
if (rangeY > 0 || getOverScrollMode() == OVER_SCROLL_ALWAYS) {
final int pulledToY = oldY + deltaY;
if (pulledToY < 0) {
mEdgeGlowTop.onPull((float) deltaY / getHeight());
if (!mEdgeGlowBottom.isFinished()) {
mEdgeGlowBottom.onRelease();
}
} else if (pulledToY > rangeY) {
mEdgeGlowBottom.onPull((float) deltaY / getHeight());
if (!mEdgeGlowTop.isFinished()) {
mEdgeGlowTop.onRelease();
}
}
}
}
}
if (!getSettings().getBuiltInZoomControls()) {
boolean showPlusMinus = mMinZoomScale < mMaxZoomScale;
if (mZoomControls != null && showPlusMinus) {
if (mZoomControls.getVisibility() == View.VISIBLE) {
mPrivateHandler.removeCallbacks(mZoomControlRunnable);
} else {
mZoomControls.show(showPlusMinus, false);
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
return;
} |
| Solution content |
|---|
private void doDrag(int deltaX, int deltaY) {
if ((deltaX | deltaY) != 0) {
if (mTouchMode == TOUCH_DRAG_LAYER_MODE) {
deltaX = viewToContentDimension(deltaX);
deltaY = viewToContentDimension(deltaY);
if (nativeScrollLayer(mScrollingLayer, deltaX, deltaY)) {
invalidate();
}
return;
} |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
if ((maxX == 0 && vy == 0) || (maxY == 0 && vx == 0)) {
WebViewCore.resumePriority();
WebViewCore.resumeUpdatePicture(mWebViewCore);
<<<<<<< HEAD
=======
if (mScroller.springBack(mScrollX, mScrollY, 0, computeMaxScrollX(),
0, computeMaxScrollY())) {
invalidate();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
return;
}
float currentVelocity = mScroller.getCurrVelocity(); |
| Solution content |
|---|
if ((maxX == 0 && vy == 0) || (maxY == 0 && vx == 0)) {
WebViewCore.resumePriority();
WebViewCore.resumeUpdatePicture(mWebViewCore);
return;
}
float currentVelocity = mScroller.getCurrVelocity(); |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
case MotionEvent.ACTION_CANCEL:
if (mDeferTouchMode == TOUCH_DRAG_MODE) {
// no fling in defer process
<<<<<<< HEAD
=======
mScroller.springBack(mScrollX, mScrollY, 0,
computeMaxScrollX(), 0,
computeMaxScrollY());
invalidate();
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
WebViewCore.resumePriority();
WebViewCore.resumeUpdatePicture(mWebViewCore);
} |
| Solution content |
|---|
case MotionEvent.ACTION_CANCEL:
if (mDeferTouchMode == TOUCH_DRAG_MODE) {
// no fling in defer process
WebViewCore.resumePriority();
WebViewCore.resumeUpdatePicture(mWebViewCore);
} |
| File |
|---|
| WebView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
* {@inheritDoc}
*/
@Override
<<<<<<< HEAD
public void setAdapter(ListAdapter adapter) {
if (adapter != null) {
if (mChoiceMode != CHOICE_MODE_NONE && mAdapter.hasStableIds() &&
mCheckedIdStates == null) {
mCheckedIdStates = new LongSparseArray |
| Solution content |
|---|
public long[] getCheckedItemIds() {
* {@inheritDoc}
*/
@Override
public void setAdapter(ListAdapter adapter) {
if (adapter != null) {
if (mChoiceMode != CHOICE_MODE_NONE && mAdapter.hasStableIds() &&
mCheckedIdStates == null) {
mCheckedIdStates = new LongSparseArray |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Comment |
| If statement |
| Method declaration |
| Method invocation |
| Method signature |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
rememberSyncState();
requestLayout();
}
<<<<<<< HEAD
}
@Override
public boolean performItemClick(View view, int position, long id) {
boolean handled = false;
if (mChoiceMode != CHOICE_MODE_NONE) {
handled = true;
if (mChoiceMode == CHOICE_MODE_MULTIPLE ||
(mChoiceMode == CHOICE_MODE_MULTIPLE_MODAL && mChoiceActionMode != null)) {
boolean newValue = !mCheckStates.get(position, false);
mCheckStates.put(position, newValue);
if (mCheckedIdStates != null && mAdapter.hasStableIds()) {
if (newValue) {
mCheckedIdStates.put(mAdapter.getItemId(position), Boolean.TRUE);
} else {
mCheckedIdStates.delete(mAdapter.getItemId(position));
}
}
if (newValue) {
mCheckedItemCount++;
} else {
mCheckedItemCount--;
}
if (mChoiceActionMode != null) {
mMultiChoiceModeCallback.onItemCheckedStateChanged(mChoiceActionMode,
position, id, newValue);
}
} else if (mChoiceMode == CHOICE_MODE_SINGLE) {
boolean newValue = !mCheckStates.get(position, false);
if (newValue) {
mCheckStates.clear();
mCheckStates.put(position, true);
if (mCheckedIdStates != null && mAdapter.hasStableIds()) {
mCheckedIdStates.clear();
mCheckedIdStates.put(mAdapter.getItemId(position), Boolean.TRUE);
}
mCheckedItemCount = 1;
} else if (mCheckStates.size() == 0 || !mCheckStates.valueAt(0)) {
mCheckedItemCount = 0;
}
}
mDataChanged = true;
rememberSyncState();
requestLayout();
}
handled |= super.performItemClick(view, position, id);
return handled;
=======
super.setOverScrollMode(mode);
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
/** |
| Solution content |
|---|
rememberSyncState();
requestLayout();
}
}
@Override
public boolean performItemClick(View view, int position, long id) {
boolean handled = false;
if (mChoiceMode != CHOICE_MODE_NONE) {
handled = true;
if (mChoiceMode == CHOICE_MODE_MULTIPLE ||
(mChoiceMode == CHOICE_MODE_MULTIPLE_MODAL && mChoiceActionMode != null)) {
boolean newValue = !mCheckStates.get(position, false);
mCheckStates.put(position, newValue);
if (mCheckedIdStates != null && mAdapter.hasStableIds()) {
if (newValue) {
mCheckedIdStates.put(mAdapter.getItemId(position), Boolean.TRUE);
} else {
mCheckedIdStates.delete(mAdapter.getItemId(position));
}
}
if (newValue) {
mCheckedItemCount++;
} else {
mCheckedItemCount--;
}
if (mChoiceActionMode != null) {
mMultiChoiceModeCallback.onItemCheckedStateChanged(mChoiceActionMode,
position, id, newValue);
}
} else if (mChoiceMode == CHOICE_MODE_SINGLE) {
boolean newValue = !mCheckStates.get(position, false);
if (newValue) {
mCheckStates.clear();
mCheckStates.put(position, true);
if (mCheckedIdStates != null && mAdapter.hasStableIds()) {
mCheckedIdStates.clear();
mCheckedIdStates.put(mAdapter.getItemId(position), Boolean.TRUE);
}
mCheckedItemCount = 1;
} else if (mCheckStates.size() == 0 || !mCheckStates.valueAt(0)) {
mCheckedItemCount = 0;
}
}
mDataChanged = true;
rememberSyncState();
requestLayout();
}
handled |= super.performItemClick(view, position, id);
return handled;
}
/** |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| If statement |
| Method invocation |
| Method signature |
| Return statement |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
}
// Check to see if we have bumped into the scroll limit
<<<<<<< HEAD
if (atEdge && getChildCount() > 0) {
// Treat this like we're starting a new scroll from the current
// position. This will let the user start scrolling back into
// content immediately rather than needing to scroll back to the
// point where they hit the limit first.
int motionPosition = findMotionRow(y);
if (motionPosition >= 0) {
final View motionView = getChildAt(motionPosition - mFirstPosition);
mMotionViewOriginalTop = motionView.getTop();
=======
motionView = this.getChildAt(motionIndex);
if (motionView != null) {
// Check if the top of the motion view is where it is
// supposed to be
final int motionViewRealTop = motionView.getTop();
if (atEdge) {
// Apply overscroll
int overscroll = -incrementalDeltaY -
(motionViewRealTop - motionViewPrevTop);
overScrollBy(0, overscroll, 0, mScrollY, 0, 0,
0, mOverscrollDistance, true);
if (Math.abs(mOverscrollDistance) == Math.abs(mScrollY)) {
// Don't allow overfling if we're at the edge.
mVelocityTracker.clear();
}
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
!contentFits())) {
mDirection = 0; // Reset when entering overscroll.
mTouchMode = TOUCH_MODE_OVERSCROLL;
if (rawDeltaY > 0) {
mEdgeGlowTop.onPull((float) overscroll / getHeight());
} else if (rawDeltaY < 0) {
mEdgeGlowBottom.onPull((float) overscroll / getHeight());
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
mMotionY = y;
mMotionPosition = motionPosition; |
| Solution content |
|---|
}
// Check to see if we have bumped into the scroll limit
if (atEdge && getChildCount() > 0) {
// Treat this like we're starting a new scroll from the current
// position. This will let the user start scrolling back into
// content immediately rather than needing to scroll back to the
// point where they hit the limit first.
int motionPosition = findMotionRow(y);
if (motionPosition >= 0) {
final View motionView = getChildAt(motionPosition - mFirstPosition);
mMotionViewOriginalTop = motionView.getTop();
}
mMotionY = y;
mMotionPosition = motionPosition; |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Comment |
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
mLastY = y;
}
break;
<<<<<<< HEAD
=======
case TOUCH_MODE_OVERSCROLL:
if (y != mLastY) {
final int rawDeltaY = deltaY;
deltaY -= mMotionCorrection;
int incrementalDeltaY = mLastY != Integer.MIN_VALUE ? y - mLastY : deltaY;
final int oldScroll = mScrollY;
final int newScroll = oldScroll - incrementalDeltaY;
int newDirection = y > mLastY ? 1 : -1;
if (mDirection == 0) {
mDirection = newDirection;
}
if (mDirection != newDirection) {
// Coming back to 'real' list scrolling
incrementalDeltaY = -newScroll;
mScrollY = 0;
// No need to do all this work if we're not going to move anyway
if (incrementalDeltaY != 0) {
trackMotionScroll(incrementalDeltaY, incrementalDeltaY);
}
// Check to see if we are back in
View motionView = this.getChildAt(mMotionPosition - mFirstPosition);
if (motionView != null) {
mTouchMode = TOUCH_MODE_SCROLL;
// We did not scroll the full amount. Treat this essentially like the
// start of a new touch scroll
final int motionPosition = findClosestMotionRow(y);
mMotionCorrection = 0;
motionView = getChildAt(motionPosition - mFirstPosition);
mMotionViewOriginalTop = motionView.getTop();
mMotionY = y;
mMotionPosition = motionPosition;
}
} else {
overScrollBy(0, -incrementalDeltaY, 0, mScrollY, 0, 0,
0, mOverscrollDistance, true);
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
!contentFits())) {
if (rawDeltaY > 0) {
mEdgeGlowTop.onPull((float) -incrementalDeltaY / getHeight());
} else if (rawDeltaY < 0) {
mEdgeGlowBottom.onPull((float) -incrementalDeltaY / getHeight());
}
invalidate();
}
if (Math.abs(mOverscrollDistance) == Math.abs(mScrollY)) {
// Don't allow overfling if we're at the edge.
mVelocityTracker.clear();
}
}
mLastY = y;
mDirection = newDirection;
}
break;
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
break; |
| Solution content |
|---|
mLastY = y;
}
break;
}
break; |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Break statement |
| Case statement |
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
}
@Override
<<<<<<< HEAD
=======
protected void onOverScrolled(int scrollX, int scrollY,
boolean clampedX, boolean clampedY) {
mScrollY = scrollY;
if (clampedY) {
// Velocity is broken by hitting the limit; don't start a fling off of this.
if (mVelocityTracker != null) {
mVelocityTracker.clear();
}
}
awakenScrollBars();
}
@Override
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
public void draw(Canvas canvas) {
super.draw(canvas);
if (mFastScroller != null) { |
| Solution content |
|---|
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
if (mFastScroller != null) { |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
}
}
<<<<<<< HEAD
=======
void startSpringback() {
if (mScroller.springBack(0, mScrollY, 0, 0, 0, 0)) {
mTouchMode = TOUCH_MODE_OVERFLING;
invalidate();
post(this);
} else {
mTouchMode = TOUCH_MODE_REST;
}
}
void startOverfling(int initialVelocity) {
final int min = mScrollY > 0 ? Integer.MIN_VALUE : 0;
final int max = mScrollY > 0 ? 0 : Integer.MAX_VALUE;
mScroller.fling(0, mScrollY, 0, initialVelocity, 0, 0, min, max, 0, getHeight());
mTouchMode = TOUCH_MODE_OVERFLING;
invalidate();
post(this);
}
void edgeReached(int delta) {
mScroller.notifyVerticalEdgeReached(mScrollY, 0, mOverflingDistance);
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && !contentFits())) {
mTouchMode = TOUCH_MODE_OVERFLING;
final int vel = (int) mScroller.getCurrVelocity();
if (delta > 0) {
mEdgeGlowTop.onAbsorb(vel);
} else {
mEdgeGlowBottom.onAbsorb(vel);
}
}
invalidate();
post(this);
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
void startScroll(int distance, int duration) {
int initialY = distance < 0 ? Integer.MAX_VALUE : 0;
mLastFlingY = initialY; |
| Solution content |
|---|
}
}
void startScroll(int distance, int duration) {
int initialY = distance < 0 ? Integer.MAX_VALUE : 0;
mLastFlingY = initialY; |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
}
final boolean atEnd = trackMotionScroll(delta, delta);
<<<<<<< HEAD
=======
if (atEnd) {
if (motionView != null) {
// Tweak the scroll for how far we overshot
int overshoot = -(delta - (motionView.getTop() - oldTop));
overScrollBy(0, overshoot, 0, mScrollY, 0, 0,
0, mOverflingDistance, false);
}
edgeReached(delta);
break;
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
if (more && !atEnd) {
invalidate(); |
| Solution content |
|---|
}
final boolean atEnd = trackMotionScroll(delta, delta);
if (more && !atEnd) {
invalidate(); |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
}
break;
}
<<<<<<< HEAD
=======
case TOUCH_MODE_OVERFLING: {
final OverScroller scroller = mScroller;
if (scroller.computeScrollOffset()) {
final int scrollY = mScrollY;
final int deltaY = scroller.getCurrY() - scrollY;
if (overScrollBy(0, deltaY, 0, scrollY, 0, 0,
0, mOverflingDistance, false)) {
startSpringback();
} else {
invalidate();
post(this);
}
} else {
endFling();
}
break;
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
} |
| Solution content |
|---|
}
break;
}
}
} |
| File |
|---|
| AbsListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Break statement |
| Case statement |
| If statement |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
/* Release the drag */
mIsBeingDragged = false;
mActivePointerId = INVALID_POINTER;
<<<<<<< HEAD
=======
if (mScroller.springBack(mScrollX, mScrollY, 0, getScrollRange(), 0, 0)) {
invalidate();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
break;
case MotionEvent.ACTION_POINTER_UP:
onSecondaryPointerUp(ev); |
| Solution content |
|---|
/* Release the drag */
mIsBeingDragged = false;
mActivePointerId = INVALID_POINTER;
break;
case MotionEvent.ACTION_POINTER_UP:
onSecondaryPointerUp(ev); |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
final int deltaX = (int) (mLastMotionX - x);
mLastMotionX = x;
<<<<<<< HEAD
scrollBy(deltaX, 0);
=======
final int oldX = mScrollX;
final int oldY = mScrollY;
final int range = getScrollRange();
if (overScrollBy(deltaX, 0, mScrollX, 0, range, 0,
mOverscrollDistance, 0, true)) {
// Break our velocity if we hit a scroll barrier.
mVelocityTracker.clear();
}
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
final int pulledToX = oldX + deltaX;
if (pulledToX < 0) {
mEdgeGlowLeft.onPull((float) deltaX / getWidth());
} else if (pulledToX > range) {
mEdgeGlowRight.onPull((float) deltaX / getWidth());
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
break;
case MotionEvent.ACTION_UP: |
| Solution content |
|---|
final int deltaX = (int) (mLastMotionX - x);
mLastMotionX = x;
scrollBy(deltaX, 0);
}
break;
case MotionEvent.ACTION_UP: |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
int initialVelocity = (int) velocityTracker.getXVelocity(mActivePointerId);
<<<<<<< HEAD
if (getChildCount() > 0 && Math.abs(initialVelocity) > mMinimumVelocity) {
fling(-initialVelocity);
=======
if (getChildCount() > 0) {
if ((Math.abs(initialVelocity) > mMinimumVelocity)) {
fling(-initialVelocity);
} else {
final int right = getScrollRange();
if (mScroller.springBack(mScrollX, mScrollY, 0, right, 0, 0)) {
invalidate();
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
mActivePointerId = INVALID_POINTER; |
| Solution content |
|---|
velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
int initialVelocity = (int) velocityTracker.getXVelocity(mActivePointerId);
if (getChildCount() > 0 && Math.abs(initialVelocity) > mMinimumVelocity) {
fling(-initialVelocity);
}
mActivePointerId = INVALID_POINTER; |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
break;
case MotionEvent.ACTION_CANCEL:
if (mIsBeingDragged && getChildCount() > 0) {
<<<<<<< HEAD
=======
if (mScroller.springBack(mScrollX, mScrollY, 0, getScrollRange(), 0, 0)) {
invalidate();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
mActivePointerId = INVALID_POINTER;
mIsBeingDragged = false;
if (mVelocityTracker != null) { |
| Solution content |
|---|
break;
case MotionEvent.ACTION_CANCEL:
if (mIsBeingDragged && getChildCount() > 0) {
mActivePointerId = INVALID_POINTER;
mIsBeingDragged = false;
if (mVelocityTracker != null) { |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
}
}
<<<<<<< HEAD
=======
@Override
protected void onOverScrolled(int scrollX, int scrollY,
boolean clampedX, boolean clampedY) {
// Treat animating scrolls differently; see #computeScroll() for why.
if (!mScroller.isFinished()) {
mScrollX = scrollX;
mScrollY = scrollY;
if (clampedX) {
mScroller.springBack(mScrollX, mScrollY, 0, getScrollRange(), 0, 0);
}
} else {
super.scrollTo(scrollX, scrollY);
}
awakenScrollBars();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
private int getScrollRange() {
int scrollRange = 0;
if (getChildCount() > 0) { |
| Solution content |
|---|
}
}
private int getScrollRange() {
int scrollRange = 0;
if (getChildCount() > 0) { |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
int x = mScroller.getCurrX();
int y = mScroller.getCurrY();
<<<<<<< HEAD
if (getChildCount() > 0) {
View child = getChildAt(0);
x = clamp(x, getWidth() - mPaddingRight - mPaddingLeft, child.getWidth());
y = clamp(y, getHeight() - mPaddingBottom - mPaddingTop, child.getHeight());
if (x != oldX || y != oldY) {
mScrollX = x;
mScrollY = y;
onScrollChanged(x, y, oldX, oldY);
=======
if (oldX != x || oldY != y) {
overScrollBy(x - oldX, y - oldY, oldX, oldY, getScrollRange(), 0,
mOverflingDistance, 0, false);
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
final int range = getScrollRange();
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
if (x < 0 && oldX >= 0) {
mEdgeGlowLeft.onAbsorb((int) mScroller.getCurrVelocity());
} else if (x > range && oldX <= range) {
mEdgeGlowRight.onAbsorb((int) mScroller.getCurrVelocity());
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
}
awakenScrollBars(); |
| Solution content |
|---|
int x = mScroller.getCurrX();
int y = mScroller.getCurrY();
if (getChildCount() > 0) {
View child = getChildAt(0);
x = clamp(x, getWidth() - mPaddingRight - mPaddingLeft, child.getWidth());
y = clamp(y, getHeight() - mPaddingBottom - mPaddingTop, child.getHeight());
if (x != oldX || y != oldY) {
mScrollX = x;
mScrollY = y;
onScrollChanged(x, y, oldX, oldY);
}
}
awakenScrollBars(); |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
}
}
<<<<<<< HEAD
=======
@Override
public void setOverScrollMode(int mode) {
if (mode != OVER_SCROLL_NEVER) {
if (mEdgeGlowLeft == null) {
final Resources res = getContext().getResources();
final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
final Drawable glow = res.getDrawable(R.drawable.overscroll_glow);
mEdgeGlowLeft = new EdgeGlow(edge, glow);
mEdgeGlowRight = new EdgeGlow(edge, glow);
}
} else {
mEdgeGlowLeft = null;
mEdgeGlowRight = null;
}
super.setOverScrollMode(mode);
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
if (mEdgeGlowLeft != null) {
final int scrollX = mScrollX;
if (!mEdgeGlowLeft.isFinished()) {
final int restoreCount = canvas.save();
final int height = getHeight();
canvas.rotate(270);
canvas.translate(-height * 1.5f, Math.min(0, scrollX));
mEdgeGlowLeft.setSize(getHeight() * 2, getWidth());
if (mEdgeGlowLeft.draw(canvas)) {
invalidate();
}
canvas.restoreToCount(restoreCount);
}
if (!mEdgeGlowRight.isFinished()) {
final int restoreCount = canvas.save();
final int width = getWidth();
final int height = getHeight();
canvas.rotate(90);
canvas.translate(-height / 2, -(Math.max(getScrollRange(), scrollX) + width));
mEdgeGlowRight.setSize(height * 2, width);
if (mEdgeGlowRight.draw(canvas)) {
invalidate();
}
canvas.restoreToCount(restoreCount);
}
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
private int clamp(int n, int my, int child) {
if (my >= child || n < 0) {
return 0; |
| Solution content |
|---|
}
}
private int clamp(int n, int my, int child) {
if (my >= child || n < 0) {
return 0; |
| File |
|---|
| HorizontalScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
Drawable mDivider;
int mDividerHeight;
<<<<<<< HEAD
=======
Drawable mOverScrollHeader;
Drawable mOverScrollFooter;
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
private boolean mIsCacheColorOpaque;
private boolean mDividerIsOpaque;
|
| Solution content |
|---|
Drawable mDivider;
int mDividerHeight;
private boolean mIsCacheColorOpaque;
private boolean mDividerIsOpaque;
|
| File |
|---|
| ListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Chunk |
|---|
| Conflicting content |
|---|
setDivider(d);
}
<<<<<<< HEAD
=======
final Drawable osHeader = a.getDrawable(
com.android.internal.R.styleable.ListView_overScrollHeader);
if (osHeader != null) {
setOverscrollHeader(osHeader);
}
final Drawable osFooter = a.getDrawable(
com.android.internal.R.styleable.ListView_overScrollFooter);
if (osFooter != null) {
setOverscrollFooter(osFooter);
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
// Use the height specified, zero being the default
final int dividerHeight = a.getDimensionPixelSize(
com.android.internal.R.styleable.ListView_dividerHeight, 0); |
| Solution content |
|---|
setDivider(d);
}
// Use the height specified, zero being the default
final int dividerHeight = a.getDimensionPixelSize(
com.android.internal.R.styleable.ListView_dividerHeight, 0); |
| File |
|---|
| ListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
protected void dispatchDraw(Canvas canvas) {
// Draw the dividers
final int dividerHeight = mDividerHeight;
<<<<<<< HEAD
=======
final Drawable overscrollHeader = mOverScrollHeader;
final Drawable overscrollFooter = mOverScrollFooter;
final boolean drawOverscrollHeader = overscrollHeader != null;
final boolean drawOverscrollFooter = overscrollFooter != null;
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
final boolean drawDividers = dividerHeight > 0 && mDivider != null;
if (drawDividers) { |
| Solution content |
|---|
protected void dispatchDraw(Canvas canvas) {
// Draw the dividers
final int dividerHeight = mDividerHeight;
final boolean drawDividers = dividerHeight > 0 && mDivider != null;
if (drawDividers) { |
| File |
|---|
| ListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
invalidate();
}
<<<<<<< HEAD
=======
/**
* Sets the drawable that will be drawn above all other list content.
* This area can become visible when the user overscrolls the list.
*
* @param header The drawable to use
*/
public void setOverscrollHeader(Drawable header) {
mOverScrollHeader = header;
if (mScrollY < 0) {
invalidate();
}
}
/**
* @return The drawable that will be drawn above all other list content
*/
public Drawable getOverscrollHeader() {
return mOverScrollHeader;
}
/**
* Sets the drawable that will be drawn below all other list content.
* This area can become visible when the user overscrolls the list,
* or when the list's content does not fully fill the container area.
*
* @param footer The drawable to use
*/
public void setOverscrollFooter(Drawable footer) {
mOverScrollFooter = footer;
invalidate();
}
/**
* @return The drawable that will be drawn below all other list content
*/
public Drawable getOverscrollFooter() {
return mOverScrollFooter;
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
@Override
protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
super.onFocusChanged(gainFocus, direction, previouslyFocusedRect); |
| Solution content |
|---|
invalidate();
}
@Override
protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
super.onFocusChanged(gainFocus, direction, previouslyFocusedRect); |
| File |
|---|
| ListView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
/* Release the drag */
mIsBeingDragged = false;
mActivePointerId = INVALID_POINTER;
<<<<<<< HEAD
=======
if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, getScrollRange())) {
invalidate();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
break;
case MotionEvent.ACTION_POINTER_UP:
onSecondaryPointerUp(ev); |
| Solution content |
|---|
/* Release the drag */
mIsBeingDragged = false;
mActivePointerId = INVALID_POINTER;
break;
case MotionEvent.ACTION_POINTER_UP:
onSecondaryPointerUp(ev); |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
final int deltaY = (int) (mLastMotionY - y);
mLastMotionY = y;
<<<<<<< HEAD
scrollBy(0, deltaY);
=======
final int oldX = mScrollX;
final int oldY = mScrollY;
final int range = getScrollRange();
if (overScrollBy(0, deltaY, 0, mScrollY, 0, range,
0, mOverscrollDistance, true)) {
// Break our velocity if we hit a scroll barrier.
mVelocityTracker.clear();
}
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
final int pulledToY = oldY + deltaY;
if (pulledToY < 0) {
mEdgeGlowTop.onPull((float) deltaY / getHeight());
} else if (pulledToY > range) {
mEdgeGlowBottom.onPull((float) deltaY / getHeight());
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
break;
case MotionEvent.ACTION_UP: |
| Solution content |
|---|
final int deltaY = (int) (mLastMotionY - y);
mLastMotionY = y;
scrollBy(0, deltaY);
}
break;
case MotionEvent.ACTION_UP: |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
int initialVelocity = (int) velocityTracker.getYVelocity(mActivePointerId);
<<<<<<< HEAD
if (getChildCount() > 0 && Math.abs(initialVelocity) > mMinimumVelocity) {
fling(-initialVelocity);
=======
if (getChildCount() > 0) {
if ((Math.abs(initialVelocity) > mMinimumVelocity)) {
fling(-initialVelocity);
} else {
final int bottom = getScrollRange();
if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, bottom)) {
invalidate();
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
mActivePointerId = INVALID_POINTER; |
| Solution content |
|---|
velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
int initialVelocity = (int) velocityTracker.getYVelocity(mActivePointerId);
if (getChildCount() > 0 && Math.abs(initialVelocity) > mMinimumVelocity) {
fling(-initialVelocity);
}
mActivePointerId = INVALID_POINTER; |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
break;
case MotionEvent.ACTION_CANCEL:
if (mIsBeingDragged && getChildCount() > 0) {
<<<<<<< HEAD
=======
if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, getScrollRange())) {
invalidate();
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
mActivePointerId = INVALID_POINTER;
mIsBeingDragged = false;
if (mVelocityTracker != null) { |
| Solution content |
|---|
break;
case MotionEvent.ACTION_CANCEL:
if (mIsBeingDragged && getChildCount() > 0) {
mActivePointerId = INVALID_POINTER;
mIsBeingDragged = false;
if (mVelocityTracker != null) { |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
}
}
<<<<<<< HEAD
=======
@Override
protected void onOverScrolled(int scrollX, int scrollY,
boolean clampedX, boolean clampedY) {
// Treat animating scrolls differently; see #computeScroll() for why.
if (!mScroller.isFinished()) {
mScrollX = scrollX;
mScrollY = scrollY;
if (clampedY) {
mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, getScrollRange());
}
} else {
super.scrollTo(scrollX, scrollY);
}
awakenScrollBars();
}
private int getScrollRange() {
int scrollRange = 0;
if (getChildCount() > 0) {
View child = getChildAt(0);
scrollRange = Math.max(0,
child.getHeight() - (getHeight() - mPaddingBottom - mPaddingTop));
}
return scrollRange;
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
/**
* |
| Solution content |
|---|
}
}
/**
* |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
int x = mScroller.getCurrX();
int y = mScroller.getCurrY();
<<<<<<< HEAD
if (getChildCount() > 0) {
View child = getChildAt(0);
x = clamp(x, getWidth() - mPaddingRight - mPaddingLeft, child.getWidth());
y = clamp(y, getHeight() - mPaddingBottom - mPaddingTop, child.getHeight());
if (x != oldX || y != oldY) {
mScrollX = x;
mScrollY = y;
onScrollChanged(x, y, oldX, oldY);
=======
if (oldX != x || oldY != y) {
overScrollBy(x - oldX, y - oldY, oldX, oldY, 0, getScrollRange(),
0, mOverflingDistance, false);
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
final int range = getScrollRange();
final int overscrollMode = getOverScrollMode();
if (overscrollMode == OVER_SCROLL_ALWAYS ||
(overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0)) {
if (y < 0 && oldY >= 0) {
mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
} else if (y > range && oldY <= range) {
mEdgeGlowBottom.onAbsorb((int) mScroller.getCurrVelocity());
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
}
}
awakenScrollBars(); |
| Solution content |
|---|
int x = mScroller.getCurrX();
int y = mScroller.getCurrY();
if (getChildCount() > 0) {
View child = getChildAt(0);
x = clamp(x, getWidth() - mPaddingRight - mPaddingLeft, child.getWidth());
y = clamp(y, getHeight() - mPaddingBottom - mPaddingTop, child.getHeight());
if (x != oldX || y != oldY) {
mScrollX = x;
mScrollY = y;
onScrollChanged(x, y, oldX, oldY);
}
}
awakenScrollBars(); |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
}
}
<<<<<<< HEAD
=======
@Override
public void setOverScrollMode(int mode) {
if (mode != OVER_SCROLL_NEVER) {
if (mEdgeGlowTop == null) {
final Resources res = getContext().getResources();
final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
final Drawable glow = res.getDrawable(R.drawable.overscroll_glow);
mEdgeGlowTop = new EdgeGlow(edge, glow);
mEdgeGlowBottom = new EdgeGlow(edge, glow);
}
} else {
mEdgeGlowTop = null;
mEdgeGlowBottom = null;
}
super.setOverScrollMode(mode);
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
if (mEdgeGlowTop != null) {
final int scrollY = mScrollY;
if (!mEdgeGlowTop.isFinished()) {
final int restoreCount = canvas.save();
final int width = getWidth();
canvas.translate(-width / 2, Math.min(0, scrollY));
mEdgeGlowTop.setSize(width * 2, getHeight());
if (mEdgeGlowTop.draw(canvas)) {
invalidate();
}
canvas.restoreToCount(restoreCount);
}
if (!mEdgeGlowBottom.isFinished()) {
final int restoreCount = canvas.save();
final int width = getWidth();
final int height = getHeight();
canvas.translate(-width / 2, Math.max(getScrollRange(), scrollY) + height);
canvas.rotate(180, width, 0);
mEdgeGlowBottom.setSize(width * 2, height);
if (mEdgeGlowBottom.draw(canvas)) {
invalidate();
}
canvas.restoreToCount(restoreCount);
}
}
}
>>>>>>> ee7e0efcc1314b994ba70d91f6e8fa951044c916
private int clamp(int n, int my, int child) {
if (my >= child || n < 0) {
/* my >= child is this case: |
| Solution content |
|---|
}
}
private int clamp(int n, int my, int child) {
if (my >= child || n < 0) {
/* my >= child is this case: |
| File |
|---|
| ScrollView.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |