1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-30 21:53:29 +00:00

17 Commits
1.1.7 ... 1.1.9

Author SHA1 Message Date
b4140e61ad Fix little bug 2021-10-28 16:20:31 +02:00
aa44688d66 Start to work on v1.1.9 2021-07-13 18:42:21 +02:00
45cd7f1481 Fix conflict 2021-07-13 18:08:19 +02:00
a076c08429 Fix navigability issue 2021-05-29 15:57:31 +02:00
fa8c1f46a1 Fix appearance issues 2021-05-29 15:48:51 +02:00
0b4306990a Updated dependencies 2021-05-29 15:40:47 +02:00
4e7950582a Fix copy operation 2021-05-08 11:19:42 +02:00
3c179d4b83 Remove Alpha channel on application icon 2021-05-05 19:15:09 +02:00
622c1a5abf Add #Forez build script 2021-05-05 19:13:31 +02:00
48eb525f18 Make push notifications work on iOS 2021-05-05 19:09:01 +02:00
acb24b0b36 Bump build number 2021-05-05 12:23:48 +02:00
b9fe15e190 Fix dark theme issue 2021-05-05 12:23:02 +02:00
98b9c44315 New build attempt 2021-05-05 11:57:49 +02:00
1f0fa1faaa Update build number 2021-05-05 11:42:10 +02:00
a92664ac81 First iOS publish request 2021-05-05 11:36:19 +02:00
06d1d08f6d Push notifications are working on iOS 2021-05-05 08:40:59 +02:00
77030609c0 Start to work on a new version of the application 2021-05-04 08:04:15 +02:00
20 changed files with 369 additions and 160 deletions

1
build_comunic_ios.sh Executable file
View File

@ -0,0 +1 @@
flutter build ipa --flavor comunic -t lib/main_online.dart

1
build_forez_ios.sh Executable file
View File

@ -0,0 +1 @@
flutter build ipa --flavor forez -t lib/forez/main_forez_online.dart

View File

@ -36,5 +36,48 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
# You can remove unused permissions here
# for more infomation: https://github.com/BaseflowIT/flutter-permission-handler/blob/develop/permission_handler/ios/Classes/PermissionHandlerEnums.h
# e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.calendar
'PERMISSION_EVENTS=0',
## dart: PermissionGroup.reminders
'PERMISSION_REMINDERS=0',
## dart: PermissionGroup.contacts
'PERMISSION_CONTACTS=0',
## dart: PermissionGroup.camera
# 'PERMISSION_CAMERA=0',
## dart: PermissionGroup.microphone
# 'PERMISSION_MICROPHONE=0',
## dart: PermissionGroup.speech
'PERMISSION_SPEECH_RECOGNIZER=0',
## dart: PermissionGroup.photos
#'PERMISSION_PHOTOS=0'
## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
'PERMISSION_LOCATION=0',
## dart: PermissionGroup.notification
# 'PERMISSION_NOTIFICATIONS=0',
## dart: PermissionGroup.mediaLibrary
# 'PERMISSION_MEDIA_LIBRARY=0',
## dart: PermissionGroup.sensors
'PERMISSION_SENSORS=0'
]
end
end
end
end

View File

@ -281,6 +281,6 @@ SPEC CHECKSUMS:
video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1
wakelock: b0843b2479edbf6504d8d262c2959446f35373aa
PODFILE CHECKSUM: f92af04f373e0b50153886c1f8a6969f509e3fc8
PODFILE CHECKSUM: efdcc144b284f95c85507e2c43974fc68ced9a09
COCOAPODS: 1.10.0

View File

