diff options
author | Abodunrinwa Toki <toki@google.com> | 2015-06-08 11:36:16 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-08 11:36:19 +0000 |
commit | 7d3b8833df5857f5cc70d6c101abe7501fa22b49 (patch) | |
tree | cc6bf4ae5c7a487b2946ed0093c01471b6053db0 | |
parent | 6280481af6a7fb2631012a34b03b2d6b0d01eae5 (diff) | |
parent | 9e211282d3ee54c9840947951593554c3bd5a77c (diff) | |
download | frameworks_base-7d3b8833df5857f5cc70d6c101abe7501fa22b49.zip frameworks_base-7d3b8833df5857f5cc70d6c101abe7501fa22b49.tar.gz frameworks_base-7d3b8833df5857f5cc70d6c101abe7501fa22b49.tar.bz2 |
Merge "Fix ActionMode.snooze API" into mnc-dev
-rw-r--r-- | api/current.txt | 6 | ||||
-rw-r--r-- | api/system-current.txt | 6 | ||||
-rw-r--r-- | core/java/android/view/ActionMode.java | 18 | ||||
-rw-r--r-- | core/java/android/view/ViewConfiguration.java | 10 | ||||
-rw-r--r-- | core/java/android/widget/Editor.java | 4 | ||||
-rw-r--r-- | core/java/com/android/internal/view/FloatingActionMode.java | 35 |
6 files changed, 42 insertions, 37 deletions
diff --git a/api/current.txt b/api/current.txt index 8386ddf..75cd2a1 100644 --- a/api/current.txt +++ b/api/current.txt @@ -34596,6 +34596,7 @@ package android.view { method public abstract java.lang.CharSequence getTitle(); method public boolean getTitleOptionalHint(); method public int getType(); + method public void hide(long); method public abstract void invalidate(); method public void invalidateContentRect(); method public boolean isTitleOptional(); @@ -34607,8 +34608,7 @@ package android.view { method public abstract void setTitle(int); method public void setTitleOptionalHint(boolean); method public void setType(int); - method public void snooze(int); - field public static final int SNOOZE_TIME_DEFAULT; + field public static final int DEFAULT_HIDE_DURATION = -1; // 0xffffffff field public static final int TYPE_FLOATING = 1; // 0x1 field public static final int TYPE_PRIMARY = 0; // 0x0 } @@ -36673,7 +36673,7 @@ package android.view { public class ViewConfiguration { ctor public deprecated ViewConfiguration(); method public static android.view.ViewConfiguration get(android.content.Context); - method public static int getDefaultActionModeSnoozeTime(); + method public static long getDefaultActionModeHideDuration(); method public static int getDoubleTapTimeout(); method public static deprecated int getEdgeSlop(); method public static deprecated int getFadingEdgeLength(); diff --git a/api/system-current.txt b/api/system-current.txt index 5364985..6d55448 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -36861,6 +36861,7 @@ package android.view { method public abstract java.lang.CharSequence getTitle(); method public boolean getTitleOptionalHint(); method public int getType(); + method public void hide(long); method public abstract void invalidate(); method public void invalidateContentRect(); method public boolean isTitleOptional(); @@ -36872,8 +36873,7 @@ package android.view { method public abstract void setTitle(int); method public void setTitleOptionalHint(boolean); method public void setType(int); - method public void snooze(int); - field public static final int SNOOZE_TIME_DEFAULT; + field public static final int DEFAULT_HIDE_DURATION = -1; // 0xffffffff field public static final int TYPE_FLOATING = 1; // 0x1 field public static final int TYPE_PRIMARY = 0; // 0x0 } @@ -38938,7 +38938,7 @@ package android.view { public class ViewConfiguration { ctor public deprecated ViewConfiguration(); method public static android.view.ViewConfiguration get(android.content.Context); - method public static int getDefaultActionModeSnoozeTime(); + method public static long getDefaultActionModeHideDuration(); method public static int getDoubleTapTimeout(); method public static deprecated int getEdgeSlop(); method public static deprecated int getFadingEdgeLength(); diff --git a/core/java/android/view/ActionMode.java b/core/java/android/view/ActionMode.java index 4b9b590..80dcecc 100644 --- a/core/java/android/view/ActionMode.java +++ b/core/java/android/view/ActionMode.java @@ -45,10 +45,10 @@ public abstract class ActionMode { public static final int TYPE_FLOATING = 1; /** - * Default snooze time. + * Default value to hide the action mode for + * {@link ViewConfiguration#getDefaultActionModeHideDuration()}. */ - public static final int SNOOZE_TIME_DEFAULT = - ViewConfiguration.getDefaultActionModeSnoozeTime(); + public static final int DEFAULT_HIDE_DURATION = -1; private Object mTag; private boolean mTitleOptionalHint; @@ -213,17 +213,17 @@ public abstract class ActionMode { public void invalidateContentRect() {} /** - * Hide the action mode view from obstructing the content below for a short period. + * Hide the action mode view from obstructing the content below for a short duration. * This only makes sense for action modes that support dynamic positioning on the screen. - * If this method is called again before the snooze time expires, the later snooze will + * If this method is called again before the hide duration expires, the later hide call will * cancel the former and then take effect. - * NOTE that there is an internal limit to how long the mode can be snoozed for. It's typically + * NOTE that there is an internal limit to how long the mode can be hidden for. It's typically * about a few seconds. * - * @param snoozeTime The number of milliseconds to snooze for. - * @see #SNOOZE_TIME_DEFAULT + * @param duration The number of milliseconds to hide for. + * @see #DEFAULT_HIDE_DURATION */ - public void snooze(int snoozeTime) {} + public void hide(long duration) {} /** * Finish and close this action mode. The action mode's {@link ActionMode.Callback} will diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index 8c6fa3f..4d584a3 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -213,9 +213,9 @@ public class ViewConfiguration { private static final int OVERFLING_DISTANCE = 6; /** - * Default time to snooze an action mode for. + * Default duration to hide an action mode for. */ - private static final int ACTION_MODE_SNOOZE_TIME_DEFAULT = 2000; + private static final long ACTION_MODE_HIDE_DURATION_DEFAULT = 2000; /** * Configuration values for overriding {@link #hasPermanentMenuKey()} behavior. @@ -737,10 +737,10 @@ public class ViewConfiguration { } /** - * @return the default duration in milliseconds for {@link ActionMode#snooze(int)}. + * @return the default duration in milliseconds for {@link ActionMode#hide(long)}. */ - public static int getDefaultActionModeSnoozeTime() { - return ACTION_MODE_SNOOZE_TIME_DEFAULT; + public static long getDefaultActionModeHideDuration() { + return ACTION_MODE_HIDE_DURATION_DEFAULT; } /** diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index c8d8241..e175949 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -248,7 +248,7 @@ public class Editor { @Override public void run() { if (mTextActionMode != null) { - mTextActionMode.snooze(ActionMode.SNOOZE_TIME_DEFAULT); + mTextActionMode.hide(ActionMode.DEFAULT_HIDE_DURATION); } } }; @@ -257,7 +257,7 @@ public class Editor { @Override public void run() { if (mTextActionMode != null) { - mTextActionMode.snooze(0); // snooze off. + mTextActionMode.hide(0); // hide off. } } }; diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java index 89cac4c..661dce1 100644 --- a/core/java/com/android/internal/view/FloatingActionMode.java +++ b/core/java/com/android/internal/view/FloatingActionMode.java @@ -23,6 +23,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.ViewConfiguration; import com.android.internal.util.Preconditions; import com.android.internal.view.menu.MenuBuilder; @@ -30,7 +31,7 @@ import com.android.internal.widget.FloatingToolbar; public class FloatingActionMode extends ActionMode { - private static final int MAX_SNOOZE_TIME = 3000; + private static final int MAX_HIDE_DURATION = 3000; private static final int MOVING_HIDE_DELAY = 300; private final Context mContext; @@ -50,9 +51,9 @@ public class FloatingActionMode extends ActionMode { } }; - private final Runnable mSnoozeOff = new Runnable() { + private final Runnable mHideOff = new Runnable() { public void run() { - mFloatingToolbarVisibilityHelper.setSnoozed(false); + mFloatingToolbarVisibilityHelper.setHideRequested(false); } }; @@ -171,15 +172,19 @@ public class FloatingActionMode extends ActionMode { } @Override - public void snooze(int snoozeTime) { + public void hide(long duration) { checkToolbarInitialized(); - snoozeTime = Math.min(MAX_SNOOZE_TIME, snoozeTime); - mOriginatingView.removeCallbacks(mSnoozeOff); - if (snoozeTime <= 0) { - mSnoozeOff.run(); + + if (duration == ActionMode.DEFAULT_HIDE_DURATION) { + duration = ViewConfiguration.getDefaultActionModeHideDuration(); + } + duration = Math.min(MAX_HIDE_DURATION, duration); + mOriginatingView.removeCallbacks(mHideOff); + if (duration <= 0) { + mHideOff.run(); } else { - mFloatingToolbarVisibilityHelper.setSnoozed(true); - mOriginatingView.postDelayed(mSnoozeOff, snoozeTime); + mFloatingToolbarVisibilityHelper.setHideRequested(true); + mOriginatingView.postDelayed(mHideOff, duration); } } @@ -225,7 +230,7 @@ public class FloatingActionMode extends ActionMode { private void reset() { mOriginatingView.removeCallbacks(mMovingOff); - mOriginatingView.removeCallbacks(mSnoozeOff); + mOriginatingView.removeCallbacks(mHideOff); } @@ -236,7 +241,7 @@ public class FloatingActionMode extends ActionMode { private final FloatingToolbar mToolbar; - private boolean mSnoozed; + private boolean mHideRequested; private boolean mMoving; private boolean mOutOfBounds; @@ -244,8 +249,8 @@ public class FloatingActionMode extends ActionMode { mToolbar = Preconditions.checkNotNull(toolbar); } - public void setSnoozed(boolean snoozed) { - mSnoozed = snoozed; + public void setHideRequested(boolean hide) { + mHideRequested = hide; updateToolbarVisibility(); } @@ -260,7 +265,7 @@ public class FloatingActionMode extends ActionMode { } private void updateToolbarVisibility() { - if (mSnoozed || mMoving || mOutOfBounds) { + if (mHideRequested || mMoving || mOutOfBounds) { mToolbar.hide(); } else if (mToolbar.isHidden()) { mToolbar.show(); |