summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/current.txt6
-rw-r--r--api/system-current.txt6
-rw-r--r--core/java/android/view/ActionMode.java18
-rw-r--r--core/java/android/view/ViewConfiguration.java10
-rw-r--r--core/java/android/widget/Editor.java4
-rw-r--r--core/java/com/android/internal/view/FloatingActionMode.java35
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();