Skip to content

Commit

Permalink
Merge pull request #245 from gunschu/chore/null-safety
Browse files Browse the repository at this point in the history
chore: null safety
  • Loading branch information
tuantvu authored Apr 13, 2021
2 parents d84f419 + 6abcd48 commit c383d64
Show file tree
Hide file tree
Showing 33 changed files with 263 additions and 461 deletions.
52 changes: 26 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# jitsi_meet
#### Support us using our patreon account . https://www.patreon.com/Gunschu

#### Support us using our patreon account. https://www.patreon.com/Gunschu

Jitsi Meet Plugin for Flutter. Supports Android and iOS platforms.

Jitsi Meet Plugin for Flutter. Supports Android, iOS, and Web platforms.

"Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences."

Find more information about Jitsi Meet [here](https://github.com/jitsi/jitsi-meet)

## Table of Contents
- [jitsi_meet](#jitsi_meet)
- [Support us using our patreon account . https://www.patreon.com/Gunschu](#support-us-using-our-patreon-account--httpswwwpatreoncomgunschu)
- [Table of Contents](#table-of-contents)
- [Configuration](#configuration)
- [IOS](#ios)
- [Podfile](#podfile)
Expand All @@ -22,14 +20,14 @@ Find more information about Jitsi Meet [here](https://github.com/jitsi/jitsi-mee
- [Minimum SDK Version 23](#minimum-sdk-version-23)
- [Proguard](#proguard)
- [WEB](#web)
- [Join A Meeting](#join-a-meeting)
- [Join A Meeting](#join-a-meeting)
- [JitsiMeetingOptions](#jitsimeetingoptions)
- [FeatureFlag](#featureflag)
- [FeatureFlag](#featureflag)
- [JitsiMeetingResponse](#jitsimeetingresponse)
- [Listening to Meeting Events](#listening-to-meeting-events)
- [Per Meeting Events](#per-meeting-events)
- [Global Meeting Events](#global-meeting-events)
- [Closing a Meeting Programmatically](#closing-a-meeting-programmatically)
- [Listening to Meeting Events](#listening-to-meeting-events)
- [Per Meeting Events](#per-meeting-events)
- [Global Meeting Events](#global-meeting-events)
- [Closing a Meeting Programmatically](#closing-a-meeting-programmatically)
- [Contributing](#contributing)

<a name="configuration"></a>
Expand All @@ -40,9 +38,19 @@ Find more information about Jitsi Meet [here](https://github.com/jitsi/jitsi-mee
* Note: Example compilable with XCode 12.2 & Flutter 1.22.4.

#### Podfile
Ensure in your Podfile you have an entry like below declaring platform of 11.0 or above.
Ensure in your Podfile you have an entry like below declaring platform of 11.0 or above and disable BITCODE.
```
platform :ios, '11.0'
...
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
```

#### Info.plist
Expand Down Expand Up @@ -77,14 +85,6 @@ zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip <!-- Upgrade this -->
```

Add Java 1.8 compatibility support to your project by adding the following lines into your build.gradle file:
```gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
```

#### AndroidManifest.xml
Jitsi Meet's SDK AndroidManifest.xml will conflict with your project, namely
the application:label field. To counter that, go into
Expand Down Expand Up @@ -196,7 +196,7 @@ See usage example in jitsi_meet plugin

<a name="join-a-meeting"></a>

### Join A Meeting
## Join A Meeting

```dart
_joinMeeting() async {
Expand Down Expand Up @@ -244,7 +244,7 @@ _joinMeeting() async {

<a name="jitsimeetingresponse"></a>

#### FeatureFlag
### FeatureFlag

Feature flag allows you to limit video resolution and enable/disable few features of Jitsi Meet SDK mentioned in the list below.
If you don't provide any flag to JitsiMeetingOptions, default values will be used.
Expand Down Expand Up @@ -287,7 +287,7 @@ We are using the [official list of flags, taken from the Jitsi Meet repository](

<a name="listening-to-meeting-events"></a>

### Listening to Meeting Events
## Listening to Meeting Events

Events supported

Expand All @@ -300,7 +300,7 @@ Events supported
| onPictureInPictureTerminated | User exited PIP mode. |
| onError | Error has occurred with listening to meeting events. |

#### Per Meeting Events
### Per Meeting Events
To listen to meeting events per meeting, pass in a JitsiMeetingListener
in joinMeeting. The listener will automatically be removed when an
onConferenceTerminated event is fired.
Expand All @@ -320,7 +320,7 @@ await JitsiMeet.joinMeeting(options,
}));
```

#### Global Meeting Events
### Global Meeting Events
To listen to global meeting events, simply add a JitsiMeetListener with
`JitsiMeet.addListener(myListener)`. You can remove listeners using
`JitsiMeet.removeListener(listener)` or `JitsiMeet.removeAllListeners()`.
Expand Down Expand Up @@ -369,7 +369,7 @@ _onError(error) {
}
```

### Closing a Meeting Programmatically
## Closing a Meeting Programmatically
```dart
JitsiMeet.closeMeeting();
```
Expand Down
1 change: 0 additions & 1 deletion jitsi_meet/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ flutter_export_environment.sh

examples/all_plugins/pubspec.yaml

Podfile
Podfile.lock
Pods/
.symlinks/
Expand Down
5 changes: 5 additions & 0 deletions jitsi_meet/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 4.0.0
* Update Jitsi Meet SDK for Android to 3.3.0.
* Update Jitsi Meet SDK for iOS to 3.3.0.
* Breaking: Null safety support.

## 3.0.0
* BREAKING: Add support for web.

Expand Down
52 changes: 26 additions & 26 deletions jitsi_meet/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# jitsi_meet
#### Support us using our patreon account . https://www.patreon.com/Gunschu

#### Support us using our patreon account. https://www.patreon.com/Gunschu

Jitsi Meet Plugin for Flutter. Supports Android and iOS platforms.

Jitsi Meet Plugin for Flutter. Supports Android, iOS, and Web platforms.

"Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences."

Find more information about Jitsi Meet [here](https://github.com/jitsi/jitsi-meet)

## Table of Contents
- [jitsi_meet](#jitsi_meet)
- [Support us using our patreon account . https://www.patreon.com/Gunschu](#support-us-using-our-patreon-account--httpswwwpatreoncomgunschu)
- [Table of Contents](#table-of-contents)
- [Configuration](#configuration)
- [IOS](#ios)
- [Podfile](#podfile)
Expand All @@ -22,14 +20,14 @@ Find more information about Jitsi Meet [here](https://github.com/jitsi/jitsi-mee
- [Minimum SDK Version 23](#minimum-sdk-version-23)
- [Proguard](#proguard)
- [WEB](#web)
- [Join A Meeting](#join-a-meeting)
- [Join A Meeting](#join-a-meeting)
- [JitsiMeetingOptions](#jitsimeetingoptions)
- [FeatureFlag](#featureflag)
- [FeatureFlag](#featureflag)
- [JitsiMeetingResponse](#jitsimeetingresponse)
- [Listening to Meeting Events](#listening-to-meeting-events)
- [Per Meeting Events](#per-meeting-events)
- [Global Meeting Events](#global-meeting-events)
- [Closing a Meeting Programmatically](#closing-a-meeting-programmatically)
- [Listening to Meeting Events](#listening-to-meeting-events)
- [Per Meeting Events](#per-meeting-events)
- [Global Meeting Events](#global-meeting-events)
- [Closing a Meeting Programmatically](#closing-a-meeting-programmatically)
- [Contributing](#contributing)

<a name="configuration"></a>
Expand All @@ -40,9 +38,19 @@ Find more information about Jitsi Meet [here](https://github.com/jitsi/jitsi-mee
* Note: Example compilable with XCode 12.2 & Flutter 1.22.4.

#### Podfile
Ensure in your Podfile you have an entry like below declaring platform of 11.0 or above.
Ensure in your Podfile you have an entry like below declaring platform of 11.0 or above and disable BITCODE.
```
platform :ios, '11.0'
...
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
```

#### Info.plist
Expand Down Expand Up @@ -77,14 +85,6 @@ zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip <!-- Upgrade this -->
```

Add Java 1.8 compatibility support to your project by adding the following lines into your build.gradle file:
```gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
```

#### AndroidManifest.xml
Jitsi Meet's SDK AndroidManifest.xml will conflict with your project, namely
the application:label field. To counter that, go into
Expand Down Expand Up @@ -196,7 +196,7 @@ See usage example in jitsi_meet plugin

<a name="join-a-meeting"></a>

### Join A Meeting
## Join A Meeting

```dart
_joinMeeting() async {
Expand Down Expand Up @@ -244,7 +244,7 @@ _joinMeeting() async {

<a name="jitsimeetingresponse"></a>

#### FeatureFlag
### FeatureFlag

Feature flag allows you to limit video resolution and enable/disable few features of Jitsi Meet SDK mentioned in the list below.
If you don't provide any flag to JitsiMeetingOptions, default values will be used.
Expand Down Expand Up @@ -287,7 +287,7 @@ We are using the [official list of flags, taken from the Jitsi Meet repository](

<a name="listening-to-meeting-events"></a>

### Listening to Meeting Events
## Listening to Meeting Events

Events supported

Expand All @@ -300,7 +300,7 @@ Events supported
| onPictureInPictureTerminated | User exited PIP mode. |
| onError | Error has occurred with listening to meeting events. |

#### Per Meeting Events
### Per Meeting Events
To listen to meeting events per meeting, pass in a JitsiMeetingListener
in joinMeeting. The listener will automatically be removed when an
onConferenceTerminated event is fired.
Expand All @@ -320,7 +320,7 @@ await JitsiMeet.joinMeeting(options,
}));
```

#### Global Meeting Events
### Global Meeting Events
To listen to global meeting events, simply add a JitsiMeetListener with
`JitsiMeet.addListener(myListener)`. You can remove listeners using
`JitsiMeet.removeListener(listener)` or `JitsiMeet.removeAllListeners()`.
Expand Down Expand Up @@ -369,7 +369,7 @@ _onError(error) {
}
```

### Closing a Meeting Programmatically
## Closing a Meeting Programmatically
```dart
JitsiMeet.closeMeeting();
```
Expand Down
2 changes: 1 addition & 1 deletion jitsi_meet/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

// Jitsi Meet from https://github.com/jitsi/jitsi-maven-repository/tree/master/releases/org/jitsi/react/jitsi-meet-sdk
implementation ('org.jitsi.react:jitsi-meet-sdk:3.2.0') { transitive = true }
implementation ('org.jitsi.react:jitsi-meet-sdk:3.3.0') { transitive = true }
}
44 changes: 44 additions & 0 deletions jitsi_meet/example/ios/Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Uncomment this line to define a global platform for your project
platform :ios, '11.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}

def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end

File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
use_frameworks!
use_modular_headers!

flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

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['ENABLE_BITCODE'] = 'NO'
end
end
end
Loading

0 comments on commit c383d64

Please sign in to comment.