Merge "Adding support for overriding long-press menu in Launcher" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bb6bb5bbbd
@@ -80,6 +80,7 @@ import android.content.res.Configuration;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.RectF;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.CancellationSignal;
|
||||
@@ -2870,13 +2871,26 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
|
||||
if (Utilities.IS_RUNNING_IN_TEST_HARNESS) {
|
||||
Log.d(TestProtocol.PERMANENT_DIAG_TAG, "Opening options popup on key up");
|
||||
}
|
||||
OptionsPopupView.showDefaultOptions(this, -1, -1);
|
||||
showDefaultOptions(-1, -1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return super.onKeyUp(keyCode, event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the default options popup
|
||||
*/
|
||||
public void showDefaultOptions(float x, float y) {
|
||||
float halfSize = getResources().getDimension(R.dimen.options_menu_thumb_size) / 2;
|
||||
if (x < 0 || y < 0) {
|
||||
x = mDragLayer.getWidth() / 2;
|
||||
y = mDragLayer.getHeight() / 2;
|
||||
}
|
||||
RectF target = new RectF(x - halfSize, y - halfSize, x + halfSize, y + halfSize);
|
||||
OptionsPopupView.show(this, target, OptionsPopupView.getOptions(this), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void collectStateHandlers(List<StateHandler> out) {
|
||||
out.add(getAllAppsController());
|
||||
|
||||
@@ -255,6 +255,10 @@ public final class FeatureFlags {
|
||||
"WIDGETS_IN_LAUNCHER_PREVIEW", true,
|
||||
"Enables widgets in Launcher preview for the Wallpaper app.");
|
||||
|
||||
public static final BooleanFlag QUICK_WALLPAPER_PICKER = getDebugFlag(
|
||||
"QUICK_WALLPAPER_PICKER", false,
|
||||
"Shows quick wallpaper picker in long-press menu");
|
||||
|
||||
public static void initialize(Context context) {
|
||||
synchronized (sDebugFlags) {
|
||||
for (DebugFlag flag : sDebugFlags) {
|
||||
|
||||
@@ -41,7 +41,6 @@ import com.android.launcher3.Workspace;
|
||||
import com.android.launcher3.dragndrop.DragLayer;
|
||||
import com.android.launcher3.testing.TestLogging;
|
||||
import com.android.launcher3.testing.TestProtocol;
|
||||
import com.android.launcher3.views.OptionsPopupView;
|
||||
|
||||
/**
|
||||
* Helper class to handle touch on empty space in workspace and show options popup on long press
|
||||
@@ -175,7 +174,7 @@ public class WorkspaceTouchListener extends GestureDetector.SimpleOnGestureListe
|
||||
mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,
|
||||
HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
|
||||
mLauncher.getStatsLogManager().logger().log(LAUNCHER_WORKSPACE_LONGPRESS);
|
||||
OptionsPopupView.showDefaultOptions(mLauncher, mTouchDownPoint.x, mTouchDownPoint.y);
|
||||
mLauncher.showDefaultOptions(mTouchDownPoint.x, mTouchDownPoint.y);
|
||||
} else {
|
||||
cancelLongPress();
|
||||
}
|
||||
|
||||
@@ -176,16 +176,6 @@ public class OptionsPopupView extends ArrowPopup
|
||||
return launcher.findViewById(R.id.popup_container);
|
||||
}
|
||||
|
||||
public static void showDefaultOptions(Launcher launcher, float x, float y) {
|
||||
float halfSize = launcher.getResources().getDimension(R.dimen.options_menu_thumb_size) / 2;
|
||||
if (x < 0 || y < 0) {
|
||||
x = launcher.getDragLayer().getWidth() / 2;
|
||||
y = launcher.getDragLayer().getHeight() / 2;
|
||||
}
|
||||
RectF target = new RectF(x - halfSize, y - halfSize, x + halfSize, y + halfSize);
|
||||
show(launcher, target, getOptions(launcher), false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of supported actions
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user