Merge "Disable dragging the challenge area when there are no widgets" into klp-dev
This commit is contained in:
@@ -405,6 +405,12 @@ public class KeyguardHostView extends KeyguardViewBase {
|
||||
mAppWidgetContainer.setAddWidgetEnabled(false);
|
||||
}
|
||||
checkAppWidgetConsistency();
|
||||
|
||||
// Don't let the user drag the challenge down if widgets are disabled.
|
||||
if (mSlidingChallengeLayout != null) {
|
||||
mSlidingChallengeLayout.setEnableChallengeDragging(!widgetsDisabled());
|
||||
}
|
||||
|
||||
mSwitchPageRunnable.run();
|
||||
// This needs to be called after the pages are all added.
|
||||
mViewStateManager.showUsabilityHints();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
|
||||
private static final boolean DEBUG = false;
|
||||
|
||||
// The drag handle is measured in dp above & below the top edge of the
|
||||
// challenge view; these parameters change based on whether the challenge
|
||||
// challenge view; these parameters change based on whether the challenge
|
||||
// is open or closed.
|
||||
private static final int DRAG_HANDLE_CLOSED_ABOVE = 8; // dp
|
||||
private static final int DRAG_HANDLE_CLOSED_BELOW = 0; // dp
|
||||
@@ -81,6 +81,7 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
|
||||
private int mScrollState;
|
||||
private OnChallengeScrolledListener mScrollListener;
|
||||
private OnBouncerStateChangedListener mBouncerListener;
|
||||
private boolean mEnableChallengeDragging;
|
||||
|
||||
public static final int SCROLL_STATE_IDLE = 0;
|
||||
public static final int SCROLL_STATE_DRAGGING = 1;
|
||||
@@ -263,6 +264,10 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
|
||||
setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_STABLE | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
||||
}
|
||||
|
||||
public void setEnableChallengeDragging(boolean enabled) {
|
||||
mEnableChallengeDragging = enabled;
|
||||
}
|
||||
|
||||
public void setInsets(Rect insets) {
|
||||
mInsets.set(insets);
|
||||
}
|
||||
@@ -573,7 +578,8 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
|
||||
final float y = ev.getY(i);
|
||||
if (!mIsBouncing && mActivePointerId == INVALID_POINTER
|
||||
&& (crossedDragHandle(x, y, mGestureStartY)
|
||||
|| (isInChallengeView(x, y) &&
|
||||
&& shouldEnableChallengeDragging()
|
||||
|| (isInChallengeView(x, y) &&
|
||||
mScrollState == SCROLL_STATE_SETTLING))) {
|
||||
mActivePointerId = ev.getPointerId(i);
|
||||
mGestureStartX = x;
|
||||
@@ -581,7 +587,8 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
|
||||
mGestureStartChallengeBottom = getChallengeBottom();
|
||||
mDragging = true;
|
||||
enableHardwareLayerForChallengeView();
|
||||
} else if (mChallengeShowing && isInChallengeView(x, y)) {
|
||||
} else if (mChallengeShowing && isInChallengeView(x, y)
|
||||
&& shouldEnableChallengeDragging()) {
|
||||
mBlockDrag = true;
|
||||
}
|
||||
}
|
||||
@@ -596,6 +603,10 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
|
||||
return mDragging;
|
||||
}
|
||||
|
||||
private boolean shouldEnableChallengeDragging() {
|
||||
return mEnableChallengeDragging || !mChallengeShowing;
|
||||
}
|
||||
|
||||
private boolean isChallengeInteractionBlocked() {
|
||||
return !mChallengeInteractiveExternal || !mChallengeInteractiveInternal;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user