@ -11,6 +11,7 @@
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
6B56B0EAFAE8328410BF4F0C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F57A07BDAAD5F07639423EE8 /* Pods_Runner.framework */; };
8F2AEBBC26394110007DF92A /* LaunchScreenForez.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8F2AEBBA26394110007DF92A /* LaunchScreenForez.storyboard */; };
8FFF7880264272F1002E5895 /* config in Resources */ = {isa = PBXBuildFile; fileRef = 8FFF787F264272F1002E5895 /* config */; };
9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
@ -45,6 +46,8 @@
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
8CF757033A070BF5F6AD7355 /* Pods-Runner.debug-comunic.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-comunic.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-comunic.xcconfig"; sourceTree = "<group>"; };
8F2AEBBB26394110007DF92A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreenForez.storyboard; sourceTree = "<group>"; };
8FEFC7EA26405694003B7DF3 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
8FFF787F264272F1002E5895 /* config */ = {isa = PBXFileReference; lastKnownFileType = folder; path = config; sourceTree = "<group>"; };
9731915131511AD49411A740 /* 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>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
@ -87,6 +90,7 @@
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
8FFF787F264272F1002E5895 /* config */,
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
@ -106,6 +110,7 @@
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
8FEFC7EA26405694003B7DF3 /* Runner.entitlements */,
8F2AEBBA26394110007DF92A /* LaunchScreenForez.storyboard */,
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
@ -164,6 +169,7 @@
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
8FFF788226427350002E5895 /* Copy GoogleService-Info.plist to the correct location */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
@ -189,7 +195,7 @@
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
DevelopmentTeam = A9JXUMT7RC;
DevelopmentTeam = QRU542F2B8;
};
};
};
@ -218,6 +224,7 @@
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
8FFF7880264272F1002E5895 /* config in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
@ -265,6 +272,24 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
8FFF788226427350002E5895 /* Copy GoogleService-Info.plist to the correct location */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Copy GoogleService-Info.plist to the correct location";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "setopt KSH_ARRAYS BASH_REMATCH\nenvironment=\"default\"\n\n# Regex to extract the scheme name from the Build Configuration\n# We have named our Build Configurations as Debug-dev, Debug-prod etc.\n# Here, dev and prod are the scheme names. This kind of naming is required by Flutter for flavors to work.\n# We are using the $CONFIGURATION variable available in the XCode build environment to extract \n# the environment (or flavor)\n# For eg.\n# If CONFIGURATION=\"Debug-prod\", then environment will get set to \"prod\".\nif [[ $CONFIGURATION =~ -([^-]*)$ ]]; then\nenvironment=${BASH_REMATCH[1]}\nfi\n\necho $environment\n\n# Name and path of the resource we're copying\nGOOGLESERVICE_INFO_PLIST=GoogleService-Info.plist\nGOOGLESERVICE_INFO_FILE=${PROJECT_DIR}/config/${environment}/${GOOGLESERVICE_INFO_PLIST}\n\n# Make sure GoogleService-Info.plist exists\necho \"Looking for ${GOOGLESERVICE_INFO_PLIST} in ${GOOGLESERVICE_INFO_FILE}\"\nif [ ! -f $GOOGLESERVICE_INFO_FILE ]\nthen\necho \"No GoogleService-Info.plist found. Please ensure it's in the proper directory.\"\nexit 1\nfi\n\n# Get a reference to the destination location for the GoogleService-Info.plist\n# This is the default location where Firebase init code expects to find GoogleServices-Info.plist file\nPLIST_DESTINATION=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\necho \"Will copy ${GOOGLESERVICE_INFO_PLIST} to final destination: ${PLIST_DESTINATION}\"\n\n# Copy over the prod GoogleService-Info.plist for Release builds\ncp \"${GOOGLESERVICE_INFO_FILE}\" \"${PLIST_DESTINATION}\"\n# unsetopt KSH_ARRAYS\n";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -277,7 +302,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
C9EE070942D44B728369915C /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
@ -456,8 +481,9 @@
APP_DISPLAY_NAME = Comunic;
APP_LAUNCH_STORYBOARD_NAME = LaunchScreen;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = S8QB4VV633;
DEVELOPMENT_TEAM = QRU542F2B8;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -469,7 +495,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = org.communiquons.comunic;
PRODUCT_BUNDLE_IDENTIFIER = org.PierreHubert.comunic;
PRODUCT_NAME = "$(TARGET_NAME)";
VERSIONING_SYSTEM = "apple-generic";
};
@ -535,8 +561,9 @@
APP_DISPLAY_NAME = "#Forez";
APP_LAUNCH_STORYBOARD_NAME = LaunchScreenForez;
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-forez";
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = A9JXUMT7RC;
DEVELOPMENT_TEAM = QRU542F2B8;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -548,7 +575,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = org.communiquons.forez;
PRODUCT_BUNDLE_IDENTIFIER = org.PierreHubert.forez;
PRODUCT_NAME = "$(TARGET_NAME)";
VERSIONING_SYSTEM = "apple-generic";
};
@ -608,8 +635,9 @@
APP_DISPLAY_NAME = "#Forez";
APP_LAUNCH_STORYBOARD_NAME = LaunchScreenForez;
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-forez";
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = A9JXUMT7RC;
DEVELOPMENT_TEAM = QRU542F2B8;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -621,7 +649,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = org.communiquons.forez;
PRODUCT_BUNDLE_IDENTIFIER = org.PierreHubert.forez;
PRODUCT_NAME = "$(TARGET_NAME)";
VERSIONING_SYSTEM = "apple-generic";
};
@ -681,8 +709,9 @@
APP_DISPLAY_NAME = "#Forez";
APP_LAUNCH_STORYBOARD_NAME = LaunchScreenForez;
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-forez";
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = S8QB4VV633;
DEVELOPMENT_TEAM = QRU542F2B8;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -694,7 +723,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = org.communiquons.forez;
PRODUCT_BUNDLE_IDENTIFIER = org.PierreHubert.forez;
PRODUCT_NAME = "$(TARGET_NAME)";
VERSIONING_SYSTEM = "apple-generic";
};
@ -807,8 +836,9 @@
APP_DISPLAY_NAME = Comunic;
APP_LAUNCH_STORYBOARD_NAME = LaunchScreen;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = A9JXUMT7RC;
DEVELOPMENT_TEAM = QRU542F2B8;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -820,7 +850,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = org.communiquons.comunic;
PRODUCT_BUNDLE_IDENTIFIER = org.PierreHubert.comunic;
PRODUCT_NAME = "$(TARGET_NAME)";
VERSIONING_SYSTEM = "apple-generic";
};
@ -833,8 +863,9 @@
APP_DISPLAY_NAME = Comunic;
APP_LAUNCH_STORYBOARD_NAME = LaunchScreen;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = A9JXUMT7RC;
DEVELOPMENT_TEAM = QRU542F2B8;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -846,7 +877,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = org.communiquons.comunic;
PRODUCT_BUNDLE_IDENTIFIER = org.PierreHubert.comunic;
PRODUCT_NAME = "$(TARGET_NAME)";
VERSIONING_SYSTEM = "apple-generic";
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -66,5 +66,11 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This permission is not needed by the app, but it is required by an underlying API. If you see this dialog, contact us.</string>
<key>NSAppleMusicUsageDescription</key>
<string>This permission is not needed by the app, but it is required by an underlying API. If you see this dialog, contact us.</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This permission is not needed by the app, but it is required by an underlying API. If you see this dialog, contact us.</string>
</dict>
</plist>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>1007877315904-umuhjlq7qfcdn8f24kjddhpmlb67gvpd.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.1007877315904-umuhjlq7qfcdn8f24kjddhpmlb67gvpd</string>
<key>API_KEY</key>
<string>AIzaSyBzcEJVIHvHl-viG19qR3LFhb6aYj5EZXM</string>
<key>GCM_SENDER_ID</key>
<string>1007877315904</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>org.PierreHubert.comunic</string>
<key>PROJECT_ID</key>
<string>comunic-ae92c</string>
<key>STORAGE_BUCKET</key>
<string>comunic-ae92c.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:1007877315904:ios:469f6c61859712260aeea5</string>
</dict>
</plist>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>500630888942-0b42osg6gpr5tnr8s49uvlstg1bil1be.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.500630888942-0b42osg6gpr5tnr8s49uvlstg1bil1be</string>
<key>API_KEY</key>
<string>AIzaSyBuhS3BM7Ql6sQ1EPghKiLaLjh_78pT9-k</string>
<key>GCM_SENDER_ID</key>
<string>500630888942</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>org.PierreHubert.forez</string>
<key>PROJECT_ID</key>
<string>forez-1b859</string>
<key>STORAGE_BUCKET</key>
<string>forez-1b859.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:500630888942:ios:4bac527bf743b4b5d02eff</string>
<key>DATABASE_URL</key>
<string>https://forez-1b859.firebaseio.com</string>
</dict>
</plist>

