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 7 days ago
mobileteam 2619998362 icons and text changed for the application 1 month 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.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
class Application : FlutterApplication(), PluginRegistrantCallback {
class Application : FlutterApplication() {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this)
}
override fun registerWith(registry: PluginRegistry) {
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
// override fun registerWith(registry: PluginRegistry) {
// io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
// }
}
//import io.flutter.app.FlutterApplication

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

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

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

@ -1,25 +1,14 @@
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
//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'
plugins {
id "com.android.application"
id "kotlin-android"
id "com.google.gms.google-services"
id "dev.flutter.flutter-gradle-plugin"
id "com.google.firebase.crashlytics"
id "com.huawei.agconnect"
// id("com.mapbox.gradle.application")
// id("com.mapbox.gradle.plugins.ndk")
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
@ -27,34 +16,23 @@ if (keystorePropertiesFile.exists()) {
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 {
compileSdkVersion 34
// ndkVersion "24.0.8215888"
namespace 'com.redseaglobal.redseahealth'
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 {
viewBinding true
@ -62,28 +40,11 @@ android {
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
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
main {
java.srcDirs += 'src/main/kotlin'
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = [] // disables automatic ndk-build
}
}
signingConfigs {
@ -101,44 +62,42 @@ android {
signingConfig signingConfigs.debug
minifyEnabled false
shrinkResources false
// ndk {
// abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
// }
}
release {
debuggable false
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
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']
}
}
packagingOptions {
exclude 'META-INF/proguard/androidx-annotations.pro'
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst '**/*.so'
jniLibs {
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']
useLegacyPackaging true
}
resources {
excludes += ['META-INF/proguard/androidx-annotations.pro']
}
}
// Enable core library desugaring
compileOptions {
// coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = '1.8'
// kotlinOptions {
// jvmTarget = '17'
// }
lint {
disable 'MissingTranslation'
checkReleaseBuilds false
}
}
@ -146,86 +105,103 @@ flutter {
source '../..'
}
configurations.all {
resolutionStrategy {
force 'androidx.core:core-ktx:1.16.0'
force 'androidx.core:core:1.16.0'
}
}
dependencies {
// coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
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 "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.20"
implementation "com.google.firebase:firebase-messaging:24.1.2"
implementation 'pub.devrel:easypermissions:3.0.0'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
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'
implementation 'com.google.guava:guava:33.4.0-android'
implementation fileTree(dir: 'libs', include: ['*.jar'], exclude: ['bcprov-jdk16-1.46.jar'])
// Dependency on a remote binary
// implementation 'com.example.android:app-magic:12.3'
implementation 'com.google.code.gson:gson:2.12.0'
// 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"
implementation "us.zoom.videosdk:zoomvideosdk-annotation:1.10.1"
implementation "us.zoom.videosdk:zoomvideosdk-videoeffects:1.10.1"
// Networking
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
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
// 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'
// Google Services
implementation 'com.google.android.gms:play-services-location:21.3.0'
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation 'androidx.test.ext:junit:1.1.5'
implementation 'com.google.android.gms:play-services-basement:18.7.0'
implementation 'com.android.volley:volley:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.8.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.8.5'
implementation 'androidx.activity:activity:1.9.3'
def room_version = "2.4.0-alpha04"
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.9.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.9.0'
implementation 'androidx.activity:activity-ktx:1.10.1'
def room_version = "2.6.1"
implementation "androidx.room:room-runtime:$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.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.mapbox.maps:android:11.3.1'
implementation 'com.github.bumptech.glide:glide:4.16.0'
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/Penguin.aar')
implementation files('libs/PenguinRenderer.aar')
// implementation "org.jetbrains.anko:anko-commons:0.10.4"
implementation 'com.github.kittinunf.fuel:fuel:2.3.0' //for JVM
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.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.5.1'
implementation 'com.facebook.stetho:stetho-urlconnection:1.5.1'
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.22'
androidTestImplementation "androidx.test:core:1.4.0"
// 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'
implementation 'com.github.kittinunf.fuel:fuel:2.3.1'
implementation 'com.github.kittinunf.fuel:fuel-android:2.3.1'
implementation "com.opentok.android:opentok-android-sdk:2.25.2"
implementation 'com.facebook.stetho:stetho:1.6.0'
implementation 'com.facebook.stetho:stetho-urlconnection:1.6.0'
implementation 'androidx.core:core-ktx:1.16.0'
implementation 'androidx.appcompat:appcompat:1.7.1'
implementation 'com.google.android.material:material:1.12.0'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.25'
androidTestImplementation "androidx.test:core:1.6.1"
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_number": "815750722565",
"firebase_url": "https://api-project-815750722565.firebaseio.com",
"project_id": "api-project-815750722565",
"storage_bucket": "api-project-815750722565.appspot.com"
"project_number": "768176874884",
"project_id": "red-sea-health---patient",
"storage_bucket": "red-sea-health---patient.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:815750722565:android:62281cd3e5df4063",
"mobilesdk_app_id": "1:768176874884:android:3e7f40edf9ee18e3dca9d1",
"android_client_info": {
"package_name": "com.ejada.hmg"
"package_name": "com.redseaglobal.redseahealth"
}
},
"oauth_client": [
{
"client_id": "815750722565-3a0gc7neins0eoahdrimrfksk0sqice8.apps.googleusercontent.com",
"client_type": 3
}
],
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyDZDeWcBlRE3YfJWYt_DCiToVnANfaj8qg"
"current_key": "AIzaSyA9NQSSLTMNH7ejRaFzsj_vBd2cJcyg0tU"
}
],
"services": {
"appinvite_service": {
"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"
}
}
]
"other_platform_oauth_client": []
}
}
}

