Loading app/src/main/java/com/android/calendar/DayView.java +10 −2 Original line number Diff line number Diff line Loading @@ -4762,16 +4762,24 @@ public class DayView extends View implements View.OnCreateContextMenuListener, // If there are any events in the selected region, then assign the // closest one to mSelectedEvent. if (mSelectedEvents.size() > 0) { if (!mSelectedEvents.isEmpty()) { int len = mSelectedEvents.size(); Event closestEvent = null; float minDist = mViewWidth + mViewHeight; // some large distance float maxCol = -99999; for (int index = 0; index < len; index++) { Event ev = mSelectedEvents.get(index); // dist will yield 0.0 for all events overlapping each other. // In order to select the correct one we use the topmost event (i.e. the one with // the highest col value! float dist = geometry.pointToEvent(x, y, ev); if (dist < minDist) { float col = ev.getColumn(); if (dist <= minDist && col > maxCol) { minDist = dist; closestEvent = ev; maxCol = col; } } setSelectedEvent(closestEvent); Loading app/src/main/java/com/android/calendar/EventGeometry.java +8 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,11 @@ public class EventGeometry { private float mMinuteHeight; // How many pixels is each column set off from the // very left of column 0? // This is used to enable stacked parallel events. private static final float mPerColMargin = 32; private float mHourGap; private float mMinEventHeight; Loading Loading @@ -97,8 +102,9 @@ public class EventGeometry { event.bottom = event.top + mMinEventHeight; } float colWidth = (float) (cellWidth - (maxCols + 1) * mCellMargin) / (float) maxCols; event.left = left + col * (colWidth + mCellMargin); float colWidth = (float) (cellWidth - (maxCols) * mCellMargin) - (float) (col * mPerColMargin); event.left = left + (col) * mPerColMargin; event.right = event.left + colWidth; return true; } Loading Loading
app/src/main/java/com/android/calendar/DayView.java +10 −2 Original line number Diff line number Diff line Loading @@ -4762,16 +4762,24 @@ public class DayView extends View implements View.OnCreateContextMenuListener, // If there are any events in the selected region, then assign the // closest one to mSelectedEvent. if (mSelectedEvents.size() > 0) { if (!mSelectedEvents.isEmpty()) { int len = mSelectedEvents.size(); Event closestEvent = null; float minDist = mViewWidth + mViewHeight; // some large distance float maxCol = -99999; for (int index = 0; index < len; index++) { Event ev = mSelectedEvents.get(index); // dist will yield 0.0 for all events overlapping each other. // In order to select the correct one we use the topmost event (i.e. the one with // the highest col value! float dist = geometry.pointToEvent(x, y, ev); if (dist < minDist) { float col = ev.getColumn(); if (dist <= minDist && col > maxCol) { minDist = dist; closestEvent = ev; maxCol = col; } } setSelectedEvent(closestEvent); Loading
app/src/main/java/com/android/calendar/EventGeometry.java +8 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,11 @@ public class EventGeometry { private float mMinuteHeight; // How many pixels is each column set off from the // very left of column 0? // This is used to enable stacked parallel events. private static final float mPerColMargin = 32; private float mHourGap; private float mMinEventHeight; Loading Loading @@ -97,8 +102,9 @@ public class EventGeometry { event.bottom = event.top + mMinEventHeight; } float colWidth = (float) (cellWidth - (maxCols + 1) * mCellMargin) / (float) maxCols; event.left = left + col * (colWidth + mCellMargin); float colWidth = (float) (cellWidth - (maxCols) * mCellMargin) - (float) (col * mPerColMargin); event.left = left + (col) * mPerColMargin; event.right = event.left + colWidth; return true; } Loading