Skip to content

Commit dce52b5

Browse files
committed
chore: release v3.7.5
1 parent 4b7d072 commit dce52b5

45 files changed

Lines changed: 817 additions & 157 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@ Pdoc/
3131

3232
# Gemini System Prompts
3333
GEMINI.md
34+
35+
.antigravityignore
36+
.gemini/

.vscode/settings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"java.configuration.updateBuildConfiguration": "automatic"
2+
"java.configuration.updateBuildConfiguration": "automatic",
3+
"java.import.gradle.wrapper.enabled": true,
4+
"java.import.gradle.version": "8.13"
35
}

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ This fork adds **optional AI-powered features** using Gemini, Groq, and OpenAI-c
2626
- **🔄 Google Dictionary Import** - Easily import your personal dictionary words.
2727
- **⚙️ Enhanced Customization** - Force auto-capitalization toggle, reorganized settings, and more.
2828
- **🕵️ Clear Incognito Mode** - Distinct "Hat & Glasses" icon for clear visibility.
29-
- **🔍 Clipboard Search** - Search through your clipboard history directly from the toolbar.
29+
- **🔍 Clipboard Search & Undo** - Search through your clipboard history directly from the toolbar, and undo accidental item deletions.
30+
- **📸 Screenshot Suggestion & Clipboard** - Suggests recently taken screenshots for quick sharing via the suggestion strip and saves them to your clipboard history.
3031
- **🔎 Emoji Search** - Search for emojis by name. *Requires loading an Emoji Dictionary.*
3132
- **🔒 Privacy Choices** - Choose **Standard** (Opt-in AI), **Offline** (Hard-disabled network, offline model load), or **Offline Lite** (Minimalist, no AI) versions.
3233

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ android {
2222
applicationId = "com.leanbitlab.leantype"
2323
minSdk = 21
2424
targetSdk = 35
25-
versionCode = 3704
26-
versionName = "3.7.4"
25+
versionCode = 3705
26+
versionName = "3.7.5"
2727

2828
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
2929

app/src/main/AndroidManifest.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ SPDX-License-Identifier: Apache-2.0 AND GPL-3.0-only
1515
<uses-permission android:name="android.permission.VIBRATE" />
1616
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
1717
<uses-permission android:name="android.permission.READ_CONTACTS" />
18+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
19+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
1820

1921
<application android:label="@string/english_ime_name"
2022
android:name="helium314.keyboard.latin.App"
@@ -103,6 +105,16 @@ SPDX-License-Identifier: Apache-2.0 AND GPL-3.0-only
103105
</intent-filter>
104106
</receiver>
105107

108+
<provider
109+
android:name="androidx.core.content.FileProvider"
110+
android:authorities="${applicationId}.fileprovider"
111+
android:exported="false"
112+
android:grantUriPermissions="true">
113+
<meta-data
114+
android:name="android.support.FILE_PROVIDER_PATHS"
115+
android:resource="@xml/provider_paths" />
116+
</provider>
117+
106118
</application>
107119

108120
<queries>

app/src/main/java/helium314/keyboard/keyboard/Key.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -908,6 +908,10 @@ public void setLocked(final boolean locked) {
908908
mLocked = locked;
909909
}
910910

911+
public boolean isLocked() {
912+
return mLocked;
913+
}
914+
911915
@NonNull
912916
public Rect getHitBox() {
913917
return mHitBox;

app/src/main/java/helium314/keyboard/keyboard/KeyboardActionListener.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ public interface KeyboardActionListener {
7979
*/
8080
void onTextInput(String text);
8181

82+
/**
83+
* Sends an image URI to be pasted into the text field.
84+
*/
85+
void onImageSelected(String imageUri);
86+
8287
/**
8388
* Called when user started batch input.
8489
*/
@@ -178,6 +183,10 @@ public void onCodeInput(int primaryCode, int x, int y, boolean isKeyRepeat) {
178183
public void onTextInput(String text) {
179184
}
180185

186+
@Override
187+
public void onImageSelected(String imageUri) {
188+
}
189+
181190
@Override
182191
public void onStartBatchInput() {
183192
}

app/src/main/java/helium314/keyboard/keyboard/KeyboardActionListenerImpl.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ class KeyboardActionListenerImpl(private val latinIME: LatinIME, private val inp
129129

130130
override fun onTextInput(text: String?) = latinIME.onTextInput(text)
131131

132+
override fun onImageSelected(imageUri: String) = latinIME.onImageSelected(imageUri)
133+
132134
override fun onStartBatchInput() = latinIME.onStartBatchInput()
133135

134136
override fun onUpdateBatchInput(batchPointers: InputPointers?) = latinIME.onUpdateBatchInput(batchPointers)

app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,10 @@ public boolean isShowingStripContainer() {
681681
return mStripContainer.isShown();
682682
}
683683

684+
public EmojiPalettesView getEmojiPalettesView() {
685+
return mEmojiPalettesView;
686+
}
687+
684688
public View getVisibleKeyboardView() {
685689
if (isShowingEmojiPalettes()) {
686690
return mEmojiPalettesView;

app/src/main/java/helium314/keyboard/keyboard/KeyboardView.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,18 @@ protected void onDrawKeyBackground(@NonNull final Key key, @NonNull final Canvas
389389
}
390390
background.setBounds(0, 0, bgWidth, bgHeight);
391391
canvas.translate(bgX, bgY);
392+
393+
final boolean isShiftLocked = key.getCode() == KeyCode.SHIFT && key.isLocked();
394+
if (isShiftLocked) {
395+
background.setColorFilter(Color.argb(0x80, 0, 0, 0), PorterDuff.Mode.SRC_ATOP);
396+
}
397+
392398
background.draw(canvas);
399+
400+
if (isShiftLocked) {
401+
background.clearColorFilter();
402+
}
403+
393404
canvas.translate(-bgX, -bgY);
394405
}
395406

0 commit comments

Comments
 (0)