improvements

main_production_audio_video_call
Sikander Saleem 2 weeks ago
parent 5670408c5e
commit fc5897778e

@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
platform :ios, '14.0'
platform :ios, '15.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@ -27,6 +27,50 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
flutter_ios_podfile_setup
# ---------------------------------------------------------------------------
# permission_handler iOS configuration
#
# permission_handler_apple compiles every permission behind a preprocessor
# macro. If a macro is NOT defined, the matching strategy is compiled out and
# the plugin returns PermissionStatus.denied unconditionally - it never asks
# iOS for the real status and never shows a system prompt.
#
# Only the permissions listed here are enabled. Each one MUST have its
# corresponding NS*UsageDescription key in ios/Runner/Info.plist, otherwise
# iOS terminates the app when the permission is requested.
# ---------------------------------------------------------------------------
PERMISSION_HANDLER_MACROS = [
'$(inherited)',
## dart: Permission.camera -> NSCameraUsageDescription
'PERMISSION_CAMERA=1',
## dart: Permission.microphone -> NSMicrophoneUsageDescription
'PERMISSION_MICROPHONE=1',
## dart: Permission.photos -> NSPhotoLibraryUsageDescription
'PERMISSION_PHOTOS=1',
## dart: Permission.location / locationAlways / locationWhenInUse
## -> NSLocationWhenInUseUsageDescription, NSLocationAlwaysUsageDescription
'PERMISSION_LOCATION=1',
'PERMISSION_LOCATION_WHENINUSE=1',
'PERMISSION_LOCATION_ALWAYS=1',
## dart: Permission.notification
'PERMISSION_NOTIFICATIONS=1',
## dart: Permission.speech -> NSSpeechRecognitionUsageDescription
'PERMISSION_SPEECH_RECOGNIZER=1',
].freeze
# Merges the permission macros into a build configuration.
#
# Note: a plain `||=` is not safe here - CocoaPods often pre-populates
# GCC_PREPROCESSOR_DEFINITIONS (e.g. 'COCOAPODS=1' for Debug), in which case
# `||=` silently does nothing and the macros are never applied.
def apply_permission_handler_macros(config)
existing = config.build_settings['GCC_PREPROCESSOR_DEFINITIONS']
existing = [existing] if existing.is_a?(String)
existing = ['$(inherited)'] if existing.nil? || existing.empty?
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = (existing + PERMISSION_HANDLER_MACROS).uniq
end
pod 'FMDB'
target 'Runner' do
@ -40,7 +84,11 @@ post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
# permission_handler_apple is built as part of the Pods project, so the
# macros must be applied here for them to have any effect.
apply_permission_handler_macros(config)
# Fix for Xcode 15+ DT_TOOLCHAIN_DIR issue
if config.base_configuration_reference && File.exist?(config.base_configuration_reference.real_path)
@ -55,12 +103,8 @@ post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.microphone
'PERMISSION_MICROPHONE=1',
]
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
apply_permission_handler_macros(config)
end
end
end

@ -379,7 +379,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@ -403,7 +403,7 @@
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Atoms;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -534,7 +534,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@ -587,7 +587,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@ -613,7 +613,7 @@
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Atoms;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -709,7 +709,7 @@
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Atoms;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",

@ -226,16 +226,16 @@ class _ChatPageState extends State<ChatPage> {
Navigator.pop(context);
audioPermission = await Provider.of<ChatProvider>(context, listen: false).requestAudioPermissions();
if (!audioPermission) {
bool openSetting = await showDialog(
final bool? openSetting = await showDialog<bool>(
context: context,
builder: (_) => const AAlertDialog(
title: "Permission denied",
content: "Permission is denied. Please go to application Setting to enable it.",
button1Text: "Cancel",
button2Text: "Open Setting",
button1Text: "Open Setting",
button2Text: "Cancel",
),
);
if (!openSetting) PermissionHandler.openAppSettings();
if (openSetting == true) PermissionHandler.openAppSettings();
return;
} else {
Navigator.of(context).push(MaterialPageRoute(
@ -270,16 +270,16 @@ class _ChatPageState extends State<ChatPage> {
Navigator.pop(context);
videoPermission = await Provider.of<ChatProvider>(context, listen: false).requestVideoPermissions();
if (!videoPermission) {
bool openSetting = await showDialog(
final bool? openSetting = await showDialog<bool>(
context: context,
builder: (_) => const AAlertDialog(
title: "Permission denied",
content: "Permission is denied. Please go to application Setting to enable it.",
button1Text: "Cancel",
button2Text: "Open Setting",
button1Text: "Open Setting",
button2Text: "Cancel",
),
);
if (!openSetting) PermissionHandler.openAppSettings();
if (openSetting == true) PermissionHandler.openAppSettings();
return;
} else {
Navigator.of(context).push(MaterialPageRoute(
@ -485,6 +485,7 @@ class _ChatPageState extends State<ChatPage> {
FocusScope.of(context).unfocus();
File? file = (await showModalBottomSheet(
context: context,
backgroundColor: AppColor.bottomSheetColor(context),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(
top: Radius.circular(20),

@ -28,7 +28,7 @@ import 'package:test_sa/new_views/swipe_module/dialoge/local_auth_failed_dialog.
import 'package:test_sa/new_views/swipe_module/dialoge/single_btn_dialog.dart';
import 'package:test_sa/new_views/swipe_module/swipe_view.dart';
import 'package:test_sa/views/update_available_screen.dart';
import 'package:app_badge_control_flutter/app_badge_control_flutter.dart';
import '../../models/size_config.dart';
class SplashPage extends StatefulWidget {
@ -49,6 +49,13 @@ class _SplashPageState extends State<SplashPage> {
@override
void initState() {
Firebase.initializeApp();
AppBadgeControlFlutter.isAppBadgeSupported().then((isSupported) {
if (isSupported) {
AppBadgeControlFlutter.removeBadge();
} else {
log("AppBadgeControlFlutter: Badge not supported");
}
});
// NotificationManger.initialisation((notificationDetails) {
// // todo @sikander, check notifications payload, because notification model is different to need to check from backend

Loading…
Cancel
Save