You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			162 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Diff
		
	
			
		
		
	
	
			162 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Diff
		
	
diff --git a/android/app/build.gradle b/android/app/build.gradle
 | 
						|
index bf972f30..46cebdc6 100644
 | 
						|
--- a/android/app/build.gradle
 | 
						|
+++ b/android/app/build.gradle
 | 
						|
@@ -70,6 +70,10 @@
 | 
						|
         }
 | 
						|
         release {
 | 
						|
             signingConfig signingConfigs.release
 | 
						|
+            minifyEnabled false
 | 
						|
+            shrinkResources false
 | 
						|
+
 | 
						|
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
 | 
						|
         }
 | 
						|
     }
 | 
						|
     // https://stackoverflow.com/a/77494454/8222484
 | 
						|
@@ -78,8 +82,11 @@ flutter {
 | 
						|
 
 | 
						|
 dependencies {
 | 
						|
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
 | 
						|
-    //implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698
 | 
						|
+    implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698
 | 
						|
+    testImplementation 'junit:junit:4.12'
 | 
						|
+    androidTestImplementation 'androidx.test:runner:1.1.1'
 | 
						|
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
 | 
						|
     implementation 'androidx.multidex:multidex:2.0.1'
 | 
						|
 }
 | 
						|
 
 | 
						|
-//apply plugin: 'com.google.gms.google-services'
 | 
						|
+apply plugin: 'com.google.gms.google-services'
 | 
						|
diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro
 | 
						|
index d0e0fbc9..0a546da0 100644
 | 
						|
--- a/android/app/proguard-rules.pro
 | 
						|
+++ b/android/app/proguard-rules.pro
 | 
						|
@@ -1 +1,42 @@
 | 
						|
--keep class net.sqlcipher.** { *; }
 | 
						|
\ No newline at end of file
 | 
						|
+-optimizationpasses 5
 | 
						|
+## Flutter wrapper
 | 
						|
+-keep class net.sqlcipher.** { *; }
 | 
						|
+-keep class io.flutter.app.** { *; }
 | 
						|
+-keep class io.flutter.plugin.**  { *; }
 | 
						|
+-keep class io.flutter.util.**  { *; }
 | 
						|
+-keep class io.flutter.view.**  { *; }
 | 
						|
+-keep class io.flutter.**  { *; }
 | 
						|
+-keep class io.flutter.plugins.**  { *; }
 | 
						|
+-dontwarn io.flutter.embedding.**
 | 
						|
+
 | 
						|
+##---------------Begin: proguard configuration for Gson (Needed for flutter_local_notifications)  ----------
 | 
						|
+# Gson uses generic type information stored in a class file when working with fields. Proguard
 | 
						|
+# removes such information by default, so configure it to keep all of it.
 | 
						|
+-keepattributes Signature
 | 
						|
+
 | 
						|
+# For using GSON @Expose annotation
 | 
						|
+-keepattributes *Annotation*
 | 
						|
+
 | 
						|
+# Gson specific classes
 | 
						|
+-dontwarn sun.misc.**
 | 
						|
+
 | 
						|
+# Application classes that will be serialized/deserialized over Gson
 | 
						|
+-keep class com.google.gson.examples.android.model.** { <fields>; }
 | 
						|
+
 | 
						|
+# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
 | 
						|
+# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
 | 
						|
+-keep class * extends com.google.gson.TypeAdapter
 | 
						|
+-keep class * implements com.google.gson.TypeAdapterFactory
 | 
						|
+-keep class * implements com.google.gson.JsonSerializer
 | 
						|
+-keep class * implements com.google.gson.JsonDeserializer
 | 
						|
+
 | 
						|
+# Prevent R8 from leaving Data object members always null
 | 
						|
+-keepclassmembers,allowobfuscation class * {
 | 
						|
+  @com.google.gson.annotations.SerializedName <fields>;
 | 
						|
+}
 | 
						|
+
 | 
						|
+# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
 | 
						|
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
 | 
						|
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
 | 
						|
+
 | 
						|
+##---------------End: proguard configuration for Gson (Needed for flutter_local_notifications)  ----------
 | 
						|
\ No newline at end of file
 | 
						|
diff --git a/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt b/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt
 | 
						|
index d9930f55..510e9845 100644
 | 
						|
--- a/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt
 | 
						|
+++ b/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt
 | 
						|
@@ -1,4 +1,4 @@
 | 
						|
-/*package chat.fluffy.fluffychat
 | 
						|
+package chat.fluffy.fluffychat
 | 
						|
 
 | 
						|
 import com.famedly.fcm_shared_isolate.FcmSharedIsolateService
 | 
						|
 
 | 
						|
@@ -33,4 +33,3 @@ class FcmPushService : FcmSharedIsolateService() {
 | 
						|
         }
 | 
						|
     }
 | 
						|
 }
 | 
						|
-*/
 | 
						|
\ No newline at end of file
 | 
						|
diff --git a/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt b/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt
 | 
						|
index 1afc4606..894d1571 100644
 | 
						|
--- a/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt
 | 
						|
+++ b/android/app/src/main/kotlin/chat/fluffy/fluffychat/MainActivity.kt
 | 
						|
@@ -7,13 +7,11 @@ import android.content.Context
 | 
						|
 import androidx.multidex.MultiDex
 | 
						|
 
 | 
						|
 class MainActivity : FlutterActivity() {
 | 
						|
-
 | 
						|
     override fun attachBaseContext(base: Context) {
 | 
						|
         super.attachBaseContext(base)
 | 
						|
         MultiDex.install(this)
 | 
						|
     }
 | 
						|
 
 | 
						|
-
 | 
						|
     override fun provideFlutterEngine(context: Context): FlutterEngine? {
 | 
						|
         return provideEngine(this)
 | 
						|
     }
 | 
						|
diff --git a/android/build.gradle b/android/build.gradle
 | 
						|
index bd394967..2e9d54de 100644
 | 
						|
--- a/android/build.gradle
 | 
						|
+++ b/android/build.gradle
 | 
						|
@@ -8,7 +8,7 @@ buildscript {
 | 
						|
     dependencies {
 | 
						|
         classpath 'com.android.tools.build:gradle:7.1.2'
 | 
						|
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 | 
						|
-        //classpath 'com.google.gms:google-services:4.3.8'
 | 
						|
+        classpath 'com.google.gms:google-services:4.3.8'
 | 
						|
     }
 | 
						|
 }
 | 
						|
 
 | 
						|
diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart
 | 
						|
index 8e67ae92..da4da5c3 100644
 | 
						|
--- a/lib/utils/background_push.dart
 | 
						|
+++ b/lib/utils/background_push.dart
 | 
						|
@@ -39,7 +39,7 @@ import '../config/setting_keys.dart';
 | 
						|
 import '../widgets/matrix.dart';
 | 
						|
 import 'platform_infos.dart';
 | 
						|
 
 | 
						|
-//import 'package:fcm_shared_isolate/fcm_shared_isolate.dart';
 | 
						|
+import 'package:fcm_shared_isolate/fcm_shared_isolate.dart';
 | 
						|
 
 | 
						|
 class NoTokenException implements Exception {
 | 
						|
   String get cause => 'Cannot get firebase token';
 | 
						|
@@ -64,7 +64,7 @@ class BackgroundPush {
 | 
						|
 
 | 
						|
   final pendingTests = <String, Completer<void>>{};
 | 
						|
 
 | 
						|
-  final dynamic firebase = null; //FcmSharedIsolate();
 | 
						|
+  final dynamic firebase = FcmSharedIsolate();
 | 
						|
 
 | 
						|
   DateTime? lastReceivedPush;
 | 
						|
 
 | 
						|
diff --git a/pubspec.yaml b/pubspec.yaml
 | 
						|
index 193e6ed6..f70e48d4 100644
 | 
						|
--- a/pubspec.yaml
 | 
						|
+++ b/pubspec.yaml
 | 
						|
@@ -26,7 +26,7 @@ dependencies:
 | 
						|
   emoji_picker_flutter: ^2.1.1
 | 
						|
   emoji_proposal: ^0.0.1
 | 
						|
   emojis: ^0.9.9
 | 
						|
-  #fcm_shared_isolate: ^0.1.0
 | 
						|
+  fcm_shared_isolate: ^0.1.0
 | 
						|
   file_picker: ^8.0.6
 | 
						|
   flutter:
 | 
						|
     sdk: flutter
 |