Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,6 @@ cline_docs/
.continue/
prompt_history.json
chat.json
docs/superpowers/
docs/superpowers/
.agents
.antigravitycli/
Original file line number Diff line number Diff line change
Expand Up @@ -65,19 +65,33 @@ public DynamicGridKeyboard(final SharedPreferences prefs, final Keyboard templat
final Key key1 = getTemplateKey(Constants.RECENTS_TEMPLATE_KEY_CODE_1);
final int horizontalGap = Math.abs(key1.getX() - key0.getX()) - key0.getWidth();
final float widthScale = determineWidthScale(key0.getWidth() + horizontalGap);
int columnsNumCalc = 1;
int horizontalStepCalc = 1;
int horizontalGapCalc = 0;
if (categoryId == EmojiCategory.ID_EMOTICONS) {
// Emoticons need more space, so we use approx half the columns
final int standardColumns = mBaseWidth / (int) ((key0.getWidth() + horizontalGap) * widthScale);
mColumnsNum = Math.max(1, standardColumns / 2);
mHorizontalStep = mBaseWidth / mColumnsNum;
mHorizontalGap = (int) (horizontalGap * widthScale * 2);
columnsNumCalc = Math.max(1, standardColumns / 2);
horizontalStepCalc = Math.max(1, mBaseWidth / columnsNumCalc);
horizontalGapCalc = (int) (horizontalGap * widthScale * 2);
} else {
mHorizontalGap = (int) (horizontalGap * widthScale);
mHorizontalStep = (int) ((key0.getWidth() + horizontalGap) * widthScale);
mColumnsNum = mBaseWidth / mHorizontalStep;
horizontalGapCalc = (int) (horizontalGap * widthScale);
horizontalStepCalc = Math.max(1, (int) ((key0.getWidth() + horizontalGap) * widthScale));
columnsNumCalc = mBaseWidth / horizontalStepCalc;
}
mVerticalStep = (int) ((key0.getHeight() + mVerticalGap)
int verticalStepCalc = (int) ((key0.getHeight() + mVerticalGap)
/ Math.sqrt(Settings.getValues().mKeyboardHeightScale));
if (Settings.getValues().mEmojiKeyFit) {
final float scale = Settings.getValues().mFontSizeMultiplierEmoji;
horizontalGapCalc = (int) (horizontalGapCalc * scale);
horizontalStepCalc = Math.max(1, (int) (horizontalStepCalc * scale));
columnsNumCalc = Math.max(1, mBaseWidth / horizontalStepCalc);
verticalStepCalc = (int) (verticalStepCalc * scale);
}
mHorizontalGap = horizontalGapCalc;
mHorizontalStep = horizontalStepCalc;
mColumnsNum = columnsNumCalc;
mVerticalStep = verticalStepCalc;
if (spacerWidth > 0)
setSpacerColumns(spacerWidth);
mMaxKeyCount = maxKeyCount;
Expand Down
21 changes: 21 additions & 0 deletions dev-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -653,3 +653,24 @@ The backspace fixes were ready in PR #8, and the user asked to merge them to `ma

### Open Questions / Next Steps
- Push the updated shortcuts PR branch.

---

## 2026-05-26 — Sync with upstream LeanType main

### Context
The issue requested syncing from upstream LeanType (LeanBitLab/HeliboardL), not upstream HeliBoard.

### Actions Taken
- Repointed `upstream` remote to `https://github.com/LeanBitLab/HeliboardL.git` and fetched `upstream/main`.
- Verified shared history and divergence between `origin/main` and `upstream/main`.
- Merged `upstream/main` into `copilot/sync-with-upstream`.
- Reviewed merged file changes (`DynamicGridKeyboard.java` and `.gitignore`).
- Attempted to run `./gradlew compileOfflineRunTestsKotlin --no-daemon` for validation.

### Decisions Made
- Used a direct merge commit to preserve upstream LeanType history instead of cherry-picking.
- Kept upstream's emoji grid scaling update as-is because it merged cleanly and is isolated.

### Open Questions / Next Steps
- Gradle validation is blocked in this environment because `dl.google.com` is unreachable during dependency resolution.