Compare commits

..

20 Commits

Author SHA1 Message Date
tahaalam c6372bb195 google-services.json file has been changed. 5 days ago
tahaalam 7bab668e59 app name changed 6 days ago
tahaalam 54a21c9619 bundle id and package name refactored 6 days ago
tahaalam 9d079062cb App Icons updated 1 week ago
mobileteam 2619998362 icons and text changed for the application 2 months ago
mobileteam b5c9251801 Merge remote-tracking branch 'origin/master' 2 months ago
tahaalam 3b39436f06 icon changed 2 months ago
mobileteam d078551191 Merge remote-tracking branch 'origin/master' 2 months ago
mobileteam d7488c7d00 color of the images changed 2 months ago
tahaalam c7f16335ca icon color changed 2 months ago
mobileteam 194c7b2b9c Merge remote-tracking branch 'origin/master'
# Conflicts:
#	lib/pages/login/login-type.dart
#	lib/theme/theme_value.dart
2 months ago
tahaalam 7d082d11ce update color scheme to use a consistent color (0xFF14384B) across various components 2 months ago
mobileteam fa891ea185 color changes 2 months ago
mobileteam dbab4f8628 color issue 2 months ago
tahaalam 47642ecd4c update color scheme to use a consistent color (0xFF14384B) across multiple components 2 months ago
mobileteam 1198f541b5 gradle issue fix 2 months ago
tahaalam 93a645691a color changes 2 months ago
tahaalam 0626d5e0e1 rsg changes 2 months ago
tahaalam 4683565d06 Merge remote-tracking branch 'origin/dev_v3.13.6' 2 months ago
Mohammad Aljammal b9bb6d5906 Merge branch 'development' into 'master'
Development

See merge request Cloud_Solution/diplomatic-quarter!303
5 years ago

@ -3,19 +3,19 @@ package com.ejada.hmg
import io.flutter.app.FlutterApplication import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
class Application : FlutterApplication(), PluginRegistrantCallback { class Application : FlutterApplication() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this) FlutterFirebaseMessagingService.setPluginRegistrant(this)
} }
override fun registerWith(registry: PluginRegistry) { // override fun registerWith(registry: PluginRegistry) {
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin")); // io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
} // }
} }
//import io.flutter.app.FlutterApplication //import io.flutter.app.FlutterApplication

@ -12,12 +12,12 @@ object FirebaseCloudMessagingPluginRegistrant {
FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin")) FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"))
} }
private fun alreadyRegisteredWith(registry: PluginRegistry?): Boolean { // private fun alreadyRegisteredWith(registry: PluginRegistry?): Boolean {
val key: String? = FirebaseCloudMessagingPluginRegistrant::class.java.canonicalName // val key: String? = FirebaseCloudMessagingPluginRegistrant::class.java.canonicalName
if (registry?.hasPlugin(key)!!) { // if (registry?.hasPlugin(key)!!) {
return true // return true
} // }
registry.registrarFor(key) // registry.registrarFor(key)
return false // return false
} // }
} }