@ -1,5 +1,5 @@
<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
to allow setting breakpoints, to provide hot reload, etc.
-->

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
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
calls FlutterMain.startInitialization(this); in its onCreate method.
@ -112,14 +112,14 @@
android:name=".Application"
android:allowBackup="false"
android:extractNativeLibs="true"
android:icon="@mipmap/ic_launcher_local"
android:label="Dr. Alhabib"
android:icon="@mipmap/ic_launcher"
android:label="Red Sea Health"
android:screenOrientation="sensorPortrait"
android:showOnLockScreen="true"
android:usesCleartextTraffic="true"
tools:replace="android:extractNativeLibs,android:label">
<activity
android:name="com.cloud.diplomaticquarterapp.whatsapp.WhatsAppCodeActivity"
android:name=".whatsapp.WhatsAppCodeActivity"
android:exported="true"
android:enabled="true"
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.ejada.hmg
package com.redseaglobal.redseahealth
import com.facebook.stetho.Stetho
import io.flutter.app.FlutterApplication
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
class Application : FlutterApplication(), PluginRegistrantCallback {
class Application : FlutterApplication() {
override fun onCreate() {
super.onCreate()
// FlutterFirebaseMessagingService.setPluginRegistrant(this)
@ -37,9 +37,9 @@ class Application : FlutterApplication(), PluginRegistrantCallback {
Stetho.initialize(initializer)
}
override fun registerWith(registry: PluginRegistry) {
// io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
// override fun registerWith(registry: PluginRegistry) {
// // io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
// }
}
//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
import android.app.PendingIntent
package com.redseaglobal.redseahealth
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
@ -7,14 +6,13 @@ import android.util.Log
import android.view.WindowManager
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi
import com.cloud.diplomaticquarterapp.PenguinInPlatformBridge
import com.cloud.diplomaticquarterapp.whatsapp.AppSignatureRetriever
import com.ejada.hmg.utils.*
import com.redseaglobal.redseahealth.PenguinInPlatformBridge
import com.redseaglobal.redseahealth.whatsapp.AppSignatureRetriever
import com.redseaglobal.redseahealth.utils.*
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
import com.cloud.diplomaticquarterapp.whatsapp.WhatsApp
import com.cloud.diplomaticquarterapp.whatsapp.WhatsAppOtpPlatformBridge
import com.redseaglobal.redseahealth.whatsapp.WhatsAppOtpPlatformBridge
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.util.Log
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.plugin.common.MethodCall
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.os.Build

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

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.PermissionManager
package com.redseaglobal.redseahealth.PermissionManager
// PermissionResultReceiver.kt
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.gson.Gson

@ -1,4 +1,4 @@
package com.ejada.hmg.geofence
package com.redseaglobal.redseahealth.geofence
import android.Manifest
import android.app.PendingIntent
@ -8,9 +8,9 @@ import android.content.SharedPreferences
import android.content.pm.PackageManager
import android.location.Location
import androidx.core.content.ContextCompat
import com.ejada.hmg.geofence.intent_receivers.GeofenceBroadcastReceiver
import com.ejada.hmg.geofence.intent_receivers.ReregisterGeofenceJobService
import com.ejada.hmg.utils.*
import com.redseaglobal.redseahealth.geofence.intent_receivers.GeofenceBroadcastReceiver
import com.redseaglobal.redseahealth.geofence.intent_receivers.ReregisterGeofenceJobService
import com.redseaglobal.redseahealth.utils.*
import com.google.android.gms.location.Geofence
import com.google.android.gms.location.GeofencingClient
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.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import com.ejada.hmg.geofence.GeofenceTransition
import com.ejada.hmg.geofence.HMG_Geofence
import com.ejada.hmg.utils.Logs
import com.redseaglobal.redseahealth.geofence.GeofenceTransition
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.utils.Logs
import com.google.android.gms.location.GeofenceStatusCodes
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.Context
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
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 com.ejada.hmg.R
import com.ejada.hmg.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.R
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.google.android.gms.common.api.ApiException
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.Intent
import android.util.Log
import androidx.core.app.JobIntentService
import com.ejada.hmg.geofence.GeofenceTransition
import com.ejada.hmg.geofence.HMG_Geofence
import com.ejada.hmg.utils.saveLog
import com.redseaglobal.redseahealth.geofence.GeofenceTransition
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.utils.saveLog
import com.google.android.gms.location.GeofenceStatusCodes
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.Context
import android.content.Intent
import com.ejada.hmg.geofence.HMG_Geofence
import com.ejada.hmg.utils.PREFS_STORAGE
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.utils.PREFS_STORAGE
class GeofencingRebootBroadcastReceiver : BroadcastReceiver(){
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.Context
import android.content.Intent
import android.location.LocationManager
import com.ejada.hmg.geofence.HMG_Geofence
import com.ejada.hmg.utils.HMGUtils
import com.ejada.hmg.utils.PREFS_STORAGE
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.utils.HMGUtils
import com.redseaglobal.redseahealth.utils.PREFS_STORAGE
class LocationProviderChangeReceiver : BroadcastReceiver() {
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.JobService
import com.ejada.hmg.geofence.HMG_Geofence
import com.ejada.hmg.utils.Logs
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.utils.Logs
class ReregisterGeofenceJobService : JobService(){
companion object{

@ -1,4 +1,4 @@
package com.ejada.hmg.hmgwifi
package com.redseaglobal.redseahealth.hmgwifi
import android.annotation.SuppressLint
import android.content.Context
@ -10,8 +10,8 @@ import android.os.PatternMatcher
import android.provider.Settings
import android.util.Log
import androidx.annotation.RequiresApi
import com.ejada.hmg.MainActivity
import com.ejada.hmg.utils.HMGUtils
import com.redseaglobal.redseahealth.MainActivity
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 com.ejada.hmg.utils.API
import com.ejada.hmg.MainActivity
import com.redseaglobal.redseahealth.utils.API
import com.redseaglobal.redseahealth.MainActivity
import com.github.kittinunf.fuel.core.extensions.jsonBody
import com.github.kittinunf.fuel.httpGet
import com.github.kittinunf.fuel.httpPost
@ -48,7 +48,7 @@ class HMG_Internet(flutterMainActivity: MainActivity) {
"https://captive.apple.com".httpGet().response { request, response, result ->
result.fold(success = {
val html = String(it).toLowerCase(Locale.ENGLISH)
val html = String(it).lowercase()
.replace(" ", "", true)
.replace("\n","",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.content.Context
@ -7,8 +7,8 @@ import android.net.wifi.*
import android.net.wifi.SupplicantState.ASSOCIATED
import android.net.wifi.SupplicantState.COMPLETED
import android.util.Log
import com.ejada.hmg.MainActivity
import com.ejada.hmg.utils.HMGUtils
import com.redseaglobal.redseahealth.MainActivity
import com.redseaglobal.redseahealth.utils.HMGUtils
class WPA(mainActivity: MainActivity, SSID:String) {
private var TAG = "WPA"

@ -1,4 +1,4 @@
package com.ejada.hmg.hmgwifi
package com.redseaglobal.redseahealth.hmgwifi
import android.annotation.SuppressLint
import android.content.Context
@ -12,8 +12,8 @@ import android.net.wifi.SupplicantState.COMPLETED
import android.os.Build
import android.util.Log
import androidx.annotation.RequiresApi
import com.ejada.hmg.MainActivity
import com.ejada.hmg.utils.HMGUtils
import com.redseaglobal.redseahealth.MainActivity
import com.redseaglobal.redseahealth.utils.HMGUtils
import java.security.cert.X509Certificate
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.util.AttributeSet
@ -6,7 +6,7 @@ import android.view.LayoutInflater
import android.view.View
import android.widget.FrameLayout
import android.widget.LinearLayout
import com.ejada.hmg.R
import com.redseaglobal.redseahealth.R
import io.flutter.plugin.common.StandardMessageCodec
import io.flutter.plugin.platform.PlatformView
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.os.Handler

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

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

@ -1,4 +1,4 @@
package com.cloud.diplomaticquarterapp.penguin
package com.redseaglobal.redseahealth.penguin
import android.content.Context
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.content.Context
@ -12,10 +12,10 @@ import android.view.ViewGroup
import android.widget.RelativeLayout
import android.widget.Toast
import androidx.annotation.RequiresApi
import com.cloud.diplomaticquarterapp.PermissionManager.PermissionHelper
import com.cloud.diplomaticquarterapp.PermissionManager.PermissionManager
import com.cloud.diplomaticquarterapp.PermissionManager.PermissionResultReceiver
import com.ejada.hmg.MainActivity
import com.redseaglobal.redseahealth.PermissionManager.PermissionHelper
import com.redseaglobal.redseahealth.PermissionManager.PermissionManager
import com.redseaglobal.redseahealth.PermissionManager.PermissionResultReceiver
import com.redseaglobal.redseahealth.MainActivity
import com.peng.pennavmap.PlugAndPlayConfiguration
import com.peng.pennavmap.PlugAndPlaySDK
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.MethodChannel
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.models.PIReportIssue
/**
* Custom PlatformView for displaying Penguin UI components within a Flutter app.
* 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 {
companion object{

@ -1,4 +1,4 @@
package com.ejada.hmg.utils
package com.redseaglobal.redseahealth.utils
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.Result

@ -1,4 +1,4 @@
package com.ejada.hmg.utils
package com.redseaglobal.redseahealth.utils
import android.app.NotificationChannel
import android.app.NotificationManager
@ -13,10 +13,10 @@ import android.widget.Toast
import androidx.annotation.Nullable
import androidx.core.app.NotificationCompat
import androidx.core.app.TaskStackBuilder
import com.ejada.hmg.BuildConfig
import com.ejada.hmg.MainActivity
import com.ejada.hmg.R
import com.ejada.hmg.geofence.GeoZoneModel
import com.redseaglobal.redseahealth.BuildConfig
import com.redseaglobal.redseahealth.MainActivity
import com.redseaglobal.redseahealth.R
import com.redseaglobal.redseahealth.geofence.GeoZoneModel
import com.github.kittinunf.fuel.core.extensions.jsonBody
import com.github.kittinunf.fuel.httpPost
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.content.Context
@ -10,8 +10,8 @@
//import android.net.wifi.WifiConfiguration
//import android.net.wifi.WifiManager
//import android.util.Log
//import com.ejada.hmg.utils.API
//import com.ejada.hmg.FlutterMainActivity
//import com.redseaglobal.redseahealth.utils.API
//import com.redseaglobal.redseahealth.FlutterMainActivity
//import com.github.kittinunf.fuel.core.extensions.jsonBody
//import com.github.kittinunf.fuel.httpGet
//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.SharedPreferences
import android.os.Build
import com.ejada.hmg.BuildConfig
import com.redseaglobal.redseahealth.BuildConfig
import com.google.gson.Gson
class Logs {

@ -1,7 +1,7 @@
package com.ejada.hmg.utils
package com.redseaglobal.redseahealth.utils
import com.ejada.hmg.MainActivity
import com.ejada.hmg.opentok.OpenTok
import com.redseaglobal.redseahealth.MainActivity
import com.redseaglobal.redseahealth.opentok.OpenTok
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall
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.Intent
@ -11,11 +11,11 @@ import android.widget.Toast
import androidx.core.app.ActivityCompat.startActivityForResult
import android.net.wifi.WifiManager
import android.util.Log
import com.ejada.hmg.MainActivity
import com.ejada.hmg.hmgwifi.HMG_Guest
import com.ejada.hmg.geofence.GeoZoneModel
import com.ejada.hmg.geofence.HMG_Geofence
import com.ejada.hmg.hmgwifi.WpaEnterprise
import com.redseaglobal.redseahealth.MainActivity
import com.redseaglobal.redseahealth.hmgwifi.HMG_Guest
import com.redseaglobal.redseahealth.geofence.GeoZoneModel
import com.redseaglobal.redseahealth.geofence.HMG_Geofence
import com.redseaglobal.redseahealth.hmgwifi.WpaEnterprise
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel

@ -5,12 +5,11 @@
* 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 android.content.Context;
import android.content.ContextWrapper;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
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.Intent

@ -1,9 +1,5 @@
package com.cloud.diplomaticquarterapp.whatsapp
import android.app.PendingIntent
import android.content.Intent
package com.redseaglobal.redseahealth.whatsapp
import android.os.Bundle
import com.cloud.diplomaticquarterapp.whatsapp.WhatsApp
import com.cloud.diplomaticquarterapp.whatsapp.WhatsAppOtpPlatformBridge
import io.flutter.embedding.android.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.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel

@ -5,6 +5,6 @@
android:id="@+id/main"
android:layout_width="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>

@ -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>
<string name="app_name">HMG Patient App</string>
<string name="app_name">Red Sea Health</string>
<string name="geofence_unknown_error">
Unknown error: the Geofence service is not available now.

@ -1,5 +1,5 @@
<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
to allow setting breakpoints, to provide hot reload, etc.
-->

@ -1,61 +1,32 @@
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 {
google()
jcenter()
mavenCentral()
maven { url 'https://developer.huawei.com/repo/' }
google()
maven { url "https://developer.huawei.com/repo/" }
maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven'
url = uri("https://api.mapbox.com/downloads/v2/releases/maven")
credentials {
username = 'mapbox'
password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
// password = "pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ"
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 enviroment variables.")
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the environment variables.")
}
}
authentication {
basic(BasicAuthentication)
}
}
// maven {
// url "https://dl.bintray.com/kotlin/kotlin-eap/"
// }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.3'
// classpath 'com.android.tools.build:gradle:8.2.1'
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"
classpath 'com.android.tools.build:gradle:8.1.0'
classpath 'com.huawei.agconnect:agcp:1.9.1.304'
}
}
allprojects {
repositories {
google()
// jcenter()
mavenCentral()
flatDir {
dirs 'libs'
}
maven {
url 'https://developer.huawei.com/repo/'
}
@ -69,7 +40,7 @@ allprojects {
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 enviroment variables.")
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the environment variables.")
}
}
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'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
@ -88,11 +109,5 @@ subprojects {
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
configurations.all {
resolutionStrategy {
force 'androidx.core:core-ktx:1.6.0'
}
delete rootProject.layout.buildDirectory
}

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

@ -1,8 +1,9 @@
org.gradle.jvmargs=-Xmx4096m
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m
#android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
android.suppressUnsupportedCompileSdk=33
MAPBOX_USER_NAME = "mapbox"
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
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

@ -1,17 +1,203 @@
include ':app'
include ':vital-sign-engine'
project(':vital-sign-engine').projectDir = new File('/Users/mohamedmekawy/Documents/Work/DiplomaticQuarter_3.16/packages/vital_sign_camera/android/libs')
//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")
//
// 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()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
//include ':app'
//
//def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
//
//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 ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.11.0' apply false
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">
<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="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="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="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="#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="#14384B"/>
</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">
<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="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="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="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="#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="#14384B" fill-opacity="0.1"/>
</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 */
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 */; };
301C79B027200DED0016307B /* OpenTokLocalVideoFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.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 */; };
76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; };
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 */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
@ -61,9 +49,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
17AB29512D8707DF001C125B /* PenguinINRenderer.xcframework in Embed Frameworks */,
17AB294E2D8707DE001C125B /* Penguin.xcframework in Embed Frameworks */,
17AB29532D8707E2001C125B /* PenNavUI.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
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>"; };
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>"; };
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>"; };
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>"; };
@ -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>"; };
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>"; };
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; };
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>"; };
@ -135,9 +111,6 @@
76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */,
E9620805255C2ED100D3A35D /* NetworkExtension.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;
};
@ -157,9 +130,6 @@
555EAAA626EFB641859EF0BE /* Frameworks */ = {
isa = PBXGroup;
children = (
17AB29452D86D210001C125B /* Penguin.xcframework */,
17AB29442D86D210001C125B /* PenguinINRenderer.xcframework */,
17AB29432D86D210001C125B /* PenNavUI.xcframework */,
76F2556027F1FFED0062C1CD /* PassKit.framework */,
76815B26275F381C00E66E94 /* HealthKit.framework */,
E9620804255C2ED100D3A35D /* NetworkExtension.framework */,
@ -178,18 +148,6 @@
path = Pods;
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 */ = {
isa = PBXGroup;
children = (
@ -225,7 +183,6 @@
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
76D71B682C6B817500DAFB84 /* Penguin */,
762D738C274E42650063CE73 /* ring_30Sec.caf */,
762D738D274E42650063CE73 /* ring_30Sec.mp3 */,
306FE6C9271D8B54002D6EFC /* OpenTok */,
@ -260,7 +217,6 @@
E923EFD52587443800E3E751 /* HMGPlatformBridge.swift */,
306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */,
E9F7623A25922BCE00FB5CCF /* FlutterConstants.swift */,
76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */,
);
path = Helper;
sourceTree = "<group>";
@ -459,18 +415,12 @@
buildActionMask = 2147483647;
files = (
306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */,
76D71B6E2C6B81CC00DAFB84 /* PenguinPlugin.swift in Sources */,
E923EFD225863FDF00E3E751 /* GeoZoneModel.swift in Sources */,
E91B539A256AAA6500E96549 /* MainFlutterVC.swift in Sources */,
76D71B672C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift in Sources */,
E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */,
E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */,
E923EFD4258645C100E3E751 /* HMG_Geofence.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 */,
E9F7623B25922BCE00FB5CCF /* FlutterConstants.swift in Sources */,
306FE6CB271D8B73002D6EFC /* OpenTok.swift in Sources */,
@ -595,7 +545,7 @@
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 4.6.004;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_BUNDLE_IDENTIFIER = com.redseaglobal.redseahealth;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -747,7 +697,7 @@
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 4.6.004;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_BUNDLE_IDENTIFIER = com.redseaglobal.redseahealth;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -791,7 +741,7 @@
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 4.6.004;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_BUNDLE_IDENTIFIER = com.redseaglobal.redseahealth;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";

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

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

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