mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-21 03:03:15 +08:00
feat(android): implement capacitor/keyboard plugin (#10125)
This commit is contained in:
@@ -10,6 +10,7 @@ android {
|
||||
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
|
||||
dependencies {
|
||||
implementation project(':capacitor-app')
|
||||
implementation project(':capacitor-keyboard')
|
||||
implementation project(':capgo-inappbrowser')
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package app.affine.pro
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.capacitorjs.plugins.keyboard.KeyboardPlugin
|
||||
import com.getcapacitor.BridgeActivity
|
||||
import com.getcapacitor.plugin.CapacitorCookies
|
||||
import com.getcapacitor.plugin.CapacitorHttp
|
||||
@@ -17,7 +18,8 @@ class MainActivity : BridgeActivity() {
|
||||
listOf(
|
||||
CapacitorHttp::class.java,
|
||||
CapacitorCookies::class.java,
|
||||
InAppBrowserPlugin::class.java
|
||||
InAppBrowserPlugin::class.java,
|
||||
KeyboardPlugin::class.java,
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -5,5 +5,8 @@ project(':capacitor-android').projectDir = new File('../../../../../node_modules
|
||||
include ':capacitor-app'
|
||||
project(':capacitor-app').projectDir = new File('../../../../../node_modules/@capacitor/app/android')
|
||||
|
||||
include ':capacitor-keyboard'
|
||||
project(':capacitor-keyboard').projectDir = new File('../../../../../node_modules/@capacitor/keyboard/android')
|
||||
|
||||
include ':capgo-inappbrowser'
|
||||
project(':capgo-inappbrowser').projectDir = new File('../../../../../node_modules/@capgo/inappbrowser/android')
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
"@capacitor/android": "^7.0.0",
|
||||
"@capacitor/app": "^7.0.0",
|
||||
"@capacitor/core": "^7.0.0",
|
||||
"@capgo/inappbrowser": "^7.0.0",
|
||||
"@capacitor/keyboard": "^7.0.0",
|
||||
"@capgo/inappbrowser": "^7.1.0",
|
||||
"@sentry/react": "^8.44.0",
|
||||
"@toeverything/infra": "workspace:*",
|
||||
"react": "^19.0.0",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { AffineContext } from '@affine/core/components/context';
|
||||
import { AppFallback } from '@affine/core/mobile/components/app-fallback';
|
||||
import { configureMobileModules } from '@affine/core/mobile/modules';
|
||||
import { VirtualKeyboardProvider } from '@affine/core/mobile/modules/virtual-keyboard';
|
||||
import { router } from '@affine/core/mobile/router';
|
||||
import { configureCommonModules } from '@affine/core/modules';
|
||||
import { AuthService, DefaultServerService } from '@affine/core/modules/cloud';
|
||||
@@ -16,6 +17,7 @@ import { configureBrowserWorkbenchModule } from '@affine/core/modules/workbench'
|
||||
import { configureBrowserWorkspaceFlavours } from '@affine/core/modules/workspace-engine';
|
||||
import { StoreManagerClient } from '@affine/nbstore/worker/client';
|
||||
import { App as CapacitorApp } from '@capacitor/app';
|
||||
import { Keyboard } from '@capacitor/keyboard';
|
||||
import { InAppBrowser } from '@capgo/inappbrowser';
|
||||
import { Framework, FrameworkRoot, getCurrentStore } from '@toeverything/infra';
|
||||
import { OpClient } from '@toeverything/infra/op';
|
||||
@@ -70,6 +72,19 @@ framework.impl(ClientSchemeProvider, {
|
||||
},
|
||||
});
|
||||
|
||||
framework.impl(VirtualKeyboardProvider, {
|
||||
addEventListener: (event, callback) => {
|
||||
Keyboard.addListener(event as any, callback as any).catch(e => {
|
||||
console.error(e);
|
||||
});
|
||||
},
|
||||
removeAllListeners: () => {
|
||||
Keyboard.removeAllListeners().catch(e => {
|
||||
console.error(e);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
// setup application lifecycle events, and emit application start event
|
||||
window.addEventListener('focus', () => {
|
||||
frameworkProvider.get(LifecycleService).applicationFocus();
|
||||
|
||||
@@ -230,7 +230,8 @@ __metadata:
|
||||
"@capacitor/app": "npm:^7.0.0"
|
||||
"@capacitor/cli": "npm:^7.0.0"
|
||||
"@capacitor/core": "npm:^7.0.0"
|
||||
"@capgo/inappbrowser": "npm:^7.0.0"
|
||||
"@capacitor/keyboard": "npm:^7.0.0"
|
||||
"@capgo/inappbrowser": "npm:^7.1.0"
|
||||
"@sentry/react": "npm:^8.44.0"
|
||||
"@toeverything/infra": "workspace:*"
|
||||
"@types/react": "npm:^19.0.1"
|
||||
@@ -4269,12 +4270,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@capgo/inappbrowser@npm:^7.0.0":
|
||||
version: 7.2.16
|
||||
resolution: "@capgo/inappbrowser@npm:7.2.16"
|
||||
"@capgo/inappbrowser@npm:^7.1.0":
|
||||
version: 7.1.6
|
||||
resolution: "@capgo/inappbrowser@npm:7.1.6"
|
||||
peerDependencies:
|
||||
"@capacitor/core": ">=7.0.0"
|
||||
checksum: 10/3a28379f1d52a880f60355093f6d672730d3716e351c993a0d755218909f91ffad9d2126b34bfcfa9d3b1db28053ca607ecc698983717610dab22fd2cf207d69
|
||||
checksum: 10/3c3062626ef511937682ee170514f5335841c1ee12c7a743ed6a908a1325dad31ed68294999204e500978fc5a06b501193e66410f3d3dc09da3d42ad09320f09
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user