View: basic implementation for performHapticFeedback

we currently ignore the feedbackConstant and simply vibrate for 10ms
This commit is contained in:
Mis012
2024-03-22 14:04:04 +01:00
parent d122b2a528
commit 0592b71489
2 changed files with 7 additions and 2 deletions

View File

@@ -65,6 +65,8 @@ public class Context extends Object {
public static final String WINDOW_SERVICE = "window"; public static final String WINDOW_SERVICE = "window";
public static AndroidManifestBlock manifest = null; public static AndroidManifestBlock manifest = null;
public static Vibrator vibrator;
static AssetManager assets; static AssetManager assets;
static DisplayMetrics dm; static DisplayMetrics dm;
static Resources r; static Resources r;
@@ -172,7 +174,7 @@ public class Context extends Object {
case "usb": case "usb":
return new UsbManager(); return new UsbManager();
case "vibrator": case "vibrator":
return new Vibrator(); return (vibrator != null) ? vibrator : (vibrator = new Vibrator());
case "power": case "power":
return new PowerManager(); return new PowerManager();
case "display": case "display":

View File

@@ -16,6 +16,7 @@ import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.os.Looper; import android.os.Looper;
import android.os.Parcelable; import android.os.Parcelable;
import android.os.Vibrator;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.LayoutDirection; import android.util.LayoutDirection;
import android.util.Property; import android.util.Property;
@@ -1060,7 +1061,9 @@ public class View extends Object {
} }
public boolean performHapticFeedback(int feedbackConstant, int flags) { public boolean performHapticFeedback(int feedbackConstant, int flags) {
Slog.v(TAG, "vibration motor go burrrr"); // arbitrary; TODO: better mimic what AOSP does
Vibrator vibrator = (Vibrator)getContext().getSystemService("vibrator");
vibrator.vibrate(10);
return true; // FIXME why is it not void return true; // FIXME why is it not void
} }