View File

@ -75,7 +75,7 @@ class JoinGroupPaneBodyState extends State<_JoinGroupPaneBody> {
]..addAll(_groups.map((e) => RadioListTile(
value: e.id,
groupValue: _currChoice,
onChanged: (v) => setState(() => _currChoice = _currChoice),
onChanged: (v) => setState(() => _currChoice = e.id),
title: Text(e.name),
subtitle: Text(e.membershipText),
))),

View File

@ -4,9 +4,11 @@
// ignore_for_file: lines_longer_than_80_chars
import 'package:connectivity_for_web/connectivity_for_web.dart';
import 'package:file_picker/src/file_picker_web.dart';
import 'package:firebase_core_web/firebase_core_web.dart';
import 'package:firebase_messaging_web/firebase_messaging_web.dart';
import 'package:image_picker_for_web/image_picker_for_web.dart';
import 'package:shared_preferences_web/shared_preferences_web.dart';
import 'package:url_launcher_web/url_launcher_web.dart';
import 'package:video_player_web/video_player_web.dart';
@ -16,9 +18,11 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart';
// ignore: public_member_api_docs
void registerPlugins(Registrar registrar) {
ConnectivityPlugin.registerWith(registrar);
FilePickerWeb.registerWith(registrar);
FirebaseCoreWeb.registerWith(registrar);
FirebaseMessagingWeb.registerWith(registrar);
ImagePickerPlugin.registerWith(registrar);
SharedPreferencesPlugin.registerWith(registrar);
UrlLauncherPlugin.registerWith(registrar);
VideoPlayerPlugin.registerWith(registrar);

View File

@ -174,7 +174,7 @@ class AccountHelper {
String token) async {
final response =
await APIRequest.withoutLogin("account/check_password_reset_token")
.addString("token", token)
.addString("reset_token", token)
.execWithThrowGetObject();
return ResCheckPasswordToken(
@ -190,7 +190,7 @@ class AccountHelper {
static Future<void> changeAccountPassword(
String token, String password) async =>
await APIRequest.withoutLogin("account/reset_user_passwd")
.addString("token", token)
.addString("reset_token", token)
.addString("password", password)
.execWithThrow();

View File

@ -124,7 +124,7 @@ class ConversationMessageTile extends StatelessWidget {
break;
case _MenuChoices.COPY_URL:
copyToClipboard(context, message.message.content);
copyToClipboard(context, message.file.url);
break;
case _MenuChoices.GET_STATS:

View File

@ -35,30 +35,40 @@ class PresenceCalendarWidget extends StatefulWidget {
}
class _PresenceCalendarWidgetState extends State<PresenceCalendarWidget> {
CalendarController _calendarController;
var selectedDay = DateTime.now();
@override
void initState() {
super.initState();
_calendarController = CalendarController();
}
void didUpdateWidget(covariant PresenceCalendarWidget oldWidget) {
super.didUpdateWidget(oldWidget);
@override
void dispose() {
_calendarController.dispose();
super.dispose();
if (oldWidget.selectedDay != widget.selectedDay) {
selectedDay = widget.selectedDay;
setState(() {});
}
}
@override
Widget build(BuildContext context) {
return TableCalendar(
calendarController: _calendarController,
firstDay: DateTime.utc(2020, 01, 01),
lastDay: DateTime.now().add(Duration(days: 365 * 2)),
selectedDayPredicate: (d) => d == selectedDay,
locale: "fr_FR",
weekendDays: [],
onHeaderTapped: _pickDate,
builders: CalendarBuilders(dayBuilder: _dayBuilder),
calendarBuilders: CalendarBuilders(
defaultBuilder: _dayBuilder,
todayBuilder: _dayBuilder,
selectedBuilder: _dayBuilder,
),
onDaySelected: _selectedDay,
availableCalendarFormats: const {CalendarFormat.month: "Mois"},
focusedDay: selectedDay,
onPageChanged: (s) {
setState(() {
selectedDay = s;
});
},
);
}
@ -70,14 +80,12 @@ class _PresenceCalendarWidgetState extends State<PresenceCalendarWidget> {
lastDate: DateTime.now().add(Duration(days: 365 * 5)),
);
if (pickedDate != null) {
_calendarController.setSelectedDay(pickedDate, animate: true);
setState(() {});
}
setState(() {
if (pickedDate != null) selectedDay = pickedDate;
});
}
Widget _dayBuilder(
BuildContext context, DateTime date, List<dynamic> events) {
Widget _dayBuilder(BuildContext context, DateTime date, DateTime focusedDay) {
if (widget.presenceSet.containsDate(date)) {
// Show the number of users who are present
if (widget.mode == CalendarDisplayMode.MULTIPLE_USERS)
@ -120,9 +128,9 @@ class _PresenceCalendarWidgetState extends State<PresenceCalendarWidget> {
);
}
void _selectedDay(
DateTime day, List<dynamic> events, List<dynamic> holidays) {
if (widget.onDayClicked != null) widget.onDayClicked(day);
void _selectedDay(DateTime selecteDay, DateTime focusedDay) {
if (widget.onDayClicked != null) widget.onDayClicked(selecteDay);
setState(() {});
}
}

View File

@ -14,6 +14,7 @@ import 'package:comunic/utils/account_utils.dart';
import 'package:comunic/utils/conversations_utils.dart';
import 'package:comunic/utils/date_utils.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:comunic/utils/ui_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
@ -253,6 +254,7 @@ class _AboutUserEntry extends StatelessWidget {
return ListTile(
title: RichText(
text: TextSpan(
style: TextStyle(color: darkTheme() ? null : Colors.black),
children: [
WidgetSpan(
child: Icon(icon, size: 15),

View File

@ -21,7 +21,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.5.0"
version: "2.6.1"
boolean_selector:
dependency: transitive
description:
@ -56,7 +56,7 @@ packages:
name: chewie
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "1.2.0"
chewie_audio:
dependency: "direct main"
description:
@ -91,7 +91,14 @@ packages:
name: connectivity
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
version: "3.0.6"
connectivity_for_web:
dependency: transitive
description:
name: connectivity_for_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
connectivity_macos:
dependency: transitive
description:
@ -133,14 +140,14 @@ packages:
name: cupertino_icons
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
version: "1.0.3"
dio:
dependency: "direct main"
description:
name: dio
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0-beta7"
version: "4.0.0"
emoji_picker:
dependency: "direct main"
description:
@ -168,70 +175,70 @@ packages:
name: ffi
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "1.1.1"
file:
dependency: transitive
description:
name: file
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.0"
version: "6.1.1"
file_picker:
dependency: "direct main"
description:
name: file_picker
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
version: "3.0.2+2"
filesize:
dependency: "direct main"
description:
name: filesize
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
version: "2.0.1"
firebase_core:
dependency: "direct main"
description:
name: firebase_core
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "1.2.0"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0"
version: "4.0.1"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "1.1.0"
firebase_messaging:
dependency: "direct main"
description:
name: firebase_messaging
url: "https://pub.dartlang.org"
source: hosted
version: "9.0.0"
version: "10.0.0"
firebase_messaging_platform_interface:
dependency: transitive
description:
name: firebase_messaging_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "3.0.0"
firebase_messaging_web:
dependency: transitive
description:
name: firebase_messaging_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "2.0.0"
flutter:
dependency: "direct main"
description: flutter
@ -257,7 +264,7 @@ packages:
name: flutter_colorpicker
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.5"
version: "0.4.0"
flutter_emoji:
dependency: "direct main"
description:
@ -278,7 +285,7 @@ packages:
name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "2.0.2"
flutter_test:
dependency: "direct dev"
description: flutter
@ -295,7 +302,7 @@ packages:
name: flutter_webrtc
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.8"
version: "0.6.3"
html:
dependency: "direct main"
description:
@ -309,7 +316,7 @@ packages:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.0"
version: "0.13.3"
http_parser:
dependency: "direct main"
description:
@ -344,14 +351,21 @@ packages:
name: image_picker
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.2+1"
version: "0.7.5+3"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
version: "2.1.0"
intl:
dependency: "direct main"
description:
@ -387,6 +401,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
nested:
dependency: transitive
description:
name: nested
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
octo_image:
dependency: transitive
description:
@ -400,7 +421,7 @@ packages:
name: package_info
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "2.0.2"
path:
dependency: transitive
description:
@ -414,7 +435,7 @@ packages:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
version: "2.0.2"
path_provider_linux:
dependency: transitive
description:
@ -442,7 +463,7 @@ packages:
name: path_provider_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "2.0.1"
pedantic:
dependency: transitive
description:
@ -456,14 +477,14 @@ packages:
name: permission_handler
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.0"
version: "8.0.0+2"
permission_handler_platform_interface:
dependency: transitive
description:
name: permission_handler_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
version: "3.5.0"
petitparser:
dependency: transitive
description:
@ -505,7 +526,14 @@ packages:
name: process
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.0"
version: "4.2.1"
provider:
dependency: transitive
description:
name: provider
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.0"
random_string:
dependency: "direct main"
description:
@ -533,7 +561,7 @@ packages:
name: settings_ui
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.0"
version: "1.0.0"
shared_preferences:
dependency: "direct main"
description:
@ -568,7 +596,7 @@ packages:
name: simple_gesture_detector
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.6"
version: "0.2.0"
sky_engine:
dependency: transitive
description: flutter
@ -580,14 +608,14 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
version: "1.8.1"
sqflite:
dependency: "direct main"
description:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0+2"
version: "2.0.0+3"
sqflite_common:
dependency: transitive
description:
@ -629,7 +657,7 @@ packages:
name: table_calendar
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.3"
version: "3.0.0"
term_glyph:
dependency: transitive
description:
@ -643,7 +671,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.19"
version: "0.3.0"
typed_data:
dependency: transitive
description:
@ -657,7 +685,7 @@ packages:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.2"
version: "6.0.4"
url_launcher_linux:
dependency: transitive
description:
@ -678,7 +706,7 @@ packages:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.0.3"
url_launcher_web:
dependency: transitive
description:
@ -713,21 +741,21 @@ packages:
name: version
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
version: "2.0.0"
video_player:
dependency: "direct main"
description:
name: video_player
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.1.4"
video_player_platform_interface:
dependency: transitive
description:
name: video_player_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0"
version: "4.1.0"
video_player_web:
dependency: transitive
description:
@ -741,35 +769,42 @@ packages:
name: video_thumbnail
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.5+1"
version: "0.3.3"
wakelock:
dependency: "direct main"
description:
name: wakelock
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
version: "0.5.2"
wakelock_macos:
dependency: transitive
description:
name: wakelock_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.0"
version: "0.1.0+1"
wakelock_platform_interface:
dependency: transitive
description:
name: wakelock_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
version: "0.2.1+1"
wakelock_web:
dependency: transitive
description:
name: wakelock_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
version: "0.2.0+1"
wakelock_windows:
dependency: transitive
description:
name: wakelock_windows
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.0"
web_socket_channel:
dependency: "direct main"
description:
@ -783,7 +818,7 @@ packages:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
version: "2.1.1"
xdg_directories:
dependency: transitive
description:
@ -806,5 +841,5 @@ packages:
source: hosted
version: "2.2.1"
sdks:
dart: ">=2.12.0 <3.0.0"
flutter: ">=1.24.0-10"
dart: ">=2.13.0 <3.0.0"
flutter: ">=2.0.0"

View File

@ -11,7 +11,7 @@ description: Comunic client
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.1.7+11
version: 1.1.9+16
environment:
sdk: ">=2.7.0 <3.0.0"
@ -56,7 +56,7 @@ dependencies:
flutter_emoji: ^2.2.1+1
# Build settings UI
settings_ui: ^0.6.0
settings_ui: ^1.0.0
# Generate identicons
identicon: ^0.1.1
@ -77,10 +77,10 @@ dependencies:
event_bus: ^2.0.0
# WebRTC calls
flutter_webrtc: ^0.5.8
flutter_webrtc: ^0.6.3
# Prevent phone from auto-locking during calls
wakelock: ^0.4.0
wakelock: ^0.5.2
# Pick any kind of file
file_picker: ^3.0.0
@ -89,13 +89,13 @@ dependencies:
package_info: ^2.0.0
# Version manager
version: ^1.2.0
version: ^2.0.0
# Get path to temporary files
path_provider: ^2.0.1
# Format file size
filesize: ^1.0.4
filesize: ^2.0.1
# Copy content to clipboard
clipboard: ^0.1.2+8
@ -103,35 +103,35 @@ dependencies:
# Video / Audio player
video_player: ^2.0.2
chewie_audio: ^1.1.2
chewie: ^1.0.0
chewie: ^1.2.0
# Determine file mime type
mime: ^1.0.0
# Create video thumbnails
video_thumbnail: ^0.2.5+1
video_thumbnail: ^0.3.3
# Record audio file
record_mp3: ^2.1.0
# Request permissions
permission_handler: ^6.1.0
permission_handler: ^8.0.0+2
# Emojies picker
emoji_picker: ^0.1.0
# Color picker
flutter_colorpicker: ^0.3.5
flutter_colorpicker: ^0.4.0
# Image cropper
image_cropper: ^1.4.0
# Firebase cloud messaging (for push notifications)
firebase_core: ^1.0.1
firebase_messaging: ^9.0.0
firebase_messaging: ^10.0.0
# Forez presence
table_calendar: ^2.3.3
table_calendar: ^3.0.0
dev_dependencies:
flutter_test: