some fix, dri3, wps, readme, ...

This commit is contained in:
Caten
2024-09-21 11:43:14 +08:00
parent a117050fde
commit 49c2377e46
14 changed files with 347 additions and 160 deletions

View File

@@ -1,108 +0,0 @@
package com.termux.x11;
import java.util.HashMap;
import android.content.Context;
import com.termux.x11.utils.TermuxX11ExtraKeys;
import com.example.tiny_computer.R;
public class Prefs extends LoriePreferences.PrefsProto {
public final ListPreference displayResolutionMode = new ListPreference("displayResolutionMode", "native", R.array.displayResolutionVariants, R.array.displayResolutionVariants);
public final IntPreference displayScale = new IntPreference("displayScale", 100);
public final ListPreference displayResolutionExact = new ListPreference("displayResolutionExact", "1280x1024", R.array.displayResolution, R.array.displayResolution);
public final StringPreference displayResolutionCustom = new StringPreference("displayResolutionCustom", "1280x1024");
public final BooleanPreference adjustResolution = new BooleanPreference("adjustResolution", false);
public final BooleanPreference displayStretch = new BooleanPreference("displayStretch", false);
public final BooleanPreference Reseed = new BooleanPreference("Reseed", true);
public final BooleanPreference PIP = new BooleanPreference("PIP", true);
public final BooleanPreference fullscreen = new BooleanPreference("fullscreen", true);
public final ListPreference forceOrientation = new ListPreference("forceOrientation", "no", R.array.forceOrientationVariants, R.array.forceOrientationVariants);
public final BooleanPreference hideCutout = new BooleanPreference("hideCutout", false);
public final BooleanPreference keepScreenOn = new BooleanPreference("keepScreenOn", true);
public final BooleanPreference xrMode = new BooleanPreference("xrMode", false);
public final ListPreference touchMode = new ListPreference("touchMode", "1", R.array.touchscreenInputModesEntries, R.array.touchscreenInputModesValues);
public final BooleanPreference scaleTouchpad = new BooleanPreference("scaleTouchpad", true);
public final BooleanPreference showStylusClickOverride = new BooleanPreference("showStylusClickOverride", false);
public final BooleanPreference stylusIsMouse = new BooleanPreference("stylusIsMouse", false);
public final BooleanPreference stylusButtonContactModifierMode = new BooleanPreference("stylusButtonContactModifierMode", false);
public final BooleanPreference showMouseHelper = new BooleanPreference("showMouseHelper", false);
public final BooleanPreference pointerCapture = new BooleanPreference("pointerCapture", false);
public final ListPreference transformCapturedPointer = new ListPreference("transformCapturedPointer", "no", R.array.transformCapturedPointerEntries, R.array.transformCapturedPointerValues);
public final IntPreference capturedPointerSpeedFactor = new IntPreference("capturedPointerSpeedFactor", 100);
public final BooleanPreference tapToMove = new BooleanPreference("tapToMove", true);
public final BooleanPreference showAdditionalKbd = new BooleanPreference("showAdditionalKbd", true);
public final BooleanPreference additionalKbdVisible = new BooleanPreference("additionalKbdVisible", true);
public final BooleanPreference showIMEWhileExternalConnected = new BooleanPreference("showIMEWhileExternalConnected", true);
public final BooleanPreference preferScancodes = new BooleanPreference("preferScancodes", false);
public final BooleanPreference hardwareKbdScancodesWorkaround = new BooleanPreference("hardwareKbdScancodesWorkaround", true);
public final BooleanPreference dexMetaKeyCapture = new BooleanPreference("dexMetaKeyCapture", false);
public final BooleanPreference enableAccessibilityServiceAutomatically = new BooleanPreference("enableAccessibilityServiceAutomatically", false);
public final BooleanPreference pauseKeyInterceptingWithEsc = new BooleanPreference("pauseKeyInterceptingWithEsc", false);
public final BooleanPreference filterOutWinkey = new BooleanPreference("filterOutWinkey", false);
public final BooleanPreference enableGboardCJK = new BooleanPreference("enableGboardCJK", false);
public final BooleanPreference clipboardEnable = new BooleanPreference("clipboardEnable", true);
public final BooleanPreference storeSecondaryDisplayPreferencesSeparately = new BooleanPreference("storeSecondaryDisplayPreferencesSeparately", false);
public final BooleanPreference adjustHeightForEK = new BooleanPreference("adjustHeightForEK", true);
public final BooleanPreference useTermuxEKBarBehaviour = new BooleanPreference("useTermuxEKBarBehaviour", true);
public final IntPreference opacityEKBar = new IntPreference("opacityEKBar", 100);
public final ListPreference swipeUpAction = new ListPreference("swipeUpAction", "no action", R.array.userActionsValues, R.array.userActionsValues);
public final ListPreference swipeDownAction = new ListPreference("swipeDownAction", "toggle additional key bar", R.array.userActionsValues, R.array.userActionsValues);
public final ListPreference volumeUpAction = new ListPreference("volumeUpAction", "no action", R.array.userActionsVolumeUpValues, R.array.userActionsVolumeUpValues);
public final ListPreference volumeDownAction = new ListPreference("volumeDownAction", "no action", R.array.userActionsVolumeDownValues, R.array.userActionsVolumeDownValues);
public final ListPreference backButtonAction = new ListPreference("backButtonAction", "toggle additional key bar", R.array.userActionsValues, R.array.userActionsValues);
public final ListPreference notificationTapAction = new ListPreference("notificationTapAction", "open preferences", R.array.userActionsValues, R.array.userActionsValues);
public final ListPreference notificationButton0Action = new ListPreference("notificationButton0Action", "open preferences", R.array.userActionsValues, R.array.userActionsValues);
public final ListPreference notificationButton1Action = new ListPreference("notificationButton1Action", "exit", R.array.userActionsValues, R.array.userActionsValues);
public final StringPreference extra_keys_config = new StringPreference("extra_keys_config", TermuxX11ExtraKeys.DEFAULT_IVALUE_EXTRA_KEYS);
public final HashMap<String, Preference> keys = new HashMap<String, Preference>() {{
put("displayResolutionMode", displayResolutionMode);
put("displayScale", displayScale);
put("displayResolutionExact", displayResolutionExact);
put("displayResolutionCustom", displayResolutionCustom);
put("adjustResolution", adjustResolution);
put("displayStretch", displayStretch);
put("Reseed", Reseed);
put("PIP", PIP);
put("fullscreen", fullscreen);
put("forceOrientation", forceOrientation);
put("hideCutout", hideCutout);
put("keepScreenOn", keepScreenOn);
put("xrMode", xrMode);
put("touchMode", touchMode);
put("scaleTouchpad", scaleTouchpad);
put("showStylusClickOverride", showStylusClickOverride);
put("stylusIsMouse", stylusIsMouse);
put("stylusButtonContactModifierMode", stylusButtonContactModifierMode);
put("showMouseHelper", showMouseHelper);
put("pointerCapture", pointerCapture);
put("transformCapturedPointer", transformCapturedPointer);
put("capturedPointerSpeedFactor", capturedPointerSpeedFactor);
put("tapToMove", tapToMove);
put("showAdditionalKbd", showAdditionalKbd);
put("additionalKbdVisible", additionalKbdVisible);
put("showIMEWhileExternalConnected", showIMEWhileExternalConnected);
put("preferScancodes", preferScancodes);
put("hardwareKbdScancodesWorkaround", hardwareKbdScancodesWorkaround);
put("dexMetaKeyCapture", dexMetaKeyCapture);
put("enableAccessibilityServiceAutomatically", enableAccessibilityServiceAutomatically);
put("pauseKeyInterceptingWithEsc", pauseKeyInterceptingWithEsc);
put("filterOutWinkey", filterOutWinkey);
put("enableGboardCJK", enableGboardCJK);
put("clipboardEnable", clipboardEnable);
put("storeSecondaryDisplayPreferencesSeparately", storeSecondaryDisplayPreferencesSeparately);
put("adjustHeightForEK", adjustHeightForEK);
put("useTermuxEKBarBehaviour", useTermuxEKBarBehaviour);
put("opacityEKBar", opacityEKBar);
put("swipeUpAction", swipeUpAction);
put("swipeDownAction", swipeDownAction);
put("volumeUpAction", volumeUpAction);
put("volumeDownAction", volumeDownAction);
put("backButtonAction", backButtonAction);
put("notificationTapAction", notificationTapAction);
put("notificationButton0Action", notificationButton0Action);
put("notificationButton1Action", notificationButton1Action);
put("extra_keys_config", extra_keys_config);
}};
public Prefs(Context ctx) {
super(ctx);
}
}

View File

@@ -37,7 +37,7 @@ import com.example.tiny_computer.BuildConfig;
@Keep @SuppressLint({"StaticFieldLeak", "UnsafeDynamicallyLoadedCode"})
public class CmdEntryPoint extends ICmdEntryInterface.Stub {
public static final String ACTION_START = "com.termux.x11.CmdEntryPoint.ACTION_START";
public static final int PORT = 7892;
public static final int PORT = 7897;
public static final byte[] MAGIC = "0xDEADBEEF".getBytes();
private static final Handler handler;
public static Context ctx;

View File

@@ -736,9 +736,28 @@ public class LoriePreferences extends AppCompatActivity implements PreferenceFra
return getArrayItems(values, ctx.getResources());
}
// private String[] getArrayItems(int resourceId, Resources resources) {
// ArrayList<String> itemList = new ArrayList<>();
// try(TypedArray typedArray = resources.obtainTypedArray(resourceId)) {
// for (int i = 0; i < typedArray.length(); i++) {
// int type = typedArray.getType(i);
// if (type == TypedValue.TYPE_STRING) {
// itemList.add(typedArray.getString(i));
// } else if (type == TypedValue.TYPE_REFERENCE) {
// int resIdOfArray = typedArray.getResourceId(i, 0);
// itemList.addAll(Arrays.asList(resources.getStringArray(resIdOfArray)));
// }
// }
// }
// Object[] objectArray = itemList.toArray();
// return Arrays.copyOf(objectArray, objectArray.length, String[].class);
// }
private String[] getArrayItems(int resourceId, Resources resources) {
ArrayList<String> itemList = new ArrayList<>();
try(TypedArray typedArray = resources.obtainTypedArray(resourceId)) {
TypedArray typedArray = resources.obtainTypedArray(resourceId);
try {
for (int i = 0; i < typedArray.length(); i++) {
int type = typedArray.getType(i);
if (type == TypedValue.TYPE_STRING) {
@@ -748,11 +767,12 @@ public class LoriePreferences extends AppCompatActivity implements PreferenceFra
itemList.addAll(Arrays.asList(resources.getStringArray(resIdOfArray)));
}
}
} finally {
typedArray.recycle();
}
Object[] objectArray = itemList.toArray();
return Arrays.copyOf(objectArray, objectArray.length, String[].class);
return itemList.toArray(new String[0]);
}
}

View File

@@ -85,7 +85,7 @@ public class MainActivity extends AppCompatActivity implements View.OnApplyWindo
protected ICmdEntryInterface service = null;
public TermuxX11ExtraKeys mExtraKeys;
private Notification mNotification;
private final int mNotificationId = 7892;
private final int mNotificationId = 7897;
NotificationManager mNotificationManager;
static InputMethodManager inputMethodManager;
private static boolean showIMEWhileExternalConnected = true;

View File

@@ -38,7 +38,7 @@
<PreferenceScreen app:key="kbd">
<SwitchPreferenceCompat app:key="showAdditionalKbd" app:defaultValue="true" />
<!-- this preference should be a part of `Prefs` but should not appear in PreferenceScreen -->
<SwitchPreferenceCompat app:key="additionalKbdVisible" app:defaultValue="true" app:isPreferenceVisible="false" />
<SwitchPreferenceCompat app:key="additionalKbdVisible" app:defaultValue="false" app:isPreferenceVisible="false" />
<SwitchPreferenceCompat app:key="showIMEWhileExternalConnected" app:defaultValue="true" />
<SwitchPreferenceCompat app:key="preferScancodes" app:defaultValue="false" />
<SwitchPreferenceCompat app:key="hardwareKbdScancodesWorkaround" app:defaultValue="true" />