Merge branch 'braid/firebase-push-and-f-droid' into 'main'

Revert "Revert "fix: remove proprietary classes from build""

See merge request famedly/fluffychat!887
This commit is contained in:
Krille Fear 2022-05-27 05:59:00 +00:00
commit 02f9314ca9
5 changed files with 92 additions and 59 deletions

View File

@ -68,10 +68,6 @@ android {
} }
release { release {
signingConfig signingConfigs.release signingConfig signingConfigs.release
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
} }
} }
@ -83,9 +79,6 @@ flutter {
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 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' implementation 'androidx.multidex:multidex:2.0.1'
} }

View File

@ -1,41 +0,0 @@
-optimizationpasses 5
## Flutter wrapper
-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) ----------

View File

@ -7,11 +7,13 @@ import android.content.Context
import androidx.multidex.MultiDex import androidx.multidex.MultiDex
class MainActivity : FlutterActivity() { class MainActivity : FlutterActivity() {
override fun attachBaseContext(base: Context) { override fun attachBaseContext(base: Context) {
super.attachBaseContext(base) super.attachBaseContext(base)
MultiDex.install(this) MultiDex.install(this)
} }
override fun provideFlutterEngine(context: Context): FlutterEngine? { override fun provideFlutterEngine(context: Context): FlutterEngine? {
return provideEngine(this) return provideEngine(this)
} }

View File

@ -1592,9 +1592,11 @@ packages:
snapping_sheet: snapping_sheet:
dependency: "direct main" dependency: "direct main"
description: description:
name: snapping_sheet path: "."
url: "https://pub.dartlang.org" ref: listenable
source: hosted resolved-ref: "2d9f2a40590c13aadfd226c2e41b08e155e6a92e"
url: "https://github.com/TheOneWithTheBraid/snapping_sheet.git"
source: git
version: "3.1.0" version: "3.1.0"
source_map_stack_trace: source_map_stack_trace:
dependency: transitive dependency: transitive

View File

@ -1,5 +1,5 @@
diff --git a/android/app/build.gradle b/android/app/build.gradle diff --git a/android/app/build.gradle b/android/app/build.gradle
index ad9ffb87..37baafb1 100644 index 001fbd72..339b35af 100644
--- a/android/app/build.gradle --- a/android/app/build.gradle
+++ b/android/app/build.gradle +++ b/android/app/build.gradle
@@ -44,7 +44,7 @@ android { @@ -44,7 +44,7 @@ android {
@ -11,20 +11,79 @@ index ad9ffb87..37baafb1 100644
targetSdkVersion 30 targetSdkVersion 30
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
@@ -82,11 +82,11 @@ flutter { @@ -68,6 +68,10 @@ android {
}
release {
signingConfig signingConfigs.release
+ minifyEnabled false
+ shrinkResources false
+
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
@@ -78,8 +82,11 @@ flutter {
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 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
+ 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' + testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1' + androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.multidex:multidex:2.0.1'
} }
-//apply plugin: 'com.google.gms.google-services' -//apply plugin: 'com.google.gms.google-services'
+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
new file mode 100644
index 00000000..40570865
--- /dev/null
+++ b/android/app/proguard-rules.pro
@@ -0,0 +1,41 @@
+-optimizationpasses 5
+## Flutter wrapper
+-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 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 index d9930f55..510e9845 100644
--- a/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt --- a/android/app/src/main/kotlin/chat/fluffy/fluffychat/FcmPushService.kt
@ -41,6 +100,24 @@ index d9930f55..510e9845 100644
} }
-*/ -*/
\ No newline at end of file \ 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 diff --git a/android/build.gradle b/android/build.gradle
index 85aa8647..3b7e09e7 100644 index 85aa8647..3b7e09e7 100644
--- a/android/build.gradle --- a/android/build.gradle
@ -55,7 +132,7 @@ index 85aa8647..3b7e09e7 100644
} }
diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart
index 00ca2aaa..8bb8a156 100644 index cd79b0ab..c2db0f1e 100644
--- a/lib/utils/background_push.dart --- a/lib/utils/background_push.dart
+++ b/lib/utils/background_push.dart +++ b/lib/utils/background_push.dart
@@ -39,7 +39,7 @@ import '../config/setting_keys.dart'; @@ -39,7 +39,7 @@ import '../config/setting_keys.dart';
@ -77,10 +154,10 @@ index 00ca2aaa..8bb8a156 100644
DateTime? lastReceivedPush; DateTime? lastReceivedPush;
diff --git a/pubspec.yaml b/pubspec.yaml diff --git a/pubspec.yaml b/pubspec.yaml
index c6295788..8dd17ce4 100644 index 6999d0b8..b2c9144f 100644
--- a/pubspec.yaml --- a/pubspec.yaml
+++ b/pubspec.yaml +++ b/pubspec.yaml
@@ -24,7 +24,7 @@ dependencies: @@ -25,7 +25,7 @@ dependencies:
email_validator: ^2.0.1 email_validator: ^2.0.1
emoji_picker_flutter: ^1.1.2 emoji_picker_flutter: ^1.1.2
encrypt: ^5.0.1 encrypt: ^5.0.1