Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d5d5c1b
Add image_gallery_saver plugin configuration files
iheron Aug 15, 2025
132f755
feat(wallet): auto-create default NKN wallet on first launch; support…
iheron Aug 15, 2025
8d208f6
Upgrade project
iheron Aug 15, 2025
ab8e99f
Add Google Analytics
iheron Aug 28, 2025
a1c99e3
password can be empty
iheron Aug 28, 2025
35b065b
feat(blocking): Blocking function: Messages of blocked contacts will …
iheron Aug 28, 2025
6cb18e8
feat(contacts): export/import contacts
iheron Aug 29, 2025
6770856
feat(chat): message revoke protocol
iheron Aug 30, 2025
7389d32
Remove about tab
iheron Sep 11, 2025
b865a42
chat: replace custom popup with MenuAnchor
iheron Sep 11, 2025
3085329
profile: modifies styles
iheron Sep 11, 2025
27df7fd
chat: add emoji picker
iheron Sep 11, 2025
5bb95fb
Update version
iheron Sep 11, 2025
da9bd1e
bug fix
iheron Sep 12, 2025
1c25c9a
update emoji styles
iheron Sep 17, 2025
17aae04
Upgrade project
iheron Sep 22, 2025
182061d
Update styles
iheron Sep 22, 2025
ca2957a
Update styles
iheron Sep 23, 2025
5e38fcc
Fix profile
iheron Sep 24, 2025
229ace7
feat(share): replace receive_sharing_intent with share_handler
iheron Sep 24, 2025
07351c0
Upgrade image_gallery_saver_plus
iheron Sep 25, 2025
921c832
Upgrade android project
iheron Oct 1, 2025
69a9505
fix: correct default wallet on upgrade
iheron Oct 1, 2025
6ce6315
Update version
iheron Oct 1, 2025
834eac3
Hide error toast
iheron Oct 13, 2025
b6327fb
Add dotenv
iheron Oct 16, 2025
25f6eed
Implement search service with support for querying, user data submis…
iheron Oct 31, 2025
210b662
Add custom ID to chat
iheron Nov 1, 2025
7e84828
Clear unread message when delete
iheron Nov 3, 2025
92d8da7
Handling messages for which no receipt has been received
iheron Nov 6, 2025
5b0a986
Add search at session list screen
iheron Nov 10, 2025
50fcf5c
Add unfocus at menu
iheron Nov 10, 2025
e8adbd7
fix: search bug
iheron Nov 10, 2025
64dadf5
Modifies contact list
iheron Nov 12, 2025
1864c93
feat(chat): add connecting status to send bar
iheron Nov 20, 2025
2599b9c
enhance application lifecycle logging for better background state det…
iheron Dec 1, 2025
78ac7b0
feat(upgrade): implement upgrade checker
iheron Dec 4, 2025
d8382c3
Update version
iheron Dec 12, 2025
7ec9d6c
Bug fix
iheron Dec 18, 2025
e19bf42
Update customId length
iheron Dec 19, 2025
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,6 @@ nkn.aar
**.p12
**.cer
/android/app/.cxx/
/.env

/lib/upgrade/appcast.json
1 change: 1 addition & 0 deletions android/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ GeneratedPluginRegistrant.java

# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
/build/
8 changes: 5 additions & 3 deletions android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ plugins {

android {
namespace = "org.nkn.mobile.app"
compileSdk = 35
compileSdk = 36
ndkVersion = "27.0.12077973"

compileOptions {
Expand All @@ -27,7 +27,7 @@ android {
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = 24
targetSdk = flutter.targetSdkVersion
targetSdk = 36
versionCode = flutter.versionCode
versionName = flutter.versionName
}
Expand Down Expand Up @@ -72,7 +72,9 @@ dependencies {
implementation("androidx.window:window:1.3.0")
implementation("androidx.window:window-java:1.3.0")
// google
implementation("com.google.firebase:firebase-messaging:24.1.1")
implementation(platform("com.google.firebase:firebase-bom:34.1.0"))
implementation("com.google.firebase:firebase-analytics")
implementation("com.google.firebase:firebase-messaging")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation("com.squareup.okhttp3:mockwebserver:4.12.0")
implementation("com.squareup.okhttp3:okhttp-tls:4.10.0")
Expand Down
44 changes: 18 additions & 26 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -101,33 +101,27 @@
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
<!-- Receive Share -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="example.com"
android:pathPrefix="/invite"
android:scheme="https" />
</intent-filter>
<!--TODO: Add this filter if you want to handle shared text-->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>

<!--TODO: Add this filter if you want to handle shared images-->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>

<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>

<!--TODO: Add this filter if you want to handle shared videos-->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
Expand All @@ -138,16 +132,18 @@
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="video/*" />
</intent-filter>
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.SEND" />-->
<!-- <category android:name="android.intent.category.DEFAULT" />-->
<!-- <data android:mimeType="*/*" />-->
<!-- </intent-filter>-->
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.SEND_MULTIPLE" />-->
<!-- <category android:name="android.intent.category.DEFAULT" />-->
<!-- <data android:mimeType="*/*" />-->
<!-- </intent-filter>-->

<!--TODO: Add this filter if you want to handle any type of file-->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
Expand Down Expand Up @@ -177,10 +173,6 @@
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@mipmap/ic_launcher_round" />

<!-- <meta-data-->
<!-- android:name="com.google.firebase.messaging.default_notification_color"-->
<!-- android:resource="@color/hint_color" />-->

<service
android:name=".push.FCMPushService"
android:exported="false">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import io.flutter.plugins.GeneratedPluginRegistrant
import org.nkn.mobile.app.channels.impl.Common
import org.nkn.mobile.app.channels.impl.nameService.DnsResolver
import org.nkn.mobile.app.channels.impl.nameService.EthResolver
import org.nkn.mobile.app.channels.impl.searchService.SearchService
import org.nkn.mobile.app.crypto.Crypto
import org.nkn.mobile.app.push.APNSPush

Expand Down Expand Up @@ -74,6 +75,7 @@ class MainActivity : FlutterFragmentActivity() {
Crypto.register(flutterEngine)
EthResolver.register(flutterEngine)
DnsResolver.register(flutterEngine)
SearchService.register(flutterEngine)

APNSPush.openClient(assets)
}
Expand Down
Loading