@ -23,7 +23,7 @@
"project_id":"736430079244816567", "project_id":"736430079244816567",
"app_id":"102857389", "app_id":"102857389",
"api_key":"CgB6e3x9DJzMgRCmnT6dyUEkp6UsIfddb6l3w0ZEXzeiRMHEFi3400Z5fJ5qaHneU0OrAI/JRpk+DMGVs3QpUxlI", "api_key":"CgB6e3x9DJzMgRCmnT6dyUEkp6UsIfddb6l3w0ZEXzeiRMHEFi3400Z5fJ5qaHneU0OrAI/JRpk+DMGVs3QpUxlI",
"package_name":"com.ejada.hmg" "package_name":"com.redseaglobal.redseahealth"
}, },
"oauth_client":{ "oauth_client":{
"client_id":"102857389", "client_id":"102857389",
@ -31,7 +31,7 @@
}, },
"app_info":{ "app_info":{
"app_id":"102857389", "app_id":"102857389",
"package_name":"com.ejada.hmg" "package_name":"com.redseaglobal.redseahealth"
}, },
"service":{ "service":{
"analytics":{ "analytics":{
@ -57,12 +57,12 @@
"configuration_version":"3.0", "configuration_version":"3.0",
"appInfos":[ "appInfos":[
{ {
"package_name":"com.ejada.hmg", "package_name":"com.redseaglobal.redseahealth",
"client":{ "client":{
"app_id":"102857389" "app_id":"102857389"
}, },
"app_info":{ "app_info":{
"package_name":"com.ejada.hmg", "package_name":"com.redseaglobal.redseahealth",
"app_id":"102857389" "app_id":"102857389"
}, },
"oauth_client":{ "oauth_client":{

@ -23,7 +23,7 @@
"project_id":"736430079244816567", "project_id":"736430079244816567",
"app_id":"102857389", "app_id":"102857389",
"api_key":"CgB6e3x9DJzMgRCmnT6dyUEkp6UsIfddb6l3w0ZEXzeiRMHEFi3400Z5fJ5qaHneU0OrAI/JRpk+DMGVs3QpUxlI", "api_key":"CgB6e3x9DJzMgRCmnT6dyUEkp6UsIfddb6l3w0ZEXzeiRMHEFi3400Z5fJ5qaHneU0OrAI/JRpk+DMGVs3QpUxlI",
"package_name":"com.ejada.hmg" "package_name":"com.redseaglobal.redseahealth"
}, },
"oauth_client":{ "oauth_client":{
"client_id":"102857389", "client_id":"102857389",
@ -31,7 +31,7 @@
}, },
"app_info":{ "app_info":{
"app_id":"102857389", "app_id":"102857389",
"package_name":"com.ejada.hmg" "package_name":"com.redseaglobal.redseahealth"
}, },
"service":{ "service":{
"analytics":{ "analytics":{
@ -57,12 +57,12 @@
"configuration_version":"3.0", "configuration_version":"3.0",
"appInfos":[ "appInfos":[
{ {
"package_name":"com.ejada.hmg", "package_name":"com.redseaglobal.redseahealth",
"client":{ "client":{
"app_id":"102857389" "app_id":"102857389"
}, },
"app_info":{ "app_info":{
"package_name":"com.ejada.hmg", "package_name":"com.redseaglobal.redseahealth",
"app_id":"102857389" "app_id":"102857389"
}, },
"oauth_client":{ "oauth_client":{

@ -1,25 +1,14 @@
def localProperties = new Properties() plugins {
def localPropertiesFile = rootProject.file('local.properties') id "com.android.application"
if (localPropertiesFile.exists()) { id "kotlin-android"
localPropertiesFile.withReader('UTF-8') { reader -> id "com.google.gms.google-services"
localProperties.load(reader) id "dev.flutter.flutter-gradle-plugin"
} id "com.google.firebase.crashlytics"
} id "com.huawei.agconnect"
// id("com.mapbox.gradle.application")
def flutterRoot = localProperties.getProperty('flutter.sdk') // id("com.mapbox.gradle.plugins.ndk")
//if (flutterRoot == null) {
// throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
//}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
} }
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
def keystoreProperties = new Properties() def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties') def keystorePropertiesFile = rootProject.file('key.properties')
@ -27,34 +16,23 @@ if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
} }
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
//apply plugin: 'com.google.firebase.crashlytics'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
configurations.all {
c ->
c.resolutionStrategy.eachDependency {
DependencyResolveDetails dependency ->
println dependency.requested.group
if (dependency.requested.group == 'org.bouncycastle') {
dependency.useTarget 'org.bouncycastle:bcprov-jdk15to18:1.68'
}
}
}
//configurations.all {
// resolutionStrategy {
// force 'androidx.core:core-ktx:1.6.0'
// }
//}
android { android {
compileSdkVersion 34 namespace 'com.redseaglobal.redseahealth'
// ndkVersion "24.0.8215888" compileSdk 36
ndkVersion '28.2.13676358'
defaultConfig {
applicationId "com.redseaglobal.redseahealth"
// minSdk 24
minSdkVersion 26
targetSdkVersion 36
compileSdkVersion 36
// targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
multiDexEnabled true
}
buildFeatures { buildFeatures {
viewBinding true viewBinding true
@ -62,28 +40,11 @@ android {
} }
sourceSets { sourceSets {
main.java.srcDirs += 'src/main/kotlin' main {
} java.srcDirs += 'src/main/kotlin'
jniLibs.srcDir 'src/main/libs'
lintOptions { jni.srcDirs = [] // disables automatic ndk-build
disable 'MissingTranslation' }
checkReleaseBuilds false
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.ejada.hmg"
minSdkVersion 26
targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = [] //disable automatic ndk-build call
} }
signingConfigs { signingConfigs {
@ -101,44 +62,42 @@ android {
signingConfig signingConfigs.debug signingConfig signingConfigs.debug
minifyEnabled false minifyEnabled false
shrinkResources false shrinkResources false
// ndk {
// abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
// }
} }
release { release {
debuggable false debuggable false
signingConfig signingConfigs.release signingConfig signingConfigs.release
minifyEnabled true minifyEnabled true
shrinkResources true shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
staging { staging {
// Specifies a sorted list of fallback build types that the
// plugin should try to use when a dependency does not include a
// "staging" build type. You may specify as many fallbacks as you
// like, and the plugin selects the first build type that's
// available in the dependency.
matchingFallbacks = ['debug', 'qa', 'release'] matchingFallbacks = ['debug', 'qa', 'release']
} }
} }
packagingOptions { packagingOptions {
exclude 'META-INF/proguard/androidx-annotations.pro' jniLibs {
pickFirst 'lib/x86/libc++_shared.so' pickFirsts += ['lib/x86/libc++_shared.so', 'lib/x86_64/libc++_shared.so', 'lib/armeabi-v7a/libc++_shared.so', 'lib/arm64-v8a/libc++_shared.so', '**/*.so']
pickFirst 'lib/x86_64/libc++_shared.so' useLegacyPackaging true
pickFirst 'lib/armeabi-v7a/libc++_shared.so' }
pickFirst 'lib/arm64-v8a/libc++_shared.so' resources {
pickFirst '**/*.so' excludes += ['META-INF/proguard/androidx-annotations.pro']
}
} }
// Enable core library desugaring
compileOptions { compileOptions {
// coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_21
sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_1_8 coreLibraryDesugaringEnabled true
} }
kotlinOptions {
jvmTarget = '1.8' // kotlinOptions {
// jvmTarget = '17'
// }
lint {
disable 'MissingTranslation'
checkReleaseBuilds false
} }
} }
@ -146,86 +105,103 @@ flutter {
source '../..' source '../..'
} }
configurations.all {
resolutionStrategy {
force 'androidx.core:core-ktx:1.16.0'
force 'androidx.core:core:1.16.0'
}
}
dependencies { dependencies {
// coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.20"
implementation "com.google.firebase:firebase-messaging:24.1.2"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "com.google.firebase:firebase-messaging:21.0.0"
// implementation ('com.google.firebase:firebase-inappmessaging-display:19.1.2',{
// exclude group: 'com.google.protobuf',module: 'protobuf-javalite'
// exclude group: 'com.google.protobuf',module: 'protobuf-lite'
// })
implementation 'pub.devrel:easypermissions:3.0.0' implementation 'pub.devrel:easypermissions:3.0.0'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0' implementation 'com.google.guava:guava:33.4.0-android'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0' implementation fileTree(dir: 'libs', include: ['*.jar'], exclude: ['bcprov-jdk16-1.46.jar'])
implementation 'com.google.guava:guava:27.0.1-android'
// Dependency on local binaries
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.code.gson:gson:2.8.6'
// Dependency on a remote binary implementation 'com.google.code.gson:gson:2.12.0'
// implementation 'com.example.android:app-magic:12.3'
// Zoom SDKs
implementation "us.zoom.videosdk:zoomvideosdk-core:1.12.10"
implementation "us.zoom.videosdk:zoomvideosdk-annotation:1.12.10"
implementation "us.zoom.videosdk:zoomvideosdk-videoeffects:1.12.10"
implementation "us.zoom.videosdk:zoomvideosdk-core:1.10.1" // Networking
implementation "us.zoom.videosdk:zoomvideosdk-annotation:1.10.1" implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
implementation "us.zoom.videosdk:zoomvideosdk-videoeffects:1.10.1" implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.11'
implementation 'com.squareup.retrofit2:retrofit:2.11.0'
implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
implementation 'com.squareup.retrofit2:adapter-java8:2.11.0'
// Native Dependency // Google Services
// implementation "us.zoom.videosdk:ZoomVideoSDK:1.10.11"
// implementation group: 'us.zoom.videosdk', name: 'zoomvideosdk-core', version: '1.10.11'
// implementation "us.zoom.videosdk:zoomvideosdk-core:1.10.1"
// implementation "us.zoom.videosdk:zoomvideosdk-annotation:1.10.1"
// implementation "us.zoom.videosdk:zoomvideosdk-videoeffects:1.10.1"
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:adapter-java8:2.4.0'
implementation 'com.google.code.gson:gson:2.8.9'
implementation 'com.google.android.gms:play-services-location:21.3.0' implementation 'com.google.android.gms:play-services-location:21.3.0'
implementation 'com.squareup.okhttp3:okhttp:4.10.0' implementation 'com.google.android.gms:play-services-basement:18.7.0'
implementation 'androidx.test.ext:junit:1.1.5'
implementation 'com.android.volley:volley:1.2.1' implementation 'com.android.volley:volley:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.8.5' implementation 'androidx.navigation:navigation-fragment-ktx:2.9.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.8.5' implementation 'androidx.navigation:navigation-ui-ktx:2.9.0'
implementation 'androidx.activity:activity:1.9.3' implementation 'androidx.activity:activity-ktx:1.10.1'
def room_version = "2.4.0-alpha04"
def room_version = "2.6.1"
implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"
implementation 'net.zetetic:android-database-sqlcipher:4.5.2'
implementation 'net.zetetic:android-database-sqlcipher:4.5.4'
implementation 'com.intuit.ssp:ssp-android:1.1.0' implementation 'com.intuit.ssp:ssp-android:1.1.0'
implementation 'com.intuit.sdp:sdp-android:1.1.0' implementation 'com.intuit.sdp:sdp-android:1.1.0'
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
// implementation "com.mapbox.maps:android:10.16.6" implementation 'com.github.bumptech.glide:glide:4.16.0'
implementation 'com.mapbox.maps:android:11.3.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
implementation 'com.mapbox.maps:android:11.5.0'
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-turf:7.3.1'
// implementation 'com.mapbox.maps:android:11.4.0'
// AARs
implementation files('libs/PenNavUI.aar') implementation files('libs/PenNavUI.aar')
implementation files('libs/Penguin.aar') implementation files('libs/Penguin.aar')
implementation files('libs/PenguinRenderer.aar') implementation files('libs/PenguinRenderer.aar')
// implementation "org.jetbrains.anko:anko-commons:0.10.4" implementation 'com.github.kittinunf.fuel:fuel:2.3.1'
implementation 'com.github.kittinunf.fuel:fuel:2.3.0' //for JVM implementation 'com.github.kittinunf.fuel:fuel-android:2.3.1'
implementation 'com.github.kittinunf.fuel:fuel-android:2.3.0'
implementation 'com.google.android.gms:play-services-location:17.1.0'//for Android implementation "com.opentok.android:opentok-android-sdk:2.25.2"
implementation 'com.google.android.gms:play-services-basement:17.5.0'
implementation "com.opentok.android:opentok-android-sdk:2.21.4" implementation 'com.facebook.stetho:stetho:1.6.0'
implementation 'com.facebook.stetho:stetho:1.5.1' implementation 'com.facebook.stetho:stetho-urlconnection:1.6.0'
implementation 'com.facebook.stetho:stetho-urlconnection:1.5.1'
implementation 'androidx.core:core-ktx:1.6.0' implementation 'androidx.core:core-ktx:1.16.0'
implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.appcompat:appcompat:1.7.1'
implementation 'com.google.android.material:material:1.9.0' implementation 'com.google.android.material:material:1.12.0'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22'
androidTestImplementation "androidx.test:core:1.4.0" implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.25'
// implementation 'com.airbnb.android:lottie:5.2.0'
// implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22'
implementation 'com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0'
androidTestImplementation "androidx.test:core:1.6.1"
implementation 'com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0' implementation 'com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
// implementation project(':vitalSignEngine')
}
tasks.whenTaskAdded { task ->
if (task.name.contains("merge") && task.name.contains("NativeLibs")) {
task.doLast {
// Note: project.buildDir is deprecated in newer Gradle;
// layout.buildDirectory.asFile.get() is the modern alternative
def outputDir = new File(project.buildDir, "intermediates/merged_native_libs/release/out/lib")
// Handle both architectures
def abis = ["arm64-v8a", "armeabi-v7a"]
abis.each { abi ->
def targetFile = new File(outputDir, "$abi/libc++_shared.so")
def sourceFile = file("src/main/jniLibs/$abi/libc++_shared.so")
if (sourceFile.exists() && targetFile.exists()) {
println("FORCING: Overwriting $abi version with known-good 1.2MB library")
ant.copy(file: sourceFile, tofile: targetFile, overwrite: true)
}
}
}
}
} }

@ -1,44 +1,26 @@
{ {
"project_info": { "project_info": {
"project_number": "815750722565", "project_number": "768176874884",
"firebase_url": "https://api-project-815750722565.firebaseio.com", "project_id": "red-sea-health---patient",
"project_id": "api-project-815750722565", "storage_bucket": "red-sea-health---patient.firebasestorage.app"
"storage_bucket": "api-project-815750722565.appspot.com"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063", "mobilesdk_app_id": "1:768176874884:android:3e7f40edf9ee18e3dca9d1",
"android_client_info": { "android_client_info": {
"package_name": "com.ejada.hmg" "package_name": "com.redseaglobal.redseahealth"
} }
}, },
"oauth_client": [ "oauth_client": [],
{
"client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyDZDeWcBlRE3YfJWYt_DCiToVnANfaj8qg" "current_key": "AIzaSyA9NQSSLTMNH7ejRaFzsj_vBd2cJcyg0tU"
} }
], ],
"services": { "services": {
"appinvite_service": { "appinvite_service": {
"other_platform_oauth_client": [ "other_platform_oauth_client": []
{
"client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "815750722565-0cq9366orvsk5ipivq6lijcj56u03fr7.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.void.demo"
}
}
]
} }
} }
} }

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ejada.hmg"> package="com.redseaglobal.redseahealth">
<!-- Flutter needs it to communicate with the running application <!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.ejada.hmg"> package="com.redseaglobal.redseahealth">
<!-- <!--
io.flutter.app.FlutterApplication is an android.app.Application that io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method. calls FlutterMain.startInitialization(this); in its onCreate method.
@ -112,14 +112,14 @@
android:name=".Application" android:name=".Application"
android:allowBackup="false" android:allowBackup="false"
android:extractNativeLibs="true" android:extractNativeLibs="true"
android:icon="@mipmap/ic_launcher_local" android:icon="@mipmap/ic_launcher"
android:label="Dr. Alhabib" android:label="Red Sea Health"
android:screenOrientation="sensorPortrait" android:screenOrientation="sensorPortrait"
android:showOnLockScreen="true" android:showOnLockScreen="true"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:replace="android:extractNativeLibs,android:label"> tools:replace="android:extractNativeLibs,android:label">
<activity <activity
android:name="com.cloud.diplomaticquarterapp.whatsapp.WhatsAppCodeActivity" android:name=".whatsapp.WhatsAppCodeActivity"
android:exported="true" android:exported="true"
android:enabled="true" android:enabled="true"
android:launchMode="standard" android:launchMode="standard"

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

@ -1,25 +0,0 @@
//package com.cloud.diplomaticquarterapp
package com.ejada.hmg
import io.flutter.plugin.common.PluginRegistry
//import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin
object FirebaseCloudMessagingPluginRegistrant {
fun registerWith(registry: PluginRegistry?) {
if (alreadyRegisteredWith(registry)) {
return
}
// FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"))
}
private fun alreadyRegisteredWith(registry: PluginRegistry?): Boolean {
val key: String? = FirebaseCloudMessagingPluginRegistrant::class.java.canonicalName
if (key?.let { registry?.hasPlugin(it) }!!) {
return true
}
if (registry != null) {
registry.registrarFor(key)
}
return false
}
}

@ -1,13 +1,13 @@
//package com.cloud.diplomaticquarterapp //package com.cloud.diplomaticquarterapp
package com.ejada.hmg package com.redseaglobal.redseahealth
import com.facebook.stetho.Stetho import com.facebook.stetho.Stetho
import io.flutter.app.FlutterApplication import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback //import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
//import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService //import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
class Application : FlutterApplication(), PluginRegistrantCallback { class Application : FlutterApplication() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
// FlutterFirebaseMessagingService.setPluginRegistrant(this) // FlutterFirebaseMessagingService.setPluginRegistrant(this)
@ -37,9 +37,9 @@ class Application : FlutterApplication(), PluginRegistrantCallback {
Stetho.initialize(initializer) Stetho.initialize(initializer)
} }
override fun registerWith(registry: PluginRegistry) { // override fun registerWith(registry: PluginRegistry) {
// io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin")); // // io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
} // }
} }
//import io.flutter.app.FlutterApplication //import io.flutter.app.FlutterApplication

@ -0,0 +1,25 @@
//package com.cloud.diplomaticquarterapp
package com.redseaglobal.redseahealth
import io.flutter.plugin.common.PluginRegistry
//import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin
object FirebaseCloudMessagingPluginRegistrant {
fun registerWith(registry: PluginRegistry?) {
// if (alreadyRegisteredWith(registry)) {
// return
// }
// FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"))
}
// private fun alreadyRegisteredWith(registry: PluginRegistry?): Boolean {
// val key: String? = FirebaseCloudMessagingPluginRegistrant::class.java.canonicalName
// if (key?.let { registry?.hasPlugin(it) }!!) {
// return true
// }
// if (registry != null) {
// registry.registrarFor(key)
// }
// return false
// }
}

@ -1,5 +1,4 @@
package com.ejada.hmg package com.redseaglobal.redseahealth
import android.app.PendingIntent
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.os.Build import android.os.Build
@ -7,14 +6,13 @@ import android.util.Log
import android.view.WindowManager import android.view.WindowManager
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.cloud.diplomaticquarterapp.PenguinInPlatformBridge import com.redseaglobal.redseahealth.PenguinInPlatformBridge
import com.cloud.diplomaticquarterapp.whatsapp.AppSignatureRetriever import com.redseaglobal.redseahealth.whatsapp.AppSignatureRetriever
import com.ejada.hmg.utils.* import com.redseaglobal.redseahealth.utils.*
import io.flutter.embedding.android.FlutterFragmentActivity import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant import io.flutter.plugins.GeneratedPluginRegistrant
import com.cloud.diplomaticquarterapp.whatsapp.WhatsApp import com.redseaglobal.redseahealth.whatsapp.WhatsAppOtpPlatformBridge
import com.cloud.diplomaticquarterapp.whatsapp.WhatsAppOtpPlatformBridge
class MainActivity: FlutterFragmentActivity() { class MainActivity: FlutterFragmentActivity() {

@ -1,10 +1,10 @@
package com.cloud.diplomaticquarterapp package com.redseaglobal.redseahealth
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.cloud.diplomaticquarterapp.penguin.PenguinView import com.redseaglobal.redseahealth.penguin.PenguinView
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.PermissionManager package com.redseaglobal.redseahealth.PermissionManager
import android.Manifest import android.Manifest
import android.os.Build import android.os.Build

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.PermissionManager package com.redseaglobal.redseahealth.PermissionManager
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.PermissionManager package com.redseaglobal.redseahealth.PermissionManager
// PermissionResultReceiver.kt // PermissionResultReceiver.kt
import android.content.BroadcastReceiver import android.content.BroadcastReceiver

@ -1,4 +1,4 @@
package com.ejada.hmg.geofence package com.redseaglobal.redseahealth.geofence
import com.google.android.gms.location.Geofence import com.google.android.gms.location.Geofence
import com.google.gson.Gson import com.google.gson.Gson

@ -1,4 +1,4 @@
package com.ejada.hmg.geofence package com.redseaglobal.redseahealth.geofence
import android.Manifest import android.Manifest
import android.app.PendingIntent import android.app.PendingIntent
@ -8,9 +8,9 @@ import android.content.SharedPreferences
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.location.Location import android.location.Location
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.ejada.hmg.geofence.intent_receivers.GeofenceBroadcastReceiver import com.redseaglobal.redseahealth.geofence.intent_receivers.GeofenceBroadcastReceiver
import com.ejada.hmg.geofence.intent_receivers.ReregisterGeofenceJobService import com.redseaglobal.redseahealth.geofence.intent_receivers.ReregisterGeofenceJobService
import com.ejada.hmg.utils.* import com.redseaglobal.redseahealth.utils.*
import com.google.android.gms.location.Geofence import com.google.android.gms.location.Geofence
import com.google.android.gms.location.GeofencingClient import com.google.android.gms.location.GeofencingClient
import com.google.android.gms.location.GeofencingRequest import com.google.android.gms.location.GeofencingRequest

@ -1,13 +1,13 @@
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.util.Log import android.util.Log
import com.ejada.hmg.geofence.GeofenceTransition import com.redseaglobal.redseahealth.geofence.GeofenceTransition
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.ejada.hmg.utils.Logs import com.redseaglobal.redseahealth.utils.Logs
import com.google.android.gms.location.GeofenceStatusCodes import com.google.android.gms.location.GeofenceStatusCodes
import com.google.android.gms.location.GeofencingEvent import com.google.android.gms.location.GeofencingEvent

@ -1,11 +1,11 @@
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.google.android.gms.location.GeofenceStatusCodes import com.google.android.gms.location.GeofenceStatusCodes
class GeofenceBroadcastReceiverWithJobService : BroadcastReceiver() { class GeofenceBroadcastReceiverWithJobService : BroadcastReceiver() {

@ -1,10 +1,10 @@
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.content.Context import android.content.Context
import com.ejada.hmg.R import com.redseaglobal.redseahealth.R
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.google.android.gms.common.api.ApiException import com.google.android.gms.common.api.ApiException
import com.google.android.gms.location.GeofenceStatusCodes import com.google.android.gms.location.GeofenceStatusCodes

@ -29,15 +29,15 @@
*/ */
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.util.Log import android.util.Log
import androidx.core.app.JobIntentService import androidx.core.app.JobIntentService
import com.ejada.hmg.geofence.GeofenceTransition import com.redseaglobal.redseahealth.geofence.GeofenceTransition
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.ejada.hmg.utils.saveLog import com.redseaglobal.redseahealth.utils.saveLog
import com.google.android.gms.location.GeofenceStatusCodes import com.google.android.gms.location.GeofenceStatusCodes
import com.google.android.gms.location.GeofencingEvent import com.google.android.gms.location.GeofencingEvent

@ -1,12 +1,12 @@
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.ejada.hmg.utils.PREFS_STORAGE import com.redseaglobal.redseahealth.utils.PREFS_STORAGE
class GeofencingRebootBroadcastReceiver : BroadcastReceiver(){ class GeofencingRebootBroadcastReceiver : BroadcastReceiver(){
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {

@ -1,14 +1,14 @@
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.location.LocationManager import android.location.LocationManager
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.ejada.hmg.utils.HMGUtils import com.redseaglobal.redseahealth.utils.HMGUtils
import com.ejada.hmg.utils.PREFS_STORAGE import com.redseaglobal.redseahealth.utils.PREFS_STORAGE
class LocationProviderChangeReceiver : BroadcastReceiver() { class LocationProviderChangeReceiver : BroadcastReceiver() {
private val LOG_TAG = "LocationProviderChangeReceiver" private val LOG_TAG = "LocationProviderChangeReceiver"

@ -1,9 +1,9 @@
package com.ejada.hmg.geofence.intent_receivers package com.redseaglobal.redseahealth.geofence.intent_receivers
import android.app.job.JobParameters import android.app.job.JobParameters
import android.app.job.JobService import android.app.job.JobService
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.ejada.hmg.utils.Logs import com.redseaglobal.redseahealth.utils.Logs
class ReregisterGeofenceJobService : JobService(){ class ReregisterGeofenceJobService : JobService(){
companion object{ companion object{

@ -1,4 +1,4 @@
package com.ejada.hmg.hmgwifi package com.redseaglobal.redseahealth.hmgwifi
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -10,8 +10,8 @@ import android.os.PatternMatcher
import android.provider.Settings import android.provider.Settings
import android.util.Log import android.util.Log
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.ejada.hmg.utils.HMGUtils import com.redseaglobal.redseahealth.utils.HMGUtils

@ -1,8 +1,8 @@
package com.ejada.hmg.hmgwifi package com.redseaglobal.redseahealth.hmgwifi
import android.annotation.SuppressLint import android.annotation.SuppressLint
import com.ejada.hmg.utils.API import com.redseaglobal.redseahealth.utils.API
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.github.kittinunf.fuel.core.extensions.jsonBody import com.github.kittinunf.fuel.core.extensions.jsonBody
import com.github.kittinunf.fuel.httpGet import com.github.kittinunf.fuel.httpGet
import com.github.kittinunf.fuel.httpPost import com.github.kittinunf.fuel.httpPost
@ -48,7 +48,7 @@ class HMG_Internet(flutterMainActivity: MainActivity) {
"https://captive.apple.com".httpGet().response { request, response, result -> "https://captive.apple.com".httpGet().response { request, response, result ->
result.fold(success = { result.fold(success = {
val html = String(it).toLowerCase(Locale.ENGLISH) val html = String(it).lowercase()
.replace(" ", "", true) .replace(" ", "", true)
.replace("\n","",true) .replace("\n","",true)
val have = html.contains("<title>success</title>", true) val have = html.contains("<title>success</title>", true)

@ -1,4 +1,4 @@
package com.ejada.hmg.hmgwifi package com.redseaglobal.redseahealth.hmgwifi
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -7,8 +7,8 @@ import android.net.wifi.*
import android.net.wifi.SupplicantState.ASSOCIATED import android.net.wifi.SupplicantState.ASSOCIATED
import android.net.wifi.SupplicantState.COMPLETED import android.net.wifi.SupplicantState.COMPLETED
import android.util.Log import android.util.Log
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.ejada.hmg.utils.HMGUtils import com.redseaglobal.redseahealth.utils.HMGUtils
class WPA(mainActivity: MainActivity, SSID:String) { class WPA(mainActivity: MainActivity, SSID:String) {
private var TAG = "WPA" private var TAG = "WPA"

@ -1,4 +1,4 @@
package com.ejada.hmg.hmgwifi package com.redseaglobal.redseahealth.hmgwifi
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -12,8 +12,8 @@ import android.net.wifi.SupplicantState.COMPLETED
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.ejada.hmg.utils.HMGUtils import com.redseaglobal.redseahealth.utils.HMGUtils
import java.security.cert.X509Certificate import java.security.cert.X509Certificate
class WpaEnterprise(private val mainActivity: MainActivity, private var SSID: String) { class WpaEnterprise(private val mainActivity: MainActivity, private var SSID: String) {

@ -1,4 +1,4 @@
package com.ejada.hmg.opentok package com.redseaglobal.redseahealth.opentok
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -6,7 +6,7 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.LinearLayout import android.widget.LinearLayout
import com.ejada.hmg.R import com.redseaglobal.redseahealth.R
import io.flutter.plugin.common.StandardMessageCodec import io.flutter.plugin.common.StandardMessageCodec
import io.flutter.plugin.platform.PlatformView import io.flutter.plugin.platform.PlatformView
import io.flutter.plugin.platform.PlatformViewFactory import io.flutter.plugin.platform.PlatformViewFactory

@ -1,4 +1,4 @@
package com.ejada.hmg.opentok package com.redseaglobal.redseahealth.opentok
import android.content.Context import android.content.Context
import android.os.Handler import android.os.Handler

@ -1,4 +1,4 @@
package com.ejada.hmg.opentok package com.redseaglobal.redseahealth.opentok
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -6,7 +6,7 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.LinearLayout import android.widget.LinearLayout
import com.ejada.hmg.R import com.redseaglobal.redseahealth.R
import io.flutter.plugin.common.StandardMessageCodec import io.flutter.plugin.common.StandardMessageCodec
import io.flutter.plugin.platform.PlatformView import io.flutter.plugin.platform.PlatformView
import io.flutter.plugin.platform.PlatformViewFactory import io.flutter.plugin.platform.PlatformViewFactory

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.penguin package com.redseaglobal.redseahealth.penguin
enum class PenguinMethod { enum class PenguinMethod {
// initializePenguin("initializePenguin"), // initializePenguin("initializePenguin"),

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.penguin package com.redseaglobal.redseahealth.penguin
import android.content.Context import android.content.Context
import com.google.gson.Gson import com.google.gson.Gson

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.penguin package com.redseaglobal.redseahealth.penguin
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
@ -12,10 +12,10 @@ import android.view.ViewGroup
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.cloud.diplomaticquarterapp.PermissionManager.PermissionHelper import com.redseaglobal.redseahealth.PermissionManager.PermissionHelper
import com.cloud.diplomaticquarterapp.PermissionManager.PermissionManager import com.redseaglobal.redseahealth.PermissionManager.PermissionManager
import com.cloud.diplomaticquarterapp.PermissionManager.PermissionResultReceiver import com.redseaglobal.redseahealth.PermissionManager.PermissionResultReceiver
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.peng.pennavmap.PlugAndPlayConfiguration import com.peng.pennavmap.PlugAndPlayConfiguration
import com.peng.pennavmap.PlugAndPlaySDK import com.peng.pennavmap.PlugAndPlaySDK
import com.peng.pennavmap.enums.InitializationErrorType import com.peng.pennavmap.enums.InitializationErrorType
@ -25,11 +25,8 @@ import io.flutter.plugin.common.BinaryMessenger
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel
import io.flutter.plugin.platform.PlatformView import io.flutter.plugin.platform.PlatformView
import com.cloud.diplomaticquarterapp.penguin.PenguinNavigator
import com.peng.pennavmap.interfaces.PIEventsDelegate
import com.peng.pennavmap.interfaces.PILocationDelegate
import com.peng.pennavmap.interfaces.RefIdDelegate import com.peng.pennavmap.interfaces.RefIdDelegate
import com.peng.pennavmap.models.PIReportIssue
/** /**
* Custom PlatformView for displaying Penguin UI components within a Flutter app. * Custom PlatformView for displaying Penguin UI components within a Flutter app.
* Implements `PlatformView` for rendering the view, `MethodChannel.MethodCallHandler` for handling method calls, * Implements `PlatformView` for rendering the view, `MethodChannel.MethodCallHandler` for handling method calls,

@ -1,4 +1,4 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
class API { class API {
companion object{ companion object{

@ -1,4 +1,4 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
const val PREFS_STORAGE = "FlutterSharedPreferences" const val PREFS_STORAGE = "FlutterSharedPreferences"

@ -1,4 +1,4 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel
import io.flutter.plugin.common.MethodChannel.Result import io.flutter.plugin.common.MethodChannel.Result

@ -1,4 +1,4 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
import android.app.NotificationChannel import android.app.NotificationChannel
import android.app.NotificationManager import android.app.NotificationManager
@ -13,10 +13,10 @@ import android.widget.Toast
import androidx.annotation.Nullable import androidx.annotation.Nullable
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import androidx.core.app.TaskStackBuilder import androidx.core.app.TaskStackBuilder
import com.ejada.hmg.BuildConfig import com.redseaglobal.redseahealth.BuildConfig
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.ejada.hmg.R import com.redseaglobal.redseahealth.R
import com.ejada.hmg.geofence.GeoZoneModel import com.redseaglobal.redseahealth.geofence.GeoZoneModel
import com.github.kittinunf.fuel.core.extensions.jsonBody import com.github.kittinunf.fuel.core.extensions.jsonBody
import com.github.kittinunf.fuel.httpPost import com.github.kittinunf.fuel.httpPost
import com.google.gson.Gson import com.google.gson.Gson

@ -1,4 +1,4 @@
//package com.ejada.hmg.utils //package com.redseaglobal.redseahealth.utils
// //
//import android.annotation.SuppressLint //import android.annotation.SuppressLint
//import android.content.Context //import android.content.Context
@ -10,8 +10,8 @@
//import android.net.wifi.WifiConfiguration //import android.net.wifi.WifiConfiguration
//import android.net.wifi.WifiManager //import android.net.wifi.WifiManager
//import android.util.Log //import android.util.Log
//import com.ejada.hmg.utils.API //import com.redseaglobal.redseahealth.utils.API
//import com.ejada.hmg.FlutterMainActivity //import com.redseaglobal.redseahealth.FlutterMainActivity
//import com.github.kittinunf.fuel.core.extensions.jsonBody //import com.github.kittinunf.fuel.core.extensions.jsonBody
//import com.github.kittinunf.fuel.httpGet //import com.github.kittinunf.fuel.httpGet
//import com.github.kittinunf.fuel.httpPost //import com.github.kittinunf.fuel.httpPost

@ -1,9 +1,9 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Build import android.os.Build
import com.ejada.hmg.BuildConfig import com.redseaglobal.redseahealth.BuildConfig
import com.google.gson.Gson import com.google.gson.Gson
class Logs { class Logs {

@ -1,7 +1,7 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.ejada.hmg.opentok.OpenTok import com.redseaglobal.redseahealth.opentok.OpenTok
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel

@ -1,4 +1,4 @@
package com.ejada.hmg.utils package com.redseaglobal.redseahealth.utils
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@ -11,11 +11,11 @@ import android.widget.Toast
import androidx.core.app.ActivityCompat.startActivityForResult import androidx.core.app.ActivityCompat.startActivityForResult
import android.net.wifi.WifiManager import android.net.wifi.WifiManager
import android.util.Log import android.util.Log
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import com.ejada.hmg.hmgwifi.HMG_Guest import com.redseaglobal.redseahealth.hmgwifi.HMG_Guest
import com.ejada.hmg.geofence.GeoZoneModel import com.redseaglobal.redseahealth.geofence.GeoZoneModel
import com.ejada.hmg.geofence.HMG_Geofence import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.ejada.hmg.hmgwifi.WpaEnterprise import com.redseaglobal.redseahealth.hmgwifi.WpaEnterprise
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel

@ -5,12 +5,11 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
package com.cloud.diplomaticquarterapp.whatsapp; package com.redseaglobal.redseahealth.whatsapp;
import static java.sql.DriverManager.println; import static java.sql.DriverManager.println;
import android.content.Context; import android.content.Context;
import android.content.ContextWrapper;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.Signature; import android.content.pm.Signature;
import android.util.Base64; import android.util.Base64;

@ -1,5 +1,5 @@
package com.cloud.diplomaticquarterapp.whatsapp package com.redseaglobal.redseahealth.whatsapp
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent

@ -1,9 +1,5 @@
package com.cloud.diplomaticquarterapp.whatsapp package com.redseaglobal.redseahealth.whatsapp
import android.app.PendingIntent
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.cloud.diplomaticquarterapp.whatsapp.WhatsApp
import com.cloud.diplomaticquarterapp.whatsapp.WhatsAppOtpPlatformBridge
import io.flutter.embedding.android.FlutterFragmentActivity import io.flutter.embedding.android.FlutterFragmentActivity
class WhatsAppCodeActivity : FlutterFragmentActivity() { class WhatsAppCodeActivity : FlutterFragmentActivity() {

@ -1,6 +1,6 @@
package com.cloud.diplomaticquarterapp.whatsapp package com.redseaglobal.redseahealth.whatsapp
import com.ejada.hmg.MainActivity import com.redseaglobal.redseahealth.MainActivity
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel

@ -5,6 +5,6 @@
android:id="@+id/main" android:id="@+id/main"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context="com.cloud.diplomaticquarterapp.whatsapp.WhatsAppCodeActivity"> tools:context="com.redseaglobal.redseahealth.whatsapp.WhatsAppCodeActivity">
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#FFFFFF</color>
</resources>

@ -1,5 +1,5 @@
<resources> <resources>
<string name="app_name">HMG Patient App</string> <string name="app_name">Red Sea Health</string>
<string name="geofence_unknown_error"> <string name="geofence_unknown_error">
Unknown error: the Geofence service is not available now. Unknown error: the Geofence service is not available now.

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ejada.hmg"> package="com.redseaglobal.redseahealth">
<!-- Flutter needs it to communicate with the running application <!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->

@ -1,61 +1,32 @@
buildscript { buildscript {
ext.kotlin_version = '1.8.0'
// if (System.properties['os.arch'] == "aarch64") {
// // For M1 Users we need to use the NDK 24 which added support for aarch64
// ndkVersion = "24.0.8215888"
// } else {
// // Otherwise we default to the side-by-side NDK version from AGP.
// ndkVersion = "21.4.7075529"
// }
repositories { repositories {
google()
jcenter()
mavenCentral() mavenCentral()
maven { url 'https://developer.huawei.com/repo/' } google()
maven { url "https://developer.huawei.com/repo/" }
maven { maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven' url = uri("https://api.mapbox.com/downloads/v2/releases/maven")
credentials { credentials {
username = 'mapbox' username = "mapbox"
password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg" password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
// password = "pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ"
if (password == null || password == "") { if (password == null || password == "") {
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the enviroment variables.") throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the environment variables.")
} }
} }
authentication { authentication {
basic(BasicAuthentication) basic(BasicAuthentication)
} }
} }
// maven {
// url "https://dl.bintray.com/kotlin/kotlin-eap/"
// }
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.1.3' classpath 'com.android.tools.build:gradle:8.1.0'
// classpath 'com.android.tools.build:gradle:8.2.1' classpath 'com.huawei.agconnect:agcp:1.9.1.304'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.8'
// classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
classpath 'com.huawei.agconnect:agcp:1.5.2.300'
classpath("com.android.tools:r8:8.2.42")
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.12'
classpath "com.mapbox.gradle.plugins:access-token:0.4.0"
} }
} }
allprojects { allprojects {
repositories { repositories {
google() google()
// jcenter()
mavenCentral() mavenCentral()
flatDir {
dirs 'libs'
}
maven { maven {
url 'https://developer.huawei.com/repo/' url 'https://developer.huawei.com/repo/'
} }
@ -69,7 +40,7 @@ allprojects {
username = 'mapbox' username = 'mapbox'
password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg" password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
if (password == null || password == "") { if (password == null || password == "") {
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the enviroment variables.") throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the environment variables.")
} }
} }
authentication { authentication {
@ -77,8 +48,58 @@ allprojects {
} }
} }
} }
// Exclude old BouncyCastle globally to avoid duplicate classes
configurations.all {
exclude group: 'org.bouncycastle', module: 'bcprov-jdk16'
}
tasks.withType(JavaCompile).configureEach {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "21"
}
}
subprojects {
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
if (namespace == null) {
namespace project.group
}
buildFeatures {
if (buildConfig == null) {
buildConfig true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}
}
}
// Force Java 17 for all JavaCompile tasks in all subprojects (including plugins)
project.tasks.withType(JavaCompile).configureEach {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
// Force Kotlin JVM target for all subprojects
project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "21"
}
}
}
}
} }
rootProject.buildDir = '../build' rootProject.buildDir = '../build'
subprojects { subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}" project.buildDir = "${rootProject.buildDir}/${project.name}"
@ -88,11 +109,5 @@ subprojects {
} }
tasks.register("clean", Delete) { tasks.register("clean", Delete) {
delete rootProject.buildDir delete rootProject.layout.buildDirectory
}
configurations.all {
resolutionStrategy {
force 'androidx.core:core-ktx:1.6.0'
}
} }

@ -10,7 +10,7 @@
"client_info": { "client_info": {
"mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063", "mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
"android_client_info": { "android_client_info": {
"package_name": "com.ejada.hmg" "package_name": "com.redseaglobal.redseahealth"
} }
}, },
"oauth_client": [ "oauth_client": [

@ -1,8 +1,9 @@
org.gradle.jvmargs=-Xmx4096m org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m
#android.enableR8=true #android.enableR8=true
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
android.suppressUnsupportedCompileSdk=33 android.suppressUnsupportedCompileSdk=33
MAPBOX_USER_NAME = "mapbox" MAPBOX_USER_NAME = "mapbox"
MAPBOX_DOWNLOADS_TOKEN="sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg" MAPBOX_DOWNLOADS_TOKEN="sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
#MAPBOX_DOWNLOADS_TOKEN="pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ" #MAPBOX_DOWNLOADS_TOKEN="pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ"
kotlin.jvm.target.validation.mode = IGNORE

@ -1,6 +1,6 @@
#Wed Jul 14 15:55:18 AST 2021 #Wed Jul 02 15:26:33 AST 2025
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

@ -1,17 +1,203 @@
include ':app' //pluginManagement {
include ':vital-sign-engine' // def flutterSdkPath = {
project(':vital-sign-engine').projectDir = new File('/Users/mohamedmekawy/Documents/Work/DiplomaticQuarter_3.16/packages/vital_sign_camera/android/libs') // def properties = new Properties()
// file("local.properties").withInputStream { properties.load(it) }
// def flutterSdkPath = properties.getProperty("flutter.sdk")
// assert flutterSdkPath != null : "flutter.sdk not set in local.properties"
// return flutterSdkPath
// }()
//
// includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
//
// repositories {
// google()
// mavenCentral()
// gradlePluginPortal()
// }
//
// plugins {
// id "dev.flutter.flutter-plugin-loader" version "1.0.0"
// id "com.android.application" version "8.1.0" apply false
// id "org.jetbrains.kotlin.android" version "2.1.10" apply false
// id "com.google.gms.google-services" version "4.4.2" apply false
// id "com.google.firebase.crashlytics" version "3.0.3" apply false
//
// }
//}
//
//
//dependencyResolutionManagement {
// repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
//
// repositories {
// google()
// mavenCentral()
// flatDir {
// dirs 'libs'
// }
// maven {
// url 'https://developer.huawei.com/repo/'
// }
// maven {
// url "https://artifactory.ess-dev.com/artifactory/gradle-dev-local"
// }
// maven {
// url 'https://api.mapbox.com/downloads/v2/releases/maven'
//
// credentials {
// username = 'mapbox'
// password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
// if (password == null || password == "") {
// throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the environment variables.")
// }
// }
// authentication {
// basic(BasicAuthentication)
// }
// }
// }
//}
//
//
//// Load local properties
//def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
//def properties = new Properties()
//assert localPropertiesFile.exists()
//localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
//
//// Get Flutter SDK path
//def flutterSdkPath = properties.getProperty('flutter.sdk')
//assert flutterSdkPath != null : "flutter.sdk not set in local.properties"
//
//// Get vital-sign-engine path
//def vitalSignEnginePath = properties.getProperty('vital.sign.engine.path')
//assert vitalSignEnginePath != null : "vital.sign.engine.path not set in local.properties"
//
//// Include modules
//include ':app'
////project(':vital-sign-engine').projectDir = file(vitalSignEnginePath)
//// ':vital-sign-engine'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties() //include ':app'
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') //
if (pluginsFile.exists()) { //def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } //
//def plugins = new Properties()
//def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
//if (pluginsFile.exists()) {
// pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
//}
//
//plugins.each { name, path ->
// def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
// include ":$name"
// project(":$name").projectDir = pluginDirectory
//}
//// Load local properties
//def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
//def properties = new Properties()
//assert localPropertiesFile.exists()
//localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
//
//// Get Flutter SDK path
//def flutterSdkPath = properties.getProperty('flutter.sdk')
//assert flutterSdkPath != null : "flutter.sdk not set in local.properties"
//
//// Get vital-sign-engine path
//def vitalSignEnginePath = properties.getProperty('vital.sign.engine.path')
//assert vitalSignEnginePath != null : "vital.sign.engine.path not set in local.properties"
//
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
// Get vital-sign-engine path
// def vitalSignEngine = {
// def properties = new Properties()
// file("local.properties").withInputStream { properties.load(it) }
// def vitalSignEnginePath = properties.getProperty("vital.sign.engine.path")
// assert vitalSignEnginePath != null, "vital.sign.engine.path not set in local.properties"
// return vitalSignEnginePath
// }()
repositories {
google()
mavenCentral()
maven { url 'https://developer.huawei.com/repo/' }
gradlePluginPortal()
}
resolutionStrategy {
eachPlugin {
if (requested.id.id == "com.huawei.agconnect") {
useModule("com.huawei.agconnect:agcp:1.9.1.304")
}
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
flatDir {
dirs 'libs'
}
maven {
url 'https://developer.huawei.com/repo/'
}
maven {
url "https://artifactory.ess-dev.com/artifactory/gradle-dev-local"
}
maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven'
credentials {
username = 'mapbox'
password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
if (password == null || password == "") {
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the environment variables.")
}
}
authentication {
basic(BasicAuthentication)
}
}
}
}
} }
plugins.each { name, path -> plugins {
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() id "dev.flutter.flutter-plugin-loader" version "1.0.0"
include ":$name" id "com.android.application" version '8.11.0' apply false
project(":$name").projectDir = pluginDirectory id("org.jetbrains.kotlin.android") version "2.2.0" apply false
id("com.google.gms.google-services") version "4.4.3" apply false
id("com.google.firebase.crashlytics") version "3.0.4" apply false
id('org.gradle.toolchains.foojay-resolver-convention') version '0.9.0' apply false
id "com.huawei.agconnect" version "1.9.1.304" apply false
} }
include ":app"
//// Add the following to include vitalSignEngine as a module
//def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
//def properties = new Properties()
//assert localPropertiesFile.exists()
//localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
//def vitalSignEnginePath = properties.getProperty('vital.sign.engine.path')
//assert vitalSignEnginePath != null : "vital.sign.engine.path not set in local.properties"
//
//include ':vitalSignEngine'
//project(':vitalSignEngine').projectDir = file(vitalSignEnginePath)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 15 KiB

@ -1,5 +1,5 @@
<svg width="126" height="126" viewBox="0 0 126 126" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="126" height="126" viewBox="0 0 126 126" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M47.25 99.75C47.25 105.549 42.549 110.25 36.75 110.25C30.951 110.25 26.25 105.549 26.25 99.75C26.25 93.9509 30.951 89.25 36.75 89.25C42.549 89.25 47.25 93.9509 47.25 99.75Z" fill="#ED1C2B"/> <path d="M47.25 99.75C47.25 105.549 42.549 110.25 36.75 110.25C30.951 110.25 26.25 105.549 26.25 99.75C26.25 93.9509 30.951 89.25 36.75 89.25C42.549 89.25 47.25 93.9509 47.25 99.75Z" fill="#14384B"/>
<path d="M99.75 99.75C99.75 105.549 95.0492 110.25 89.25 110.25C83.4509 110.25 78.75 105.549 78.75 99.75C78.75 93.9509 83.4509 89.25 89.25 89.25C95.0492 89.25 99.75 93.9509 99.75 99.75Z" fill="#ED1C2B"/> <path d="M99.75 99.75C99.75 105.549 95.0492 110.25 89.25 110.25C83.4509 110.25 78.75 105.549 78.75 99.75C78.75 93.9509 83.4509 89.25 89.25 89.25C95.0492 89.25 99.75 93.9509 99.75 99.75Z" fill="#14384B"/>
<path d="M21 21H68.25C74.0491 21 78.75 25.701 78.75 31.5H89.4532C92.6431 31.5 95.6597 32.9499 97.6526 35.4407L112.35 53.8125H78.75V61.6875H115.5V89.25C115.5 94.1435 112.152 98.2553 107.622 99.4198C107.446 89.4238 99.288 81.375 89.25 81.375C79.1017 81.375 70.875 89.6018 70.875 99.75H55.125C55.125 89.6018 46.8982 81.375 36.75 81.375C26.712 81.375 18.554 89.4238 18.3779 99.4198C13.8477 98.2553 10.5 94.1435 10.5 89.25V31.5C10.5 25.701 15.201 21 21 21ZM47.5125 31.5H41.7375C40.2878 31.5 39.1125 32.6753 39.1125 34.125V44.3625H28.875C27.4253 44.3625 26.25 45.5378 26.25 46.9875V52.7625C26.25 54.212 27.4253 55.3875 28.875 55.3875H39.1125V65.625C39.1125 67.0745 40.2878 68.25 41.7375 68.25H47.5125C48.9622 68.25 50.1375 67.0745 50.1375 65.625V55.3875H60.375C61.8245 55.3875 63 54.212 63 52.7625V46.9875C63 45.5378 61.8245 44.3625 60.375 44.3625H50.1375V34.125C50.1375 32.6753 48.9622 31.5 47.5125 31.5Z" fill="#ED1C2B"/> <path d="M21 21H68.25C74.0491 21 78.75 25.701 78.75 31.5H89.4532C92.6431 31.5 95.6597 32.9499 97.6526 35.4407L112.35 53.8125H78.75V61.6875H115.5V89.25C115.5 94.1435 112.152 98.2553 107.622 99.4198C107.446 89.4238 99.288 81.375 89.25 81.375C79.1017 81.375 70.875 89.6018 70.875 99.75H55.125C55.125 89.6018 46.8982 81.375 36.75 81.375C26.712 81.375 18.554 89.4238 18.3779 99.4198C13.8477 98.2553 10.5 94.1435 10.5 89.25V31.5C10.5 25.701 15.201 21 21 21ZM47.5125 31.5H41.7375C40.2878 31.5 39.1125 32.6753 39.1125 34.125V44.3625H28.875C27.4253 44.3625 26.25 45.5378 26.25 46.9875V52.7625C26.25 54.212 27.4253 55.3875 28.875 55.3875H39.1125V65.625C39.1125 67.0745 40.2878 68.25 41.7375 68.25H47.5125C48.9622 68.25 50.1375 67.0745 50.1375 65.625V55.3875H60.375C61.8245 55.3875 63 54.212 63 52.7625V46.9875C63 45.5378 61.8245 44.3625 60.375 44.3625H50.1375V34.125C50.1375 32.6753 48.9622 31.5 47.5125 31.5Z" fill="#14384B"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -1,5 +1,5 @@
<svg width="126" height="126" viewBox="0 0 126 126" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="126" height="126" viewBox="0 0 126 126" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M47.25 99.75C47.25 105.549 42.549 110.25 36.75 110.25C30.951 110.25 26.25 105.549 26.25 99.75C26.25 93.9509 30.951 89.25 36.75 89.25C42.549 89.25 47.25 93.9509 47.25 99.75Z" fill="#ED1C2B" fill-opacity="0.1"/> <path d="M47.25 99.75C47.25 105.549 42.549 110.25 36.75 110.25C30.951 110.25 26.25 105.549 26.25 99.75C26.25 93.9509 30.951 89.25 36.75 89.25C42.549 89.25 47.25 93.9509 47.25 99.75Z" fill="#14384B" fill-opacity="0.1"/>
<path d="M99.75 99.75C99.75 105.549 95.0492 110.25 89.25 110.25C83.4509 110.25 78.75 105.549 78.75 99.75C78.75 93.9509 83.4509 89.25 89.25 89.25C95.0492 89.25 99.75 93.9509 99.75 99.75Z" fill="#ED1C2B" fill-opacity="0.1"/> <path d="M99.75 99.75C99.75 105.549 95.0492 110.25 89.25 110.25C83.4509 110.25 78.75 105.549 78.75 99.75C78.75 93.9509 83.4509 89.25 89.25 89.25C95.0492 89.25 99.75 93.9509 99.75 99.75Z" fill="#14384B" fill-opacity="0.1"/>
<path d="M21 21H68.25C74.0491 21 78.75 25.701 78.75 31.5H89.4532C92.6431 31.5 95.6597 32.9499 97.6526 35.4407L112.35 53.8125H78.75V61.6875H115.5V89.25C115.5 94.1435 112.152 98.2553 107.622 99.4198C107.446 89.4238 99.288 81.375 89.25 81.375C79.1017 81.375 70.875 89.6018 70.875 99.75H55.125C55.125 89.6018 46.8982 81.375 36.75 81.375C26.712 81.375 18.554 89.4238 18.3779 99.4198C13.8477 98.2553 10.5 94.1435 10.5 89.25V31.5C10.5 25.701 15.201 21 21 21ZM47.5125 31.5H41.7375C40.2878 31.5 39.1125 32.6753 39.1125 34.125V44.3625H28.875C27.4253 44.3625 26.25 45.5378 26.25 46.9875V52.7625C26.25 54.212 27.4253 55.3875 28.875 55.3875H39.1125V65.625C39.1125 67.0745 40.2878 68.25 41.7375 68.25H47.5125C48.9622 68.25 50.1375 67.0745 50.1375 65.625V55.3875H60.375C61.8245 55.3875 63 54.212 63 52.7625V46.9875C63 45.5378 61.8245 44.3625 60.375 44.3625H50.1375V34.125C50.1375 32.6753 48.9622 31.5 47.5125 31.5Z" fill="#ED1C2B" fill-opacity="0.1"/> <path d="M21 21H68.25C74.0491 21 78.75 25.701 78.75 31.5H89.4532C92.6431 31.5 95.6597 32.9499 97.6526 35.4407L112.35 53.8125H78.75V61.6875H115.5V89.25C115.5 94.1435 112.152 98.2553 107.622 99.4198C107.446 89.4238 99.288 81.375 89.25 81.375C79.1017 81.375 70.875 89.6018 70.875 99.75H55.125C55.125 89.6018 46.8982 81.375 36.75 81.375C26.712 81.375 18.554 89.4238 18.3779 99.4198C13.8477 98.2553 10.5 94.1435 10.5 89.25V31.5C10.5 25.701 15.201 21 21 21ZM47.5125 31.5H41.7375C40.2878 31.5 39.1125 32.6753 39.1125 34.125V44.3625H28.875C27.4253 44.3625 26.25 45.5378 26.25 46.9875V52.7625C26.25 54.212 27.4253 55.3875 28.875 55.3875H39.1125V65.625C39.1125 67.0745 40.2878 68.25 41.7375 68.25H47.5125C48.9622 68.25 50.1375 67.0745 50.1375 65.625V55.3875H60.375C61.8245 55.3875 63 54.212 63 52.7625V46.9875C63 45.5378 61.8245 44.3625 60.375 44.3625H50.1375V34.125C50.1375 32.6753 48.9622 31.5 47.5125 31.5Z" fill="#14384B" fill-opacity="0.1"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

@ -8,13 +8,6 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
17AB294D2D8707DE001C125B /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17AB29452D86D210001C125B /* Penguin.xcframework */; };
17AB294E2D8707DE001C125B /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 17AB29452D86D210001C125B /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
17AB29502D8707DF001C125B /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17AB29442D86D210001C125B /* PenguinINRenderer.xcframework */; };
17AB29512D8707DF001C125B /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 17AB29442D86D210001C125B /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
17AB29522D8707E2001C125B /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17AB29432D86D210001C125B /* PenNavUI.xcframework */; };
17AB29532D8707E2001C125B /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 17AB29432D86D210001C125B /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
29631B9E2C96C7F600DF5916 /* PenguinNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29631B9D2C96C7F600DF5916 /* PenguinNavigator.swift */; };
301C79AE27200D9F0016307B /* OpenTokRemoteVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */; }; 301C79AE27200D9F0016307B /* OpenTokRemoteVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */; };
301C79B027200DED0016307B /* OpenTokLocalVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */; }; 301C79B027200DED0016307B /* OpenTokLocalVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */; };
306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */; }; 306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */; };
@ -25,11 +18,6 @@
762D738F274E42650063CE73 /* ring_30Sec.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 762D738D274E42650063CE73 /* ring_30Sec.mp3 */; }; 762D738F274E42650063CE73 /* ring_30Sec.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 762D738D274E42650063CE73 /* ring_30Sec.mp3 */; };
76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; }; 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; };
76962ECE28AE5C10004EAE09 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */; }; 76962ECE28AE5C10004EAE09 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */; };
76D71B672C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */; };
76D71B6A2C6B819000DAFB84 /* PenguinModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B692C6B819000DAFB84 /* PenguinModel.swift */; };
76D71B6C2C6B81B300DAFB84 /* PenguinView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B6B2C6B81B300DAFB84 /* PenguinView.swift */; };
76D71B6E2C6B81CC00DAFB84 /* PenguinPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B6D2C6B81CC00DAFB84 /* PenguinPlugin.swift */; };
76D71B702C6B81EA00DAFB84 /* PenguinViewFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B6F2C6B81EA00DAFB84 /* PenguinViewFactory.swift */; };
76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76F2556027F1FFED0062C1CD /* PassKit.framework */; }; 76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76F2556027F1FFED0062C1CD /* PassKit.framework */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
@ -61,9 +49,6 @@
dstPath = ""; dstPath = "";
dstSubfolderSpec = 10; dstSubfolderSpec = 10;
files = ( files = (
17AB29512D8707DF001C125B /* PenguinINRenderer.xcframework in Embed Frameworks */,
17AB294E2D8707DE001C125B /* Penguin.xcframework in Embed Frameworks */,
17AB29532D8707E2001C125B /* PenNavUI.xcframework in Embed Frameworks */,
); );
name = "Embed Frameworks"; name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@ -74,10 +59,6 @@
02C0468611167F0E858967A9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; }; 02C0468611167F0E858967A9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
17AB29432D86D210001C125B /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PenNavUI.xcframework; path = Frameworks/PenNavUI.xcframework; sourceTree = "<group>"; };
17AB29442D86D210001C125B /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PenguinINRenderer.xcframework; path = Frameworks/PenguinINRenderer.xcframework; sourceTree = "<group>"; };
17AB29452D86D210001C125B /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Penguin.xcframework; path = Frameworks/Penguin.xcframework; sourceTree = "<group>"; };
29631B9D2C96C7F600DF5916 /* PenguinNavigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinNavigator.swift; sourceTree = "<group>"; };
301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokRemoteVideoFactory.swift; sourceTree = "<group>"; }; 301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokRemoteVideoFactory.swift; sourceTree = "<group>"; };
301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokLocalVideoFactory.swift; sourceTree = "<group>"; }; 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokLocalVideoFactory.swift; sourceTree = "<group>"; };
306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokPlatformBridge.swift; sourceTree = "<group>"; }; 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokPlatformBridge.swift; sourceTree = "<group>"; };
@ -89,11 +70,6 @@
762D738D274E42650063CE73 /* ring_30Sec.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = ring_30Sec.mp3; path = ../../assets/sounds/ring_30Sec.mp3; sourceTree = "<group>"; }; 762D738D274E42650063CE73 /* ring_30Sec.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = ring_30Sec.mp3; path = ../../assets/sounds/ring_30Sec.mp3; sourceTree = "<group>"; };
76815B26275F381C00E66E94 /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; }; 76815B26275F381C00E66E94 /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; };
76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; }; 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMGPenguinInPlatformBridge.swift; sourceTree = "<group>"; };
76D71B692C6B819000DAFB84 /* PenguinModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinModel.swift; sourceTree = "<group>"; };
76D71B6B2C6B81B300DAFB84 /* PenguinView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinView.swift; sourceTree = "<group>"; };
76D71B6D2C6B81CC00DAFB84 /* PenguinPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinPlugin.swift; sourceTree = "<group>"; };
76D71B6F2C6B81EA00DAFB84 /* PenguinViewFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinViewFactory.swift; sourceTree = "<group>"; };
76F2556027F1FFED0062C1CD /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; }; 76F2556027F1FFED0062C1CD /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
@ -135,9 +111,6 @@
76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */, 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */,
E9620805255C2ED100D3A35D /* NetworkExtension.framework in Frameworks */, E9620805255C2ED100D3A35D /* NetworkExtension.framework in Frameworks */,
F74B5001ECD140A97800DC22 /* Pods_Runner.framework in Frameworks */, F74B5001ECD140A97800DC22 /* Pods_Runner.framework in Frameworks */,
17AB29522D8707E2001C125B /* PenNavUI.xcframework in Frameworks */,
17AB294D2D8707DE001C125B /* Penguin.xcframework in Frameworks */,
17AB29502D8707DF001C125B /* PenguinINRenderer.xcframework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -157,9 +130,6 @@
555EAAA626EFB641859EF0BE /* Frameworks */ = { 555EAAA626EFB641859EF0BE /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
17AB29452D86D210001C125B /* Penguin.xcframework */,
17AB29442D86D210001C125B /* PenguinINRenderer.xcframework */,
17AB29432D86D210001C125B /* PenNavUI.xcframework */,
76F2556027F1FFED0062C1CD /* PassKit.framework */, 76F2556027F1FFED0062C1CD /* PassKit.framework */,
76815B26275F381C00E66E94 /* HealthKit.framework */, 76815B26275F381C00E66E94 /* HealthKit.framework */,
E9620804255C2ED100D3A35D /* NetworkExtension.framework */, E9620804255C2ED100D3A35D /* NetworkExtension.framework */,
@ -178,18 +148,6 @@
path = Pods; path = Pods;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
76D71B682C6B817500DAFB84 /* Penguin */ = {
isa = PBXGroup;
children = (
76D71B692C6B819000DAFB84 /* PenguinModel.swift */,
76D71B6B2C6B81B300DAFB84 /* PenguinView.swift */,
76D71B6D2C6B81CC00DAFB84 /* PenguinPlugin.swift */,
76D71B6F2C6B81EA00DAFB84 /* PenguinViewFactory.swift */,
29631B9D2C96C7F600DF5916 /* PenguinNavigator.swift */,
);
path = Penguin;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = { 9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -225,7 +183,6 @@
97C146F01CF9000F007C117D /* Runner */ = { 97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
76D71B682C6B817500DAFB84 /* Penguin */,
762D738C274E42650063CE73 /* ring_30Sec.caf */, 762D738C274E42650063CE73 /* ring_30Sec.caf */,
762D738D274E42650063CE73 /* ring_30Sec.mp3 */, 762D738D274E42650063CE73 /* ring_30Sec.mp3 */,
306FE6C9271D8B54002D6EFC /* OpenTok */, 306FE6C9271D8B54002D6EFC /* OpenTok */,
@ -260,7 +217,6 @@
E923EFD52587443800E3E751 /* HMGPlatformBridge.swift */, E923EFD52587443800E3E751 /* HMGPlatformBridge.swift */,
306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */, 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */,
E9F7623A25922BCE00FB5CCF /* FlutterConstants.swift */, E9F7623A25922BCE00FB5CCF /* FlutterConstants.swift */,
76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */,
); );
path = Helper; path = Helper;
sourceTree = "<group>"; sourceTree = "<group>";
@ -459,18 +415,12 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */, 306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */,
76D71B6E2C6B81CC00DAFB84 /* PenguinPlugin.swift in Sources */,
E923EFD225863FDF00E3E751 /* GeoZoneModel.swift in Sources */, E923EFD225863FDF00E3E751 /* GeoZoneModel.swift in Sources */,
E91B539A256AAA6500E96549 /* MainFlutterVC.swift in Sources */, E91B539A256AAA6500E96549 /* MainFlutterVC.swift in Sources */,
76D71B672C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift in Sources */,
E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */, E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */,
E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */, E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */,
E923EFD4258645C100E3E751 /* HMG_Geofence.swift in Sources */, E923EFD4258645C100E3E751 /* HMG_Geofence.swift in Sources */,
E923EFD62587443800E3E751 /* HMGPlatformBridge.swift in Sources */, E923EFD62587443800E3E751 /* HMGPlatformBridge.swift in Sources */,
76D71B6C2C6B81B300DAFB84 /* PenguinView.swift in Sources */,
29631B9E2C96C7F600DF5916 /* PenguinNavigator.swift in Sources */,
76D71B6A2C6B819000DAFB84 /* PenguinModel.swift in Sources */,
76D71B702C6B81EA00DAFB84 /* PenguinViewFactory.swift in Sources */,
301C79AE27200D9F0016307B /* OpenTokRemoteVideoFactory.swift in Sources */, 301C79AE27200D9F0016307B /* OpenTokRemoteVideoFactory.swift in Sources */,
E9F7623B25922BCE00FB5CCF /* FlutterConstants.swift in Sources */, E9F7623B25922BCE00FB5CCF /* FlutterConstants.swift in Sources */,
306FE6CB271D8B73002D6EFC /* OpenTok.swift in Sources */, 306FE6CB271D8B73002D6EFC /* OpenTok.swift in Sources */,
@ -595,7 +545,7 @@
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.6.004; MARKETING_VERSION = 4.6.004;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_BUNDLE_IDENTIFIER = com.redseaglobal.redseahealth;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -747,7 +697,7 @@
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.6.004; MARKETING_VERSION = 4.6.004;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_BUNDLE_IDENTIFIER = com.redseaglobal.redseahealth;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -791,7 +741,7 @@
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
MARKETING_VERSION = 4.6.004; MARKETING_VERSION = 4.6.004;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_BUNDLE_IDENTIFIER = com.redseaglobal.redseahealth;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";

@ -26,6 +26,7 @@
buildConfiguration = "Debug" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
@ -43,11 +44,13 @@
buildConfiguration = "Release" buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
launchStyle = "0" launchStyle = "0"
useCustomWorkingDirectory = "NO" useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO" ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES" debugDocumentVersioning = "YES"
debugServiceExtension = "internal" debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES"> allowLocationSimulation = "YES">
<BuildableProductRunnable <BuildableProductRunnable
runnableDebuggingMode = "0"> runnableDebuggingMode = "0">

@ -26,18 +26,18 @@ var userNotificationCenterDelegate:UNUserNotificationCenterDelegate? = nil
func initializePlatformChannels(){ func initializePlatformChannels(){
if let mainViewController = window.rootViewController as? MainFlutterVC{ // platform initialization suppose to be in foreground // if let mainViewController = window.rootViewController as? MainFlutterVC{ // platform initialization suppose to be in foreground
flutterViewController = mainViewController // flutterViewController = mainViewController
HMGPlatformBridge.initialize(flutterViewController: flutterViewController) // HMGPlatformBridge.initialize(flutterViewController: flutterViewController)
OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) // OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok"))
HMGPenguinInPlatformBridge.initialize(flutterViewController: flutterViewController) // HMGPenguinInPlatformBridge.initialize(flutterViewController: flutterViewController)
//
}else if let mainViewController = initialViewController(){ // platform initialization suppose to be in background // }else if let mainViewController = initialViewController(){ // platform initialization suppose to be in background
flutterViewController = mainViewController // flutterViewController = mainViewController
HMGPlatformBridge.initialize(flutterViewController: flutterViewController) // HMGPlatformBridge.initialize(flutterViewController: flutterViewController)
OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) // OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok"))
HMGPenguinInPlatformBridge.initialize(flutterViewController: flutterViewController) // HMGPenguinInPlatformBridge.initialize(flutterViewController: flutterViewController)
} // }
} }

@ -1,121 +1,121 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "Icon-App-20x20@2x.png", "filename" : "icon-20@2x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "Icon-App-20x20@3x.png", "filename" : "icon-20@3x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "Icon-App-29x29@1x.png", "filename" : "icon-29@1x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "1x", "scale" : "1x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "Icon-App-29x29@2x.png", "filename" : "icon-29@2x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "Icon-App-29x29@3x.png", "filename" : "icon-29@3x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "Icon-App-40x40@2x.png", "filename" : "icon-40@2x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "Icon-App-40x40@3x.png", "filename" : "icon-40@3x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "Icon-App-60x60@2x.png", "filename" : "icon-60@2x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "60x60" "size" : "60x60"
}, },
{ {
"filename" : "Icon-App-60x60@3x.png", "filename" : "icon-60@3x-iphone.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "3x", "scale" : "3x",
"size" : "60x60" "size" : "60x60"
}, },
{ {
"filename" : "Icon-App-20x20@1x.png", "filename" : "icon-20@1x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "Icon-App-20x20@2x.png", "filename" : "icon-20@2x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "20x20" "size" : "20x20"
}, },
{ {
"filename" : "Icon-App-29x29@1x.png", "filename" : "icon-29@1x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "Icon-App-29x29@2x.png", "filename" : "icon-29@2x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "29x29" "size" : "29x29"
}, },
{ {
"filename" : "Icon-App-40x40@1x.png", "filename" : "icon-40@1x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "Icon-App-40x40@2x.png", "filename" : "icon-40@2x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "40x40" "size" : "40x40"
}, },
{ {
"filename" : "Icon-App-76x76@1x.png", "filename" : "icon-76@1x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "1x", "scale" : "1x",
"size" : "76x76" "size" : "76x76"
}, },
{ {
"filename" : "Icon-App-76x76@2x.png", "filename" : "icon-76@2x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "76x76" "size" : "76x76"
}, },
{ {
"filename" : "Icon-App-83.5x83.5@2x.png", "filename" : "icon-83.5@2x-ipad.png",
"idiom" : "ipad", "idiom" : "ipad",
"scale" : "2x", "scale" : "2x",
"size" : "83.5x83.5" "size" : "83.5x83.5"
}, },
{ {
"filename" : "icon.jpg", "filename" : "icon-1024@1x-ios-marketing.png",
"idiom" : "ios-marketing", "idiom" : "ios-marketing",
"scale" : "1x", "scale" : "1x",
"size" : "1024x1024" "size" : "1024x1024"
}, },
{ {
"filename" : "Icon-App-76x76@2x.png", "filename" : "icon-76@2x-ipad 1.png",
"idiom" : "iphone", "idiom" : "iphone",
"scale" : "2x", "scale" : "2x",
"size" : "76x76" "size" : "76x76"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save